:root{
  --paper:#f4efe5; --sand:#e6ded1; --ink:#171813; --muted:#6b6860;
  --forest:#26352e; --olive:#71765a; --ochre:#b47b42; --cream:#f7f2e9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
img,video{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
.nav{position:absolute;z-index:10;width:100%;padding:26px 4.8vw;display:flex;align-items:center;justify-content:space-between;color:var(--cream)}
.brand{font-size:24px;font-weight:800}
.brand span{color:#b9ae8e}
.nav nav{display:flex;gap:28px;font-size:12px}
.meta,.label,.eyebrow{font-size:10px;letter-spacing:.18em}
.hero{min-height:100vh;background:#121310;color:var(--cream);display:grid;grid-template-columns:1.05fr .95fr}
.hero-copy{padding:140px 6vw 80px;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(80px,9.5vw,150px);line-height:.84;letter-spacing:-.07em;font-weight:500;margin:30px 0}
.hero h1 em,.flight h2 em,.joy h2 em,.contact h2 em{font:italic 400 1em Georgia,serif}
.lede{font-size:19px;line-height:1.65;color:#c0bdb4;max-width:620px}
.line-link{margin-top:38px;width:max-content;border-bottom:1px solid #4f5049;padding-bottom:10px;font-size:12px}
.hero-photo{margin:0;min-height:100vh;overflow:hidden;position:relative}
.hero-photo img{object-position:center center}
.story,.work{padding:116px 6vw;display:grid;grid-template-columns:1fr 3.2fr;gap:5vw}
.script{font:italic 18px Georgia,serif}
.story h2{font-size:clamp(44px,5.1vw,76px);line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:18px 0 52px}
.story h2 span{color:#8f8b82}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:980px}
.cols p{font-size:17px;line-height:1.75;color:var(--muted)}
.rows article{display:grid;grid-template-columns:55px 1fr 1.2fr;gap:20px;align-items:center;border-top:1px solid #c9c2b7;padding:27px 0}
.rows article:last-child{border-bottom:1px solid #c9c2b7}
.rows span{font-size:10px;color:#7f7b74}
.rows h3{margin:0;font-size:clamp(34px,4.2vw,58px);font-weight:500;letter-spacing:-.045em}
.rows p{color:var(--muted);line-height:1.58}
.project{background:var(--forest);color:var(--cream);padding:94px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.label{color:#7c786f}
.label.light{color:#acb6af}
.label.dark{color:#2b1e12}
.kicker{font-size:10px;letter-spacing:.18em;color:#adb7b0;margin-top:52px}
.project h2{font-size:clamp(58px,7vw,104px);line-height:.9;letter-spacing:-.06em;font-weight:500;margin:12px 0 24px}
.project-copy>p:last-of-type{font-size:17px;line-height:1.75;color:#bdc7c1;max-width:560px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chips span{font-size:9px;letter-spacing:.14em;border:1px solid #53645c;padding:8px 10px;border-radius:999px}
.route-card{height:450px;border:1px solid #52645b;position:relative;background:linear-gradient(135deg,#304139,#22312b);overflow:hidden}
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:38px 38px}
.route{position:absolute;left:15%;top:68%;width:67%;height:2px;background:#90967d;transform:rotate(-28deg);transform-origin:left}
.dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#cab885;box-shadow:0 0 0 8px rgba(202,184,133,.12)}
.dot.a{left:15%;top:68%}.dot.b{left:49%;top:49%}.dot.c{right:15%;top:29%}
.tag{position:absolute;color:#b8c2bb;font-size:9px;letter-spacing:.16em}
.tag.start{left:9%;top:74%}.tag.end{right:7%;top:23%}
.flight{padding:116px 6vw}
.flight-head{display:grid;grid-template-columns:1fr 2.2fr 1.05fr;gap:5vw;align-items:end;margin-bottom:64px}
.flight h2{font-size:clamp(42px,5vw,74px);line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:0}
.flight-head>p{color:var(--muted);line-height:1.7}
.flight-gallery{height:580px;display:grid;grid-template-columns:1.45fr .72fr .72fr;gap:16px}
.flight-gallery figure{margin:0}
.flight-card{background:var(--olive);color:var(--cream);padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.flight-card span,.flight-card small{font-size:9px;letter-spacing:.16em}
.flight-card strong{font:normal 40px/1.05 Georgia,serif}
.motion{padding:0 6vw 116px}
.motion-box{background:#191a17;color:var(--cream);display:grid;grid-template-columns:.82fr 1.18fr;min-height:430px}
.motion-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}
.motion-copy h3{font-size:clamp(36px,4vw,56px);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0 0 18px}
.motion-copy p{color:#b9b6ae;line-height:1.72}
.motion-media{min-height:430px}
.discipline{padding:0 6vw 116px;display:grid;grid-template-columns:1fr .9fr 1fr;gap:18px;align-items:center}
.discipline figure{margin:0;height:500px}
.discipline-copy{padding:24px}
.discipline-copy h3{font-size:clamp(36px,4.2vw,58px);line-height:1.05;letter-spacing:-.043em;font-weight:500;margin:20px 0}
.discipline-copy p{color:var(--muted);line-height:1.72}
.discipline-copy small{font-size:9px;letter-spacing:.15em;color:#8a8478}
.human{background:var(--sand);display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch}
.human figure{margin:0;min-height:630px}
.human-copy{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center}
.human-copy h3{font-size:clamp(38px,4.5vw,62px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin:20px 0}
.human-copy>p:last-child{color:var(--muted);line-height:1.72}
.joy{padding:110px 6vw;background:var(--ochre);color:#20170f}
.joy h2{font-size:clamp(58px,8vw,118px);line-height:.92;letter-spacing:-.06em;font-weight:500;margin:24px 0 0}
.contact{padding:105px 6vw 30px;min-height:690px;background:#131411;color:var(--cream);position:relative}
.contact h2{font-size:clamp(60px,8vw,120px);line-height:.93;letter-spacing:-.06em;font-weight:500;margin:58px 0 24px}
.contact>p{max-width:640px;color:#bcb8af;line-height:1.78;font-size:17px}
.contact>a{display:inline-block;margin-top:30px;border:1px solid #4d5049;border-radius:999px;padding:18px 24px;font-size:13px}
.contact footer{position:absolute;left:6vw;right:6vw;bottom:30px;border-top:1px solid #31332f;padding-top:18px;display:flex;justify-content:space-between;color:#7a7d76;font-size:10px}
@media(max-width:820px){
  .nav nav,.meta{display:none}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:116px 7vw 58px}
  .hero h1{font-size:19vw}
  .lede{font-size:17px}
  .hero-photo{min-height:58vh}
  .story,.work{grid-template-columns:1fr;padding:82px 7vw}
  .story h2{font-size:11vw}
  .cols{grid-template-columns:1fr;gap:12px}
  .rows article{grid-template-columns:40px 1fr}
  .rows p{display:none}
  .project{grid-template-columns:1fr;padding:82px 7vw}
  .route-card{height:385px}
  .flight{padding:82px 7vw}
  .flight-head{grid-template-columns:1fr;gap:18px}
  .flight h2{font-size:11vw}
  .flight-gallery{height:auto;grid-template-columns:1fr 1fr}
  .flight-gallery .main{grid-column:1/-1;height:58vh}
  .flight-gallery .side,.flight-card{height:320px}
  .motion{padding:0 7vw 82px}
  .motion-box{grid-template-columns:1fr}
  .motion-media{min-height:52vh}
  .discipline{grid-template-columns:1fr;padding:0 7vw 82px}
  .discipline figure{height:56vh}
  .human{grid-template-columns:1fr}
  .human figure{min-height:54vh}
  .human-copy{padding:74px 7vw}
  .joy{padding:86px 7vw}
  .joy h2{font-size:15vw}
  .contact{padding:88px 7vw 30px}
  .contact h2{font-size:14vw}
  .contact footer{left:7vw;right:7vw}
}


.hero{grid-template-columns:1fr 1fr;}
.hero-media{position:relative;min-height:100vh;padding:105px 5vw 72px;display:flex;align-items:center;justify-content:center}
.hero-photo.main{margin:0;width:72%;height:74vh;min-height:520px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.hero-photo.main img{width:100%;height:100%;object-fit:cover}
.hero-photo.main img{object-position:center center}

.human{background:var(--sand);display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch}
.human figure{margin:0;min-height:630px}
.human-copy{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center}
.human-copy h3{font-size:clamp(38px,4.5vw,62px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin:20px 0}
.human-copy>p:last-child{color:var(--muted);line-height:1.72}

.motion-box{background:#181a17;color:var(--cream)}

@media(max-width:820px){
  .hero{grid-template-columns:1fr}
  .hero-media{min-height:auto;padding:0 7vw 72px}
  .hero-photo.main{width:100%;height:55vh;min-height:380px}
  }
