/* =============================================================
   STUDIO 1903 — Podcasting & Creative Lab
   Aviation-heritage system. Dayton, OH — birthplace of flight.
   ============================================================= */

:root{
  /* BLUEPRINT palette — cyanotype ground, white linework */
  --ink:#ffffff;          /* pure white: text + lines */
  --ink-2:#4b59ae;        /* raised panel indigo */
  --navy:#2c3782;
  --navy-soft:#3a47a0;
  --paper:#3a49a0;        /* vivid indigo ground */
  --paper-2:#414f9f;
  --cream:#4b59ae;
  --orange:#ffffff;       /* mono accent: pure white pop */
  --orange-deep:#e4e9ff;
  --sky:#c2cbff;          /* muted periwinkle labels */
  --sky-deep:#aab5f5;
  --gold:#ffffff;

  --line-d:rgba(255,255,255,0.16);
  --line-d-strong:rgba(255,255,255,0.34);
  --line-l:rgba(255,255,255,0.16);
  --line-l-strong:rgba(255,255,255,0.30);

  /* type */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --display:'Space Grotesk','Archivo',sans-serif;
  --slab:'Space Grotesk','Archivo',sans-serif;
  --condensed:'Oswald','Archivo Narrow','Archivo',sans-serif;
  --mono:'Space Mono',ui-monospace,monospace;
  --sans:'Archivo','Helvetica Neue',system-ui,sans-serif;

  --shadow-lift:0 22px 46px -28px rgba(255,255,255,0.40);

  --maxw:1280px;
  --gutter:clamp(20px,5vw,72px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---- type helpers ---- */
.mono{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
}
.eyebrow{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.34em;
  font-size:12px;
  color:var(--orange);
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{
  content:"";width:34px;height:1px;background:var(--orange);display:inline-block;
}
.serif{font-family:var(--serif)}
.italic{font-style:italic}

h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.02;letter-spacing:-.01em}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);width:100%}

/* blueprint grid background utility */
.blueprint{
  background-image:
    linear-gradient(var(--line-d) 1px,transparent 1px),
    linear-gradient(90deg,var(--line-d) 1px,transparent 1px);
  background-size:54px 54px;
}

/* =============================================================
   NAV
   ============================================================= */
.nav{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--gutter);
  transition:background .4s ease,backdrop-filter .4s ease,border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(240,231,210,.92);
  backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid var(--line-d);
}
.brand{display:flex;align-items:center;gap:13px;cursor:pointer}
.brand .roundel{
  width:34px;height:34px;flex:none;position:relative;
}
.brand .roundel svg{width:100%;height:100%;display:block}
.brand .name{display:flex;flex-direction:column;line-height:1}
.brand .name b{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.01em}
.brand .name span{font-family:var(--mono);font-size:8.5px;letter-spacing:.42em;color:var(--sky);margin-top:4px;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a.link{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;
  color:var(--ink);opacity:.78;position:relative;padding:6px 0;transition:opacity .25s;
}
.nav-links a.link::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--orange);transition:width .3s ease;
}
.nav-links a.link:hover{opacity:1}
.nav-links a.link:hover::after{width:100%}
.nav-links a.link{white-space:nowrap}

.btn{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;
  padding:13px 20px;border-radius:2px;transition:transform .2s,box-shadow .3s,background .3s,color .3s;
  white-space:nowrap;
}
.btn-primary{background:var(--orange);color:var(--ink);box-shadow:0 0 0 1px var(--orange)}
.btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 14px 30px -12px var(--orange)}
.btn-primary .arrow{transition:transform .25s}
.btn-primary:hover .arrow{transform:translateX(4px) translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-ghost:hover{background:var(--orange);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);transform:translateY(-2px)}
.btn-dark{background:var(--orange);color:var(--ink)}
.btn-dark:hover{background:var(--navy);transform:translateY(-2px)}

.nav-cta{display:flex;align-items:center;gap:18px}
@media(max-width:992px){
  .nav-links{display:none}
}

/* =============================================================
   HERO
   ============================================================= */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% 0%, #0d2b4c 0%, #0d2b4c 58%, #0d2b4c 100%);
}
.hero .stars{position:absolute;inset:0;z-index:1;opacity:.8}
.hero .blueprint-layer{position:absolute;inset:0;z-index:1;opacity:.5}
.hero-glow{
  position:absolute;left:50%;bottom:-32%;transform:translateX(-50%);
  width:140%;height:70%;z-index:1;
  background:radial-gradient(60% 100% at 50% 100%, rgba(255,255,255,.20) 0%, rgba(255,255,255,.06) 38%, transparent 66%);
  filter:blur(8px);pointer-events:none;
}
.hero .clouds{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero .cloud{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,247,234,.20),rgba(255,247,234,0) 70%);filter:blur(6px)}

/* flight path svg sits across the hero */
.flight-svg{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.flight-path{fill:none;stroke:var(--line-d-strong);stroke-width:1.5;stroke-dasharray:2 9;stroke-linecap:round}
.flight-path-draw{fill:none;stroke:var(--orange);stroke-width:1.6;stroke-dasharray:4 8;opacity:.9}

.hero-inner{position:relative;z-index:5;width:100%;padding-bottom:clamp(36px,8vh,96px);padding-top:clamp(120px,18vh,160px)}
.hero-tag{display:flex;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.badge-roundel{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--sky);display:inline-flex;align-items:center;gap:9px;
  border:1px solid var(--line-d-strong);border-radius:40px;padding:7px 15px 7px 11px;
}
.badge-roundel i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px var(--orange);font-style:normal}

.hero h1{
  font-size:clamp(42px,7.4vw,108px);line-height:.96;letter-spacing:-.025em;max-width:14ch;
  text-shadow:0 18px 50px rgba(0,0,0,.35);
}
.hero h1 .lift{font-style:italic;color:var(--paper-2);
  background-image:linear-gradient(180deg,transparent 66%,rgba(255,255,255,.42) 66%,rgba(255,255,255,.42) 92%,transparent 92%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.hero-sub{
  font-size:clamp(16px,1.5vw,20px);line-height:1.55;max-width:46ch;margin:clamp(40px,5vh,56px) 0 0;color:rgba(255,255,255,.84);
  font-family:var(--sans);
}
.hero-actions{display:flex;align-items:center;gap:18px;margin-top:40px;flex-wrap:wrap}

/* corner instruments */
.hero-readout{
  position:absolute;z-index:6;font-family:var(--mono);text-transform:uppercase;
  font-size:10px;letter-spacing:.22em;color:rgba(194,203,255,.85);
}
.hero-readout.coords{top:104px;right:var(--gutter);text-align:right;line-height:1.9}
.hero-readout.coords b{color:var(--ink);font-weight:400}
.scroll-cue{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:9px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.6);
}
.scroll-cue .rail{width:1px;height:42px;background:linear-gradient(var(--orange),transparent);position:relative;overflow:hidden}
.scroll-cue .rail::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--paper);animation:drop 1.8s ease-in-out infinite}
@keyframes drop{0%{top:-50%}60%,100%{top:120%}}

@media(max-width:700px){
  .hero-readout.coords{display:none}
}

/* =============================================================
   ALTIMETER (fixed instrument)
   ============================================================= */
.altimeter{
  position:fixed;right:max(16px,calc((100vw - var(--maxw))/2 + 8px));bottom:26px;z-index:40;
  width:120px;padding:13px 14px 12px;border-radius:4px;
  background:rgba(9,30,54,.72);backdrop-filter:blur(10px);
  border:1px solid var(--line-d);font-family:var(--mono);color:var(--ink);
  opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s;pointer-events:none;
}
.altimeter.show{opacity:1;transform:none}
.altimeter .lbl{font-size:8px;letter-spacing:.28em;color:var(--sky);text-transform:uppercase}
.altimeter .val{font-size:21px;letter-spacing:.02em;margin-top:3px;display:flex;align-items:baseline;gap:4px}
.altimeter .val small{font-size:9px;color:rgba(255,255,255,.55);letter-spacing:.14em}
.altimeter .tape{height:4px;border-radius:3px;background:var(--line-d-strong);margin-top:9px;overflow:hidden}
.altimeter .tape i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--gold));border-radius:3px}
.altimeter .phase{font-size:8px;letter-spacing:.22em;margin-top:8px;color:rgba(255,255,255,.7);text-transform:uppercase}
@media(max-width:560px){.altimeter{display:none}}

/* =============================================================
   SECTION SHELLS
   ============================================================= */
section{position:relative}
.pad{padding-block:clamp(80px,13vh,160px)}
.sec-head{display:flex;flex-direction:column;gap:22px;max-width:62ch}
.sec-head h2{font-size:clamp(34px,5.2vw,68px);line-height:1.02}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,.84,.34,1),transform .9s cubic-bezier(.16,.84,.34,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}
.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* =============================================================
   MANIFESTO (paper)
   ============================================================= */
.manifesto{background:var(--paper);color:var(--ink)}
.manifesto .blueprint-l{
  position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(var(--line-l) 1px,transparent 1px),linear-gradient(90deg,var(--line-l) 1px,transparent 1px);
  background-size:54px 54px;
}
.manifesto .wrap{position:relative}
.manifesto .lede{
  font-family:var(--serif);font-size:clamp(26px,3.6vw,48px);line-height:1.18;letter-spacing:-.015em;max-width:20ch;
}
.manifesto .lede em{font-style:italic;color:var(--orange)}
.manifesto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,6vw,90px);align-items:end;margin-top:18px}
.manifesto .support{font-size:17px;line-height:1.7;color:rgba(255,255,255,.74);max-width:40ch}
.manifesto .support .mono{display:block;color:var(--orange);margin-bottom:14px}
.story-link{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-family:var(--mono);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line-l-strong);padding-bottom:5px;transition:gap .25s,color .25s,border-color .25s}
.story-link .arrow{transition:transform .25s}
.story-link:hover{gap:14px;color:var(--orange);border-color:var(--orange)}
.story-link:hover .arrow{transform:translate(3px,-2px)}

/* story preview card */
.story-preview{display:block;margin-top:26px;border:1px solid var(--line-l);border-radius:12px;overflow:hidden;
  background:var(--paper-2);box-shadow:0 20px 44px -28px rgba(8,16,26,.4);transition:transform .35s,box-shadow .35s,border-color .35s}
.story-preview:hover{transform:translateY(-5px);box-shadow:0 30px 56px -28px rgba(8,16,26,.5);border-color:var(--line-l-strong)}
.story-preview .sp-pic{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#0d2b4c}
.story-preview .sp-pic image-slot{width:100%;height:100%;display:block;transition:transform .6s}
.story-preview:hover .sp-pic image-slot{transform:scale(1.04)}
.story-preview .sp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.story-preview .sp-arrow{color:var(--orange);font-size:14px;transition:transform .25s}
.story-preview:hover .sp-arrow{transform:translate(3px,-2px)}
@media(max-width:840px){.manifesto-grid{grid-template-columns:1fr;gap:34px}}

/* =============================================================
   FLIGHT PLAN (process) — dark
   ============================================================= */
.flightplan{background:var(--ink);overflow:hidden}
.fp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
.fp-track{position:relative}
.fp-line{
  position:absolute;left:0;right:0;top:34px;height:1px;
  background:repeating-linear-gradient(90deg,var(--line-d-strong) 0 6px,transparent 6px 16px);
}
.fp-line .plane{
  position:absolute;top:50%;left:0;transform:transl(-50%,-50%);color:var(--orange);
  transform:translate(-50%,-50%);
}
.fp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.fp-step{padding:0 26px;position:relative}
.fp-step:not(:last-child){border-right:1px solid var(--line-d)}
.fp-node{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--orange);position:relative;margin-bottom:30px}
.fp-node::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--orange);transform:scale(0);transition:transform .5s}
.fp-step.in .fp-node::after{transform:scale(1)}
.fp-alt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--sky);text-transform:uppercase}
.fp-phase{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--orange);text-transform:uppercase;margin-top:4px}
.fp-step h3{font-size:25px;margin:16px 0 12px}
.fp-step p{font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.66)}
.fp-num{position:absolute;top:-6px;right:26px;font-family:var(--serif);font-size:52px;color:var(--line-d-strong);line-height:1}
@media(max-width:900px){
  .fp-grid{grid-template-columns:1fr 1fr;gap:40px 0}
  .fp-step:nth-child(2){border-right:none}
  .fp-line{display:none}
}
@media(max-width:560px){.fp-grid{grid-template-columns:1fr}.fp-step{border-right:none!important;border-bottom:1px solid var(--line-d);padding-bottom:30px}}

/* =============================================================
   OFFERINGS (hangars)
   ============================================================= */
.offerings{background:linear-gradient(180deg,#0d2b4c,#0d2b4c)}
.off-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:60px}
.hangar{
  position:relative;border:1px solid var(--line-d);border-radius:6px;overflow:hidden;
  background:var(--ink-2);transition:transform .4s,border-color .4s,box-shadow .4s;
}
.hangar:hover{transform:translateY(-6px);border-color:var(--line-d-strong);box-shadow:var(--shadow-lift)}
.hangar .pic{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0d2b4c}
.hangar image-slot{width:100%;height:100%;display:block}
.hangar .tagstrip{
  position:absolute;top:14px;left:14px;z-index:3;display:flex;gap:8px;
}
.chip{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  padding:6px 11px;border-radius:30px;background:rgba(9,30,54,.72);backdrop-filter:blur(6px);
  border:1px solid var(--line-d-strong);color:var(--ink);
}
.hangar .body{padding:30px 30px 34px}
.hangar .body h3{font-size:34px;margin-bottom:14px;display:flex;align-items:center;gap:14px}
.hangar .body h3 .id{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--orange);border:1px solid var(--orange);border-radius:3px;padding:3px 7px}
.hangar .body p{font-size:15px;line-height:1.66;color:rgba(255,255,255,.7);max-width:46ch}
.hangar .learn{
  margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--orange);display:inline-flex;align-items:center;gap:9px;
}
.hangar .learn .arrow{transition:transform .25s}
.hangar:hover .learn .arrow{transform:translateX(5px)}
@media(max-width:840px){.off-grid{grid-template-columns:1fr}}

/* =============================================================
   LOCATIONS route
   ============================================================= */
.locations{background:var(--paper);color:var(--ink)}
.route{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:54px;
}
.waypoint{text-align:center;padding:30px}
.waypoint .code{font-family:var(--serif);font-size:clamp(46px,7vw,96px);line-height:1;letter-spacing:-.02em}
.waypoint .city{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--orange);margin-top:12px}
.waypoint .sub{font-size:13px;color:rgba(255,255,255,.6);margin-top:8px;font-family:var(--mono);letter-spacing:.1em}
.route .leg{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:120px}
.route .leg svg{width:100%;height:30px;overflow:visible}
.route .leg .dist{font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.5)}
@media(max-width:760px){.route{grid-template-columns:1fr;gap:8px}.route .leg{flex-direction:row;min-width:0}.route .leg svg{width:30px;transform:rotate(90deg)}}

/* =============================================================
   FINAL CTA
   ============================================================= */
.takeoff{
  position:relative;overflow:hidden;text-align:center;
  background:
    radial-gradient(120% 120% at 50% 120%, rgba(255,255,255,.16),transparent 55%),
    linear-gradient(180deg,#0d2b4c,#0d2b4c);
}
.takeoff .runway{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(640px,80vw);height:60%;
  background:repeating-linear-gradient(0deg,var(--line-d-strong) 0 26px,transparent 26px 64px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000);mask-image:linear-gradient(180deg,transparent,#000);
  pointer-events:none;
  clip-path:polygon(42% 100%,58% 100%,72% 0,28% 0);opacity:.5;
}
.takeoff .wrap{position:relative;z-index:2}
.takeoff h2{font-size:clamp(40px,7vw,96px);line-height:1;letter-spacing:-.02em}
.takeoff h2 em{font-style:italic;color:var(--orange)}
.takeoff p{font-size:18px;color:rgba(255,255,255,.78);max-width:40ch;margin:26px auto 0;line-height:1.6}
.takeoff .hero-actions{justify-content:center}
.takeoff .clearance{margin-top:42px;font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--sky)}

/* =============================================================
   FOOTER
   ============================================================= */
.foot{background:var(--paper);border-top:4px double var(--ink);padding-block:64px 40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot h4{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--sky);margin:0 0 18px}
.foot a.fl{display:block;font-size:14px;color:rgba(255,255,255,.74);padding:5px 0;transition:color .2s,padding-left .2s}
.foot a.fl:hover{color:var(--orange);padding-left:5px}
.foot .blurb{font-size:14px;line-height:1.7;color:rgba(255,255,255,.6);max-width:34ch;margin-top:18px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:54px;padding-top:24px;border-top:1px solid var(--line-d)}
.foot-bottom .mono{color:rgba(255,255,255,.5)}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr}}

/* =============================================================
   BLUEPRINT SCHEMATIC (artsy plane centerpiece)
   ============================================================= */
.schematic{background:#0d2b4c;overflow:hidden;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.schematic .blueprint-bg{position:absolute;inset:0;opacity:.5}
.schematic .wrap{position:relative;z-index:2}
.schematic .sch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:14px}
.schematic .corner{font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(194,203,255,.7);text-align:right;line-height:1.9}
.schematic h2{font-size:clamp(30px,4.4vw,56px);line-height:1.04;max-width:18ch}
.schematic h2 em{font-style:italic;color:var(--orange)}
.sch-figure{position:relative;margin-top:18px}
.sch-figure svg{width:100%;height:auto;display:block;overflow:visible}
.sch-line{fill:none;stroke:var(--sky);stroke-width:1.4;vector-effect:non-scaling-stroke}
.sch-line-2{fill:none;stroke:rgba(194,203,255,.55);stroke-width:1;vector-effect:non-scaling-stroke}
.sch-fill{fill:rgba(194,203,255,.05);stroke:var(--sky);stroke-width:1.4;vector-effect:non-scaling-stroke}
.sch-accent{fill:none;stroke:var(--orange);stroke-width:1.4;vector-effect:non-scaling-stroke}
.sch-dim{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.sch-rivet{fill:var(--sky)}
.sch-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;fill:rgba(255,255,255,.7)}
.sch-label.accent{fill:var(--orange)}
.sch-label.big{font-size:13px;letter-spacing:.26em;fill:var(--paper)}
.sch-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.8s ease}
.schematic.in .sch-draw{stroke-dashoffset:0}
.sch-foot{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sch-foot b{color:var(--orange);font-weight:400}
@media(max-width:620px){.sch-figure svg{min-width:520px}.sch-figure{overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* cabin-window portholes overlaid on the airframe */
.sch-windows{position:absolute;inset:0;pointer-events:none;z-index:4}
.porthole{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%)}
.porthole-inner{display:flex;flex-direction:column;align-items:center;gap:12px}
.porthole-glass{position:relative;width:clamp(58px,9.5vw,116px);aspect-ratio:1;border-radius:50%;
  pointer-events:auto;overflow:hidden;background:#0d2b4c;cursor:pointer;
  border:2px solid var(--sky);
  box-shadow:0 0 0 6px rgba(10,19,29,.85),0 0 0 7px var(--line-d),0 16px 40px -14px rgba(0,0,0,.85);
  animation:porthole-float 6s ease-in-out infinite}
.porthole-glass image-slot{width:100%;height:100%;display:block;border-radius:50%}
.porthole-glass::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 46%)}
.porthole:nth-of-type(2) .porthole-glass{animation-delay:-2s}
.porthole:nth-of-type(3) .porthole-glass{animation-delay:-4s}
.porthole-call{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);display:flex;align-items:center;gap:7px;white-space:nowrap;
  background:rgba(9,30,54,.72);backdrop-filter:blur(4px);padding:5px 11px;border:1px solid var(--line-d-strong);border-radius:30px}
.porthole-call .dot{width:5px;height:5px;border-radius:50%;background:var(--orange);box-shadow:0 0 7px var(--orange)}
@keyframes porthole-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:560px){.porthole-call{display:none}.porthole-glass{box-shadow:0 0 0 4px rgba(10,19,29,.85),0 10px 24px -10px rgba(0,0,0,.85)}}

/* =============================================================
   TWO-CABIN CUTAWAY (interactive side-view plane)
   ============================================================= */
.cutaway-sec{background:#0d2b4c;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);overflow:hidden}
.cutaway-sec .blueprint-bg{position:absolute;inset:0;opacity:.5}
.cutaway-sec .wrap{position:relative;z-index:2}
.cutaway{position:relative;margin-top:8px}
.plane-svg{width:100%;height:auto;display:block;overflow:visible}
.plane-group{animation:planeBob 6.5s ease-in-out infinite}
@keyframes planeBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.pl-fill{fill:rgba(194,203,255,.05);stroke:var(--sky);stroke-width:1.4;vector-effect:non-scaling-stroke}
.pl-line{fill:none;stroke:var(--sky);stroke-width:1.4;vector-effect:non-scaling-stroke}
.pl-line2{fill:none;stroke:rgba(194,203,255,.55);stroke-width:1;vector-effect:non-scaling-stroke}
.pl-accent{fill:none;stroke:var(--orange);stroke-width:1.4;vector-effect:non-scaling-stroke}
.pl-rivet{fill:var(--sky)}
.pl-label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;fill:rgba(255,255,255,.78)}
.pl-label.big{font-size:19px;letter-spacing:.2em;fill:var(--paper)}
.pl-label.accent{fill:var(--orange)}
.pl-label.span{font-size:14px;letter-spacing:.34em;fill:var(--orange)}
/* propeller */
.prop-disc{fill:rgba(194,203,255,.10)}
.prop-blade{fill:var(--sky);transform-box:fill-box;transform-origin:center;animation:propSpin .16s linear infinite}
@keyframes propSpin{0%{transform:scaleY(1)}50%{transform:scaleY(.18)}100%{transform:scaleY(1)}}
.prop-blade-h{fill:var(--sky);transform-box:fill-box;transform-origin:center;animation:propSpinH .16s linear infinite}
@keyframes propSpinH{0%{transform:scaleX(1)}50%{transform:scaleX(.18)}100%{transform:scaleX(1)}}
/* lift cue */
.lift-line{stroke:var(--orange);stroke-width:1.4;stroke-dasharray:4 7;vector-effect:non-scaling-stroke;opacity:.65;animation:liftFlow 1.1s linear infinite}
@keyframes liftFlow{to{stroke-dashoffset:-22}}
/* contrail */
.contrail{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 12;opacity:.7;animation:contrailFlow 1.1s linear infinite}
@keyframes contrailFlow{to{stroke-dashoffset:-30}}
/* cabins */
.cabin{cursor:pointer}
.cabin-fill{fill:rgba(194,203,255,.05);stroke:var(--sky);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .35s,stroke .35s}
.cabin-win{fill:rgba(194,203,255,.4);transition:fill .35s}
.cabin.hot .cabin-fill{fill:rgba(255,255,255,.16);stroke:var(--orange)}
.cabin.hot .cabin-win{fill:var(--orange)}
.cabin-leader{stroke:var(--line-d-strong);stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .35s}
.cabin.hot .cabin-leader{stroke:var(--orange)}
/* scroll-reveal wing sections */
.wp-hint{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(194,203,255,.65);
  margin-top:30px;display:flex;align-items:center;gap:10px}
.wp-hint::before{content:"";width:26px;height:1px;background:var(--orange);display:inline-block}

.wingsections{display:flex;flex-direction:column;gap:26px;margin-top:42px}
.wsec{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,60px);align-items:center;
  border:1px solid var(--line-d);border-radius:14px;padding:clamp(26px,3.4vw,48px);background:var(--ink-2);
  position:relative;overflow:hidden;scroll-margin-top:90px}
.wsec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--orange),var(--gold));
  transform:scaleY(0);transform-origin:top;transition:transform .6s ease .2s}
.wsec.in::before,.wsec.hot::before{transform:scaleY(1)}
.wsec.hot{border-color:var(--line-d-strong);box-shadow:var(--shadow-lift)}
.wsec[data-cabin="marketing"] .wsec-media{order:-1}
.wsec-solo{grid-template-columns:1fr}
.wsec-solo .wp-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(26px,4vw,56px)}
.wsec-solo .wp-btn{justify-self:start}
@media(max-width:600px){.wsec-solo .wp-list{grid-template-columns:1fr}}
.wsec-side{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);
  display:inline-flex;align-items:center;gap:10px}
.wsec-side::before{content:"";width:24px;height:1px;background:var(--orange);display:inline-block}
.wsec-text h3{font-size:clamp(30px,3.6vw,46px);line-height:1;margin:16px 0 0}
.wsec-tag{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.8vw,23px);color:var(--gold);margin-top:12px}

.wp-list{list-style:none;margin:24px 0 28px;padding:0;border-top:1px solid var(--line-d)}
.wp-list li{display:flex;align-items:center;gap:15px;padding:13px 2px;border-bottom:1px solid var(--line-d);
  font-family:var(--sans);font-size:16px;color:var(--ink);transition:padding-left .25s,color .25s}
.wp-list li .n{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--orange);min-width:22px}
.wp-list li:hover{padding-left:8px;color:var(--ink)}
.wp-btn{padding:15px 26px}

/* studio space gallery */
.wsec-media{position:relative}
.studio-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1.04/1}
.studio-gallery .gslot{position:relative;border-radius:10px;overflow:hidden;background:#0d2b4c;border:1px solid var(--line-d)}
.studio-gallery .gslot:first-child{grid-row:1 / span 2}
.studio-gallery image-slot{width:100%;height:100%;display:block}
.studio-gallery .gcap{position:absolute;left:11px;bottom:11px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);background:rgba(9,30,54,.72);backdrop-filter:blur(4px);
  border:1px solid var(--line-d-strong);border-radius:30px;padding:5px 10px}
.mktslot{border-radius:12px;overflow:hidden;border:1px solid var(--line-d);background:#0d2b4c;aspect-ratio:1.04/1;position:relative}
.mktslot image-slot{width:100%;height:100%;display:block}
.mktslot .gcap{position:absolute;left:13px;bottom:13px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);background:rgba(9,30,54,.72);border:1px solid var(--line-d-strong);border-radius:30px;padding:5px 10px}

@media(max-width:820px){
  .wsec{grid-template-columns:1fr;gap:30px}
  .wsec[data-cabin="marketing"] .wsec-media{order:0}
}

/* studio-process block (flight plan inside Services studio panel) */
.studio-process{margin-top:50px;padding-top:46px;border-top:1px solid var(--line-d)}
.studio-process .sp-head{margin-bottom:54px;max-width:46ch}
.studio-process .sp-head h3{font-family:var(--serif);font-size:clamp(26px,3.4vw,40px);line-height:1.06;margin-top:14px}
.svc-capsubhead{margin:54px 0 -10px}

/* guarantee band */
.guarantee{background:var(--paper);color:var(--ink)}
.guarantee .wrap{padding-block:clamp(48px,7vh,82px)}
.guarantee-inner{display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,4vw,56px);align-items:center}
.g-seal svg{width:clamp(98px,12vw,134px);height:auto;display:block}
.g-text .eyebrow{margin-bottom:16px}
.g-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,48px);line-height:1.04;letter-spacing:-.01em}
.g-text h2 em{font-style:italic;color:var(--orange)}
.g-text p{font-size:17px;line-height:1.66;color:rgba(255,255,255,.74);max-width:60ch;margin-top:18px}
@media(max-width:680px){.guarantee-inner{grid-template-columns:1fr}.g-seal svg{width:96px}}

/* marketing statement block */
.mkt-statement{border:1px dashed var(--gold);border-radius:8px;background:rgba(255,255,255,.05);
  padding:30px 32px;margin-bottom:38px;position:relative}
.mkt-statement .ms-flag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.mkt-statement p{font-family:var(--serif);font-size:clamp(20px,2.5vw,28px);line-height:1.32;color:var(--ink);font-style:italic}

/* =============================================================
   MULTI-PAGE: nav active, page hero, nav cards, work dropdown
   ============================================================= */
.nav-links a.link.active{opacity:1;color:var(--orange)}
.nav-links a.link.active::after{width:100%}

/* subpage hero */
.page-hero{position:relative;overflow:hidden;
  padding:clamp(128px,19vh,186px) 0 clamp(48px,8vh,86px);
  background:
    radial-gradient(120% 90% at 82% 0%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 50%),
    linear-gradient(180deg,#0d2b4c 0%,#0d2b4c 100%);}
.page-hero .blueprint-layer{position:absolute;inset:0;opacity:.4;z-index:1}
.page-hero .ph-flight{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
.page-hero .wrap{position:relative;z-index:2}
.ph-breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);display:flex;align-items:center;gap:10px}
.ph-breadcrumb a{color:var(--sky);opacity:.8}
.ph-breadcrumb a:hover{color:var(--orange);opacity:1}
.ph-breadcrumb .sep{opacity:.4}
.page-hero .ph-title{font-size:clamp(40px,6.4vw,82px);line-height:1.12;letter-spacing:-.02em;margin-top:20px;max-width:18ch;padding-bottom:.16em}
.page-hero .ph-title em{font-style:italic;color:var(--orange)}
.page-hero .ph-sub{font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:rgba(255,255,255,.82);max-width:54ch;margin-top:clamp(20px,2.5vh,30px)}

/* nav cards (home -> services / work) */
.navcards{background:var(--cream)}
.navcards-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.navcard{position:relative;overflow:hidden;border:1px solid var(--line-d);border-radius:8px;
  padding:clamp(30px,4vw,52px);min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--ink-2);transition:transform .4s,border-color .4s,box-shadow .4s}
.navcard:hover{transform:translateY(-6px);border-color:var(--line-d-strong);box-shadow:var(--shadow-lift)}
.navcard .nc-top{position:absolute;top:clamp(26px,3vw,40px);left:clamp(30px,4vw,52px);right:clamp(30px,4vw,52px);
  display:flex;justify-content:space-between;align-items:flex-start}
.navcard .nc-no{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--orange);text-transform:uppercase}
.navcard .nc-ico{width:42px;height:42px;opacity:.85}
.navcard h3{font-size:clamp(30px,3.6vw,46px);margin:0 0 12px}
.navcard p{font-size:15px;line-height:1.62;color:rgba(255,255,255,.66);max-width:40ch}
.navcard .nc-go{margin-top:24px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:10px}
.navcard .nc-go .arrow{transition:transform .25s}
.navcard:hover .nc-go .arrow{transform:translateX(6px)}
@media(max-width:760px){.navcards-grid{grid-template-columns:1fr}.navcard{min-height:260px}}

/* home work preview (dark) — slider */
.workprev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:8px}
.wp-headctrl{display:flex;align-items:center;gap:18px}
.wp-arrows{display:flex;gap:10px}
.wp-arrow{width:46px;height:46px;border-radius:50%;background:transparent;color:var(--ink);
  border:1px solid var(--line-d-strong);cursor:pointer;font-size:20px;line-height:1;display:grid;place-items:center;
  transition:background .25s,border-color .25s,transform .25s,opacity .25s}
.wp-arrow:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-2px)}
.wp-arrow:disabled{opacity:.3;cursor:default;transform:none;background:transparent;border-color:var(--line-d-strong)}

.workprev-slider{margin-top:50px;position:relative}
.workprev-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding-bottom:6px;
  scrollbar-width:none;-ms-overflow-style:none}
.workprev-track::-webkit-scrollbar{display:none}
.wprev{position:relative;border:1px solid var(--line-d);border-radius:8px;overflow:hidden;background:var(--ink-2);
  display:block;transition:transform .4s,border-color .4s,box-shadow .4s;
  flex:0 0 clamp(300px,40%,440px);scroll-snap-align:start}
.wprev:hover{transform:translateY(-6px);border-color:var(--line-d-strong);box-shadow:var(--shadow-lift)}
.wprev .pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0d2b4c}
.wprev image-slot{width:100%;height:100%;display:block}
.wprev .ptag{position:absolute;top:12px;left:12px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  background:rgba(9,30,54,.72);color:var(--ink);padding:6px 10px;border-radius:30px;border:1px solid var(--line-d-strong)}
.wprev .pbody{padding:20px 22px 24px}
.wprev .pbody h3{font-size:21px;margin-bottom:5px}
.wprev .client{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(194,203,255,.7)}
@media(max-width:560px){.wprev{flex:0 0 82%}}

/* work field dropdown */
.work-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:42px}
.work-select-wrap{display:flex;flex-direction:column;gap:10px}
.work-select-wrap .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.work-select{position:relative;display:inline-block}
.work-select::after{content:"▾";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--orange);pointer-events:none;font-size:13px}
.work-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;
  font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  background:var(--paper-2);color:var(--ink);border:1px solid var(--line-l-strong);border-radius:4px;
  padding:15px 52px 15px 20px;cursor:pointer;min-width:clamp(240px,40vw,320px)}
.work-select select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.work-count{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-bottom:4px}
.work-count b{color:var(--orange);font-weight:400}
@media(max-width:560px){.work-controls{flex-direction:column;align-items:stretch}.work-select select{width:100%}}

/* =============================================================
   OUR WORK, manifest master/detail
   ============================================================= */
.manifest{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(26px,4vw,56px);margin-top:38px;align-items:start}
@media(max-width:860px){.manifest{grid-template-columns:1fr;gap:30px}}

/* left, departures-style list */
.mf-list{display:flex;flex-direction:column;border-top:1px solid var(--line-l-strong)}
.mf-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;
  background:none;border:none;border-bottom:1px solid var(--line-l);cursor:pointer;text-align:left;
  padding:20px 6px;color:var(--ink);font:inherit;transition:padding-left .3s,background .3s;position:relative}
.mf-row::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:3px;background:var(--orange);
  transform:scaleY(0);transform-origin:center;transition:transform .3s}
.mf-row:hover{padding-left:14px}
.mf-row:hover .mf-arrow{transform:translateX(4px);opacity:1}
.mf-row.active{padding-left:16px;background:rgba(255,255,255,.06)}
.mf-row.active::before{transform:scaleY(1)}
.mf-row.hide{display:none}
.mf-idx{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--orange)}
.mf-main{min-width:0}
.mf-name{font-family:var(--serif);font-size:23px;line-height:1.05;display:block;letter-spacing:-.01em}
.mf-field{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px;display:block}
.mf-arrow{font-family:var(--mono);font-size:15px;color:var(--orange);opacity:.45;transition:transform .3s,opacity .3s}
.mf-row.active .mf-arrow{opacity:1}
.mf-empty{padding:26px 6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* right, detail panel */
.mf-detail{position:relative;min-height:300px}
.mf-card{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,.84,.34,1),transform .5s cubic-bezier(.16,.84,.34,1)}
.mf-card.show{opacity:1;transform:none}
.mf-detail .eyebrow{margin-bottom:14px}
.mf-detail h3{font-size:clamp(34px,4.4vw,58px);line-height:.96;letter-spacing:-.02em}
.mf-meta{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-top:14px}
.mf-desc{margin-top:22px}
.mf-desc p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.78);max-width:58ch;text-wrap:pretty;margin:0 0 14px}
.mf-provided-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:26px;margin-bottom:11px}
.mf-provided{display:flex;flex-wrap:wrap;gap:7px}
.mf-provided span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink);border:1px solid var(--line-l-strong);border-radius:3px;padding:6px 11px}
.mf-gallery{margin-top:32px;columns:2;column-gap:14px}
.mf-gallery figure{margin:0 0 14px;break-inside:avoid;border-radius:9px;overflow:hidden;background:#0d2b4c}
.mf-gallery img{width:100%;display:block}
@media(max-width:1100px){.mf-gallery{columns:2}}
@media(max-width:560px){.mf-gallery{columns:1}}

/* tiles, click-into detail */
.proj{cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.proj .open-cue{position:absolute;top:12px;right:12px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--orange);color:var(--ink);padding:6px 11px;border-radius:30px;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.proj:hover .open-cue{opacity:1;transform:none}

.wd-detail{display:none}
.wd-detail.show{display:block;animation:wdIn .5s cubic-bezier(.16,.84,.34,1)}
@keyframes wdIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.wd-back{display:inline-flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  padding:10px 0;margin-bottom:26px;transition:gap .25s,color .25s}
.wd-back:hover{gap:14px;color:var(--orange)}
.wd-back .ar{color:var(--orange);font-size:15px}
/* editorial case study */
.wd-header{max-width:920px;margin:0 auto;text-align:center}
.wd-header .eyebrow{justify-content:center;margin-bottom:18px}
.wd-title{font-size:clamp(44px,8vw,104px);line-height:.9;letter-spacing:-.03em}
.wd-meta{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-top:20px}
.wd-lede{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.7vw,32px);line-height:1.4;letter-spacing:-.01em;
  color:var(--ink);max-width:30ch;margin:clamp(36px,5vw,60px) auto 0;text-align:center;text-wrap:balance}
.wd-lede strong{font-style:italic;font-weight:400;color:var(--orange)}

.wd-feature{margin:clamp(40px,6vw,80px) 0 0;border-radius:14px;overflow:hidden;background:#0d2b4c;
  aspect-ratio:16/9;box-shadow:0 40px 80px -34px rgba(8,16,26,.55)}
.wd-feature img{width:100%;height:100%;object-fit:cover;display:block}

/* alternating narrative movements */
.wd-movement{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center;
  margin-top:clamp(44px,6vw,86px)}
.wd-movement:nth-child(even) .wd-mv-img{order:-1}
.wd-mv-text{max-width:46ch}
.wd-mv-text p{font-size:clamp(16px,1.4vw,18.5px);line-height:1.78;color:rgba(255,255,255,.8);text-wrap:pretty;margin:0}
.wd-mv-text .mv-rule{width:46px;height:2px;background:var(--orange);margin-bottom:24px}
.wd-mv-img{border-radius:12px;overflow:hidden;background:#0d2b4c;aspect-ratio:4/5;box-shadow:0 30px 60px -32px rgba(8,16,26,.5)}
.wd-mv-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:780px){
  .wd-movement{grid-template-columns:1fr;gap:24px}
  .wd-movement:nth-child(even) .wd-mv-img{order:0}
  .wd-mv-img{aspect-ratio:16/11}
}

/* remaining plates, offset editorial gallery */
.wd-plates{columns:2;column-gap:16px;margin-top:clamp(44px,6vw,86px)}
.wd-plates figure{margin:0 0 16px;break-inside:avoid;border-radius:10px;overflow:hidden;background:#0d2b4c}
.wd-plates img{width:100%;display:block}
@media(max-width:540px){.wd-plates{columns:1}}

/* credits strip */
.wd-credits{margin-top:clamp(44px,6vw,80px);padding-top:32px;border-top:1px solid var(--line-l-strong);text-align:center}
.wd-provided-lbl{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.wd-provided{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.wd-provided span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink);border:1px solid var(--line-l-strong);border-radius:3px;padding:7px 13px}

/* contain variant, for packaging/logo/mascot art shown uncropped */
.wd-feature.wd-contain,.wd-mv-img.wd-contain{background:#f7f3ea;border:1px solid var(--line-l);display:flex;align-items:center;justify-content:center;padding:clamp(16px,2vw,30px)}
.wd-feature.wd-contain{aspect-ratio:16/10}
.wd-feature.wd-contain img,.wd-mv-img.wd-contain img{width:100%;height:100%;object-fit:contain}
.wd-plates.wd-contain figure{background:#f7f3ea;border:1px solid var(--line-l);padding:16px}
.wd-plates.wd-contain img{border-radius:2px}

/* more work, end of a detail view */
.wd-more{margin-top:clamp(48px,7vw,84px);padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--line-l-strong)}
.wd-more-head{margin-bottom:26px}
.wd-more-head .eyebrow{margin-bottom:12px}
.wd-more-head h3{font-size:clamp(26px,3.2vw,40px);line-height:1;letter-spacing:-.01em}
.wmore-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none}
.wmore-grid::-webkit-scrollbar{display:none}
.wmore-card{flex:0 0 clamp(240px,42%,320px);scroll-snap-align:start;text-align:left;cursor:pointer;
  background:var(--paper-2);border:1px solid var(--line-l);border-radius:10px;overflow:hidden;padding:0;font:inherit;color:var(--ink);
  transition:transform .35s,box-shadow .35s,border-color .35s}
.wmore-card:hover{transform:translateY(-5px);box-shadow:0 24px 44px -24px rgba(8,16,26,.4);border-color:var(--line-l-strong)}
.wmore-pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0d2b4c}
.wmore-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.wmore-card:hover .wmore-pic img{transform:scale(1.05)}
.wmore-pic .ptag{position:absolute;top:11px;left:11px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(9,30,54,.72);color:var(--ink);padding:5px 10px;border-radius:30px;border:1px solid var(--line-d-strong)}
.wmore-body{padding:16px 18px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.wmore-body h4{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:-.01em;margin:0}
.wmore-cue{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);white-space:nowrap}
@media(max-width:560px){.wmore-card{flex:0 0 80%}}

/* =============================================================
   STUDIO TOUR (virtual walkthrough)
   ============================================================= */
.tour{background:var(--paper);color:var(--ink);position:relative;overflow:hidden}
.tour .blueprint-l{position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(var(--line-l) 1px,transparent 1px),linear-gradient(90deg,var(--line-l) 1px,transparent 1px);background-size:54px 54px}
.tour .wrap{position:relative}
.tour-intro{max-width:62ch;margin:0 auto;text-align:center}
.tour-intro .eyebrow{justify-content:center;margin-bottom:18px}
.tour-intro p{font-size:clamp(16px,1.4vw,18.5px);line-height:1.7;color:rgba(255,255,255,.76);margin-top:22px;text-wrap:pretty}

/* big establishing shot */
.tour-feature{margin:clamp(40px,6vw,72px) 0 0;border-radius:14px;overflow:hidden;background:#0d2b4c;
  aspect-ratio:16/9;box-shadow:0 40px 80px -34px rgba(8,16,26,.4);position:relative}
.tour-feature image-slot{width:100%;height:100%;display:block}
.tour-feature .fcap{position:absolute;left:18px;bottom:16px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);background:rgba(9,30,54,.72);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:6px 13px}

/* boarding sequence stops */
.tour-stops{margin-top:clamp(50px,7vw,96px);display:flex;flex-direction:column;gap:clamp(46px,7vw,96px)}
.stop{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,66px);align-items:center}
.stop:nth-child(even) .stop-img{order:-1}
.stop-num{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:12px}
.stop-num::before{content:"";width:30px;height:1px;background:var(--orange)}
.stop-alt{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:6px}
.stop h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,46px);line-height:1.02;letter-spacing:-.01em;margin:14px 0 0}
.stop p{font-size:16px;line-height:1.74;color:rgba(255,255,255,.78);max-width:44ch;margin-top:16px;text-wrap:pretty}
.stop-img{border-radius:12px;overflow:hidden;background:#0d2b4c;aspect-ratio:4/3;box-shadow:0 30px 60px -32px rgba(8,16,26,.4)}
.stop-img image-slot{width:100%;height:100%;display:block}
@media(max-width:820px){
  .stop{grid-template-columns:1fr;gap:22px}
  .stop:nth-child(even) .stop-img{order:0}
}

/* detail wall */
.tour-details{margin-top:clamp(50px,7vw,96px)}
.tour-details .td-head{text-align:center;margin-bottom:30px}
.tour-details .td-head h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-.01em}
.td-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.td-grid .td-cell{border-radius:10px;overflow:hidden;background:#0d2b4c;aspect-ratio:1/1}
.td-grid .td-cell.wide{grid-column:span 2;aspect-ratio:2/1}
.td-grid image-slot{width:100%;height:100%;display:block}
@media(max-width:680px){.td-grid{grid-template-columns:1fr 1fr}.td-grid .td-cell.wide{grid-column:span 2}}

/* home explore-studio band */
.explore-studio{background:linear-gradient(180deg,#0d2b4c,#0d2b4c);position:relative;overflow:hidden}
.es-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.es-text .eyebrow{margin-bottom:20px}
.es-text h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.02em}
.es-text h2 em{font-style:italic;color:var(--orange)}
.es-text p{font-size:clamp(16px,1.4vw,18px);line-height:1.7;color:rgba(255,255,255,.78);margin-top:22px;max-width:46ch}
.es-actions{margin-top:34px}
.es-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1.1/1}
.es-collage .es-cell{position:relative;border-radius:10px;overflow:hidden;background:#0d2b4c;border:1px solid var(--line-d)}
.es-collage .es-cell:first-child{grid-row:1 / span 2}
.es-collage image-slot{width:100%;height:100%;display:block}
.es-collage .es-badge{position:absolute;left:12px;bottom:12px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);background:rgba(9,30,54,.72);border:1px solid var(--line-d-strong);border-radius:30px;padding:5px 10px}
@media(max-width:820px){.es-grid{grid-template-columns:1fr;gap:34px}}

/* =============================================================
   SERVICES (interactive Studio / Marketing)
   ============================================================= */
.services{background:linear-gradient(180deg,#0d2b4c,#0d2b4c)}
.svc-toggle{display:inline-flex;gap:6px;padding:6px;border:1px solid var(--line-d);border-radius:4px;background:rgba(9,30,54,.72);margin-top:40px;flex-wrap:wrap}
.svc-tab{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:rgba(255,255,255,.66);
  background:transparent;border:none;cursor:pointer;padding:13px 22px;border-radius:3px;transition:color .25s,background .25s;
  display:flex;align-items:center;gap:10px;
}
.svc-tab .tno{font-size:9px;opacity:.7}
.svc-tab:hover{color:var(--ink)}
.svc-tab.active{background:var(--orange);color:#14183f}
.svc-tab.active .tno{opacity:.85}
.svc-panel{display:none;margin-top:46px}
.svc-panel.active{display:block;animation:fadeUp .55s cubic-bezier(.16,.84,.34,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.svc-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px;padding-bottom:24px;border-bottom:1px solid var(--line-d)}
.svc-intro .lede{font-family:var(--serif);font-size:clamp(22px,2.8vw,34px);line-height:1.18;max-width:24ch}
.svc-intro .meta{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);text-align:right;line-height:1.9}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{
  border:1px solid var(--line-d);border-radius:6px;padding:28px 26px 30px;background:var(--ink-2);
  transition:transform .35s,border-color .35s,box-shadow .35s;position:relative;overflow:hidden;
}
.svc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform .4s}
.svc-card:hover{transform:translateY(-5px);border-color:var(--line-d-strong);box-shadow:var(--shadow-lift)}
.svc-card:hover::before{transform:scaleY(1)}
.svc-card .sid{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase}
.svc-card h3{font-size:25px;margin:14px 0 10px}
.svc-card .desc{font-size:14px;line-height:1.6;color:rgba(255,255,255,.66);margin-bottom:20px}
.svc-list{display:flex;flex-direction:column;gap:1px;border-top:1px solid var(--line-d)}
.svc-list li{
  list-style:none;font-size:13.5px;color:rgba(255,255,255,.82);padding:11px 0 11px 26px;position:relative;
  border-bottom:1px solid var(--line-d);
}
.svc-list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:11px;height:11px;border:1px solid var(--orange);border-radius:50%}
.svc-list li::after{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:var(--orange)}
ul.svc-list{margin:0;padding:0}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}.svc-tab{padding:11px 16px;font-size:11px}}

/* =============================================================
   OUR WORK (filterable portfolio)
   ============================================================= */
.work{background:var(--paper);color:var(--ink)}
.work .blueprint-l{position:absolute;inset:0;opacity:.45;pointer-events:none;
  background-image:linear-gradient(var(--line-l) 1px,transparent 1px),linear-gradient(90deg,var(--line-l) 1px,transparent 1px);background-size:54px 54px}
.work .wrap{position:relative}
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.work-head h2{font-size:clamp(34px,5.2vw,64px)}
.work-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:40px}
.fchip{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11px;cursor:pointer;
  padding:10px 16px;border-radius:30px;border:1px solid var(--line-l-strong);background:transparent;color:var(--ink);
  transition:background .25s,color .25s,border-color .25s;
}
.fchip:hover{border-color:var(--ink)}
.fchip.active{background:var(--ink);color:var(--ink);border-color:var(--ink)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.proj{
  border:1px solid var(--line-l);border-radius:6px;overflow:hidden;background:var(--paper-2);
  transition:opacity .45s,transform .45s,box-shadow .35s,border-color .35s;
}
.proj.hide{display:none}
.proj:hover{box-shadow:0 24px 50px -28px rgba(255,255,255,.45);border-color:var(--line-l-strong);transform:translateY(-4px)}
.proj .pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dccfb5}
.proj image-slot{width:100%;height:100%;display:block}
.proj .ptag{position:absolute;top:12px;left:12px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  background:rgba(9,30,54,.72);color:var(--ink);padding:6px 10px;border-radius:30px}
.proj .pbody{padding:22px 22px 24px}
.proj .pbody h3{font-size:22px;margin-bottom:4px}
.proj .client{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.proj .provided-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:9px}
.proj .provided{display:flex;flex-wrap:wrap;gap:6px}
.proj .provided span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.72);border:1px solid var(--line-l-strong);border-radius:3px;padding:5px 9px}
.work-note{margin-top:34px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45)}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr}}

/* hide scroll cue on short / small screens to avoid CTA overlap */
@media(max-height:760px),(max-width:560px){.scroll-cue{display:none}}

/* =============================================================
   BOOKING PAGE (boarding pass)
   ============================================================= */
.book-shell{
  position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;
  padding:118px var(--gutter) 70px;
  background:
    radial-gradient(120% 90% at 80% 6%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 46%);
}
.book-shell .stars,.book-shell .blueprint-layer{position:absolute;inset:0;z-index:0}
.book-shell .blueprint-layer{opacity:.5}
.book-shell .hero-glow{bottom:-40%}
.book-grid{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;
  display:grid;grid-template-columns:0.92fr 1.08fr;gap:clamp(34px,5vw,80px);align-items:center}
.book-intro .eyebrow{margin-bottom:22px}
.book-intro h1{font-size:clamp(38px,5vw,72px);line-height:1.0;letter-spacing:-.02em}
.book-intro h1 em{font-style:italic;color:var(--orange)}
.book-intro .sub{font-size:17px;line-height:1.6;color:rgba(255,255,255,.78);max-width:38ch;margin:24px 0 0}
.book-points{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.book-points li{display:flex;align-items:center;gap:13px;font-size:14.5px;color:rgba(255,255,255,.85)}
.book-points li svg{width:18px;height:18px;flex:none;color:var(--orange)}
.book-back{display:inline-flex;align-items:center;gap:9px;margin-top:40px;font-family:var(--mono);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}
.book-back:hover{color:var(--orange)}

/* the pass */
.bpass{display:grid;grid-template-columns:1fr 88px;background:var(--paper-2);color:var(--ink);
  border-radius:8px;overflow:hidden;box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.bpass-main{padding:clamp(26px,3.4vw,42px)}
.bpass-row{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding-bottom:18px;margin-bottom:26px;border-bottom:1.5px dashed var(--line-l-strong)}
.bpass-row .pname{display:flex;align-items:center;gap:11px}
.bpass-row .pname b{font-family:var(--serif);font-size:21px;font-weight:500;white-space:nowrap}
.bpass-row .tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);background:var(--orange);padding:6px 11px;border-radius:30px}
.bpass h2{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--orange);margin-bottom:22px;font-weight:400}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px}
.field input,.field textarea{
  width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper-2);
  border:1px solid var(--line-l-strong);border-radius:4px;padding:13px 14px;transition:border-color .2s,box-shadow .2s;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.34)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.field textarea{resize:vertical;min-height:104px;line-height:1.5}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.loc-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.loc-opt{position:relative;cursor:pointer}
.loc-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.loc-opt .face{
  display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line-l-strong);border-radius:5px;
  transition:border-color .2s,background .2s;
}
.loc-opt .face .code{font-family:var(--serif);font-size:26px;line-height:1}
.loc-opt .face .city{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.loc-opt input:checked + .face{border-color:var(--orange);background:rgba(255,255,255,.07)}
.loc-opt input:checked + .face .code{color:var(--orange)}
.loc-opt input:focus-visible + .face{box-shadow:0 0 0 3px rgba(255,255,255,.16)}
.bpass .btn-primary{width:100%;justify-content:center;margin-top:8px;padding:16px;font-size:12px}
.bpass-note{margin-top:14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);text-align:center}
.bpass-error{margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);text-align:center}
.btn-primary[disabled]{opacity:.7;cursor:default;transform:none}

/* stub */
.bpass-stub{position:relative;background:var(--orange);color:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px 0}
.bpass-stub::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:repeating-linear-gradient(180deg,var(--ink) 0 7px,transparent 7px 14px)}
.bpass-stub .v{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--sky)}
.bpass-stub .barcode{display:flex;gap:2px;align-items:flex-end;height:60px}
.bpass-stub .barcode i{width:2px;background:var(--ink);display:block}
.bpass-stub .fno{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.7);writing-mode:vertical-rl}

/* confirmation */
.bpass.done .bpass-main{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px}
.confirm{display:none}
.bpass.done .confirm{display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeUp .6s both}
.bpass.done form,.bpass.done .bpass-row{display:none}
.confirm .stamp{width:74px;height:74px;border-radius:50%;border:2px solid var(--orange);display:grid;place-items:center;color:var(--orange);margin-bottom:8px;transform:rotate(-9deg)}
.confirm .stamp svg{width:34px;height:34px}
.confirm h3{font-family:var(--serif);font-size:32px}
.confirm p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.7);max-width:34ch}
.confirm .ticket{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink);
  border:1px dashed var(--line-l-strong);border-radius:5px;padding:14px 18px;background:var(--paper-2)}
.confirm .ticket b{color:var(--orange)}

@media(max-width:880px){
  .book-grid{grid-template-columns:1fr;gap:40px}
  .book-intro{order:-1}
  .book-points{display:none}
}
@media(max-width:520px){
  .bpass{grid-template-columns:1fr}
  .bpass-stub{flex-direction:row;padding:16px 24px}
  .bpass-stub::before{left:0;right:0;top:0;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 7px,transparent 7px 14px)}
  .bpass-stub .v,.bpass-stub .fno{writing-mode:horizontal-tb;transform:none}
  .bpass-stub .barcode{height:34px}
  .field-2{grid-template-columns:1fr}
}

/* =============================================================
   MOBILE NAV (hamburger + overlay) & responsive polish
   ============================================================= */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;padding:11px;background:transparent;border:none;cursor:pointer;z-index:80}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;
  transition:transform .3s ease,opacity .25s ease}
.nav-toggle.open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:70;
  background:linear-gradient(180deg,rgba(244,237,219,.99),rgba(236,226,204,.99));
  backdrop-filter:blur(10px);
  display:flex;flex-direction:column;justify-content:center;
  padding:96px var(--gutter) 44px;
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;
}
.mobile-menu::before{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(var(--line-d) 1px,transparent 1px),linear-gradient(90deg,var(--line-d) 1px,transparent 1px);
  background-size:54px 54px}
.mobile-menu.open{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .35s ease,visibility 0s linear 0s}
.mobile-menu .mm-link{position:relative;display:flex;align-items:baseline;gap:16px;
  font-family:var(--serif);font-size:clamp(30px,9vw,40px);color:var(--ink);
  padding:15px 0;border-bottom:1px solid var(--line-d)}
.mobile-menu .mm-link .mm-no{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--orange)}
.mobile-menu .mm-cta{position:relative;margin-top:30px;justify-content:center;padding:18px;font-size:13px}
.mobile-menu .mm-foot{position:relative;margin-top:26px;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(194,203,255,.6)}
body.menu-open{overflow:hidden}

@media(max-width:992px){
  .nav-toggle{display:flex}
  .nav-cta{display:none}
}

/* hero on phones */
@media(max-width:560px){
  .hero h1{font-size:clamp(40px,12vw,60px)}
  .hero-tag{margin-bottom:20px}
  .hero-sub{margin-top:clamp(34px,5vh,46px);font-size:16px}
  .hero-actions{margin-top:30px;gap:12px}
  .hero-actions .btn{flex:1 1 auto;justify-content:center}
}

/* schematic scales to fit instead of horizontal scroll; bump label legibility */
@media(max-width:620px){
  .sch-figure{overflow:visible}
  .sch-figure svg{min-width:0}
  .sch-label{font-size:15px}
  .sch-label.big{font-size:20px}
  .sch-head{margin-bottom:8px}
  .sch-foot{gap:18px 26px}
}

/* iOS: 16px inputs prevent zoom-on-focus; comfier tap targets */
@media(max-width:560px){
  .field input,.field textarea{font-size:16px;padding:14px}
  .loc-opt .face{padding:16px}
  .fchip{padding:12px 16px}
  .svc-tab{flex:1 1 auto;justify-content:center}
  .svc-toggle{display:flex;width:100%}
}

/* =============================================================
   FEATURED CASE STUDY (Table 33)
   ============================================================= */
.case{background:var(--paper);color:var(--ink);position:relative;overflow:hidden}
.case .blueprint-l{
  position:absolute;inset:0;opacity:.45;pointer-events:none;
  background-image:linear-gradient(var(--line-l) 1px,transparent 1px),linear-gradient(90deg,var(--line-l) 1px,transparent 1px);
  background-size:54px 54px;
}
.case .wrap{position:relative}
.case-top{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(28px,5vw,68px);align-items:center}
.case-intro .eyebrow{margin-bottom:20px}
.case-intro h2{font-size:clamp(46px,7vw,98px);line-height:.9;letter-spacing:-.02em}
.case-meta{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-top:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.case-meta .dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4)}
.case-meta .muted{color:rgba(255,255,255,.55)}
.case-lede{font-size:clamp(16px,1.4vw,18.5px);line-height:1.72;color:rgba(255,255,255,.78);margin-top:24px;max-width:54ch;text-wrap:pretty}
.case-intro .provided-lbl{margin-top:30px;color:rgba(255,255,255,.5)}
.case-intro .provided{margin-top:14px}
.case-intro .provided span{border-color:var(--line-l-strong);color:var(--ink)}

.case-hero{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(8,16,26,.6);aspect-ratio:4/5}
.case-hero img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.16,.84,.34,1);cursor:zoom-in}
.case-hero:hover img{transform:scale(1.04)}
.case-hero .hero-cap{
  position:absolute;left:16px;bottom:16px;z-index:3;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);background:rgba(9,30,54,.72);backdrop-filter:blur(5px);
  border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:6px 12px;
}

.case-galhead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:clamp(46px,6vw,72px) 0 22px;flex-wrap:wrap}
.case-galhead .gh-title{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.case-galhead .gh-hint{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:8px}

.case-gallery{columns:3;column-gap:16px}
.case-gallery figure{margin:0 0 16px;break-inside:avoid;position:relative;border-radius:10px;overflow:hidden;cursor:zoom-in;background:#0d2b4c}
.case-gallery img{width:100%;display:block;transition:transform .7s cubic-bezier(.16,.84,.34,1),opacity .5s}
.case-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(8,12,18,.34));opacity:0;transition:opacity .4s}
.case-gallery figure:hover img{transform:scale(1.05)}
.case-gallery figure:hover::after{opacity:1}
@media(max-width:900px){.case-top{grid-template-columns:1fr;gap:32px}.case-hero{aspect-ratio:16/11}.case-gallery{columns:2}}
@media(max-width:540px){.case-gallery{columns:1}}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(7,11,17,.95);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);user-select:none}
.lb-btn{position:absolute;background:rgba(255,255,255,.08);border:1px solid var(--line-d-strong);color:var(--orange);width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:20px;transition:background .25s,transform .25s}
.lb-btn:hover{background:var(--orange);border-color:var(--orange);transform:scale(1.06)}
.lb-close{top:22px;right:22px;font-size:16px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.06)}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7)}
@media(max-width:560px){.lb-prev{left:10px}.lb-next{right:10px}.lb-btn{width:42px;height:42px}}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
  .schematic.in .sch-draw{transition:none}
  .case-hero:hover img,.case-gallery figure:hover img{transform:none}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important}
}




/* =============================================================
   BLUEPRINT SYSTEM
   ============================================================= */
/* kill newspaper artifacts */
.masthead{display:none!important}
.np-flip,.np-page{display:none!important}
html::after{display:none!important}

/* cyanotype ground + fine drafting grid */
body{
  background-color:#3a49a0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:30px 30px,30px 30px,150px 150px,150px 150px;
  background-attachment:fixed;
  color:var(--ink);
}

/* one continuous blueprint — sections transparent, hairline dividers */
.manifesto,.flightplan,.offerings,.locations,.navcards,.explore-studio,.work,
.tour,.services,.takeoff,.schematic,.cutaway-sec,.case,.guarantee,.lead,.page-hero,
.confirm,.bookwrap,.book-shell{background:transparent!important;color:var(--ink)}
.manifesto .blueprint-l,.tour .blueprint-l,.case .blueprint-l{display:none}
section{border-top:1px solid rgba(255,255,255,.16)}
.foot{background:transparent!important;border-top:2px solid rgba(255,255,255,.34)}

/* nav */
.nav{background:rgba(13,43,76,.0)}
.nav.scrolled{background:rgba(40,50,120,.9);backdrop-filter:blur(10px) saturate(1.1);box-shadow:0 1px 0 rgba(255,255,255,.2)}
.brand .name b{font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:19px}
.brand .name span{font-family:var(--mono);letter-spacing:.24em;color:var(--sky);opacity:.9}
.brand .roundel svg circle:nth-child(3){fill:var(--orange)}

/* typography */
h1,h2,h3,h4{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
h1 em,h2 em,h3 em,h4 em{font-style:normal;color:var(--orange)}
.hero h1,.ph-title{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:.98}
.hero h1 .lift{font-style:normal;color:var(--orange);background:none}
.eyebrow,.mono{font-family:var(--mono);color:var(--orange);text-transform:uppercase}
.eyebrow{letter-spacing:.3em;border-top:none;padding:0}
.eyebrow::before{display:inline-block;background:var(--orange);height:1px;width:34px}
.serif,.manifesto .lede,.wd-lede,.tour-intro p{font-family:var(--serif)!important;text-transform:none}
.manifesto .lede em,.wd-lede strong{font-style:italic;color:var(--orange)}

/* squared, blueprint call-out buttons */
.btn{border-radius:0!important;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em}
.btn-primary{background:var(--orange);color:#2a3573;box-shadow:none}
.btn-primary .arrow{color:#2a3573}
.btn-primary:hover{background:var(--orange-deep);color:#2a3573;box-shadow:0 0 0 1px var(--orange)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-dark{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--orange)}
.btn-dark:hover{background:var(--orange);color:#2a3573}

/* panels as hairline blueprint boxes with corner ticks */
.hangar,.wprev,.proj,.wmore-card,.guarantee-inner,.route,.confirm .ticket,
.wsec,.stop-img,.wd-feature,.wd-mv-img,.tour-feature,.pic,.mktslot,.td-cell,
.es-cell,.studio-gallery .gslot,.sp-pic,.lead-cut,.lead-terms{
  border-radius:0!important}
.hangar,.wprev,.proj,.wmore-card{
  background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:none!important}
.hangar:hover,.wprev:hover,.proj:hover,.wmore-card:hover{
  border-color:var(--orange)!important;background:rgba(255,255,255,.07)!important;transform:translateY(-4px)}

/* pills / tags -> mono ticket labels */
.chip,.ptag,.open-cue,.badge-roundel,.wp-list li .n,.fp-alt,.fp-phase,.wmore-cue,
.wsec-side,.client,.wd-meta,.case-meta{font-family:var(--mono);letter-spacing:.14em}
.chip,.ptag{background:rgba(34,42,110,.78);border:1px solid rgba(255,255,255,.3);color:var(--ink);border-radius:0}
.open-cue{background:var(--orange);color:#08243f;border-radius:0}

/* cyanotype photos */
img,image-slot{filter:grayscale(1) contrast(1.01) brightness(1.04) sepia(1) hue-rotate(202deg) saturate(2.1)}
.roundel img{filter:none}

/* inputs -> blueprint fields */
input,textarea,select{border-radius:0!important;background:rgba(34,42,110,.55)!important;
  border:1px solid rgba(255,255,255,.3)!important;color:var(--ink)!important}
input::placeholder,textarea::placeholder{color:rgba(194,203,255,.6)!important}

/* mobile menu */
.mobile-menu{background:rgba(40,50,120,.98)!important}
.mm-link,.mm-link .mm-no{color:var(--ink)}
.nav-toggle span{background:var(--ink)}

/* =============================================================
   FRONT-PAGE -> BLUEPRINT TITLE BLOCK
   ============================================================= */
.lead{padding:clamp(30px,6vh,70px) 0 clamp(40px,6vh,72px);border-bottom:1px solid rgba(255,255,255,.16)}
.lead-kicker{display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:var(--orange);
  border-top:1px solid rgba(255,255,255,.34);border-bottom:1px solid rgba(255,255,255,.34);padding:8px 0;margin-bottom:22px}
.lead-head{font-family:var(--display);font-weight:700;text-align:center;text-transform:uppercase;
  font-size:clamp(44px,10vw,132px);line-height:.94;letter-spacing:.01em;color:var(--ink);margin:8px 0 0}
.lead-deck{font-family:var(--serif);font-style:italic;text-align:center;color:var(--sky);
  font-size:clamp(18px,2.2vw,28px);line-height:1.32;max-width:34ch;margin:20px auto 0;text-wrap:balance}
.lead-byline{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:10.5px;color:var(--sky);
  border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);padding:9px 0;margin:24px 0 0}
.lead-byline .lb-star{color:var(--orange)}
.lead-body{margin-top:30px;column-count:2;column-gap:40px;column-rule:1px solid rgba(255,255,255,.2);
  text-align:left;font-size:15px;line-height:1.66;color:rgba(255,255,255,.86)}
.lead-body p{margin:0 0 13px;break-inside:avoid}
.lead-lede::first-letter{font-family:var(--display);font-weight:700;font-size:2.9em;line-height:.8;
  float:left;margin:.04em .1em -.02em 0;color:var(--orange)}
.lead-cut{margin:0 0 16px;break-inside:avoid;border:1px solid rgba(255,255,255,.34);position:relative}
.lead-cut image-slot{display:block;width:100%;aspect-ratio:4/3}
.lead-cut figcaption{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:10px;
  color:var(--sky);padding:8px 10px;border-top:1px solid rgba(255,255,255,.28);text-align:left}
.lead-terms{break-inside:avoid;border:1px solid var(--orange);padding:20px;margin-top:8px;text-align:center;background:rgba(255,255,255,.08)}
.lead-terms .lt-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--orange);
  border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:9px;margin-bottom:11px}
.lead-terms .lt-price{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:20px;letter-spacing:.04em;margin-bottom:15px}
.lead-terms .lt-price b{color:var(--orange)}
.lead-terms .btn{width:100%;justify-content:center;margin-bottom:9px;padding:13px}
.lead-terms .lt-fine{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;color:var(--sky);margin-top:9px}
@media(max-width:700px){.lead-body{column-count:1;column-rule:none}}

/* =============================================================
   HERO SCENE — jet climbing across the blueprint
   ============================================================= */
.hero-scene{position:relative;min-height:clamp(560px,88vh,880px);display:flex;align-items:center;
  overflow:hidden;border-bottom:1px solid rgba(255,255,255,.16)}
.hero-blueprint{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-blueprint .ln{fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
  vector-effect:non-scaling-stroke}
.hero-blueprint .guide{opacity:.5}
.hero-blueprint .flight-guide{stroke-dasharray:2 11;opacity:.28}
.hero-blueprint .hero-trail{stroke-width:3.4;stroke-dasharray:2100;stroke-dashoffset:2100;opacity:1}
.hero-blueprint .jt{fill:none;stroke:#fff;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.hero-blueprint .jt.fill{fill:rgba(255,255,255,.10)}
.hero-blueprint .jt.fill2{fill:rgba(255,255,255,.16)}
.hero-blueprint .hb-lbl{font-family:var(--mono);font-size:15px;letter-spacing:.12em;fill:var(--sky);text-transform:uppercase}
.hero-blueprint .hb-note{opacity:.72}
@media(prefers-reduced-motion:no-preference){
  .hero-blueprint .hero-trail{animation:none}
}
@keyframes heroTrail{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
  .hero-blueprint .hero-trail{stroke-dashoffset:0}
}

.hero-content{position:relative;z-index:2;text-align:center;padding-block:clamp(40px,9vh,120px)}
.hero-eyebrow{display:inline-block;color:var(--sky);border:1px solid rgba(255,255,255,.28);
  padding:8px 15px;margin-bottom:26px;letter-spacing:.28em}
.hero-content .lead-head{font-size:clamp(46px,10vw,140px)}
.hero-content .lead-deck{margin-left:auto;margin-right:auto}
.hero-content .hero-actions{justify-content:center;margin-top:36px}



/* =============================================================
   HAND-DRAWN ON THE BLUEPRINT
   ============================================================= */
:root{
  --sk1:14px 6px 16px 7px/7px 16px 6px 14px;
  --sk2:7px 15px 6px 14px/15px 7px 14px 6px;
}
/* wobbly sketched outlines on every framed element */
.btn,.hangar,.wprev,.proj,.wmore-card,.chip,.ptag,.open-cue,.hero-eyebrow,.lead-terms,
.guarantee-inner,.route,.confirm .ticket,.wsec,input,textarea,select,.svc-tab,.fchip,
.mf-row,.field,.loc-opt .face,.bpass,.badge-roundel,.wd-cut,.lead-cut,.g-seal,
.wd-feature,.wd-mv-img,.stop-img,.tour-feature,.pic,.mktslot,.td-cell,.es-cell,
.studio-gallery .gslot,.sp-pic,.hero-content .hero-eyebrow{
  border-radius:var(--sk1)!important}
.off-grid .hangar:nth-child(even),.work-grid .proj:nth-child(even),
.wmore-grid .wmore-card:nth-child(even),.td-grid .td-cell:nth-child(even),
.chip:nth-child(even),.wp-list li:nth-child(even){border-radius:var(--sk2)!important}

/* tiny hand-set rotation on labels / stamps so nothing sits mechanically straight */
.eyebrow,.hero-eyebrow,.chip,.ptag,.fp-phase,.wsec-side,.g-seal{transform:rotate(-.5deg)}
.section .eyebrow,.sec-head .eyebrow{transform:rotate(.4deg)}

/* roughen the line-art so it reads as inked by hand */
.brand .roundel svg,.plane-svg,.cutaway svg,.route .leg svg,.schematic svg,.sch-svg{
  filter:url(#sketch)}


/* =============================================================
   THICKER HAND-DRAWN LINEWORK (match hero jet)
   ============================================================= */
.btn,.hangar,.wprev,.proj,.wmore-card,.chip,.ptag,.open-cue,.hero-eyebrow,.lead-terms,
.guarantee-inner,.route,.confirm .ticket,.wsec,input,textarea,select,.svc-tab,.fchip,
.mf-row,.field,.loc-opt .face,.bpass,.badge-roundel,.lead-cut,.g-seal,
.wd-feature,.wd-mv-img,.stop-img,.pic,.mktslot,.td-cell,.es-cell,
.studio-gallery .gslot,.sp-pic,.tour-feature{
  border-width:2.5px!important}
.btn-ghost{box-shadow:inset 0 0 0 2.5px rgba(255,255,255,.6)!important}
.btn-dark{box-shadow:inset 0 0 0 2.5px var(--orange)!important}
.btn-ghost:hover{box-shadow:inset 0 0 0 2.5px var(--ink)!important}
/* section dividers + eyebrow rules */
section{border-top-width:2px}
.foot{border-top-width:3px}
.eyebrow::before,.wp-hint::before{height:2.5px}
/* line-art / schematic svg strokes */
.brand .roundel svg circle,.brand .roundel svg path{stroke-width:2}
.plane-svg .ln,.cutaway svg .ln,.route .leg svg path,.schematic .ln,.sch-svg .ln,
.fp-node,.fp-line{stroke-width:2.4}


/* =============================================================
   BOLDER SKETCH LINEWORK v2
   ============================================================= */
.btn,.hangar,.wprev,.proj,.wmore-card,.chip,.ptag,.open-cue,.hero-eyebrow,.lead-terms,
.guarantee-inner,.route,.confirm .ticket,.wsec,input,textarea,select,.svc-tab,.fchip,
.mf-row,.field,.loc-opt .face,.bpass,.badge-roundel,.lead-cut,.g-seal,
.wd-feature,.wd-mv-img,.stop-img,.pic,.mktslot,.td-cell,.es-cell,
.studio-gallery .gslot,.sp-pic,.tour-feature{border-width:3.5px!important}
.btn-ghost,.btn-ghost:hover{box-shadow:inset 0 0 0 3.5px rgba(255,255,255,.75)!important}
.btn-dark{box-shadow:inset 0 0 0 3.5px var(--orange)!important}
section{border-top-width:2.5px}
.foot{border-top-width:4px}
.eyebrow::before,.wp-hint::before{height:3px}
/* hero + schematic strokes pop */
.hero-blueprint .hero-trail{stroke-width:4.5!important}
.hero-blueprint .jt{stroke-width:3.4!important}
.hero-blueprint .flight-guide{stroke-width:2.4!important}
.brand .roundel svg circle,.brand .roundel svg path{stroke-width:2.4!important}
.plane-svg .ln,.cutaway svg .ln,.route .leg svg path,.schematic .ln,.sch-svg .ln,
.fp-node,.fp-line{stroke-width:3.2!important}


/* full-service wingspan plane + cutaway: bolder strokes, subtle sketch */
.plane-svg path,.plane-svg line,.plane-svg ellipse,.plane-svg circle,.plane-svg polygon,.plane-svg polyline,
.cutaway svg path,.cutaway svg line,.cutaway svg ellipse,.cutaway svg circle{stroke-width:2.8!important}
.plane-svg .cabin-fill,.plane-svg .pl-line{stroke-width:3.2!important}


/* =============================================================
   HAND-SKETCHED BOX OUTLINES (filtered pseudo-border, crisp text)
   ============================================================= */
.hangar,.wprev,.proj,.wmore-card,.lead-terms,.guarantee-inner,.confirm .ticket,.bpass,
.hero-eyebrow,.fp-step,.wsec,.mf-row,.field,.svc-tab,.loc-opt .face,.chip,.ptag,
.wd-feature,.wd-mv-img,.stop-img,.pic,.mktslot,.td-cell,.es-cell,.studio-gallery .gslot,
.sp-pic,.lead-cut,.tour-feature,.route{position:relative}
.hangar::after,.wprev::after,.proj::after,.wmore-card::after,.lead-terms::after,
.guarantee-inner::after,.confirm .ticket::after,.bpass::after,.hero-eyebrow::after,
.wsec::after,.field::after,.loc-opt .face::after,.chip::after,.ptag::after,
.wd-feature::after,.wd-mv-img::after,.stop-img::after,.pic::after,.mktslot::after,
.td-cell::after,.es-cell::after,.studio-gallery .gslot::after,.sp-pic::after,
.lead-cut::after,.tour-feature::after{
  content:"";position:absolute;inset:-2px;border:2.6px solid rgba(255,255,255,.66);
  border-radius:inherit;filter:url(#sketch);pointer-events:none;z-index:4}
/* let the sketched outline be the visible frame; mute the mechanical one */
.hangar,.wprev,.proj,.wmore-card,.lead-terms,.guarantee-inner,.confirm .ticket,.bpass,
.hero-eyebrow,.fp-step,.wsec,.field,.loc-opt .face,.chip,.ptag,
.wd-feature,.wd-mv-img,.stop-img,.pic,.mktslot,.td-cell,.es-cell,.studio-gallery .gslot,
.sp-pic,.lead-cut,.tour-feature{border-color:transparent!important}
/* hover: brighten the sketched outline */
.hangar:hover::after,.wprev:hover::after,.proj:hover::after,.wmore-card:hover::after{
  border-color:var(--orange);border-width:3px}
/* photo frames keep a hairline visible under the sketch too */
.pic::after,.wd-feature::after,.wd-mv-img::after,.stop-img::after,.mktslot::after,
.td-cell::after,.es-cell::after,.studio-gallery .gslot::after,.sp-pic::after,
.lead-cut::after,.tour-feature::after{border-color:rgba(255,255,255,.8)}


/* =============================================================
   WINGSPAN PLANE -> WHITE HAND-DRAWN (match hero jet) + SQUIGGLY TYPE
   ============================================================= */
/* white strokes, faint white fills, bold + hand-inked */
.plane-svg .pl-fill{fill:rgba(255,255,255,.06)!important;stroke:#fff!important;stroke-width:3!important;stroke-linejoin:round;stroke-linecap:round}
.plane-svg .pl-line{stroke:#fff!important;stroke-width:3!important;stroke-linecap:round;stroke-linejoin:round}
.plane-svg .pl-line2{stroke:rgba(255,255,255,.85)!important;stroke-width:2.2!important}
.plane-svg .pl-accent{stroke:#fff!important;stroke-width:3!important}
.plane-svg .pl-rivet{fill:#fff!important}
.plane-svg .cabin-fill{fill:rgba(255,255,255,.07)!important;stroke:#fff!important;stroke-width:3!important;stroke-linejoin:round}
.plane-svg .cabin-win{fill:rgba(255,255,255,.55)!important}
.plane-svg .cabin.hot .cabin-fill{fill:rgba(255,255,255,.18)!important;stroke:#fff!important}
.plane-svg .cabin.hot .cabin-win{fill:#fff!important}
.plane-svg .cabin-leader{stroke:rgba(255,255,255,.7)!important;stroke-width:2!important}
.plane-svg .prop-disc{fill:rgba(255,255,255,.12)!important}
.plane-svg .pl-label{fill:#fff!important}
.plane-svg .lift-line{stroke:#fff!important;stroke-width:2.4!important;opacity:.8}
/* stronger hand-drawn wobble on the wingspan plane specifically */
.cutaway .plane-svg{filter:url(#sketchBold)}

/* headings + labels stay crisp — no sketch wobble on text */


/* boxes fully hand-drawn in white (stronger wobble, pure white outline) */
.hangar::after,.wprev::after,.proj::after,.wmore-card::after,.lead-terms::after,
.guarantee-inner::after,.confirm .ticket::after,.bpass::after,.hero-eyebrow::after,
.wsec::after,.field::after,.loc-opt .face::after,.chip::after,.ptag::after,
.wd-feature::after,.wd-mv-img::after,.stop-img::after,.pic::after,.mktslot::after,
.td-cell::after,.es-cell::after,.studio-gallery .gslot::after,.sp-pic::after,
.lead-cut::after,.tour-feature::after{
  border-color:#fff!important;filter:url(#sketchBold)!important}
/* buttons: hand-drawn white outline too, not slick fills */
.btn{position:relative;border-radius:var(--sk1)!important}
.btn::after{content:"";position:absolute;inset:-2px;border:2.6px solid #fff;border-radius:inherit;filter:url(#sketchBold);pointer-events:none}
.btn-primary::after,.btn-primary:hover::after{border-color:#fff}


/* port/starboard wing boxes: continuous hand-drawn line, not broken up */
.wsec::after{
  border:3.4px solid #fff!important;
  filter:url(#sketch)!important;   /* gentler wobble = unbroken line */
  inset:-3px!important}


/* wing boxes: bolder, more obvious hand-drawn outline */
.wsec::after{border-width:6px!important;inset:-4px!important}


/* Our Work photos keep their natural color (no blueprint duotone) */
.proj .pic img,.wprev .pic img,.wmore-pic img,
.wd-feature img,.wd-mv-img img,.wd-gallery img,.wd-plates img,.lead-cut img{
  filter:none!important}


/* =============================================================
   BLUEPRINT UNROLL INTRO
   ============================================================= */
html.bp-lock,html.bp-lock body{overflow:hidden!important}
.bp-unroll{position:fixed;inset:0;z-index:999;overflow:hidden;pointer-events:none;
  display:flex;justify-content:center;background:transparent}
/* the sheet hangs from the top and grows downward as it unrolls */
.bp-sheet{position:absolute;top:0;left:0;right:0;height:0;overflow:hidden;
  background:#3a49a0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:30px 30px,30px 30px,150px 150px,150px 150px;
  box-shadow:0 22px 40px rgba(10,16,50,.5);
  will-change:height}
.bp-sheet-inner{position:absolute;left:0;right:0;top:0;height:100vh;
  display:flex;align-items:center;justify-content:center}
.bp-mark{width:min(64vw,620px);height:auto;opacity:.92}
.bp-mark .bpm{stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bp-mark .fillw{fill:rgba(255,255,255,.12)}
.bp-mark .fillw2{fill:rgba(255,255,255,.2)}
.bp-mark .bp-t1{fill:#fff;font-family:'Space Grotesk','Archivo',sans-serif;font-weight:700;font-size:34px;letter-spacing:.04em;text-transform:uppercase}
.bp-mark .bp-t2{fill:rgba(194,203,255,.95);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.34em}
.bp-mark .bp-t3{fill:rgba(194,203,255,.9);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.24em}
/* the roller bar rides the bottom edge of the unrolling sheet */
.bp-roller{position:absolute;top:0;left:-4%;width:108%;height:26px;transform:translateY(-13px);
  background:linear-gradient(180deg,#20265e,#0e123a 60%,#080b2a);
  border-radius:13px;box-shadow:0 10px 22px rgba(6,10,34,.6),inset 0 1px 0 rgba(255,255,255,.15);
  display:flex;align-items:center;gap:8px;padding:0 22px}
.bp-roller span{flex:1;height:2px;background:rgba(255,255,255,.18);border-radius:2px}
.bp-roller span:first-child{max-width:26px;background:rgba(255,255,255,.4)}
.bp-roller span:last-child{max-width:26px;background:rgba(255,255,255,.4)}

/* unroll down */
.bp-unroll.bp-open .bp-sheet{height:100vh;transition:height .9s cubic-bezier(.5,.02,.32,1)}
/* roll back up to reveal */
.bp-unroll.bp-lift .bp-sheet{height:0;transition:height .66s cubic-bezier(.6,0,.36,1)}


/* covered state: sheet fills screen instantly (page arrives already covered) */
.bp-unroll.bp-covered .bp-sheet{height:100vh;transition:none}


/* =============================================================
   BOARDING PASS — cleaner, simpler (blueprint-toned, no bright stub)
   ============================================================= */
.bpass{grid-template-columns:1fr!important;background:rgba(255,255,255,.04)!important;
  color:var(--ink)!important;box-shadow:none!important}
.bpass-stub{display:none!important}
.bpass-main{padding:clamp(26px,3.4vw,44px)!important}
/* header row: quiet hairline label instead of a filled white chip */
.bpass-row{border-bottom:1px solid rgba(255,255,255,.2)!important}
.bpass-row .pname b{font-family:var(--display)!important;text-transform:uppercase;letter-spacing:.06em;font-size:18px}
.bpass-row .tag{background:transparent!important;color:var(--sky)!important;
  border:1px solid rgba(255,255,255,.34)!important;letter-spacing:.2em}
.bpass-row .roundel svg circle:last-child{fill:#fff!important}
/* form labels legible on indigo */
.field label{color:var(--sky)!important}
.field input,.field textarea{background:rgba(20,26,74,.45)!important;color:var(--ink)!important;
  border:1px solid rgba(255,255,255,.26)!important}
.field input::placeholder,.field textarea::placeholder{color:rgba(194,203,255,.5)!important}
.field input:focus,.field textarea:focus{border-color:#fff!important;box-shadow:0 0 0 2px rgba(255,255,255,.18)!important}
.loc-opt .face{background:rgba(20,26,74,.35)!important}
.loc-opt .face .code{font-family:var(--display)!important}
.loc-opt input:checked + .face{border-color:#fff!important;background:rgba(255,255,255,.08)!important}
.loc-opt input:checked + .face .code{color:#fff!important}


/* =============================================================
   BOARDING PASS — restore the pass w/ stub (indigo, not bright white)
   ============================================================= */
.bpass{grid-template-columns:1fr 92px!important;background:rgba(255,255,255,.05)!important;
  box-shadow:0 40px 80px -44px rgba(0,0,0,.6)!important}
.bpass-stub{display:flex!important;background:#20265e!important;color:var(--ink)!important;
  align-items:center;justify-content:space-between}
.bpass-stub::before{background:repeating-linear-gradient(180deg,rgba(255,255,255,.5) 0 7px,transparent 7px 14px)!important}
.bpass-stub .barcode i{background:#fff!important}
.bpass-stub .v{color:var(--sky)!important}
.bpass-stub .fno{color:rgba(194,203,255,.75)!important}
@media(max-width:520px){
  .bpass{grid-template-columns:1fr!important}
  .bpass-stub{flex-direction:row;padding:16px 24px}
  .bpass-stub::before{left:0;right:0;top:0;bottom:auto;width:auto;height:2px;
    background:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 7px,transparent 7px 14px)!important}
  .bpass-stub .v,.bpass-stub .fno{writing-mode:horizontal-tb;transform:none}
}


/* =============================================================
   BOARDING PASS — clean form (kill double/sketch borders on fields)
   ============================================================= */
/* remove sketched pseudo-borders inside the pass; use clean simple lines */
.bpass .field::after,.bpass .loc-opt .face::after,.bpass input::after,.bpass .bpass-row::after{display:none!important}
.bpass .field,.bpass .loc-opt .face{border-color:transparent!important;filter:none!important}
.field{margin-bottom:20px!important}
.field label{margin-bottom:9px!important;color:var(--sky)!important;filter:none!important}
.bpass input,.bpass textarea{
  filter:none!important;border:1.5px solid rgba(255,255,255,.28)!important;border-radius:6px!important;
  background:rgba(12,18,58,.4)!important;padding:13px 15px!important}
.bpass input:focus,.bpass textarea:focus{border-color:#fff!important;box-shadow:none!important}
.loc-opt .face{filter:none!important;border:1.5px solid rgba(255,255,255,.28)!important;border-radius:6px!important;background:rgba(12,18,58,.4)!important}
.loc-opt input:checked + .face{border-color:#fff!important;background:rgba(255,255,255,.07)!important}
/* header + button tidy */
.bpass-row{filter:none!important}
.bpass .btn-primary{filter:none!important;border-radius:6px!important}
.bpass .btn-primary::after{display:none!important}


/* case-study video */
.wd-video{margin:clamp(30px,5vw,56px) 0 0;position:relative;border:1px solid rgba(255,255,255,.34)}
.wd-video video{display:block;width:100%;height:auto;background:#0b1030}
.wd-video figcaption{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:10px;
  color:var(--sky);padding:9px 12px;border-top:1px solid rgba(255,255,255,.28)}


/* make each Our Work card's hand-drawn outline clearly visible */
.proj::after{border-color:#fff!important;border-width:3px!important;inset:-3px!important;opacity:1!important}
.proj{border-color:transparent!important}


/* =============================================================
   FIX: hand-drawn outlines fully filled in (no gaps) + more blueprint bg
   ============================================================= */
/* draw the sketched outline twice, offset, so displacement gaps on one
   pass get covered by the other -> a continuous, closed hand-drawn line */
.hangar::after,.wprev::after,.proj::after,.wmore-card::after,.lead-terms::after,
.guarantee-inner::after,.confirm .ticket::after,.bpass::after,.hero-eyebrow::after,
.wsec::after,.field::after,.loc-opt .face::after,.chip::after,.ptag::after,
.wd-feature::after,.wd-mv-img::after,.stop-img::after,.pic::after,.mktslot::after,
.td-cell::after,.es-cell::after,.studio-gallery .gslot::after,.sp-pic::after,
.lead-cut::after,.tour-feature::after,.btn::after{
  border-width:3px!important;filter:url(#sketch)!important}
.hangar,.wprev,.proj,.wmore-card{position:relative}
.hangar::before,.wprev::before,.proj::before,.wmore-card::before{
  content:"";position:absolute;inset:-1.5px;border:3px solid rgba(255,255,255,.9);
  border-radius:inherit;filter:url(#sketchBold);pointer-events:none;z-index:3}

/* more blueprint elements scattered in the page background */
body{position:relative}
/* plane-themed drafting marks: wing w/ dimension lines, propeller, rivets,
   dimension arrows -- absolutely positioned so they scroll WITH the page */
.bp-bg-marks{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.3;overflow:hidden}
.bp-bg-marks svg{position:absolute;stroke:#fff;fill:none;stroke-width:1.4}
/* sit in the gutters right beside existing content blocks, filling the
   empty space that flanks cards/sections rather than only page corners */
.bp-bg-marks .m1{top:16%;left:4%;width:210px}
.bp-bg-marks .m2{top:9%;right:3%;width:130px}
.bp-bg-marks .m3{top:42%;right:4%;width:170px}
.bp-bg-marks .m4{top:64%;left:3.5%;width:160px}
.bp-bg-marks .m5{top:88%;right:6%;width:130px}
.bp-bg-marks .m6{top:112%;left:4%;width:190px}
.bp-bg-marks .m7{top:138%;right:3.5%;width:150px}
.bp-bg-marks .m8{top:164%;left:4%;width:170px}
.bp-bg-marks .m1b{top:190%;right:4%;width:150px}
.bp-bg-marks .m2b{top:214%;left:3.5%;width:130px}
.bp-bg-marks .m3b{top:238%;right:5%;width:170px}
.bp-bg-marks .m4b{top:262%;left:4%;width:160px}
@media(max-width:820px){.bp-bg-marks{opacity:.16}.bp-bg-marks svg{transform:scale(.6)}}
@media(max-width:560px){.bp-bg-marks{display:none}}


/* flight-plan steps: no boxes, just the timeline */
.fp-step::after,.fp-step::before{content:none!important;display:none!important;border:none!important}

.story-preview .sp-pic img,.es-cell img{filter:none!important}
