        /* ========== SELF-HOSTED FONT (Inter 4.001 variable, Latin — OFL, see assets/fonts/OFL-Inter.txt) ========== */
        @font-face {
            font-family: 'Inter';
            font-weight: 400 900;
            font-style: normal;
            font-display: swap;
            src: url('/assets/fonts/inter-latin-v4.woff2') format('woff2');
        }

        /* ========== RESET & BASE ========== */
        *,
        *::before,
        *::after {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary: #0a2e5c;
            --primary-light: #1a4a7a;
            --primary-dark: #061b36;
            --accent: #c8102e;
            --accent-gold: #d4a747;
            /* Darker gold for small text on light surfaces (WCAG AA, items 19) */
            --accent-gold-text: #8a6a1c;
            --white: #ffffff;
            --off-white: #f8f7f4;
            --gray-100: #f3f2ef;
            --gray-200: #e5e4e0;
            --gray-300: #c5c4c0;
            --gray-600: #6b6a66;
            --gray-800: #2d2c28;
            --shadow: 0 20px 60px rgba(10, 46, 92, 0.12);
            --shadow-sm: 0 4px 20px rgba(10, 46, 92, 0.08);
            --radius: 16px;
            --radius-sm: 8px;
            --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            --font-cn: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
            --hero-muted: rgba(201, 212, 226, 0.9);
        }

        html {
            scroll-behavior: smooth;
        }
        body {
            font-family: var(--font);
            background: var(--white);
            color: var(--gray-800);
            line-height: 1.6;
            overflow-x: hidden;
        }
        a {
            text-decoration: none;
            color: inherit;
        }
        img {
            max-width: 100%;
            display: block;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }

        /* Jump-link targets clear the fixed header (kept below .faq-anchor's
           own margin, which stays in charge of the deep-link FAQ cards) */
        [id] {
            scroll-margin-top: 126px;  /* desktop header is 112px; matches .faq-anchor */
        }

        /* Skip link: first focusable element in <body>, visually hidden until focused */
        .skip-link {
            position: absolute;
            top: -60px;
            left: 16px;
            background: var(--primary-dark);
            color: var(--white);
            padding: 10px 18px;
            border-radius: var(--radius-sm);
            font-weight: 600;
            font-size: 0.9rem;
            z-index: 10000;
            transition: top 0.2s ease;
        }
        .skip-link:focus {
            top: 12px;
        }

        /* ========== BUTTONS ========== */
        .btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: var(--accent);
            color: var(--white);
            padding: 16px 36px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1rem;
            border: none;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 8px 24px rgba(200, 16, 46, 0.30);
        }
        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 14px 34px rgba(200, 16, 46, 0.40);
            background: #b00e28;
        }
        .btn-secondary {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: transparent;
            color: var(--white);
            padding: 14px 32px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1rem;
            border: 2px solid rgba(255, 255, 255, 0.5);
            cursor: pointer;
            transition: var(--transition);
        }
        .btn-secondary:hover {
            background: rgba(255, 255, 255, 0.12);
            border-color: var(--white);
        }

        /* ========== SECTION TITLES ========== */
        /* round 3 (2026-10-28): labels read as normal words — no uppercase,
           no wide letter-spacing (spec §1.7 lettering) */
        .section-label {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--accent);
            background: rgba(200, 16, 46, 0.08);
            padding: 4px 16px;
            border-radius: 50px;
            margin-bottom: 12px;
        }
        .section-title {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 800;
            line-height: 1.15;
            color: var(--primary-dark);
            letter-spacing: -0.02em;
        }
        /* round 3 (2026-10-28): headings stay one colour — the second span is no
           longer coloured differently (spec §1.7); the only remaining coloured
           heading text is the hero highlight (".hero-content h1 .highlight"). */
        .section-subtitle {
            font-size: 1.15rem;
            color: var(--gray-600);
            max-width: 620px;
            margin-top: 12px;
            line-height: 1.7;
            text-wrap: pretty;
        }
        .text-center {
            text-align: center;
        }
        .mx-auto {
            margin-left: auto;
            margin-right: auto;
        }

        /* ========== COOKIE CONSENT BANNER ========== */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: var(--primary-dark);
            color: var(--white);
            padding: 16px 24px;
            z-index: 9998;
            display: none;
            box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.2);
        }
        .cookie-banner.show {
            display: block;
        }
        .cookie-banner .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 16px;
        }
        .cookie-banner p {
            font-size: 0.85rem;
            opacity: 0.85;
            max-width: 70%;
        }
        .cookie-banner .cookie-buttons {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }
        .cookie-banner .cookie-btn {
            padding: 8px 24px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 0.8rem;
            border: none;
            cursor: pointer;
            transition: var(--transition);
        }
        .cookie-banner .cookie-btn.accept {
            background: var(--accent);
            color: var(--white);
        }
        .cookie-banner .cookie-btn.accept:hover {
            background: #b00e28;
        }
        .cookie-banner .cookie-btn.reject {
            background: transparent;
            color: var(--white);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }
        .cookie-banner .cookie-btn.reject:hover {
            background: rgba(255, 255, 255, 0.1);
        }
        .cookie-banner .cookie-btn a {
            color: var(--accent-gold);
            text-decoration: underline;
        }

        /* ========== HEADER ========== */
        .header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            transition: var(--transition);
            height: 112px;
        }
        .header.scrolled {
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06);
        }
        .header .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 112px;
            padding: 0 20px;
        }

        /* ====== NEW LOGO STYLES ====== */
        .logo {
            display: flex;
            align-items: center;
            gap: 15px;
            cursor: pointer;
            flex-shrink: 0;
            margin-right: 20px;
        }
        .logo svg {
            height: 88px;
            width: auto;
            flex-shrink: 0;
        }
        .logo-text {
            display: flex;
            flex-direction: column;
            line-height: 1.1;
        }
        .logo-text .brand {
            font-size: 2.4rem;
            font-weight: 800;
            letter-spacing: -0.5px;
            color: var(--primary);
        }
        .logo-text .brand .accent {
            color: var(--accent);
        }
        .logo-text .subtext {
            font-family: var(--font-cn);
            font-size: 1rem;
            color: var(--primary);
            opacity: 0.65;
            letter-spacing: 2px;
            font-weight: 500;
        }

        /* Header nav */
        .nav-wrapper {
            display: flex;
            align-items: center;
            flex: 1;
            justify-content: flex-end;
            gap: 8px;
        }
        .nav-links {
            display: flex;
            align-items: center;
            gap: 4px;
            list-style: none;
            flex-wrap: wrap;
        }
        .nav-links a {
            font-weight: 500;
            font-size: 0.9rem;
            color: var(--gray-800);
            transition: var(--transition);
            padding: 4px 10px;
            border-radius: 20px;
            cursor: pointer;
            white-space: nowrap;
        }

        /* Mid-widths (tablet/small laptop): 0.9rem links + full logo don't fit
           on one line until ~1200px — shrink links there (same size as the old
           ≤1024 rule) so the nav never wraps inside the slim header. */
        @media (max-width: 1200px) {
            .nav-links a {
                font-size: 0.7rem;
                padding: 4px 7px;
            }
        }
        .nav-links a:hover {
            color: var(--accent);
            background: rgba(200, 16, 46, 0.06);
        }
        .nav-links a.active-link {
            color: var(--accent);
            background: rgba(200, 16, 46, 0.08);
        }
        /* In-menu translate action for ≤360px phones (item 21); revealed inside
           the open phone menu by the max-width:360 block below. */
        .mobile-lang-item {
            display: none;
        }

        .lang-dropdown {
            position: relative;
            display: inline-block;
            margin-left: 4px;
        }
        .lang-dropdown .lang-toggle-btn {
            background: var(--gray-100);
            border: 1px solid var(--gray-200);
            border-radius: 50px;
            padding: 5px 12px;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--gray-800);
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 4px;
            transition: var(--transition);
        }
        .lang-dropdown .lang-toggle-btn:hover {
            background: var(--gray-200);
        }
        .lang-dropdown .lang-toggle-btn i {
            font-size: 0.9rem;
            color: var(--accent);
        }
        .lang-dropdown .lang-toggle-btn .arrow {
            font-size: 0.6rem;
            opacity: 0.6;
            transition: var(--transition);
        }
        .lang-dropdown .lang-toggle-btn .arrow.open {
            transform: rotate(180deg);
        }
        .lang-dropdown-menu {
            display: none;
            position: absolute;
            top: calc(100% + 6px);
            right: 0;
            background: var(--white);
            border-radius: var(--radius-sm);
            box-shadow: var(--shadow);
            border: 1px solid var(--gray-200);
            min-width: 120px;
            padding: 6px 0;
            z-index: 100;
        }
        .lang-dropdown-menu.open {
            display: block;
        }
        .lang-dropdown-menu .lang-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px 16px;
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--gray-800);
            cursor: pointer;
            transition: var(--transition);
            border: none;
            background: none;
            width: 100%;
            text-align: left;
        }
        .lang-dropdown-menu .lang-item:hover {
            background: var(--gray-100);
            color: var(--accent);
        }
        .lang-dropdown-menu .lang-divider {
            height: 1px;
            background: var(--gray-200);
            margin: 4px 12px;
        }
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 4px;
            cursor: pointer;
            background: none;
            border: none;
            padding: 4px;
            margin-left: 8px;
        }
        .hamburger span {
            width: 24px;
            height: 2.5px;
            background: var(--primary);
            border-radius: 4px;
            transition: var(--transition);
        }

        #google_translate_element {
            display: none;
            position: fixed;
            top: 88px;
            right: 20px;
            z-index: 9999;
            background: var(--white);
            padding: 16px 20px;
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            border: 1px solid var(--gray-200);
            max-width: 280px;
        }
        #google_translate_element.show {
            display: block;
        }
        #google_translate_element .close-translate {
            float: right;
            background: none;
            border: none;
            font-size: 1.2rem;
            cursor: pointer;
            color: var(--gray-600);
            padding: 0 4px;
        }
        #google_translate_element .close-translate:hover {
            color: var(--accent);
        }

        /* ========== PAGE SYSTEM ========== */
        .page {
            display: none;
            animation: fadeUp 0.4s ease-out forwards;
        }
        .page.active-page {
            display: block;
        }
        @keyframes fadeUp {
            from {
                opacity: 0;
                transform: translateY(18px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ========== HERO ========== */
        /* ========== HERO ========== */
        /* round 3 (2026-10-28): layout B — centred text; three value cards
           overlap the hero's lower edge on desktop (spec §2.1) */
        .hero {
            padding: 148px 0 136px;
            background: linear-gradient(165deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);
            color: var(--white);
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            top: -30%;
            right: -10%;
            width: 60%;
            height: 120%;
            background: radial-gradient(ellipse, rgba(212, 167, 71, 0.10) 0%, transparent 70%);
            pointer-events: none;
        }
        .hero .container {
            position: relative;
            z-index: 2;
        }
        .hero-content {
            max-width: 780px;
            margin: 0 auto;
            text-align: center;
        }
        .hero-pill {
            display: inline-block;
            background: rgba(212, 167, 71, 0.18);
            color: var(--accent-gold);
            padding: 6px 18px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 18px;
        }
        .hero-content h1 {
            font-size: clamp(2.3rem, 4vw, 3.3rem);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.02em;
            text-wrap: balance;
        }
        .hero-content h1 .highlight {
            color: var(--accent-gold);
            position: relative;
        }
        .hero-content h1 .highlight::after {
            content: '';
            position: absolute;
            bottom: 2px;
            left: 0;
            width: 100%;
            height: 8px;
            background: rgba(212, 167, 71, 0.25);
            border-radius: 4px;
        }
        .hero-sub {
            color: var(--hero-muted);
            font-size: 1.15rem;
            font-weight: 400;
            max-width: 660px;
            margin: 20px auto 32px;
            line-height: 1.7;
        }
        .hero-cta-group {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 14px;
        }
        /* Value cards: under the hero on the light background; on desktop they
           pull up over the hero's lower edge (about 56px) */
        .hero-values {
            background: var(--off-white);
        }
        .hero-values-row {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
            padding: 20px 0 8px;
        }
        .hero-value-card {
            background: var(--white);
            border-radius: var(--radius);
            box-shadow: 0 10px 30px rgba(10, 46, 92, 0.14);
            padding: 18px 20px;
            text-align: left;
        }
        .hero-value-card h3 {
            color: var(--primary);
            font-size: 1.05rem;
            font-weight: 700;
            margin-bottom: 4px;
        }
        .hero-value-card p {
            color: var(--gray-600);
            font-size: 0.92rem;
            line-height: 1.6;
            margin: 0;
        }
        @media (min-width: 768px) {
            .hero-values-row {
                grid-template-columns: repeat(3, 1fr);
                gap: 20px;
                margin-top: -56px;
                padding: 0 0 8px;
                position: relative;
                z-index: 3;
            }
        }
        .source-note {
            font-size: 0.6rem;
            opacity: 0.5;
            font-weight: 400;
            display: block;
        }

        /* ========== WHY CHINA ========== */
        /* round 3 (2026-10-28): navy 48-hour band + source-linked price table
           (spec §2.3); the old comparison cards, $75 press line and trust bar
           are gone */
        .section-why {
            padding: 60px 0;
            background: var(--off-white);
        }
        .why-band {
            max-width: 860px;
            margin: 36px auto 0;
            background: linear-gradient(135deg, var(--primary), var(--primary-light));
            color: var(--white);
            border-left: 6px solid var(--accent-gold);
            border-radius: var(--radius);
            padding: 20px 24px;
        }
        .why-band-title {
            color: var(--accent-gold);
            font-size: 1.2rem;
            font-weight: 800;
            margin-bottom: 6px;
        }
        .why-band p {
            margin: 0;
            font-size: 1.05rem;
            line-height: 1.6;
            color: rgba(232, 238, 246, 0.95);
        }
        .why-band p strong {
            color: var(--white);
        }
        .why-band-note {
            max-width: 860px;
            margin: 8px auto 0;
            font-size: 0.8rem;
            color: var(--gray-600);
            line-height: 1.5;
            text-align: left;
        }
        .flag-chip {
            display: inline-block;
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 1px 6px;
            border: 1px solid var(--gray-300);
            border-radius: 4px;
            color: var(--gray-600);
            vertical-align: middle;
        }
        .price-table {
            width: 100%;
            border-collapse: collapse;
            background: var(--white);
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            margin-top: 24px;
        }
        .price-table th,
        .price-table td {
            padding: 14px 16px;
            border-bottom: 1px solid var(--gray-200);
            text-align: left;
            vertical-align: top;
            font-size: 0.95rem;
        }
        .price-table th {
            background: var(--primary);
            color: var(--white);
            font-size: 0.85rem;
        }
        .price-table td.price-us {
            color: #8a1c12;
            font-weight: 700;
        }
        .price-table td.price-cn {
            color: var(--primary);
            font-weight: 700;
        }
        .price-table td small {
            display: block;
            font-weight: 400;
            color: var(--gray-600);
            font-size: 0.78rem;
            margin-top: 3px;
            line-height: 1.45;
        }
        .price-table td small a {
            color: var(--accent);
            text-decoration: underline;
        }
        .price-caveat {
            font-size: 0.85rem;
            color: var(--gray-600);
            margin: 14px 0 0;
            line-height: 1.6;
        }
        .price-caveat a {
            color: var(--accent);
            text-decoration: underline;
        }

        /* ====== TRANSPARENCY DASHBOARD ====== */
        .transparency-dashboard {
            background: var(--off-white);
            padding: 60px 0;
            border-top: 2px solid var(--accent-gold);
        }
        .dashboard-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
            margin-top: 32px;
        }
        .dashboard-card {
            background: var(--white);
            border-radius: var(--radius);
            padding: 24px 28px;
            border-left: 5px solid var(--accent);
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }
        .dashboard-card:hover {
            box-shadow: var(--shadow);
            transform: translateY(-3px);
        }
        .dashboard-card .procedure-name {
            font-weight: 700;
            font-size: 1.1rem;
            color: var(--primary);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .dashboard-card .procedure-name .badge-verified {
            background: #28a745;
            color: white;
            font-size: 0.6rem;
            padding: 2px 10px;
            border-radius: 50px;
            font-weight: 600;
        }
        .indicative-tag {
            display: inline-block;
            background: var(--gray-200);
            color: var(--gray-600);
            font-size: 0.65rem;
            padding: 1px 8px;
            border-radius: 50px;
            font-weight: 600;
            vertical-align: middle;
            margin-left: 4px;
        }
        .dashboard-card .cost-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 8px 0;
            padding: 6px 0;
            border-bottom: 1px solid var(--gray-200);
        }
        .dashboard-card .cost-row:last-of-type {
            border-bottom: none;
        }
        .dashboard-card .china-cost {
            color: var(--accent);
            font-weight: 800;
            font-size: 1.2rem;
        }
        .dashboard-card .us-cost {
            color: var(--gray-600);
            text-decoration: line-through;
            font-size: 0.95rem;
        }
        .dashboard-card .savings-pct {
            background: #28a745;
            color: white;
            padding: 2px 12px;
            border-radius: 50px;
            font-size: 0.7rem;
            font-weight: 700;
        }
        .dashboard-card .source-link {
            font-size: 0.7rem;
            color: var(--gray-600);
            margin-top: 8px;
            display: block;
        }
        .dashboard-card .source-link a {
            color: var(--accent);
            text-decoration: underline;
        }
        .dashboard-card .source-link i {
            margin-right: 4px;
        }
        .dashboard-summary {
            grid-column: 1 / -1;
            background: var(--primary-dark);
            color: var(--white);
            border-radius: var(--radius);
            padding: 28px 32px;
            border-left: none;
            text-align: center;
        }
        .dashboard-summary h4 {
            font-size: 1.3rem;
            margin-bottom: 8px;
        }
        .dashboard-summary p {
            opacity: 0.8;
            font-size: 0.95rem;
        }
        .dashboard-summary .highlight-number {
            color: var(--accent-gold);
            font-weight: 800;
            font-size: 1.6rem;
        }

        /* ====== VISA SECTION ====== */
        .visa-section {
            padding: 60px 0;
            background: var(--white);
        }
        .visa-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 30px;
            margin-top: 32px;
        }
        .visa-card {
            background: var(--off-white);
            border-radius: var(--radius);
            padding: 28px 24px;
            border: 1px solid var(--gray-200);
            transition: var(--transition);
        }
        .visa-card:hover {
            box-shadow: var(--shadow-sm);
            transform: translateY(-3px);
        }
        .visa-card .visa-icon {
            font-size: 2.4rem;
            color: var(--accent-gold);
            margin-bottom: 12px;
        }
        .visa-card h4 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
        }
        .visa-card .visa-duration {
            display: inline-block;
            background: var(--accent);
            color: white;
            padding: 2px 16px;
            border-radius: 50px;
            font-size: 0.75rem;
            font-weight: 700;
            margin: 8px 0 12px;
        }
        .visa-card ul {
            list-style: none;
            margin-top: 12px;
        }
        .visa-card ul li {
            padding: 4px 0;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.9rem;
            color: var(--gray-600);
        }
        .visa-card ul li i {
            color: var(--accent-gold);
            width: 18px;
        }
        .visa-card.highlight {
            border-color: var(--accent-gold);
            background: linear-gradient(145deg, var(--white), #fdfaf2);
        }

        /* ====== RISKS & CONSIDERATIONS SECTION ====== */
        .risks-section {
            padding: 60px 0;
            margin-top: 56px;
            background: var(--off-white);
            border-top: 2px solid var(--gray-200);
            border-bottom: 2px solid var(--gray-200);
        }
        .risks-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 30px;
            margin-top: 32px;
        }
        .risks-card {
            background: var(--white);
            border-radius: var(--radius);
            padding: 28px 24px;
            border: 1px solid var(--gray-200);
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }
        .risks-card:hover {
            box-shadow: var(--shadow);
            transform: translateY(-3px);
        }
        .risks-card .risk-icon {
            font-size: 2rem;
            color: var(--accent);
            margin-bottom: 12px;
        }
        .risks-card h4 {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--primary);
        }
        .risks-card p {
            color: var(--gray-600);
            font-size: 1rem;
            margin-top: 8px;
        }
        .risks-card ul {
            list-style: none;
            margin-top: 12px;
        }
        .risks-card ul li {
            padding: 4px 0;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.9rem;
            color: var(--gray-600);
        }
        .risks-card ul li i {
            color: var(--accent-gold);
            width: 18px;
        }
        .risks-card .risk-highlight {
            background: #fff3cd;
            border-left: 4px solid #ffc107;
            padding: 12px 16px;
            border-radius: var(--radius-sm);
            margin-top: 12px;
            font-size: 0.9rem;
            color: #856404;
        }
        .risks-disclaimer-box {
            grid-column: 1 / -1;
            background: var(--primary-dark);
            color: var(--white);
            border-radius: var(--radius);
            padding: 28px 32px;
            text-align: center;
        }
        .risks-disclaimer-box p {
            opacity: 0.9;
            font-size: 1rem;
        }
        .risks-disclaimer-box strong {
            color: var(--accent-gold);
        }

        /* ====== WHAT TO EXPECT ====== */
        .expect-section {
            padding: 60px 0;
            background: var(--white);
        }
        .expect-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 30px;
            margin-top: 32px;
        }
        .expect-card {
            background: var(--off-white);
            border-radius: var(--radius);
            padding: 28px 24px;
            border: 1px solid var(--gray-200);
            transition: var(--transition);
        }
        .expect-card:hover {
            box-shadow: var(--shadow-sm);
            transform: translateY(-3px);
        }
        .expect-card .expect-icon {
            font-size: 2.4rem;
            color: var(--accent-gold);
            margin-bottom: 12px;
        }
        .expect-card h4 {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--primary);
        }
        .expect-card p {
            color: var(--gray-600);
            font-size: 0.95rem;
            margin-top: 8px;
        }

        /* ====== LEGAL DISCLAIMERS ====== */
        .legal-disclaimers {
            background: var(--primary-dark);
            color: rgba(255, 255, 255, 0.7);
            padding: 40px 0;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }
        .legal-disclaimers .container {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 40px;
        }
        .legal-disclaimers h4 {
            color: var(--white);
            font-weight: 700;
            margin-bottom: 12px;
            font-size: 0.95rem;
        }
        .legal-disclaimers p,
        .legal-disclaimers li {
            font-size: 0.8rem;
            line-height: 1.7;
            opacity: 0.8;
        }
        .legal-disclaimers ul {
            list-style: none;
        }
        .legal-disclaimers ul li {
            padding: 3px 0;
            display: flex;
            align-items: flex-start;
            gap: 8px;
        }
        .legal-disclaimers ul li i {
            color: var(--accent-gold);
            margin-top: 4px;
            font-size: 0.7rem;
        }

        /* ====== PRIVACY POLICY PAGE ====== */
        .page-privacy {
            padding-top: 132px;
        }
        .privacy-content {
            max-width: 900px;
            margin: 0 auto;
            padding: 40px 0;
        }
        .privacy-content h1 {
            font-size: 2rem;
            font-weight: 800;
            color: var(--primary-dark);
            margin-bottom: 8px;
        }
        .privacy-content .last-updated {
            color: var(--gray-600);
            font-size: 0.9rem;
            margin-bottom: 32px;
        }
        .privacy-content h3 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary);
            margin-top: 32px;
            margin-bottom: 12px;
        }
        .privacy-content p {
            color: var(--gray-600);
            line-height: 1.8;
            margin-bottom: 16px;
        }
        .privacy-content ul {
            list-style: none;
            margin: 12px 0 20px;
        }
        .privacy-content ul li {
            padding: 6px 0;
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: var(--gray-600);
        }
        .privacy-content ul li i {
            color: var(--accent-gold);
            margin-top: 4px;
        }

        /* ====== TERMS OF SERVICE PAGE ====== */
        .page-terms {
            padding-top: 132px;
        }
        .terms-content {
            max-width: 900px;
            margin: 0 auto;
            padding: 40px 0;
        }
        .terms-content h1 {
            font-size: 2rem;
            font-weight: 800;
            color: var(--primary-dark);
            margin-bottom: 8px;
        }
        .terms-content .last-updated {
            color: var(--gray-600);
            font-size: 0.9rem;
            margin-bottom: 32px;
        }
        .terms-content h3 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary);
            margin-top: 32px;
            margin-bottom: 12px;
        }
        .terms-content p {
            color: var(--gray-600);
            line-height: 1.8;
            margin-bottom: 16px;
        }
        .terms-content ul {
            list-style: none;
            margin: 12px 0 20px;
        }
        .terms-content ul li {
            padding: 6px 0;
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: var(--gray-600);
        }
        .terms-content ul li i {
            color: var(--accent-gold);
            margin-top: 4px;
        }
        .terms-highlight-box {
            background: var(--off-white);
            border-left: 4px solid var(--accent);
            padding: 16px 20px;
            border-radius: var(--radius-sm);
            margin: 16px 0 20px;
        }
        .terms-highlight-box strong {
            color: var(--accent);
        }

        /* ========== ABOUT ========== */
        .page-about {
            padding-top: 132px;
        }
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            margin-top: 40px;
            align-items: center;
        }
        .about-grid .stats-block {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
            margin-top: 24px;
        }
        .about-grid .stat-item {
            background: var(--off-white);
            padding: 24px;
            border-radius: var(--radius);
            text-align: center;
        }
        .about-grid .stat-item h3 {
            font-size: 2.2rem;
            color: var(--accent);
            font-weight: 800;
        }
        .about-grid .stat-item p {
            color: var(--gray-600);
            font-weight: 500;
        }

        /* ========== SERVICES ========== */
        .page-services {
            padding-top: 132px;
        }
        .services-detailed {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            margin-top: 40px;
        }
        .service-detailed-card {
            background: var(--white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            padding: 32px 24px;
            transition: var(--transition);
        }
        .service-detailed-card:hover {
            box-shadow: var(--shadow-sm);
            border-color: var(--accent-gold);
        }
        .service-detailed-card .icon {
            font-size: 2.8rem;
            color: var(--accent);
            margin-bottom: 12px;
        }
        .service-detailed-card h4 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary);
        }
        .service-detailed-card p {
            color: var(--gray-600);
            margin: 8px 0 12px;
        }
        .service-detailed-card ul {
            list-style: none;
            font-size: 0.9rem;
        }
        .service-detailed-card ul li {
            padding: 4px 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .service-detailed-card ul li i {
            color: var(--accent-gold);
            font-size: 0.8rem;
        }

        /* ========== HOW IT WORKS ========== */
        .page-how {
            padding-top: 132px;
        }
        .steps-detailed {
            display: flex;
            flex-direction: column;
            gap: 32px;
            margin-top: 40px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
        .step-detailed {
            display: flex;
            gap: 24px;
            background: var(--white);
            padding: 28px 32px;
            border-radius: var(--radius);
            box-shadow: var(--shadow-sm);
            border-left: 6px solid var(--accent);
        }
        .step-detailed .num {
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--accent);
            min-width: 60px;
        }
        .step-detailed h4 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
        }
        .step-detailed p {
            color: var(--gray-600);
        }

        /* ========== IN THE PRESS GRID ========== */
        .press-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 24px;
            margin-top: 40px;
        }
        .press-card {
            background: var(--white);
            padding: 24px 28px;
            border-radius: var(--radius);
            box-shadow: var(--shadow-sm);
            border: 1px solid var(--gray-200);
            border-top: 4px solid var(--accent);
            display: flex;
            flex-direction: column;
        }
        .press-tag {
            display: inline-block;
            align-self: flex-start;
            background: rgba(200, 16, 46, 0.08);
            color: var(--accent);
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.6px;
            text-transform: uppercase;
            padding: 4px 12px;
            border-radius: 50px;
            margin-bottom: 12px;
        }
        .press-card p {
            color: var(--gray-600);
            font-size: 0.95rem;
            line-height: 1.7;
            margin: 0;
        }
        .press-source {
            margin-top: 14px;
            padding-top: 10px;
            border-top: 1px solid var(--gray-200);
            font-size: 0.78rem;
            color: var(--gray-600);
        }
        .press-source a {
            color: var(--accent);
            text-decoration: underline;
        }

        /* ========== VIDEO FACADE CARDS (third-party YouTube, lazy-loaded) ========== */
        .video-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 24px;
            margin-top: 32px;
        }
        .video-card {
            background: var(--white);
            padding: 20px;
            border-radius: var(--radius);
            box-shadow: var(--shadow-sm);
            border: 1px solid var(--gray-200);
            border-top: 4px solid var(--accent);
            display: flex;
            flex-direction: column;
        }
        .video-facade {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 9;
            border-radius: var(--radius-sm);
            overflow: hidden;
            cursor: pointer;
            border: 0;
            padding: 0;
            background: var(--gray-800, #1a1a2e);
            display: block;
        }
        .video-facade img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .video-facade .play-btn {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 64px;
            height: 64px;
            border-radius: 50%;
            background: rgba(200, 16, 46, 0.92);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
            transition: transform 0.2s ease, background 0.2s ease;
            pointer-events: none;
        }
        .video-facade:hover .play-btn,
        .video-facade:focus-visible .play-btn {
            transform: translate(-50%, -50%) scale(1.08);
            background: rgba(200, 16, 46, 1);
        }
        .video-embed {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 9;
            border-radius: var(--radius-sm);
            overflow: hidden;
            background: #000;
        }
        .video-embed iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
        }
        .video-caption {
            font-size: 0.88rem;
            color: var(--gray-600);
            margin-top: 14px;
            line-height: 1.6;
            flex: 1;
        }
        .video-source {
            margin-top: 12px;
            padding-top: 10px;
            border-top: 1px solid var(--gray-200);
            font-size: 0.75rem;
            color: var(--gray-600);
            line-height: 1.6;
        }
        .video-source a {
            color: var(--accent);
            text-decoration: underline;
        }

        /* ========== HEADER CONTACT ICON ========== */
        .header-contact {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--accent);
            color: var(--white);
            font-size: 1.35rem;
            flex-shrink: 0;
            transition: var(--transition);
            box-shadow: 0 4px 14px rgba(200, 16, 46, 0.30);
        }
        .header-contact:hover {
            transform: translateY(-2px) scale(1.05);
            box-shadow: 0 6px 18px rgba(200, 16, 46, 0.40);
        }
        @media (max-width: 768px) {
            .header-contact {
                width: 38px;
                height: 38px;
                font-size: 1.15rem;
            }
        }

        /* ========== FAQ ========== */
        .faq-grid {
            display: grid;
            /* Phase 1 gate fix 2026-10-10: minmax(320px,1fr) overflowed 8px at 360px
               viewport (pre-existing in the SPA; surfaced by the per-page layout gate) */
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px 24px;
            margin-top: 16px;
            align-items: start;
        }
        .faq-card {
            background: var(--white);
            padding: 20px 24px;
            border-radius: var(--radius);
            box-shadow: var(--shadow-sm);
            border-top: 3px solid var(--accent);
        }
        .faq-card h3,
        .faq-card h4 {
            font-size: 1.05rem;
            line-height: 1.45;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 10px;
        }
        .faq-card h3 i,
        .faq-card h4 i {
            color: var(--accent-gold);
            margin-right: 8px;
        }
        .faq-card p {
            color: var(--gray-600);
            font-size: 1rem;
        }
        details.faq-card summary {
            list-style: none;
            cursor: pointer;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
        }
        details.faq-card summary::-webkit-details-marker {
            display: none;
        }
        details.faq-card summary h3,
        details.faq-card summary h4 {
            margin-bottom: 0;
            flex: 1;
        }
        details.faq-card[open] > summary {
            margin-bottom: 10px;
        }
        details.faq-card summary .faq-chevron {
            color: var(--accent-gold);
            margin-top: 4px;
            transition: transform 0.2s ease;
        }
        details.faq-card[open] > summary .faq-chevron {
            transform: rotate(180deg);
        }
        .faq-anchor {
            scroll-margin-top: 126px;
        }
        .faq-groups {
            max-width: 1040px;
            margin: 32px auto 0;
        }
        .faq-topic + .faq-topic {
            margin-top: 40px;
        }
        .faq-topic-title {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
            padding-bottom: 8px;
            border-bottom: 1px solid var(--gray-200);
        }
        .faq-topic-title i {
            color: var(--accent-gold);
            margin-right: 8px;
        }

        /* ========== ENHANCED ESTIMATOR ========== */
        .page-estimator {
            padding-top: 132px;
        }
        .estimator-wrapper {
            background: var(--white);
            border-radius: var(--radius);
            padding: 48px 40px;
            box-shadow: var(--shadow);
            max-width: 880px;
            margin: 40px auto 0;
        }
        .estimator-heading {
            max-width: 880px;
            margin: 48px auto 0;
            padding: 0 40px;
        }
        .estimator-form {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: 24px 32px;
        }
        .estimator-form .full-width {
            grid-column: 1 / -1;
        }
        .form-group label {
            display: block;
            font-weight: 600;
            font-size: 0.9rem;
            color: var(--gray-800);
            margin-bottom: 6px;
        }
        /* Visible help text under a field (replaces the retired ⓘ tooltips) */
        .field-help {
            font-size: 0.78rem;
            color: var(--gray-600);
            line-height: 1.6;
            margin-top: 6px;
        }
        .form-group select,
        .form-group input {
            width: 100%;
            min-width: 0;
            padding: 12px 16px;
            border-radius: var(--radius-sm);
            border: 1.5px solid var(--gray-200);
            font-size: 1rem;
            background: var(--white);
            transition: var(--transition);
            font-family: var(--font);
        }
        .form-group select:focus,
        .form-group input:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 4px rgba(200, 16, 46, 0.08);
        }
        .estimator-result {
            grid-column: 1 / -1;
            background: var(--primary-dark);
            color: var(--white);
            border-radius: var(--radius);
            padding: 28px 32px;
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-top: 8px;
        }
        .estimator-result .result-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
        }
        .estimator-result .estimate-label {
            opacity: 0.7;
            font-size: 0.9rem;
        }
        .estimator-result .estimate-amount {
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--accent-gold);
        }
        .estimator-result .estimate-amount small {
            font-size: 1rem;
            font-weight: 400;
            opacity: 0.6;
            margin-left: 6px;
        }
        .estimator-breakdown {
            font-size: 0.85rem;
            opacity: 0.9;
            border-top: 1px solid rgba(255, 255, 255, 0.15);
            padding-top: 14px;
            display: flex;
            flex-wrap: wrap;
            gap: 6px 16px;
            background: rgba(255, 255, 255, 0.04);
            border-radius: 8px;
            padding: 12px 16px;
            margin-top: 4px;
        }
        .estimator-breakdown span {
            background: rgba(255, 255, 255, 0.06);
            padding: 2px 10px;
            border-radius: 20px;
            font-size: 0.8rem;
            white-space: nowrap;
        }
        .estimator-breakdown strong {
            color: var(--accent-gold);
        }
        .estimator-note {
            grid-column: 1 / -1;
            font-size: 0.85rem;
            color: var(--gray-600);
            text-align: center;
            margin-top: 4px;
        }
        .currency-switcher {
            grid-column: 1 / -1;
            display: flex;
            justify-content: flex-end;
            gap: 8px;
            margin-bottom: 4px;
        }
        .currency-switcher .currency-btn {
            background: var(--gray-100);
            border: 1px solid var(--gray-200);
            padding: 4px 12px;
            border-radius: 4px;
            font-size: 0.75rem;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
            color: var(--gray-600);
        }
        .currency-switcher .currency-btn.active {
            background: var(--primary);
            color: var(--white);
            border-color: var(--primary);
        }
        .currency-switcher .currency-btn:hover:not(.active) {
            background: var(--gray-200);
        }
        .example-scenarios {
            grid-column: 1 / -1;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-bottom: 8px;
        }
        .example-scenarios .example-btn {
            background: var(--gray-100);
            border: 1px solid var(--gray-200);
            padding: 6px 16px;
            border-radius: 50px;
            font-size: 0.75rem;
            font-weight: 500;
            cursor: pointer;
            transition: var(--transition);
            color: var(--gray-600);
        }
        .example-scenarios .example-btn:hover {
            background: var(--accent);
            color: var(--white);
            border-color: var(--accent);
        }
        .savings-indicator {
            grid-column: 1 / -1;
            background: linear-gradient(145deg, #28a74508, #28a74515);
            border: 1px solid #28a74540;
            border-radius: var(--radius-sm);
            padding: 16px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 12px;
        }
        .savings-indicator .savings-text {
            font-weight: 700;
            color: #28a745;
            font-size: 1.1rem;
        }
        .savings-indicator .savings-text i {
            margin-right: 8px;
        }

        /* Estimator Steps */
        .track-card {
            grid-column: 1 / -1;
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            padding: 28px 32px;
            background: var(--white);
        }
        .track-card-alt {
            background: var(--off-white);
        }
        .track-title {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 4px;
        }
        .track-title i {
            color: var(--accent-gold);
            margin-right: 8px;
        }
        .track-sub {
            font-size: 0.85rem;
            color: var(--gray-600);
            margin-bottom: 20px;
        }
        .track-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: 16px 24px;
            margin-bottom: 20px;
        }
        .advisory-footnote {
            font-size: 0.78rem;
            opacity: 0.75;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 8px 14px;
        }
        .trip-ranges {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .trip-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px 16px;
            padding: 12px 16px;
            background: var(--white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius-sm);
            font-size: 0.9rem;
            color: var(--gray-800);
        }
        .trip-row .trip-label,
        .trip-row strong {
            min-width: 0;
        }
        .trip-row .trip-label i {
            color: var(--accent-gold);
            width: 1.2em;
            margin-right: 6px;
        }
        .trip-row strong {
            color: var(--primary);
            white-space: normal;
            overflow-wrap: break-word;
            text-align: right;
            font-variant-numeric: tabular-nums;
        }
        .trip-row.trip-total {
            background: var(--off-white);
            border: 1px solid var(--accent-gold);
            font-size: 1rem;
            padding: 14px 16px;
        }
        .trip-row.trip-total strong:last-child {
            font-size: 1.15rem;
            font-weight: 800;
        }
        .trip-total-scope {
            font-size: 0.8rem;
            color: var(--gray-600);
            font-weight: 400;
        }
        .trip-note {
            font-size: 0.8rem;
            color: var(--gray-600);
            margin-top: 14px;
        }

        /* How We Make Money */
        .money-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            margin-top: 40px;
        }
        .money-statement {
            text-align: center;
            margin-top: 40px;
            padding: 28px 32px;
            background: var(--primary-dark);
            color: var(--white);
            border-radius: var(--radius);
        }
        .money-statement h3 {
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--accent-gold);
            margin-bottom: 8px;
        }
        .money-statement p {
            font-size: 1rem;
            opacity: 0.85;
            max-width: 640px;
            margin: 0 auto;
            line-height: 1.7;
        }

        /* ========== STORIES ========== */
        .page-stories {
            padding-top: 132px;
        }
        .story-filters {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
            margin: 32px 0 40px;
        }
        .story-filters .filter-btn {
            background: var(--off-white);
            border: 1px solid var(--gray-200);
            padding: 10px 24px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 0.85rem;
            cursor: pointer;
            transition: var(--transition);
            color: var(--gray-600);
        }
        .story-filters .filter-btn:hover,
        .story-filters .filter-btn.active {
            background: var(--accent);
            color: var(--white);
            border-color: var(--accent);
            box-shadow: 0 4px 12px rgba(200, 16, 46, 0.25);
        }
        .stories-grid-detailed {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }
        .story-detailed-card {
            background: var(--off-white);
            border-radius: var(--radius);
            padding: 32px 28px;
            border: 1px solid var(--gray-200);
            transition: var(--transition);
        }
        .story-detailed-card:hover {
            box-shadow: var(--shadow-sm);
            border-color: var(--accent-gold);
        }
        .story-detailed-card .quote-icon {
            font-size: 2rem;
            color: var(--accent-gold);
            opacity: 0.3;
            margin-bottom: 8px;
        }
        .story-detailed-card blockquote {
            font-size: 1rem;
            line-height: 1.7;
            color: var(--gray-800);
            font-style: italic;
        }
        .story-detailed-card .author {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-top: 18px;
            padding-top: 16px;
            border-top: 1px solid var(--gray-200);
        }
        .story-detailed-card .author .avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: var(--primary);
            color: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 1.2rem;
            flex-shrink: 0;
        }
        .story-detailed-card .author .info strong {
            display: block;
            font-size: 0.95rem;
        }
        .story-detailed-card .author .info span {
            font-size: 0.8rem;
            color: var(--gray-600);
        }

        /* ========== PATIENT INFO ========== */
        .info-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            margin-top: 40px;
        }
        .info-card {
            background: var(--white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            padding: 32px 28px;
            transition: var(--transition);
            box-shadow: var(--shadow-sm);
        }
        .info-card:hover {
            box-shadow: var(--shadow);
            transform: translateY(-4px);
        }
        .info-card .icon {
            font-size: 2.8rem;
            color: var(--accent);
            margin-bottom: 16px;
        }
        .info-card h4 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 8px;
        }
        .info-card p {
            color: var(--gray-600);
            line-height: 1.8;
        }
        .info-card ul {
            list-style: none;
            margin-top: 12px;
        }
        .info-card ul li {
            padding: 4px 0;
            display: flex;
            align-items: center;
            gap: 10px;
            color: var(--gray-600);
        }
        .info-card ul li i {
            color: var(--accent-gold);
            width: 20px;
        }
        .info-highlight {
            background: linear-gradient(145deg, var(--off-white), var(--white));
            border: 2px solid var(--accent-gold);
        }
        .info-highlight .icon {
            color: var(--accent-gold);
        }

        /* Copy-density fine print */
        .fine-print {
            font-size: 0.78rem;
            color: var(--gray-600);
            line-height: 1.6;
            margin-top: 14px;
        }
        details.fine-details {
            margin-top: 14px;
            font-size: 0.82rem;
            color: var(--gray-600);
            line-height: 1.6;
        }
        details.fine-details summary {
            cursor: pointer;
            font-weight: 600;
            color: var(--accent);
            display: inline-block;
        }
        details.fine-details summary::-webkit-details-marker {
            display: none;
        }
        details.fine-details summary::before {
            content: '\f05a  ';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            color: var(--accent-gold);
        }
        details.fine-details[open] summary {
            margin-bottom: 6px;
        }

        /* ========== CONTACT ========== */
        .page-contact {
            padding-top: 132px;
        }
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            margin-top: 40px;
        }
        .contact-info h4 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
            margin-top: 24px;
        }
        .contact-info h4:first-of-type {
            margin-top: 0;
        }
        .contact-info p {
            color: var(--gray-600);
            margin: 4px 0 12px;
        }
        .contact-info .detail-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 8px 0;
        }
        .contact-info .detail-item i {
            width: 24px;
            color: var(--accent);
            font-size: 1.2rem;
        }
        .contact-form input,
        .contact-form textarea,
        .contact-form select {
            width: 100%;
            padding: 12px 16px;
            border-radius: var(--radius-sm);
            border: 1.5px solid var(--gray-200);
            font-size: 1rem;
            font-family: var(--font);
            transition: var(--transition);
            margin-bottom: 16px;
            background: var(--white);
        }
        .contact-form input:focus,
        .contact-form textarea:focus,
        .contact-form select:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 4px rgba(200, 16, 46, 0.08);
        }
        .contact-form textarea {
            min-height: 140px;
            resize: vertical;
        }
        .contact-form label.form-label {
            display: block;
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--gray-600);
            margin-bottom: 4px;
        }
        .placeholder-note {
            background: #fff3cd;
            border: 1px solid #ffc107;
            border-radius: var(--radius-sm);
            padding: 8px 16px;
            font-size: 0.8rem;
            color: #856404;
            display: inline-block;
            margin-top: 6px;
        }
        .placeholder-note i {
            margin-right: 6px;
        }
        .privacy-badge {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.8rem;
            color: var(--gray-600);
            margin-top: 12px;
            justify-content: center;
        }
        .privacy-badge i {
            color: #28a745;
            font-size: 1.2rem;
        }

        /* ========== HEADER ADVISOR LINK (phones only; replaces the old bottom bar) ========== */
        .header-advisor {
            display: none;
        }

        /* ========== FORM STATES ========== */
        .hp-field {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            opacity: 0;
            overflow: hidden;
        }
        .form-error {
            display: none;
            background: rgba(200, 16, 46, 0.08);
            color: var(--accent);
            border: 1px solid rgba(200, 16, 46, 0.25);
            border-radius: var(--radius-sm);
            padding: 12px 16px;
            font-size: 0.9rem;
            margin-bottom: 16px;
        }
        .form-error.show {
            display: block;
        }
        .form-success {
            text-align: center;
            padding: 40px 24px;
        }
        .form-success .success-icon {
            font-size: 3rem;
            color: #25D366;
            margin-bottom: 16px;
        }
        .form-success h3 {
            color: var(--primary-dark);
            margin-bottom: 12px;
        }
        .form-success p {
            color: var(--gray-600);
            margin-bottom: 24px;
        }
        .btn-primary[disabled] {
            opacity: 0.6;
            cursor: not-allowed;
            transform: none;
        }
        .btn-spinner {
            display: inline-block;
            width: 16px;
            height: 16px;
            border: 2px solid rgba(255, 255, 255, 0.4);
            border-top-color: var(--white);
            border-radius: 50%;
            animation: btn-spin 0.8s linear infinite;
        }
        @keyframes btn-spin {
            to { transform: rotate(360deg); }
        }

        /* ========== STORIES NOTE CARD ========== */
        .stories-note {
            max-width: 640px;
            margin: 32px auto 0;
            background: var(--off-white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            padding: 32px;
            text-align: center;
            color: var(--gray-600);
        }
        .stories-note > i {
            font-size: 1.6rem;
            color: var(--accent-gold);
            margin-bottom: 12px;
        }

        /* ========== DESKTOP PAGE-HEADER LEDE MEASURE (owner 2026-10-07) ==========
           Base .section-subtitle caps at 620px; on desktop the page-header
           subtitles/ledes read too wide — tighten to a comfortable measure.
           Mobile (≤768px) unchanged. */
        @media (min-width: 769px) {
            .page-about > .container > .text-center:first-child .section-subtitle,
            .page-services > .container > .text-center:first-child .section-subtitle,
            .page-how > .container > .text-center:first-child .section-subtitle,
            .page-estimator > .container > .text-center:first-child .section-subtitle,
            .page-faq .section-faq > .container > .text-center:first-child .section-subtitle {
                max-width: 64rem;
                text-wrap: balance;
            }
            /* The ~230-char About why-we-exist lede can't be one line — wider cap
               so it wraps to at most 2 balanced lines at desktop widths. */
            .page-about > .container > .text-center:first-child .section-subtitle.lede-wide {
                max-width: 70rem;
            }
            .page-stories .stories-note {
                max-width: 36rem;
                text-wrap: balance;
            }
        }

        /* ========== CLOSING CTA (calm card, same on every page) ========== */
        .closing-cta-wrap {
            padding: 0 0 64px;
            background: var(--off-white);
        }
        .closing-cta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-top: 56px;
            padding: 28px 32px;
            background: var(--white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            box-shadow: var(--shadow-sm);
        }
        .closing-cta-wrap .closing-cta {
            margin-top: 0;
        }
        .closing-cta h2 {
            font-size: 1.2rem;
            font-weight: 700;
            line-height: 1.5;
            color: var(--primary);
            margin: 0;
            text-wrap: balance;
        }
        .closing-cta .btn-primary {
            flex-shrink: 0;
        }

        /* ========== FOOTER ========== */
        .footer {
            background: var(--primary-dark);
            color: rgba(255, 255, 255, 0.7);
            padding: 56px 0 32px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }
        .footer .container {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 40px;
        }
        .footer-brand .logo {
            margin-bottom: 12px;
        }
        .footer-brand .logo svg {
            height: 58px;
            width: auto;
        }
        .footer-brand p {
            font-size: 0.9rem;
            max-width: 300px;
            line-height: 1.7;
        }
        .footer h4 {
            color: var(--white);
            font-weight: 700;
            margin-bottom: 16px;
            font-size: 1rem;
        }
        .footer ul {
            list-style: none;
        }
        .footer ul li {
            padding: 4px 0;
        }
        .footer ul a {
            transition: var(--transition);
            font-size: 0.9rem;
            cursor: pointer;
        }
        .footer ul a:hover {
            color: var(--accent-gold);
        }
        .footer .socials {
            display: flex;
            gap: 14px;
            margin-top: 12px;
        }
        .footer .socials a {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.06);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            color: var(--white);
        }
        .footer .socials a:hover {
            background: var(--accent);
            transform: translateY(-3px);
        }
        .footer-bottom {
            grid-column: 1 / -1;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            margin-top: 40px;
            padding-top: 24px;
            text-align: center;
            font-size: 0.9rem;
            opacity: 0.7;
        }

        /* ========== NESTED-BAND GUTTERS (B3-UI-02, decision item 14) ==========
           These four bands sit inside the page's own .container and re-apply its
           24px gutter, so nested cards were 48px narrower than sibling content.
           The outer container stays the sole horizontal-gutter owner. */
        .section-money > .container,
        .risks-section > .container,
        .visa-section > .container,
        .section-faq > .container {
            padding-left: 0;
            padding-right: 0;
        }

        /* ========== FAQ PAGE-TOP RHYTHM (B3-UI-03, decision item 15) ==========
           Same entry offsets as the other marketing pages; the outer container's
           top padding drops 80px -> 20px so 132+20+60 matches 132+80. */
        .page-faq {
            padding-top: 132px;
        }
        .page-faq > .container.py-80 {
            padding-top: 20px;
        }

        /* ========== 404 PAGE ========== */
        .page-404 {
            padding-top: 132px;
        }

        /* ========== ACCESSIBILITY (invisible; no visual change for mouse users) ========== */
        /* Keyboard-only focus outline (component :focus rules above use outline:none
           with higher specificity, hence !important). */
        a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        select:focus-visible,
        textarea:focus-visible {
            outline: 2px solid var(--accent) !important;
            outline-offset: 2px;
        }
        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }
            .page {
                animation: none;
            }
        }

        /* ========== RESPONSIVE ========== */
        @media (max-width: 1024px) {
            .footer .container {
                grid-template-columns: 1fr 1fr;
            }
            .about-grid {
                grid-template-columns: 1fr;
            }
            .contact-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            .info-grid {
                grid-template-columns: 1fr;
            }
            .nav-links a {
                font-size: 0.7rem;
                padding: 4px 7px;
            }
            .dashboard-grid {
                grid-template-columns: 1fr;
            }
            .visa-grid {
                grid-template-columns: 1fr 1fr;
            }
            .risks-grid {
                grid-template-columns: 1fr 1fr;
            }
            .expect-grid {
                grid-template-columns: 1fr 1fr;
            }
            .legal-disclaimers .container {
                grid-template-columns: 1fr 1fr;
            }
            .cookie-banner p {
                max-width: 100%;
            }
            .cookie-banner .container {
                flex-direction: column;
                text-align: center;
            }
            .track-grid {
                grid-template-columns: minmax(0, 1fr);
            }
            .money-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .header {
                height: 90px;
            }
            .header .container {
                height: 90px;
                padding: 0 12px;
            }
            .logo svg {
                height: 68px;
            }
            .logo-text .brand {
                font-size: 1.8rem;
            }
            .logo-text .subtext {
                font-size: 0.75rem;
            }
            .nav-links {
                display: none;
                flex-direction: column;
                position: absolute;
                top: 90px;
                left: 0;
                width: 100%;
                background: var(--white);
                padding: 16px 20px;
                border-bottom: 1px solid var(--gray-200);
                box-shadow: var(--shadow);
                gap: 4px;
            }
            .nav-links.open {
                display: flex;
            }
            .nav-links a {
                font-size: 0.9rem;
                padding: 8px 12px;
                width: 100%;
                border-radius: 8px;
            }
            .hamburger {
                display: flex;
            }
            .lang-dropdown .lang-toggle-btn {
                padding: 4px 10px;
                font-size: 0.7rem;
            }
            .hero {
                padding: 104px 0 72px;
            }
            .price-table th,
            .price-table td {
                font-size: 0.84rem;
                padding: 10px 8px;
            }
            .price-table td small {
                font-size: 0.72rem;
            }
            .why-band {
                padding: 16px;
            }
            .why-band p {
                font-size: 0.95rem;
            }
            .estimator-form {
                grid-template-columns: minmax(0, 1fr);
            }
            .estimator-wrapper {
                padding: 28px 18px;
            }
            .estimator-heading {
                padding: 0 18px;
            }
            .estimator-result .result-row {
                flex-direction: column;
                text-align: center;
            }
            .footer .container {
                grid-template-columns: 1fr;
                gap: 28px;
            }
            .step-detailed {
                flex-direction: column;
                gap: 8px;
                padding: 20px;
            }
            .estimator-breakdown {
                flex-direction: column;
                gap: 4px;
                align-items: flex-start;
            }
            /* Phase 1 gate fix 2026-10-10: nowrap pill overflowed 34px at 360px
               (pre-existing in the SPA; surfaced by the per-page layout gate) */
            .estimator-breakdown span {
                white-space: normal;
            }
            .visa-grid {
                grid-template-columns: 1fr;
            }
            .risks-grid {
                grid-template-columns: 1fr;
            }
            .expect-grid {
                grid-template-columns: 1fr;
            }
            .legal-disclaimers .container {
                grid-template-columns: 1fr;
                gap: 24px;
            }
            .savings-indicator {
                flex-direction: column;
                text-align: center;
            }
            .track-grid {
                grid-template-columns: minmax(0, 1fr);
            }
            /* Larger tap targets on mobile */
            .estimator-form select,
            .contact-form input,
            .contact-form select,
            .contact-form textarea {
                min-height: 48px;
            }
            .contact-form textarea {
                min-height: 96px;
            }
            /* Subpage top padding follows the taller mobile header */
            .page-about, .page-services, .page-how, .page-estimator, .page-stories, .page-contact, .page-privacy, .page-terms, .page-faq, .page-404 {
                padding-top: 106px;
            }
            .header-advisor {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                margin-left: 8px;
                border-radius: 50%;
                border: 1px solid var(--gray-200);
                color: var(--primary);
                background: var(--white);
                font-size: 1rem;
                flex-shrink: 0;
            }
            .header-advisor:hover, .header-advisor:focus-visible {
                color: var(--accent);
                border-color: var(--accent);
            }
            .closing-cta {
                flex-direction: column;
                text-align: center;
                padding: 24px 20px;
            }
        }

        @media (max-width: 480px) {
            /* Compact header: full-size logo doesn't leave room for lang + contact + hamburger */
            .header {
                height: 70px;
            }
            .header .container {
                height: 70px;
                padding: 0 8px;
            }
            .logo {
                margin-right: 8px;
            }
            .hamburger {
                margin-left: 4px;
            }
            .nav-links {
                top: 70px;
            }
            .lang-dropdown .lang-toggle-btn {
                padding: 4px 8px;
            }
            .hero {
                padding: 84px 0 60px;
            }
            #google_translate_element {
                top: 74px;
            }
            /* Subpage top padding follows the shorter small-phone header */
            .page-about, .page-services, .page-how, .page-estimator, .page-stories, .page-contact, .page-privacy, .page-terms, .page-faq, .page-404 {
                padding-top: 86px;
            }
            .header-advisor {
                width: 36px;
                height: 36px;
                margin-left: 4px;
            }
            /* Room for the advisor icon: the language button drops its small arrow on small phones */
            .lang-dropdown .lang-toggle-btn .arrow {
                display: none;
            }
            .hero-content h1 {
                font-size: 2rem;
            }
            .hero-sub {
                font-size: 1rem;
            }
            .hero-value-card {
                padding: 16px;
            }
            .section-title {
                font-size: 1.8rem;
            }
            .about-grid .stats-block {
                grid-template-columns: 1fr;
            }
            .lang-dropdown-menu {
                right: -10px;
                min-width: 80px;
            }
            .lang-dropdown-menu .lang-item {
                font-size: 0.7rem;
                padding: 4px 12px;
            }
            .dashboard-card {
                padding: 16px;
            }
            .dashboard-card .procedure-name {
                flex-direction: column;
                align-items: flex-start;
                gap: 6px;
            }
            .logo svg {
                height: 50px;
            }
            .logo-text .brand {
                font-size: 1.5rem;
            }
        }

        /* Very small phones: the translate dropdown yields so the menu stays reachable.
           Item 21: the same translate action lives inside the open phone menu instead. */
        @media (max-width: 360px) {
            #langDropdown {
                display: none;
            }
            .nav-links.open .mobile-lang-item {
                display: block;
            }
            .mobile-lang-btn {
                display: flex;
                align-items: center;
                gap: 10px;
                width: 100%;
                background: none;
                border: none;
                font-family: var(--font);
                font-size: 0.9rem;
                font-weight: 500;
                color: var(--gray-800);
                padding: 8px 12px;
                border-radius: 8px;
                cursor: pointer;
                text-align: left;
            }
            .mobile-lang-btn:hover {
                color: var(--accent);
                background: rgba(200, 16, 46, 0.06);
            }
            .mobile-lang-btn i {
                color: var(--accent);
            }
            /* Inter (item 16) renders these one-line values ~4% wider than the
               former system font, which tips the 360px viewport into horizontal
               overflow (276px vs 268px available). Shave the value size only at
               this width; B3-UI-01 owns the durable wrap fix for these boxes. */
        }

        .mt-16 {
            margin-top: 16px;
        }
        .mt-24 {
            margin-top: 24px;
        }
        .mt-32 {
            margin-top: 32px;
        }
        .mt-48 {
            margin-top: 48px;
        }
        .py-80 {
            padding-top: 80px;
            padding-bottom: 80px;
        }
        .bg-offwhite {
            background: var(--off-white);
        }
        .bg-white {
            background: var(--white);
        }

        /* ========== UI ROUND 2 (2026-10-28) ========== */
        /* round 3 (2026-10-28): .trust-item-text went away with the home trust bar */
        .about-grid .stats-block-3 {
            margin-top: 0;
        }
        .about-grid .stat-item p {
            font-size: 0.92rem;
            line-height: 1.5;
            margin-top: 6px;
        }
        .about-explore {
            margin-top: 56px;
            text-align: center;
        }
        .about-explore h2 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 20px;
        }
        .about-explore-links {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            text-align: left;
        }
        .about-explore-links a {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 18px 20px;
            background: var(--white);
            border: 1px solid var(--gray-200);
            border-radius: var(--radius);
            color: var(--gray-600);
            font-size: 0.88rem;
            line-height: 1.5;
            transition: var(--transition);
        }
        .about-explore-links a:hover, .about-explore-links a:focus-visible {
            border-color: var(--accent-gold);
            box-shadow: var(--shadow-sm);
        }
        .about-explore-links i {
            color: var(--accent-gold);
            font-size: 1.1rem;
            margin-top: 3px;
        }
        .about-explore-links strong {
            display: block;
            color: var(--primary);
            font-size: 0.98rem;
            margin-bottom: 2px;
        }
        /* round 3 (2026-10-28): the old work-travel card and its styles are gone;
           the #in-china call-to-action replaces it (spec §3.4). */
        /* ========== HOW IT WORKS — ROUND 3 (2026-10-28, spec §3) ========== */
        /* Jump links under the page heading; the "In China?" link is a gold pill */
        .jump-links {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px 20px;
            flex-wrap: wrap;
            margin: 6px 0 4px;
        }
        .jump-links .jump-link {
            color: var(--accent);
            font-weight: 600;
            font-size: 0.9rem;
            text-decoration: underline;
            cursor: pointer;
        }
        .jump-links .jump-link-gold {
            background: var(--accent-gold);
            color: var(--primary-dark);
            text-decoration: none;
            border-radius: 50px;
            padding: 4px 14px;
            font-weight: 700;
        }
        .jump-links .jump-link-gold:hover,
        .jump-links .jump-link-gold:focus-visible {
            background: #c79a3d;
        }
        /* "In China for work or travel?" call-to-action (white card, gold border) */
        .in-china {
            display: flex;
            gap: 16px;
            align-items: center;
            justify-content: space-between;
            position: relative;
            max-width: 860px;
            margin: 32px auto 0;
            background: var(--white);
            border: 2px solid var(--accent-gold);
            border-radius: var(--radius);
            padding: 18px 20px 34px;
            box-shadow: var(--shadow-sm);
            transition: box-shadow 0.3s, background 0.3s;
        }
        .in-china-text h3 {
            color: var(--primary);
            font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 4px;
        }
        .in-china-text p {
            color: var(--gray-600);
            font-size: 0.95rem;
            line-height: 1.6;
            margin: 0;
            max-width: 560px;
        }
        .in-china-text {
            flex: 1 1 auto;
            min-width: 0;
        }
        /* 2026-11-01: second line for visitors who are already there (ad landing) */
        .in-china-text p.in-china-now {
            margin-top: 8px;
            color: var(--primary);
        }
        .in-china .btn-primary {
            flex: 0 0 auto;
        }
        .in-china-fine {
            position: absolute;
            right: 20px;
            bottom: 10px;
            margin: 0;
            font-size: 0.74rem;
            color: var(--gray-600);
            text-align: right;
        }
        .in-china.flash {
            background: #fff7e3;
            box-shadow: 0 0 0 6px rgba(212, 167, 71, 0.35);
        }
        /* Service options lede + L1 comparison table */
        .tiers-lede {
            max-width: 680px;
            margin: 20px auto 0;
            text-align: center;
            color: var(--gray-600);
            font-size: 0.98rem;
            line-height: 1.7;
        }
        .tiers-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            background: var(--white);
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            margin-top: 24px;
        }
        .tiers-table th,
        .tiers-table td {
            padding: 12px 16px;
            border-bottom: 1px solid var(--gray-200);
            text-align: left;
            vertical-align: top;
            font-size: 0.93rem;
            line-height: 1.55;
        }
        .tiers-table th {
            color: var(--primary);
            background: var(--gray-100);
        }
        .tiers-table td.tiers-c,
        .tiers-table th.tiers-c {
            text-align: center;
            width: 110px;
        }
        .tiers-table tr.tiers-group td {
            background: #fbf8f0;
            color: var(--accent-gold-text);
            font-weight: 700;
            font-size: 0.82rem;
            padding: 8px 16px;
        }
        .tiers-table .tiers-y {
            color: var(--accent-gold);
            font-weight: 800;
        }
        .tiers-table .tiers-n {
            color: var(--gray-300);
        }
        .tiers-table td a {
            color: var(--accent);
            text-decoration: underline;
        }
        .tiers-table .tiers-price {
            font-size: 0.85rem;
        }
        .tiers-table td a.tiers-btn {
            color: var(--white);
            text-decoration: none;
        }
        .tiers-table td a.tiers-btn-outline {
            background: var(--white);
            color: var(--accent);
            border: 2px solid var(--accent);
            box-shadow: none;
        }
        .tiers-btn {
            display: inline-block;
            padding: 8px 14px;
            font-size: 0.82rem;
            font-weight: 600;
            border-radius: 50px;
            white-space: normal;
            text-align: center;
        }
        @media (max-width: 768px) {
            .in-china {
                flex-direction: column;
                align-items: flex-start;
                padding-bottom: 16px;
            }
            .in-china .btn-primary {
                align-self: stretch;
                justify-content: center;
            }
            .in-china-fine {
                position: static;
                align-self: flex-end;
                margin-top: 8px;
            }
            .tiers-table th,
            .tiers-table td {
                font-size: 0.84rem;
                padding: 10px 8px;
            }
            .tiers-table {
                table-layout: fixed;
            }
            .tiers-table td.tiers-c,
            .tiers-table th.tiers-c {
                width: 84px;
                padding: 10px 3px;
            }
            .tiers-table .tiers-price {
                font-size: 0.7rem;
            }
            .tiers-btn {
                padding: 6px 6px;
                font-size: 0.72rem;
            }
        }
        details.service-detailed-card > summary {
            list-style: none;
            cursor: pointer;
            position: relative;
            padding-right: 28px;
        }
        details.service-detailed-card > summary::-webkit-details-marker {
            display: none;
        }
        .service-chevron {
            position: absolute;
            top: 6px;
            right: 0;
            color: var(--gray-300);
            transition: transform 0.2s ease;
        }
        details.service-detailed-card[open] .service-chevron {
            transform: rotate(180deg);
        }
        .service-more {
            margin-top: 10px;
        }
        @media (max-width: 1024px) {
            .about-explore-links {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (max-width: 480px) {
            .about-explore-links {
                grid-template-columns: minmax(0, 1fr);
            }
            .about-grid .stats-block-3 {
                grid-template-columns: minmax(0, 1fr);
            }
        }

        /* Estimator layout (UI round 2): toolbar, treatment grid, grouped stay fields, two matching results */
        .estimator-toolbar {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            flex-wrap: wrap;
            gap: 16px 24px;
        }
        .toolbar-label {
            display: block;
            font-size: 0.78rem;
            font-weight: 600;
            color: var(--gray-600);
            margin-bottom: 8px;
        }
        .estimator-toolbar .example-scenarios {
            justify-content: flex-start;
            margin-bottom: 0;
        }
        .estimator-toolbar .currency-switcher {
            margin-bottom: 0;
        }
        .currency-group {
            margin-left: auto;
        }
        .treatment-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
            gap: 24px;
            align-items: start;
        }
        .treatment-grid .estimator-result {
            grid-column: auto;
            margin-top: 0;
            gap: 10px;
        }
        .estimator-result .estimate-amount {
            font-size: clamp(1.8rem, 6vw, 2.4rem);
            line-height: 1.2;
            overflow-wrap: break-word;
            font-variant-numeric: tabular-nums;
        }
        .estimator-result .estimate-note {
            font-size: 0.8rem;
            opacity: 0.75;
        }
        .estimator-result .estimator-cta {
            align-self: flex-start;
            padding: 12px 28px;
            font-size: 0.9rem;
            margin-top: 6px;
        }
        .stay-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 16px;
            margin-bottom: 20px;
        }
        .stay-fieldset {
            border: 1px solid var(--gray-200);
            border-radius: var(--radius-sm);
            padding: 16px 18px 18px;
            margin: 0;
            min-width: 0;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px 24px;
            background: var(--white);
        }
        /* round 3 (2026-10-28): fieldset legends read as words, not shouty labels
           (spec §1.7) */
        .stay-fieldset legend {
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--primary);
            padding: 0 6px;
        }
        .trip-result {
            margin-top: 16px;
        }
        .trip-result .estimate-label i {
            color: var(--accent-gold);
            margin-right: 6px;
        }
        .trip-result .trip-total-scope {
            color: inherit;
            opacity: 0.8;
        }
        @media (max-width: 768px) {
            .estimator-toolbar {
                flex-direction: column;
                align-items: stretch;
            }
            .currency-group {
                margin-left: 0;
            }
            .estimator-toolbar .currency-switcher {
                justify-content: flex-start;
            }
            .treatment-grid,
            .stay-fieldset {
                grid-template-columns: minmax(0, 1fr);
            }
            .track-card {
                padding: 24px 20px;
            }
            .estimator-result .estimator-cta {
                align-self: stretch;
                justify-content: center;
            }
            .trip-row {
                flex-direction: column;
                align-items: flex-start;
            }
            .trip-row strong {
                text-align: left;
            }
        }
        .estimator-result .estimate-amount {
            font-size: clamp(1.8rem, 3vw, 2.1rem);
        }
        @media (max-width: 768px) {
            .faq-grid {
                grid-template-columns: minmax(0, 1fr);
            }
        }
        @media (max-width: 768px) {
            /* Folded specialty cards: icon beside the title, one short line under it */
            details.service-detailed-card {
                padding: 18px 20px;
            }
            details.service-detailed-card > summary {
                display: grid;
                grid-template-columns: 36px minmax(0, 1fr);
                column-gap: 14px;
                align-items: center;
            }
            details.service-detailed-card > summary .icon {
                grid-row: 1 / span 2;
                font-size: 1.5rem;
                margin: 0;
            }
            details.service-detailed-card > summary h4 {
                margin: 0;
            }
            details.service-detailed-card > summary p {
                grid-column: 2;
                margin: 2px 0 0;
                font-size: 0.9rem;
            }
            details.service-detailed-card[open] > summary {
                margin-bottom: 12px;
            }
        }
