:root {
            --ink: #16140F;
            --ink-2: #262219;
            --gold: #C9A227;
            --gold-deep: #917411;
            --paper: #FCFBF8;
            --paper-2: #F4EEE2;
            --gray: #6E6A5F;
            --line: #E7E0D1;
            --disp: "Fraunces", Georgia, serif;
            --body: "Plus Jakarta Sans", system-ui, sans-serif;
            --mono: "Space Mono", ui-monospace, monospace;
            --bn: "Hind Siliguri", sans-serif;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0
        }

        html {
            scroll-behavior: smooth
        }

        body {
            font-family: var(--body);
            background: var(--paper);
            color: var(--ink);
            line-height: 1.65;
            -webkit-font-smoothing: antialiased
        }

        body.bn {
            font-family: var(--bn)
        }

        body.bn .mono {
            font-family: var(--mono)
        }

        /* keep flight codes latin */
        h1,
        h2,
        h3 {
            font-family: var(--disp);
            font-weight: 500;
            line-height: 1.08;
            letter-spacing: -.01em
        }

        body.bn h1,
        body.bn h2,
        body.bn h3 {
            font-family: var(--bn);
            font-weight: 600;
            letter-spacing: 0;
            line-height: 1.3
        }

        a {
            color: inherit;
            text-decoration: none
        }

        img {
            display: block;
            max-width: 100%
        }

        .wrap {
            max-width: 1160px;
            margin: 0 auto;
            padding: 0 28px
        }

        .mono {
            font-family: var(--mono);
            font-size: 12px;
            letter-spacing: .14em;
            text-transform: uppercase
        }

        :focus-visible {
            outline: 2px solid var(--gold);
            outline-offset: 3px
        }

        /* route motif */
        .route {
            display: block;
            width: 100%;
            height: 34px
        }

        .route line,
        .route path {
            stroke: var(--gold);
            fill: none
        }

        /* nav */
        header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(252, 251, 248, .86);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--line)
        }

        nav {
            display: flex;
            align-items: center;
            gap: 28px;
            height: 74px
        }

        .logo {
            height: 34px;
            width: auto
        }

        .navlinks {
            display: flex;
            gap: 26px;
            margin-left: auto;
            font-size: 14.5px;
            font-weight: 500
        }

        .navlinks a {
            color: var(--ink-2);
            padding: 4px 0;
            border-bottom: 1.5px solid transparent;
            transition: border-color .2s
        }

        .navlinks a:hover {
            border-color: var(--gold)
        }

        .navtools {
            display: flex;
            align-items: center;
            gap: 14px
        }

        .lang {
            font-family: var(--mono);
            font-size: 11px;
            letter-spacing: .1em;
            border: 1px solid var(--line);
            border-radius: 4px;
            background: none;
            cursor: pointer;
            padding: 6px 9px;
            color: var(--ink-2);
            transition: border-color .2s
        }

        .lang:hover {
            border-color: var(--gold)
        }

        .lang b {
            color: var(--gold-deep)
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-weight: 600;
            font-size: 14.5px;
            border-radius: 5px;
            padding: 11px 20px;
            cursor: pointer;
            border: 1px solid transparent;
            transition: transform .15s, background .2s, color .2s
        }

        body.bn .btn {
            font-weight: 600
        }

        .btn-primary {
            background: var(--ink);
            color: var(--paper)
        }

        .btn-primary:hover {
            background: var(--gold);
            color: var(--ink);
            transform: translateY(-1px)
        }

        .btn-ghost {
            border-color: var(--ink);
            color: var(--ink)
        }

        .btn-ghost:hover {
            border-color: var(--gold);
            color: var(--gold-deep)
        }

        .btn-gold {
            background: var(--gold);
            color: var(--ink)
        }

        .btn-gold:hover {
            transform: translateY(-1px);
            background: #d8b132
        }

        /* hero */
        .hero {
            padding: 64px 0 36px
        }

        .hero-grid {
            display: grid;
            grid-template-columns: 1.05fr .95fr;
            gap: 54px;
            align-items: center
        }

        .eyebrow {
            color: var(--gold-deep);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px
        }

        .eyebrow::before {
            content: "";
            width: 26px;
            height: 1px;
            background: var(--gold)
        }

        .hero h1 {
            font-size: clamp(38px, 5.4vw, 66px)
        }

        .hero h1 em {
            font-style: italic;
            color: var(--gold-deep)
        }

        .hero p.lead {
            font-size: 18px;
            color: var(--ink-2);
            max-width: 33em;
            margin: 22px 0 30px
        }

        .hero-cta {
            display: flex;
            gap: 14px;
            flex-wrap: wrap
        }

        .trust {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 30px
        }

        .chip {
            font-family: var(--mono);
            font-size: 11px;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: var(--ink-2);
            border: 1px solid var(--line);
            border-radius: 20px;
            padding: 6px 13px;
            background: #fff
        }

        /* boarding-pass photo frame */
        .pass {
            position: relative;
            border-radius: 14px;
            overflow: hidden;
            background: var(--ink);
            aspect-ratio: 4/4.6;
            box-shadow: 0 26px 50px -28px rgba(22, 20, 15, .5)
        }

        .pass img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0
        }

        .pass::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(180deg, rgba(22, 20, 15, .05) 40%, rgba(22, 20, 15, .78) 100%)
        }

        .pass .stamp {
            position: absolute;
            top: 18px;
            right: 18px;
            z-index: 2;
            font-family: var(--mono);
            font-size: 10px;
            letter-spacing: .12em;
            color: var(--gold);
            border: 1.5px solid var(--gold);
            border-radius: 6px;
            padding: 6px 10px;
            transform: rotate(-7deg);
            text-transform: uppercase
        }

        .pass .ptag {
            position: absolute;
            left: 20px;
            bottom: 18px;
            z-index: 2;
            color: var(--paper)
        }

        .pass .ptag .city {
            font-family: var(--disp);
            font-size: 25px;
            line-height: 1.1
        }

        .pass .ptag .sub {
            font-family: var(--mono);
            font-size: 11px;
            letter-spacing: .14em;
            color: #e9dcb5;
            margin-top: 4px
        }

        .pass .perf {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 78px;
            z-index: 2;
            border-top: 1.5px dashed rgba(233, 220, 181, .6)
        }

        /* section scaffolding */
        section {
            padding: 76px 0
        }

        .band {
            background: var(--ink);
            color: var(--paper)
        }

        .alt {
            background: var(--paper-2)
        }

        .sec-head {
            max-width: 38em
        }

        .sec-head .eyebrow {
            margin-bottom: 16px
        }

        .sec-head h2 {
            font-size: clamp(28px, 3.4vw, 42px)
        }

        .band .eyebrow {
            color: var(--gold)
        }

        .band .sec-head h2 {
            color: var(--paper)
        }

        /* why list (asymmetric) */
        .why-grid {
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 54px;
            align-items: start;
            margin-top: 14px
        }

        .why-grid p.intro {
            color: var(--ink-2);
            font-size: 17px
        }

        .feat {
            border-top: 1px solid var(--line);
            padding: 22px 0;
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 18px;
            align-items: start
        }

        .feat .idx {
            font-family: var(--mono);
            font-size: 12px;
            color: var(--gold-deep);
            padding-top: 5px
        }

        .feat h3 {
            font-size: 20px;
            margin-bottom: 5px
        }

        .feat p {
            color: var(--gray);
            font-size: 15.5px
        }

        /* services */
        .svc {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
            margin-top: 30px;
            border-top: 1px solid rgba(252, 251, 248, .18)
        }

        .svc .item {
            padding: 28px 26px;
            border-bottom: 1px solid rgba(252, 251, 248, .18);
            border-right: 1px solid rgba(252, 251, 248, .18)
        }

        .svc .item:nth-child(3n) {
            border-right: none
        }

        .svc .ic {
            width: 30px;
            height: 30px;
            color: var(--gold);
            margin-bottom: 16px
        }

        .svc h3 {
            font-size: 19px;
            color: var(--paper);
            margin-bottom: 7px
        }

        .svc p {
            color: #b8b2a3;
            font-size: 15px
        }

        /* why china */
        .china-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 54px;
            align-items: center;
            margin-top: 10px
        }

        .ulist {
            list-style: none;
            margin-top: 8px
        }

        .ulist li {
            display: flex;
            gap: 14px;
            padding: 14px 0;
            border-bottom: 1px solid var(--line);
            font-size: 16.5px;
            color: var(--ink-2)
        }

        .ulist li::before {
            content: "";
            flex: none;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            border: 2px solid var(--gold);
            margin-top: 9px
        }

        /* process boarding legs */
        .legs {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
            margin-top: 34px
        }

        .leg {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 24px 22px;
            position: relative;
            overflow: hidden
        }

        .leg .no {
            font-family: var(--mono);
            font-size: 12px;
            color: var(--gold-deep);
            letter-spacing: .1em
        }

        .leg h3 {
            font-size: 20px;
            margin: 14px 0 8px
        }

        .leg p {
            color: var(--gray);
            font-size: 15px
        }

        .leg .tear {
            position: absolute;
            top: 0;
            right: 18px;
            width: 1.5px;
            height: 100%;
            background: repeating-linear-gradient(var(--line) 0 6px, transparent 6px 12px)
        }

        /* cta band */
        .cta {
            text-align: center
        }

        .cta h2 {
            font-size: clamp(30px, 4vw, 50px);
            color: var(--paper);
            max-width: 16em;
            margin: 18px auto 0
        }

        .cta h2 em {
            font-style: italic;
            color: var(--gold)
        }

        .cta .mono {
            color: var(--gold);
            margin: 26px 0 24px;
            display: block
        }

        /* footer */
        footer {
            background: var(--ink);
            color: #c8c2b4;
            padding: 58px 0 30px;
            border-top: 3px solid var(--gold)
        }

        .foot-grid {
            display: grid;
            grid-template-columns: 1.4fr 1fr 1fr;
            gap: 40px
        }

        .wordmark {
            font-family: var(--disp);
            font-size: 26px;
            color: var(--paper);
            letter-spacing: -.01em
        }

        .wordmark b {
            color: var(--gold)
        }

        .tagline {
            font-family: var(--disp);
            font-style: italic;
            color: var(--gold);
            font-size: 18px;
            margin-top: 4px
        }

        footer h4 {
            font-family: var(--mono);
            font-size: 11px;
            letter-spacing: .14em;
            color: var(--gold);
            text-transform: uppercase;
            margin-bottom: 16px;
            font-weight: 400
        }

        footer ul {
            list-style: none
        }

        footer li {
            margin-bottom: 10px;
            font-size: 14.5px
        }

        footer a:hover {
            color: var(--gold)
        }

        .copy {
            border-top: 1px solid rgba(252, 251, 248, .14);
            margin-top: 40px;
            padding-top: 22px;
            font-size: 13px;
            color: #8b867a;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px
        }

        .reveal {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity .7s ease, transform .7s ease
        }

        .reveal.in {
            opacity: 1;
            transform: none
        }

        @media (max-width:880px) {
            .navlinks {
                display: none
            }

            .hero-grid,
            .why-grid,
            .china-grid {
                grid-template-columns: 1fr;
                gap: 34px
            }

            .svc {
                grid-template-columns: 1fr 1fr
            }

            .svc .item:nth-child(3n) {
                border-right: 1px solid rgba(252, 251, 248, .18)
            }

            .svc .item:nth-child(2n) {
                border-right: none
            }

            .legs {
                grid-template-columns: 1fr 1fr
            }

            .foot-grid {
                grid-template-columns: 1fr 1fr
            }

            .pass {
                aspect-ratio: 4/3.4
            }
        }

        @media (max-width:520px) {
            .wrap {
                padding: 0 20px
            }

            .svc,
            .legs,
            .foot-grid {
                grid-template-columns: 1fr
            }

            .svc .item {
                border-right: none !important
            }

            .hero {
                padding: 42px 0 20px
            }
        }

        @media (prefers-reduced-motion:reduce) {
            .reveal {
                opacity: 1;
                transform: none;
                transition: none
            }
        }