:root { --blue:#0066cc; --blue-on-dark:#2997ff; --ink:#1d1d1f; --muted:#7a7a7a; --white:#fff; --paper:#f5f5f7; --dark:#272729; --dark-2:#252527; --line:#e0e0e0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:"SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:17px; line-height:1.47; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position:sticky; top:0; z-index:10; height:44px; background:#000; }
.nav-wrap { width:min(980px,100%); height:44px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; color:#f5f5f7; }
.brand { font-size:17px; font-weight:600; letter-spacing:.08em; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:12px; letter-spacing:-.12px; color:#d2d2d7; }
.nav-links a:hover,.nav-links a:focus-visible { color:#fff; }
.menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; padding:0 10px; cursor:pointer; }
.menu-toggle span:not(.sr-only) { display:block; width:18px; height:1px; margin:5px auto; background:#fff; }
.hero { min-height:calc(100svh - 44px); position:relative; overflow:hidden; display:flex; align-items:center; padding:80px max(8vw,32px); color:#fff; background:var(--dark); isolation:isolate; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:rgba(0,0,0,.45); }
.hero-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.hero-content { position:relative; z-index:1; max-width:650px; }
.hero-logo { display:block; width:154px; height:70px; object-fit:cover; object-position:center 50%; margin:-10px 0 12px -20px; opacity:.94; }
.eyebrow { margin:0 0 20px; color:var(--blue-on-dark); font-size:12px; font-weight:600; line-height:1.2; letter-spacing:.16em; }
.eyebrow.dark { color:var(--blue); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"SF Pro Display",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
h1 { margin-bottom:24px; font-size:clamp(48px,6vw,72px); font-weight:600; line-height:1.07; letter-spacing:-.055em; }
h2 { margin-bottom:20px; font-size:clamp(36px,4vw,48px); font-weight:600; line-height:1.1; letter-spacing:-.035em; }
.hero-copy { max-width:430px; margin-bottom:22px; color:#ccc; font-size:21px; line-height:1.45; }
.text-link { color:var(--blue); font-size:17px; }.text-link span { margin-left:6px; font-size:22px; vertical-align:-1px; }.on-dark { color:var(--blue-on-dark); }
.section-light { background:var(--paper); }.intro,.services,.promise { padding:112px 24px; }.content-narrow { width:min(720px,100%); margin:0 auto; }.content-wide { width:min(1120px,100%); margin:0 auto; }.center { text-align:center; }.lead { margin:0; font-size:21px; line-height:1.55; color:#333; }.intro .lead { max-width:650px; margin:0 auto; }
.destinations { display:grid; grid-template-columns:1fr; }.destination { min-height:590px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:72px max(10vw,48px); isolation:isolate; }.destination-content { position:relative; z-index:1; max-width:430px; }.destination h2 { margin-bottom:14px; }.destination p:not(.eyebrow) { margin:0; font-size:17px; line-height:1.55; }.destination-tibet,.destination-xinjiang { color:#fff; background:#2a2a2c; }.destination-photo { position:absolute; inset:0; z-index:-2; overflow:hidden; }.destination-photo::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); }.portrait-rotated { display:block; position:absolute; top:50%; left:50%; width:auto; height:max(110vw,180%); min-width:100%; transform:translate(-50%,-50%) rotate(-90deg) scale(1.02); object-fit:cover; }.destination-landscape { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.journey-photo { min-height:560px; position:relative; overflow:hidden; background:var(--dark-2); }.journey-photo > img { width:auto; height:max(110vw,180%); min-height:560px; transform:translate(-50%,-50%) rotate(-90deg) scale(1.02); }.journey-photo::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.22); }.journey-caption { position:absolute; z-index:1; right:max(8vw,32px); bottom:56px; color:#fff; text-align:right; }.journey-caption p { margin:0 0 7px; color:#ccc; font-size:12px; font-weight:600; letter-spacing:.16em; }.journey-caption span { font-size:28px; font-weight:600; letter-spacing:-.04em; }
.services { background:#fff; }.services-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:48px; }.services-heading h2 { margin-bottom:0; }.services-heading > p { width:min(360px,40%); margin:0; color:var(--muted); }.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }.service { min-height:270px; padding:28px 28px 36px; border-right:1px solid var(--line); }.service:last-child { border-right:0; }.service span { color:var(--blue); font-size:13px; font-weight:600; letter-spacing:.1em; }.service h3 { margin:82px 0 12px; font-size:22px; letter-spacing:-.03em; }.service p { margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.promise { color:#fff; background:var(--dark-2); }.promise .lead { color:#ccc; }.travelers-photo { height:min(64vw,760px); min-height:380px; overflow:hidden; background:var(--dark); }.travelers-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 53%; }.site-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px max(6vw,24px); background:var(--paper); color:#7a7a7a; font-size:12px; }.site-footer strong { display:block; margin-bottom:3px; color:#333; font-size:14px; }.site-footer a { color:#333; }.site-footer a:hover { color:var(--blue); }
@media (max-width:834px) { .nav-links { position:absolute; top:44px; left:0; right:0; display:none; padding:18px 24px 24px; background:#000; flex-direction:column; align-items:flex-start; gap:18px; font-size:14px; }.nav-links.is-open { display:flex; }.menu-toggle { display:block; }.hero { min-height:700px; align-items:flex-start; padding-top:100px; }.hero-photo { object-position:61% center; }.destination { min-height:510px; }.journey-photo { min-height:470px; }.journey-photo > img { min-height:470px; }.services-heading { display:block; }.services-heading > p { width:auto; margin-top:20px; }.service-grid { grid-template-columns:1fr; }.service { min-height:190px; border-right:0; border-bottom:1px solid var(--line); }.service h3 { margin-top:36px; } }
@media (max-width:480px) { .nav-wrap { padding:0 18px; }.hero { min-height:620px; padding:70px 24px; }.hero-logo { width:138px; }.hero-copy,.lead { font-size:18px; }.intro,.services,.promise { padding:78px 24px; }.destination { min-height:440px; padding:54px 24px; }.portrait-rotated { height:max(130vw,180%); transform:translate(-50%,-50%) rotate(-90deg) scale(1.12); }.journey-photo { min-height:400px; }.journey-photo > img { min-height:400px; height:max(130vw,180%); transform:translate(-50%,-50%) rotate(-90deg) scale(1.12); }.travelers-photo { height:430px; }.travelers-photo img { object-position:54% center; }.site-footer { align-items:flex-start; flex-direction:column; gap:18px; } }
