/*! Deferred homepage section CSS — below-the-fold (reviews, steps, about, hiw, marquee).
    Moved out of the render-blocking inline <style> to speed up FCP/LCP. */
    /* ========================================================
       REVIEWS — Editorial Testimonial Stage (v2)
       Layout: header + trust strip + featured glass card + thumb rail + controls
       Palette: warm ivory bg, frosted glass card, accent-orange details
       ======================================================== */
    .crev2 {
        position: relative;
        padding: 110px 0 120px;
        background:
            linear-gradient(180deg, #FBF5EB 0%, #F4E8D6 50%, #FBF5EB 100%);
        overflow: hidden;
    }
    .crev2::before, .crev2::after {
        content: ''; position: absolute;
        width: 720px; height: 720px; border-radius: 50%;
        pointer-events: none; z-index: 0;
        filter: blur(60px);
    }
    .crev2::before {
        top: -260px; left: -220px;
        background: radial-gradient(circle, rgba(200,117,61,0.22), transparent 70%);
    }
    .crev2::after {
        bottom: -280px; right: -240px;
        background: radial-gradient(circle, rgba(245,200,150,0.28), transparent 70%);
    }
    .crev2 > .container { position: relative; z-index: 2; max-width: 1220px; }

    /* ---------- Header ---------- */
    .crev2-head {
        text-align: center;
        max-width: 760px; margin: 0 auto 44px;
    }
    .crev2-eyebrow {
        display: inline-flex; align-items: center; gap: 8px;
        padding: 6px 16px;
        background: rgba(255,255,255,0.55);
        border: 1px solid rgba(200,117,61,0.22);
        border-radius: 999px;
        color: var(--accent-dark);
        font-size: .7rem; font-weight: 700; letter-spacing: 2px;
        text-transform: uppercase;
        backdrop-filter: blur(12px) saturate(160%);
        -webkit-backdrop-filter: blur(12px) saturate(160%);
        box-shadow: 0 6px 20px rgba(200,117,61,0.10), inset 0 1px 0 rgba(255,255,255,0.9);
        margin-bottom: 18px;
    }
    .crev2-eyebrow i { color: var(--accent); font-size: .82rem; }
    .crev2-head h2 {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 3.1rem; font-weight: 800;
        color: #1a0f08; margin: 0 0 14px;
        letter-spacing: -1px; line-height: 1.08;
    }
    .crev2-head h2 em {
        font-style: italic;
        background: linear-gradient(135deg, var(--accent) 0%, #E8985A 60%, #F5B97A 100%);
        -webkit-background-clip: text; background-clip: text;
        -webkit-text-fill-color: transparent;
        font-weight: 800;
    }
    .crev2-sub {
        font-size: .98rem; line-height: 1.6;
        color: var(--text); margin: 0;
        font-weight: 400;
    }

    /* ---------- Trust strip ---------- */
    .crev2-trust {
        display: flex; align-items: stretch; justify-content: center;
        gap: 0;
        margin: 0 auto 60px;
        max-width: 820px;
        padding: 20px 28px;
        background: linear-gradient(135deg, rgba(255,255,255,0.75), rgba(250,240,225,0.55));
        border: 1px solid rgba(255,255,255,0.8);
        border-radius: 22px;
        backdrop-filter: blur(18px) saturate(180%);
        -webkit-backdrop-filter: blur(18px) saturate(180%);
        box-shadow:
            0 10px 30px rgba(138,63,24,0.08),
            inset 0 1px 0 rgba(255,255,255,0.95);
    }
    .crev2-trust .t-item {
        flex: 1;
        display: flex; flex-direction: column; align-items: center; gap: 6px;
        padding: 10px 18px;
        text-align: center;
    }
    .crev2-trust .t-stars {
        color: #F5A93D; font-size: 1.05rem; letter-spacing: 2.5px;
        display: inline-flex; gap: 2px;
    }
    .crev2-trust .t-big {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.9rem; font-weight: 800;
        color: #1a0f08; line-height: 1;
    }
    .crev2-trust .t-big .score-sub {
        font-size: .88rem; color: var(--text-light); font-weight: 500;
    }
    .crev2-trust .t-big i {
        color: var(--accent); font-size: 1.7rem;
    }
    .crev2-trust .t-label {
        font-size: .72rem; color: var(--text-light);
        letter-spacing: 1.2px; text-transform: uppercase; font-weight: 600;
    }
    .crev2-trust .t-divider {
        width: 1px; background: linear-gradient(180deg, transparent, rgba(200,117,61,0.25), transparent);
        flex: 0 0 1px;
    }

    /* ---------- Featured card (Glass) ---------- */
    .crev2-stage {
        position: relative;
        min-height: 460px;
        margin-bottom: 32px;
    }
    .crev2-card {
        position: absolute; inset: 0;
        display: grid; grid-template-columns: 420px 1fr;
        gap: 0;
        background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(250,240,225,0.7));
        border: 1px solid rgba(255,255,255,0.9);
        border-radius: 28px;
        overflow: hidden;
        backdrop-filter: blur(22px) saturate(180%);
        -webkit-backdrop-filter: blur(22px) saturate(180%);
        box-shadow:
            0 30px 80px rgba(138,63,24,0.14),
            inset 0 1px 0 rgba(255,255,255,0.95);
        opacity: 0; visibility: hidden; pointer-events: none;
        transition: opacity .5s ease, visibility 0s linear .5s;
    }
    .crev2-card.is-active {
        opacity: 1; visibility: visible; pointer-events: auto;
        transition: opacity .5s ease, visibility 0s;
    }

    .crev2-card .c-media {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, var(--accent), var(--accent-light));
    }
    .crev2-card .c-media img {
        width: 100%; height: 100%;
        object-fit: cover; object-position: top;
    }
    .crev2-card .c-media-ph {
        width: 100%; height: 100%;
        display: flex; align-items: center; justify-content: center;
        color: #fff; font-size: 5rem; font-weight: 800;
    }
    .crev2-card .c-media::after {
        content: ''; position: absolute; inset: 0;
        background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.72) 100%);
        pointer-events: none;
    }
    .crev2-card .c-verified {
        position: absolute; top: 18px; left: 18px; z-index: 2;
        display: inline-flex; align-items: center; gap: 6px;
        padding: 6px 12px;
        background: rgba(255,255,255,0.22);
        border: 1px solid rgba(255,255,255,0.32);
        color: #fff; font-size: .68rem; font-weight: 700;
        letter-spacing: 1px; text-transform: uppercase;
        border-radius: 999px;
        backdrop-filter: blur(10px);
    }
    .crev2-card .c-verified i { color: #FFD368; font-size: .78rem; }
    .crev2-card .c-profile-label {
        position: absolute; bottom: 22px; left: 22px; right: 22px; z-index: 2;
        color: #fff;
    }
    .crev2-card .c-profile-name {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.7rem; font-weight: 800;
        line-height: 1.1; letter-spacing: -.3px;
        text-shadow: 0 2px 10px rgba(0,0,0,0.35);
    }
    .crev2-card .c-profile-loc {
        font-size: .82rem; margin-top: 4px;
        display: inline-flex; align-items: center; gap: 5px;
        color: rgba(255,255,255,0.92);
    }
    .crev2-card .c-profile-loc i { color: #FFD368; font-size: .78rem; }

    .crev2-card .c-body {
        padding: 44px 46px;
        display: flex; flex-direction: column; justify-content: center;
        position: relative;
    }
    .crev2-card .c-quote-icon {
        font-size: 6rem;
        color: rgba(200,117,61,0.12);
        position: absolute;
        top: 10px; right: 30px;
        line-height: 1;
        pointer-events: none;
    }
    .crev2-card .c-stars {
        color: #F5A93D; font-size: 1.1rem;
        letter-spacing: 3px; margin-bottom: 18px;
        display: inline-flex; gap: 2px;
    }
    .crev2-card .c-text {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.25rem; line-height: 1.65;
        color: #2a1a10;
        font-style: italic; font-weight: 500;
        margin: 0 0 30px;
        position: relative; z-index: 1;
    }
    .crev2-card .c-author {
        display: flex; align-items: center; gap: 14px;
        padding-top: 22px;
        border-top: 1px solid rgba(200,117,61,0.18);
    }
    .crev2-card .c-avatar {
        width: 52px; height: 52px; border-radius: 50%;
        background: linear-gradient(135deg, var(--accent), var(--accent-light));
        display: flex; align-items: center; justify-content: center;
        color: #fff; font-weight: 800; font-size: 1.2rem;
        box-shadow: 0 6px 18px rgba(200,117,61,0.28);
        flex-shrink: 0;
    }
    .crev2-card .c-name { font-weight: 700; font-size: 1rem; color: var(--dark); }
    .crev2-card .c-date { font-size: .78rem; color: var(--text-light); margin-top: 3px; }

    /* ---------- Thumb rail ---------- */
    .crev2-thumbs {
        display: flex; justify-content: center; gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 26px;
    }
    .crev2-thumbs .thumb {
        position: relative;
        width: 78px; height: 78px;
        border-radius: 18px;
        overflow: hidden;
        border: 2px solid transparent;
        background: #fff;
        padding: 0; cursor: pointer;
        box-shadow: 0 6px 16px rgba(138,63,24,0.08);
        transition: all .4s cubic-bezier(.34,1.56,.64,1);
        flex-shrink: 0;
    }
    .crev2-thumbs .thumb img {
        width: 100%; height: 100%;
        object-fit: cover; object-position: top;
        display: block;
        transition: transform .4s;
    }
    .crev2-thumbs .thumb .thumb-ph {
        width: 100%; height: 100%;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg, var(--accent), var(--accent-light));
        color: #fff; font-weight: 800; font-size: 1.6rem;
    }
    .crev2-thumbs .thumb .thumb-name {
        position: absolute; inset: auto 0 0 0;
        padding: 18px 6px 4px;
        background: linear-gradient(180deg, transparent, rgba(0,0,0,0.8));
        color: #fff;
        font-size: .55rem; font-weight: 600;
        text-align: center;
        letter-spacing: .3px;
        opacity: 0;
        transition: opacity .3s;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .crev2-thumbs .thumb:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 32px rgba(138,63,24,0.22);
    }
    .crev2-thumbs .thumb:hover .thumb-name { opacity: 1; }
    .crev2-thumbs .thumb:hover img { transform: scale(1.08); }
    .crev2-thumbs .thumb.is-active {
        border-color: var(--accent);
        transform: translateY(-6px) scale(1.04);
        box-shadow:
            0 18px 40px rgba(200,117,61,0.32),
            0 0 0 4px rgba(200,117,61,0.12);
    }
    .crev2-thumbs .thumb.is-active::after {
        content: ''; position: absolute;
        inset: -2px;
        border-radius: 18px;
        background: linear-gradient(135deg, var(--accent), #FFD368, var(--accent-light));
        z-index: -1;
        filter: blur(6px); opacity: .5;
    }

    /* ---------- Controls ---------- */
    .crev2-controls {
        display: flex; align-items: center; justify-content: center;
        gap: 18px;
    }
    .crev2-controls .ctrl {
        width: 46px; height: 46px;
        border-radius: 50%;
        border: 1px solid rgba(200,117,61,0.25);
        background: rgba(255,255,255,0.65);
        color: var(--accent-dark);
        cursor: pointer;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 1rem;
        transition: all .3s;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: 0 6px 18px rgba(138,63,24,0.08);
    }
    .crev2-controls .ctrl:hover {
        background: linear-gradient(135deg, var(--accent), var(--accent-light));
        color: #fff;
        border-color: transparent;
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(200,117,61,0.32);
    }
    .crev2-progress {
        position: relative;
        width: 160px; height: 3px;
        background: rgba(200,117,61,0.18);
        border-radius: 3px;
        overflow: hidden;
    }
    .crev2-progress span {
        position: absolute; inset: 0;
        width: 0%;
        background: linear-gradient(90deg, var(--accent), var(--accent-light));
        border-radius: 3px;
        transition: width .1s linear;
    }

    /* ---------- Responsive ---------- */
    @media (max-width: 991px) {
        .crev2 { padding: 80px 0 90px; }
        .crev2-head h2 { font-size: 2.4rem; }
        .crev2-card { grid-template-columns: 360px 1fr; }
        .crev2-card .c-body { padding: 36px 34px; }
        .crev2-card .c-profile-name { font-size: 1.45rem; }
        .crev2-card .c-text { font-size: 1.1rem; }
        .crev2-stage { min-height: 440px; }
    }
    @media (max-width: 768px) {
        .crev2 { padding: 64px 0 70px; }
        .crev2-head { margin-bottom: 30px; }
        .crev2-head h2 { font-size: 1.95rem; letter-spacing: -.5px; }
        .crev2-sub { font-size: .88rem; }
        .crev2-trust { flex-direction: row; gap: 0; padding: 14px 10px; margin-bottom: 38px; }
        .crev2-trust .t-item { padding: 6px 8px; }
        .crev2-trust .t-big { font-size: 1.35rem; }
        .crev2-trust .t-stars { font-size: .85rem; letter-spacing: 1px; }
        .crev2-trust .t-label { font-size: .58rem; letter-spacing: .8px; }
        .crev2-card { grid-template-columns: 1fr; }
        .crev2-card .c-media { aspect-ratio: 16 / 10; }
        .crev2-card .c-body { padding: 28px 26px 30px; }
        .crev2-card .c-text { font-size: 1.02rem; line-height: 1.55; margin-bottom: 22px; }
        .crev2-card .c-profile-name { font-size: 1.35rem; }
        .crev2-card .c-quote-icon { font-size: 4.2rem; right: 18px; top: 6px; }
        .crev2-stage { min-height: auto; }
        .crev2-card { position: relative; inset: auto; }
        .crev2-card:not(.is-active) { display: none; }
        .crev2-thumbs { gap: 10px; overflow-x: auto; justify-content: flex-start; padding: 4px 4px 10px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
        .crev2-thumbs::-webkit-scrollbar { display: none; }
        .crev2-thumbs .thumb { width: 64px; height: 64px; border-radius: 14px; }
    }
    @media (max-width: 480px) {
        .crev2-head h2 { font-size: 1.7rem; }
        .crev2-card .c-body { padding: 24px 22px 28px; }
        .crev2-card .c-text { font-size: .96rem; }
        .crev2-card .c-author { gap: 10px; }
        .crev2-card .c-avatar { width: 44px; height: 44px; font-size: 1.05rem; }
        .crev2-progress { width: 110px; }
        .crev2-controls .ctrl { width: 40px; height: 40px; }
    }

    /* ===== 3-Step Process — loc-2 exact match with warm theme ===== */
    .steps-section {
        background: linear-gradient(180deg, #DDC0A8 0%, #E2CAB5 35%, #D9BDA5 65%, #E0C8B2 100%);
        padding: 45px 0 50px;
        position: relative;
        overflow: hidden;
        text-align: center;
    }
    .steps-section::before {
        content: ''; position: absolute;
        top: -20%; right: -8%; width: 500px; height: 500px;
        background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 60%);
        border-radius: 50%; pointer-events: none;
    }
    .steps-section::after {
        content: ''; position: absolute;
        bottom: -15%; left: -5%; width: 400px; height: 400px;
        background: radial-gradient(circle, rgba(200,117,61,0.06) 0%, transparent 55%);
        border-radius: 50%; pointer-events: none;
    }
    .steps-badge {
        display: inline-flex; align-items: center; gap: 6px;
        background: rgba(255,255,255,0.45);
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255,255,255,0.50);
        color: var(--dark); padding: 8px 22px; border-radius: 50px;
        font-size: .72rem; font-weight: 700;
        letter-spacing: 1.5px; text-transform: uppercase;
        margin-bottom: 22px;
    }
    .steps-section .sec-head {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2.8rem; font-weight: 900;
        color: var(--dark); margin-bottom: 14px;
        letter-spacing: -1px; line-height: 1.1;
    }
    .steps-section .sec-head em { color: var(--white); font-style: italic; }
    .steps-section .sec-desc {
        color: rgba(0,0,0,0.50); font-size: .92rem;
        line-height: 1.7; max-width: 580px;
        margin: 0 auto 52px;
    }

    /* ---- 3 Cards row ---- */
    .steps-row {
        display: grid; grid-template-columns: 1fr 1fr 1fr;
        gap: 24px; position: relative; z-index: 2;
    }

    /* Card wrapper — each has its own colored bg panel */
    .sc-wrap {
        transition: transform .5s cubic-bezier(.25,.46,.45,.94);
        background: rgba(255,255,255,0.18);
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255,255,255,0.30);
        border-radius: 24px;
        padding: 32px 28px 28px;
        position: relative;
        overflow: hidden;
    }
    .sc-wrap::before {
        content: '';
        position: absolute; top: 0; left: 0; right: 0; bottom: 0;
        border-radius: 24px; z-index: 0;
        opacity: 0; transition: opacity .4s;
        background: rgba(255,255,255,0.10);
    }
    .sc-wrap:hover { transform: translateY(-8px); }
    .sc-wrap:hover::before { opacity: 1; }
    .sc-wrap > .sc { position: relative; z-index: 1; }

    /* Card — transparent, no bg, just content */
    .sc {
        background: transparent;
        border: none;
        padding: 0;
        text-align: left;
        height: 100%;
        display: flex; flex-direction: column;
    }

    /* Card header — title + step number inline */
    .sc-top {
        display: flex; align-items: baseline;
        gap: 12px;
        margin-bottom: 10px;
    }
    .sc-top h3 {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-weight: 800; font-size: 1.15rem;
        color: var(--dark); margin: 0;
    }
    .sc-top .sc-num {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.5rem; font-weight: 900;
        color: var(--accent); opacity: .5;
        line-height: 1; margin-left: auto;
    }
    .sc > p {
        color: rgba(0,0,0,0.45); font-size: .78rem;
        line-height: 1.65; margin: 0 0 22px;
    }

    /* ---- Mockup area ---- */
    .sc-mockup-area {
        position: relative;
        margin-top: auto;
        padding: 15px 0 10px;
        min-height: 200px;
    }

    /* Back card (dark or faded) */
    .sc-back {
        position: absolute;
        top: 10px; left: 0; right: 20px;
        bottom: 20px;
        border-radius: 16px;
        z-index: 1;
        padding: 16px;
        box-shadow: 0 6px 20px rgba(0,0,0,0.06);
    }
    .sc-back.dark {
        background: rgba(60,50,40,0.85);
        color: rgba(255,255,255,0.7);
    }
    .sc-back.light {
        background: rgba(255,255,255,0.30);
    }
    .sc-wrap:nth-child(1) .sc-back { transform: rotate(-4deg); }
    .sc-wrap:nth-child(3) .sc-back { transform: rotate(-5deg); right: 10px; left: 10px; }

    /* Back card inner elements */
    .sc-back-avatar {
        display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
    }
    .sc-back-avatar img {
        width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
        border: 2px solid rgba(200,117,61,0.3);
    }
    .sc-back-avatar span { font-size: .75rem; font-weight: 600; }
    .sc-back-bracket {
        font-size: 2.5rem; color: rgba(255,255,255,0.15);
        position: absolute; left: 10px; top: 50%;
        transform: translateY(-50%); font-weight: 300;
    }
    .sc-back-arrow {
        position: absolute; right: -16px; top: 50%;
        transform: translateY(-50%);
        width: 32px; height: 32px; border-radius: 50%;
        background: var(--accent); color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: .75rem; z-index: 3;
        box-shadow: 0 4px 12px rgba(200,117,61,0.3);
    }

    /* Front card (white, tilted) */
    .sc-front {
        background: #fff;
        border-radius: 16px;
        padding: 18px;
        box-shadow: 0 12px 40px rgba(0,0,0,0.10);
        position: relative;
        z-index: 2;
        transition: transform .5s cubic-bezier(.25,.46,.45,.94);
    }
    .sc-wrap:nth-child(1) .sc-front { transform: rotate(5deg) translate(20px, -5px); }
    .sc-wrap:nth-child(2) .sc-front { transform: rotate(-3deg) translate(0, 0); }
    .sc-wrap:nth-child(3) .sc-front { transform: rotate(4deg) translate(-5px, -5px); }
    .sc-wrap:hover .sc-front { transform: rotate(0deg) translate(0) !important; }

    /* Floating badge below card 3 */
    .sc-float-badge {
        display: inline-flex; align-items: center; gap: 8px;
        background: rgba(255,255,255,0.50);
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255,255,255,0.40);
        border-radius: 50px; padding: 8px 18px;
        font-size: .72rem; font-weight: 700; color: var(--dark);
        margin-top: 14px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    }
    .sc-float-badge i {
        color: var(--accent); font-size: .85rem;
    }

    /* Mockup: profile list */
    .sc-profiles { display: flex; flex-direction: column; gap: 10px; }
    .sc-profile-row {
        display: flex; align-items: center; gap: 10px;
    }
    .sc-profile-row .sc-avatar {
        width: 32px; height: 32px; border-radius: 50%;
        object-fit: cover; border: 2px solid rgba(200,117,61,0.15);
    }
    .sc-profile-row .sc-name {
        font-size: .78rem; font-weight: 600; color: var(--dark);
    }
    .sc-profile-row .sc-tag {
        margin-left: auto;
        font-size: .6rem; font-weight: 600;
        background: rgba(200,117,61,0.10);
        color: var(--accent);
        padding: 3px 8px; border-radius: 50px;
    }
    .sc-arrow {
        display: flex; align-items: center; justify-content: center;
        margin: 8px 0;
    }
    .sc-arrow i {
        width: 28px; height: 28px; border-radius: 50%;
        background: var(--accent); color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: .7rem;
    }

    /* Mockup: chat/screening */
    .sc-chat-head {
        text-align: center; font-size: .75rem;
        font-weight: 700; color: var(--dark);
        margin-bottom: 12px;
    }
    .sc-chat-row {
        display: flex; align-items: center; gap: 8px;
        margin-bottom: 8px;
    }
    .sc-chat-row .sc-avatar {
        width: 28px; height: 28px; border-radius: 50%;
        object-fit: cover;
    }
    .sc-chat-row .sc-bubble {
        background: rgba(200,117,61,0.08);
        border-radius: 12px; padding: 6px 12px;
        font-size: .7rem; color: var(--dark);
    }
    .sc-chat-row .sc-time {
        margin-left: auto; font-size: .65rem; color: var(--text-light);
    }
    .sc-chat-status {
        text-align: center; font-size: .65rem;
        color: var(--accent); font-weight: 600;
        margin-top: 8px;
    }

    /* Mockup: booking confirmed */
    .sc-confirm-row {
        display: flex; align-items: center; gap: 10px;
        margin-bottom: 10px;
    }
    .sc-confirm-row .sc-avatar {
        width: 36px; height: 36px; border-radius: 50%;
        object-fit: cover;
    }
    .sc-confirm-row .sc-cname { font-size: .8rem; font-weight: 700; color: var(--dark); }
    .sc-confirm-row .sc-ctime {
        margin-left: auto; font-size: .7rem; font-weight: 600; color: var(--text-light);
    }
    .sc-confirm-btn {
        display: block; width: 100%;
        background: var(--accent); color: #fff;
        border: none; border-radius: 10px;
        padding: 8px; font-size: .72rem;
        font-weight: 700; text-align: center;
        margin-top: 8px;
    }
    .sc-tagline {
        display: flex; align-items: center; gap: 8px;
        background: linear-gradient(135deg, rgba(245,200,150,0.25), rgba(200,117,61,0.12));
        border: 1px solid rgba(200,117,61,0.22);
        border-radius: 10px;
        padding: 9px 12px;
        margin-top: 10px;
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-style: italic;
        font-size: .68rem;
        line-height: 1.4;
        color: #5a3a22;
    }
    .sc-tagline i {
        color: var(--accent);
        font-size: .85rem;
        flex-shrink: 0;
    }
    .sc-play-icon {
        width: 30px; height: 30px; border-radius: 50%;
        background: var(--accent); color: #fff;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: .75rem; margin-right: 8px;
    }

    @media(max-width:991px) {
        .steps-row { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; }
        .sc-wrap:nth-child(1), .sc-wrap:nth-child(2), .sc-wrap:nth-child(3) { transform: none; }
        .steps-section .sec-head { font-size: 2rem; }
    }
    @media(max-width:576px) {
        .steps-section { padding: 60px 0 70px; }
        .steps-section .sec-head { font-size: 1.7rem; }
    }

    /* ===== About Us Section ===== */
    .au-section {
        padding: 60px 0;
        background: #fff;
        position: relative;
        overflow: hidden;
    }
    /* Big soft circle behind cards — left side */
    .au-bg-left {
        position: absolute; top: 50%; left: -18%;
        transform: translateY(-50%);
        width: 700px; height: 700px; border-radius: 50%;
        background: radial-gradient(circle, rgba(200,117,61,0.14) 0%, rgba(200,117,61,0.05) 60%, transparent 80%);
        pointer-events: none; z-index: 0;
    }
    /* Large circle outline — right side */
    .au-bg-right {
        position: absolute; top: 50%; right: -45%;
        transform: translateY(-50%);
        width: 1100px; height: 1100px; border-radius: 50%;
        border: 1.5px solid rgba(200,117,61,0.12);
        pointer-events: none; z-index: 0;
    }
    /* Small outlined dot — upper right */
    .au-bg-dot-sm {
        position: absolute; top: 30%; right: 20%;
        width: 30px; height: 30px; border-radius: 50%;
        background: rgba(200,117,61,0.2);
        pointer-events: none; z-index: 0;
    }
    /* Big solid amber dot — right middle */
    .au-bg-dot {
        position: absolute; right: 3%; top: 60%;
        width: 90px; height: 90px; border-radius: 50%;
        background: radial-gradient(circle at 30% 30%, var(--accent-light), var(--accent-dark));
        box-shadow: 0 20px 60px rgba(200,117,61,0.3), inset -10px -10px 20px rgba(0,0,0,0.15);
        pointer-events: none; z-index: 1;
    }
    .au-section .container { position: relative; z-index: 2; }

    .au-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        align-items: center;
    }

    /* Left — staggered cards */
    .au-cards { position: relative; padding-left: 20px; }
    .au-card-wrap {
        position: relative;
        margin-bottom: 40px;
        padding-top: 18px;
    }
    .au-card-wrap.au-w1 { margin-left: 0; }
    .au-card-wrap.au-w2 { margin-left: 80px; }
    .au-card-wrap.au-w3 { margin-left: 20px; }
    .au-card-num {
        position: absolute;
        top: -20px; left: 0;
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2.8rem; font-weight: 400;
        color: rgba(0,0,0,0.18);
        line-height: 1;
        z-index: 0;
    }
    .au-card {
        background: #fff;
        border-radius: 10px;
        padding: 22px 30px;
        box-shadow: 0 8px 30px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04);
        position: relative; z-index: 1;
        transition: all .4s;
        text-align: center;
    }
    .au-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 40px rgba(0,0,0,0.10);
    }
    .au-card h3 {
        font-size: 1.05rem; font-weight: 700;
        color: var(--dark); margin: 0 0 6px;
    }
    .au-card p {
        font-size: .8rem; color: var(--text);
        line-height: 1.6; margin: 0;
    }

    /* Right — content */
    .au-label {
        display: flex; align-items: center; gap: 12px;
        font-size: .75rem; font-weight: 700;
        color: var(--accent); letter-spacing: 3px;
        text-transform: uppercase; margin-bottom: 20px;
    }
    .au-label-line {
        width: 40px; height: 2px;
        background: var(--accent);
        display: inline-block;
    }
    .au-title {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2.6rem; font-weight: 900;
        color: var(--dark); line-height: 1.15;
        margin: 0 0 28px;
    }
    .au-title em {
        color: var(--accent);
        font-style: italic;
    }
    .au-desc {
        font-size: .92rem; color: var(--text);
        line-height: 1.8; margin: 0 0 36px;
        max-width: 500px;
    }

    .au-stats { display: flex; gap: 36px; flex-wrap: wrap; }
    .au-stat {}
    .au-stat-num {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2rem; font-weight: 900;
        color: var(--dark); line-height: 1;
    }
    .au-stat-label {
        font-size: .78rem; color: var(--text-light);
        margin-top: 4px;
    }

    @media(max-width:991px) {
        .au-section { padding: 45px 0; }
        .au-grid { grid-template-columns: 1fr; gap: 60px; }
        .au-bg-dot { display: none; }
        .au-title { font-size: 2rem; }
        .au-card-wrap.au-w1, .au-card-wrap.au-w2, .au-card-wrap.au-w3 { margin-left: 20px; }
    }
    @media(max-width:576px) {
        .au-section { padding: 60px 0; }
        .au-title { font-size: 1.6rem; }
        .au-stats { gap: 20px; }
        .au-stat-num { font-size: 1.6rem; }
        .au-bg-left, .au-bg-right { display: none; }
        .au-card-wrap { margin-left: 0 !important; }
        .au-card { padding: 20px; }
    }

    /* ===== How It Works Section ===== */
    .hiw-section {
        padding: 50px 0;
        background: linear-gradient(180deg, #FFFFFF 0%, #FAE8DB 50%, #F5D6C2 100%);
        position: relative;
        overflow: hidden;
    }
    .hiw-path {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        pointer-events: none;
        z-index: 1;
    }
    .hiw-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 40px;
        align-items: center;
        position: relative;
        z-index: 2;
    }

    /* Left: Big heading */
    .hiw-left { position: relative; }
    .hiw-big-num {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 8rem; font-weight: 900;
        color: rgba(200,117,61,0.08);
        line-height: 1; position: absolute;
        top: -20px; left: -10px; z-index: 0;
    }
    .hiw-title {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2.4rem; font-weight: 900;
        color: var(--dark); line-height: 1.1;
        margin: 0 0 16px; position: relative; z-index: 1;
    }
    .hiw-title em { color: var(--accent); font-style: italic; }
    .hiw-desc {
        color: var(--text); font-size: .92rem;
        line-height: 1.7; max-width: 300px;
        position: relative; z-index: 1;
    }

    /* Center: Circle with image */
    .hiw-center {
        display: flex; justify-content: center;
        align-items: center; position: relative;
    }
    .hiw-circle {
        position: relative;
        width: 320px; height: 320px;
    }
    .hiw-circle-inner {
        width: 100%; height: 100%;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(200,117,61,0.08), rgba(232,152,90,0.04));
        overflow: hidden;
        position: relative;
        z-index: 2;
        border: 6px solid rgba(255,255,255,0.8);
        box-shadow: 0 16px 48px rgba(0,0,0,0.08);
    }
    .hiw-circle-inner img {
        width: 100%; height: 100%;
        object-fit: contain;
        object-position: center bottom;
    }

    /* Decorative orbit rings */
    .hiw-orbit {
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%,-50%);
        border-radius: 50%;
        border: 1.5px dashed rgba(200,117,61,0.2);
        pointer-events: none;
        z-index: 1;
    }
    .hiw-orbit.o1 { width: 110%; height: 110%; animation: hiwRotate 25s linear infinite; }
    .hiw-orbit.o2 { width: 125%; height: 125%; border-style: dotted; border-color: rgba(200,117,61,0.15); animation: hiwRotate 35s linear infinite reverse; }
    .hiw-orbit.o3 { width: 140%; height: 140%; border-color: rgba(200,117,61,0.1); }
    @keyframes hiwRotate { to { transform: translate(-50%,-50%) rotate(360deg); } }

    /* Right: Steps */
    .hiw-right { display: flex; flex-direction: column; gap: 40px; }
    .hiw-step {
        display: flex; align-items: flex-start; gap: 20px;
        padding-left: 0;
        transition: transform .3s;
    }
    .hiw-step:hover { transform: translateX(6px); }
    .hiw-num {
        width: 54px; height: 54px; border-radius: 50%;
        border: 2px solid rgba(200,117,61,0.25);
        display: flex; align-items: center; justify-content: center;
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.3rem; font-weight: 700;
        color: rgba(200,117,61,0.5);
        background: var(--white);
        flex-shrink: 0;
        transition: all .3s;
    }
    .hiw-num.filled {
        background: var(--accent);
        color: #fff; border-color: var(--accent);
        box-shadow: 0 6px 20px rgba(200,117,61,0.25);
    }
    .hiw-step:hover .hiw-num {
        border-color: var(--accent);
        color: var(--accent);
    }
    .hiw-step.active:hover .hiw-num { color: #fff; }
    .hiw-content h3 {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.05rem; font-weight: 700;
        color: var(--dark); margin: 4px 0 4px;
    }
    .hiw-content h3.accent { color: var(--accent); }
    .hiw-content p {
        color: var(--text-light); font-size: .82rem;
        line-height: 1.55; margin: 0;
    }

    @media (max-width: 991px) {
        .hiw-grid { grid-template-columns: 1fr; gap: 50px; text-align: center; }
        .hiw-big-num { font-size: 6rem; left: 50%; transform: translateX(-50%); }
        .hiw-desc { margin: 0 auto; }
        .hiw-circle { width: 260px; height: 260px; }
        .hiw-right { max-width: 420px; margin: 0 auto; text-align: left; }
        .hiw-path { display: none; }
    }
    @media (max-width: 576px) {
        .hiw-section { padding: 60px 0; }
        .hiw-title { font-size: 1.8rem; }
        .hiw-big-num { font-size: 4.5rem; top: -10px; }
        .hiw-circle { width: 220px; height: 220px; }
        .hiw-right { gap: 28px; }
        .hiw-num { width: 46px; height: 46px; font-size: 1.1rem; }
        .hiw-content h3 { font-size: .95rem; }
    }

    /* ===== Journey Accordion Section ===== */
    .journey-section {
        padding: 50px 0;
        background: var(--white);
        position: relative;
        overflow: hidden;
    }
    .journey-section::before {
        content: ''; position: absolute;
        top: 0; left: 0; right: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(0,0,0,0.04), transparent);
    }
    .journey-label {
        display: inline-flex; align-items: center; gap: 8px;
        font-size: .68rem; font-weight: 700;
        letter-spacing: 3px; text-transform: uppercase;
        color: var(--accent); margin-bottom: 20px;
    }
    .journey-label .jl-dot {
        width: 8px; height: 8px; border-radius: 2px;
        background: var(--accent);
    }
    .journey-section h2 {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 2.8rem; font-weight: 900;
        color: var(--dark); line-height: 1.1;
        margin-bottom: 14px; letter-spacing: -1px;
    }
    .journey-section .j-desc {
        color: var(--text); font-size: .9rem;
        line-height: 1.75; max-width: 420px;
        margin-bottom: 44px;
    }
    .journey-section h2 em {
        color: var(--accent); font-style: italic;
    }

    /* Accordion items */
    .j-acc-item {
        border: none;
        border-left: 2.5px solid rgba(0,0,0,0.06);
        padding: 0 0 0 24px;
        margin-bottom: 4px;
        transition: all .4s;
        position: relative;
    }
    .j-acc-item.active {
        border-left-color: var(--accent);
        background: rgba(200,117,61,0.02);
        border-radius: 0 12px 12px 0;
        padding-left: 24px;
    }
    .j-acc-btn {
        display: flex; align-items: center;
        width: 100%; background: none; border: none;
        padding: 20px 0; cursor: pointer;
        text-align: left; transition: all .3s;
    }
    .j-acc-btn .j-num {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: .85rem; font-weight: 800;
        color: var(--accent); margin-right: 16px;
        opacity: .4;
        min-width: 30px;
    }
    .j-acc-item.active .j-acc-btn .j-num { opacity: 1; }
    .j-acc-btn .j-title {
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: 1.15rem; font-weight: 700;
        color: var(--dark); transition: all .3s;
    }
    .j-acc-item:not(.active) .j-acc-btn .j-title { color: var(--text-light); }
    .j-acc-item:not(.active):hover .j-acc-btn .j-title { color: var(--dark); }
    .j-acc-body {
        max-height: 0; overflow: hidden;
        transition: max-height .5s cubic-bezier(.25,.46,.45,.94), padding .4s ease;
        padding: 0 0 0 46px;
    }
    .j-acc-item.active .j-acc-body {
        max-height: 200px;
        padding: 0 0 20px 46px;
    }
    .j-acc-body p {
        color: var(--text); font-size: .88rem;
        line-height: 1.75; margin: 0;
        max-width: 400px;
    }

    /* Right: full-body figure with wrapping orbit rings */
    .journey-img {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 680px;
        margin: 0 auto;
        max-width: 450px;
    }
    .journey-img > img {
        position: relative;
        z-index: 5;
        height: 620px;
        width: auto;
        max-width: 320px;
        object-fit: contain;
        display: block;
        filter: drop-shadow(0 8px 24px rgba(0,0,0,0.06));
    }

    /*
     * Each orbit = 2 halves:
     * .j-ring-back  = behind body (z-index: 1)
     * .j-ring-front = in front of body (z-index: 10)
     * Both form one continuous ellipse that wraps around the figure
     */
    .j-ring-back, .j-ring-front {
        position: absolute;
        left: 50%;
        width: 95%; height: 22%;
        border: 1.5px solid rgba(200,117,61,0.25);
        border-radius: 50%;
        pointer-events: none;
    }
    .j-ring-back {
        z-index: 1;
        clip-path: inset(0 0 50% 0);
    }
    .j-ring-front {
        z-index: 10;
        clip-path: inset(50% 0 0 0);
    }

    /* Ring positions — tight around body, alternating tilts */
    .jr1 { transform: translateX(-50%) rotate(-15deg); top: 0%;  width: 90%; height: 20%; }
    .jr2 { transform: translateX(-50%) rotate(12deg);  top: 14%; width: 95%; height: 21%; }
    .jr3 { transform: translateX(-50%) rotate(-10deg); top: 30%; width: 88%; height: 20%; border-style: dashed; border-color: rgba(200,117,61,0.18); }
    .jr4 { transform: translateX(-50%) rotate(16deg);  top: 46%; width: 100%; height: 22%; }
    .jr5 { transform: translateX(-50%) rotate(-12deg); top: 62%; width: 105%; height: 23%; border-color: rgba(200,117,61,0.18); }
    .jr6 { transform: translateX(-50%) rotate(8deg);   top: 78%; width: 110%; height: 24%; border-style: dotted; border-color: rgba(200,117,61,0.20); }

    /* Gentle breathing */
    .j-ring-back, .j-ring-front { animation: ringBreath 5s ease-in-out infinite; }
    .jr2 { animation-delay: .8s; }
    .jr3 { animation-delay: 1.6s; }
    .jr4 { animation-delay: .4s; }
    .jr5 { animation-delay: 1.2s; }
    .jr6 { animation-delay: 2s; }
    @keyframes ringBreath {
        0%, 100% { opacity: .7; }
        50% { opacity: 1; }
    }

    @media(max-width:991px) {
        .journey-img { margin-top: 40px; min-height: 440px; }
        .journey-img > img { height: 400px; max-width: 190px; }
        .journey-section h2 { font-size: 2.2rem; }
    }
    @media(max-width:576px) {
        .journey-img { min-height: 360px; }
        .journey-img > img { height: 320px; max-width: 160px; }
        .j-ring-back, .j-ring-front { border-width: 1px; }
        .journey-section h2 { font-size: 1.8rem; }
        .journey-section { padding: 60px 0; }
    }

    /* === Premium Pill Marquee === */
    .marquee-wrap {
        position: relative; overflow: hidden;
        background:
            radial-gradient(circle at 20% 50%, rgba(200,117,61,0.06), transparent 50%),
            radial-gradient(circle at 80% 50%, rgba(245,200,150,0.08), transparent 50%),
            linear-gradient(180deg, #FAF6F1 0%, #F3EADC 50%, #FAF6F1 100%);
        padding: 60px 0 65px;
    }
    .marquee-wrap::before, .marquee-wrap::after {
        content: ''; position: absolute; left: 0; right: 0; height: 1px;
        background: linear-gradient(90deg, transparent, rgba(200,117,61,0.25), transparent);
    }
    .marquee-wrap::before { top: 0; }
    .marquee-wrap::after  { bottom: 0; }

    .mq-rows {
        position: relative; display: flex; flex-direction: column; gap: 16px;
    }
    .mq-row {
        display: flex; gap: 14px; width: max-content;
        animation: mqScroll 35s linear infinite;
    }
    .mq-row.reverse { animation: mqScrollRev 40s linear infinite; }
    .mq-row.tilt-l { transform: rotate(-1.2deg); }
    .mq-row.tilt-r { transform: rotate(1.2deg); }
    @keyframes mqScroll    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
    @keyframes mqScrollRev { from{transform:translateX(-50%)} to{transform:translateX(0)} }
    .mq-row.tilt-l { animation-name: mqScrollTiltL; }
    .mq-row.tilt-r.reverse { animation-name: mqScrollTiltR; }
    @keyframes mqScrollTiltL { from{transform:translateX(0) rotate(-1.2deg)} to{transform:translateX(-50%) rotate(-1.2deg)} }
    @keyframes mqScrollTiltR { from{transform:translateX(-50%) rotate(1.2deg)} to{transform:translateX(0) rotate(1.2deg)} }

    /* Pills */
    .mq-pill {
        display: inline-flex; align-items: center; gap: 9px;
        padding: 11px 22px; border-radius: 50px;
        background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(250,242,232,0.7));
        backdrop-filter: blur(12px);
        border: 1px solid rgba(200,117,61,0.18);
        font-family: 'Playfair Display', 'Playfair fallback', Georgia, serif;
        font-size: .9rem; font-weight: 700;
        color: var(--dark); white-space: nowrap;
        letter-spacing: .5px;
        box-shadow:
            0 8px 22px rgba(120,70,30,0.08),
            inset 0 1px 1px rgba(255,255,255,0.7);
        transition: all .3s;
    }
    .mq-pill:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 32px rgba(120,70,30,0.15);
    }
    .mq-pill .pill-icon {
        width: 24px; height: 24px; border-radius: 50%;
        background: linear-gradient(135deg, var(--accent), #B85F2B);
        color: #fff; display: inline-flex; align-items: center; justify-content: center;
        font-size: .68rem;
        box-shadow: 0 4px 10px rgba(200,117,61,0.35);
    }
    .mq-pill.solid {
        background: linear-gradient(135deg, var(--accent), #B85F2B);
        color: #fff; border-color: transparent;
        box-shadow: 0 10px 26px rgba(200,117,61,0.3);
    }
    .mq-pill.solid .pill-icon {
        background: rgba(255,255,255,0.25); border: 1px solid rgba(255,255,255,0.4);
    }
    .mq-pill.outline {
        background: transparent; color: var(--accent);
        border: 1.5px solid rgba(200,117,61,0.4);
    }
    .mq-pill.dark {
        background: linear-gradient(135deg, #2A1A22, #1A1320);
        color: #fff; border-color: rgba(255,255,255,0.08);
    }
    .mq-pill.dark .pill-icon { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2); }

    /* Edge fades */
    .marquee-wrap .mq-fade-l, .marquee-wrap .mq-fade-r {
        position: absolute; top: 0; bottom: 0; width: 140px; z-index: 3; pointer-events: none;
    }
    .marquee-wrap .mq-fade-l { left: 0; background: linear-gradient(90deg, #FAF6F1 30%, transparent); }
    .marquee-wrap .mq-fade-r { right: 0; background: linear-gradient(-90deg, #FAF6F1 30%, transparent); }

    /* Bottom dark variant */
    .marquee-wrap.dark {
        background:
            radial-gradient(circle at 50% 50%, rgba(200,117,61,0.18), transparent 60%),
            #14101A;
        padding: 40px 0 45px;
    }
    .marquee-wrap.dark::before, .marquee-wrap.dark::after {
        background: linear-gradient(90deg, transparent, rgba(200,117,61,0.4), transparent);
    }
    .marquee-wrap.dark .mq-fade-l { background: linear-gradient(90deg, #14101A 30%, transparent); }
    .marquee-wrap.dark .mq-fade-r { background: linear-gradient(-90deg, #14101A 30%, transparent); }
