:root {
    --rgc-orange: #f26a21;
    --rgc-orange-dark: #c94e0b;
    --rgc-ink: #17202a;
    --rgc-muted: #5d6772;
    --rgc-light: #f5f7f9;
    --rgc-border: #e2e7ec;
}

body {
    color: var(--rgc-ink);
}

.site-header {
    background: #fff;
    box-shadow: 0 4px 18px rgba(18, 29, 40, .08);
    position: relative;
    z-index: 30;
}

#top_line i,
#top_line a:hover {
    color: var(--rgc-orange);
}

.main-menu > ul > li.nav-cta > a {
    background: var(--rgc-orange);
    border-radius: 4px;
    color: #fff !important;
    margin-left: 10px;
    padding: 10px 16px;
}

.rgc-hero {
    background-position: center;
    background-size: cover;
    color: #fff;
    min-height: 590px;
    position: relative;
}

.rgc-hero::before {
    background: linear-gradient(90deg, rgba(9, 18, 28, .9) 0%, rgba(9, 18, 28, .68) 55%, rgba(9, 18, 28, .24) 100%);
    content: '';
    inset: 0;
    position: absolute;
}

.rgc-hero .container {
    position: relative;
    z-index: 2;
}

.rgc-hero-content {
    max-width: 760px;
    padding: 120px 0 105px;
}

.rgc-eyebrow {
    color: var(--rgc-orange);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .11em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.rgc-hero h1 {
    color: #fff;
    font-size: clamp(2.35rem, 5vw, 4.35rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.06;
    margin-bottom: 24px;
}

.rgc-hero p {
    color: rgba(255,255,255,.9);
    font-size: 1.2rem;
    line-height: 1.75;
    margin-bottom: 32px;
    max-width: 700px;
}

.rgc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rgc-btn {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 4px;
    display: inline-flex;
    font-weight: 600;
    gap: 9px;
    justify-content: center;
    padding: 13px 21px;
    transition: .2s ease;
}

.rgc-btn-primary {
    background: var(--rgc-orange);
    color: #fff;
}

.rgc-btn-primary:hover {
    background: var(--rgc-orange-dark);
    color: #fff;
}

.rgc-btn-outline {
    border-color: rgba(255,255,255,.8);
    color: #fff;
}

.rgc-btn-outline:hover {
    background: #fff;
    color: var(--rgc-ink);
}

.rgc-section {
    padding: 80px 0;
}

.rgc-section-light {
    background: var(--rgc-light);
}

.rgc-section-title {
    margin-bottom: 42px;
    max-width: 780px;
}

.rgc-section-title.centered {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.rgc-section-title h2 {
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.18;
    margin-bottom: 16px;
}

.rgc-section-title p {
    color: var(--rgc-muted);
    font-size: 1.08rem;
    line-height: 1.75;
}

.rgc-card {
    background: #fff;
    border: 1px solid var(--rgc-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(21, 33, 44, .06);
    height: 100%;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.rgc-card:hover {
    box-shadow: 0 16px 40px rgba(21, 33, 44, .12);
    transform: translateY(-4px);
}

.rgc-card img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}

.rgc-card-body {
    padding: 26px;
}

.rgc-card h3 {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 12px;
}

.rgc-card p {
    color: var(--rgc-muted);
    line-height: 1.7;
}

.rgc-card-link {
    color: var(--rgc-orange-dark);
    font-weight: 600;
}

.rgc-icon-card {
    padding: 28px;
}

.rgc-icon-card i {
    color: var(--rgc-orange);
    font-size: 2.1rem;
    margin-bottom: 19px;
}

.rgc-trust-bar {
    background: var(--rgc-ink);
    color: #fff;
    padding: 24px 0;
}

.rgc-trust-item {
    align-items: center;
    display: flex;
    gap: 13px;
    padding: 8px 0;
}

.rgc-trust-item i {
    color: var(--rgc-orange);
    font-size: 1.5rem;
}

.rgc-page-hero {
    background-position: center;
    background-size: cover;
    color: #fff;
    padding: 105px 0;
    position: relative;
}

.rgc-page-hero::before {
    background: rgba(10, 20, 30, .78);
    content: '';
    inset: 0;
    position: absolute;
}

.rgc-page-hero .container {
    position: relative;
    z-index: 2;
}

.rgc-page-hero h1 {
    color: #fff;
    font-size: clamp(2.2rem, 4.5vw, 3.7rem);
    font-weight: 700;
    max-width: 850px;
}

.rgc-page-hero p {
    color: rgba(255,255,255,.9);
    font-size: 1.15rem;
    line-height: 1.75;
    margin-top: 20px;
    max-width: 760px;
}

.rgc-lead {
    color: var(--rgc-muted);
    font-size: 1.18rem;
    line-height: 1.85;
}

.rgc-check-list,
.rgc-plain-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rgc-check-list li {
    line-height: 1.6;
    margin-bottom: 13px;
    padding-left: 31px;
    position: relative;
}

.rgc-check-list li::before {
    color: var(--rgc-orange);
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    left: 0;
    position: absolute;
    top: 1px;
}

.rgc-process-step {
    border-left: 3px solid var(--rgc-orange);
    margin-bottom: 24px;
    padding: 3px 0 3px 22px;
}

.rgc-process-step h3 {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 7px;
}

.rgc-process-step p,
.rgc-content-block p {
    color: var(--rgc-muted);
    line-height: 1.8;
}

.rgc-content-block {
    margin-bottom: 45px;
}

.rgc-content-block h2,
.rgc-content-block h3 {
    font-weight: 700;
    letter-spacing: -.015em;
    margin-bottom: 18px;
}

.rgc-sidebar {
    position: sticky;
    top: 20px;
}

.rgc-sidebar-box {
    background: var(--rgc-light);
    border: 1px solid var(--rgc-border);
    border-radius: 8px;
    margin-bottom: 24px;
    padding: 25px;
}

.rgc-sidebar-box h3 {
    font-size: 1.2rem;
    font-weight: 700;
}

.rgc-faq details {
    background: #fff;
    border: 1px solid var(--rgc-border);
    border-radius: 7px;
    margin-bottom: 12px;
    padding: 0 20px;
}

.rgc-faq summary {
    cursor: pointer;
    font-weight: 600;
    padding: 19px 0;
}

.rgc-faq details p {
    color: var(--rgc-muted);
    line-height: 1.75;
    padding-bottom: 18px;
}

.rgc-cta {
    background: linear-gradient(120deg, var(--rgc-ink), #26384a);
    border-radius: 10px;
    color: #fff;
    padding: 46px;
}

.rgc-cta h2,
.rgc-cta p {
    color: #fff;
}

.rgc-chip {
    background: #fff4ec;
    border-radius: 999px;
    color: var(--rgc-orange-dark);
    display: inline-block;
    font-size: .83rem;
    font-weight: 600;
    margin: 0 6px 8px 0;
    padding: 7px 12px;
}

.rgc-article-meta {
    color: var(--rgc-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 18px 0 28px;
}

.rgc-article-body {
    font-size: 1.05rem;
    line-height: 1.85;
}

.rgc-article-body h2 {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 45px 0 18px;
}

.rgc-project-fact {
    border-bottom: 1px solid var(--rgc-border);
    padding: 13px 0;
}

.rgc-project-fact strong {
    display: block;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rgc-note {
    background: #fff8e8;
    border-left: 4px solid #df9d00;
    color: #654c0c;
    padding: 17px 20px;
}

@media (max-width: 991px) {
    .rgc-hero {
        min-height: 520px;
    }

    .rgc-hero-content {
        padding: 90px 0;
    }

    .main-menu > ul > li.nav-cta > a {
        margin-left: 0;
    }

    .rgc-sidebar {
        position: static;
    }
}

@media (max-width: 575px) {
    .rgc-section {
        padding: 58px 0;
    }

    .rgc-hero-content {
        padding: 75px 0;
    }

    .rgc-hero p {
        font-size: 1.04rem;
    }

    .rgc-cta {
        padding: 30px 24px;
    }
}
