:root{
  --bg:#0B0A09; --bg-2:#12100D; --bg-3:#1A1713;
  --text:#F1EBDD; --mute:#ABA28F;
  --gold:#CBA866; --gold-l:#E3CB98; --gold-d:#8F7440;
  --line:rgba(203,168,102,.28); --line-s:rgba(241,235,221,.12);
  --disp:"Fraunces",Georgia,serif; --sans:"Instrument Sans",system-ui,sans-serif;
  --dw:400; --dstyle-em:italic;
  --gut:clamp(20px,5vw,72px);
}
/* font candidates for comparison: ?f=2 or ?f=3 */
html[data-f="2"]{--disp:"Tenor Sans",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif;--dw:400}
html[data-f="3"]{--disp:"Syne",system-ui,sans-serif;--sans:"Instrument Sans",system-ui,sans-serif;--dw:600}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:400 18px/1.62 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
input,select,textarea{font-size:max(16px,1em)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{padding-inline:var(--gut);max-width:1320px;margin-inline:auto}
main,.foot{position:relative;z-index:1}
#dust{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
em{font-style:italic;color:var(--gold)}
.h2{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(2.2rem,4.8vw,3.9rem);line-height:1.1;letter-spacing:-.012em}
.h2.big{font-size:clamp(2.4rem,6.2vw,5.2rem);line-height:1.04}
.lede{max-width:46ch;margin-top:1.2rem;color:var(--mute);font-size:1.12rem}

/* bar */
.bar{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px var(--gut);padding-top:max(14px,env(safe-area-inset-top));transition:background .3s}
.bar.solid{background:var(--bg);border-bottom:1px solid var(--line-s)}
.mark{font-family:var(--disp);font-weight:var(--dw);font-size:1.45rem;text-decoration:none;margin-right:auto;color:var(--gold-l)}
.bar-nav{display:flex;gap:26px}
.bar-nav a{text-decoration:none;font-size:.97rem;opacity:.85}
.bar-nav a:hover{opacity:1;color:var(--gold-l)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;background:var(--gold);color:#16120A;font:600 1rem var(--sans);border:1px solid var(--gold);border-radius:2px;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--gold-l);border-color:var(--gold-l)}
.btn-sm{min-height:42px;padding:0 20px;font-size:.93rem}
.btn-ghost{background:transparent;color:var(--text);border-color:rgba(241,235,221,.5)}
.btn-ghost:hover{background:var(--text);color:#16120A;border-color:var(--text)}

/* hero */
.hero{position:relative;height:420vh}
.stage{position:absolute;inset:0 0 auto 0;height:100vh;overflow:hidden;background:var(--bg)}
.stage.is-fixed{position:fixed}
.stage.is-after{top:auto;bottom:0}
.poster,.film{position:absolute;inset:0;width:100%;height:100%}
.poster img{width:100%;height:100%;object-fit:cover}
.film{opacity:0;transition:opacity .5s}
.film.ready{opacity:1}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(11,10,9,.78) 0%,rgba(11,10,9,0) 38%),linear-gradient(180deg,rgba(11,10,9,.6) 0%,rgba(11,10,9,0) 22%)}
.caps{position:absolute;inset:0;pointer-events:none}
.cap{position:absolute;left:var(--gut);right:var(--gut);top:15vh;transform:translateY(-4%);opacity:0;transition:opacity .7s,transform .7s;text-align:center}
.cap.is-on{opacity:1;transform:none;pointer-events:auto}
.hook{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.cap.name{top:auto;bottom:15vh;transform:translateY(10px)}
.cap.name.is-on{transform:none}
.wordmark{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(3.4rem,11vw,9.5rem);line-height:1;color:var(--gold-l);letter-spacing:-.02em;text-shadow:0 2px 40px rgba(0,0,0,.7)}
.sub{margin-top:1rem;font-size:clamp(1rem,1.5vw,1.25rem);color:var(--text)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem;justify-content:center}
.scrollhint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:.85rem;color:var(--mute);transition:opacity .4s}
.scrollhint::after{content:"";display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(var(--gold),transparent)}
.note{position:absolute;right:var(--gut);bottom:14px;font-size:.78rem;color:rgba(241,235,221,.55)}

/* problem */
.problem{padding:clamp(100px,16vw,220px) 0 clamp(80px,12vw,160px)}
.stakes{list-style:none;margin-top:clamp(40px,6vw,80px);max-width:1100px}
.stakes li{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;padding:1.7rem 0;border-top:1px solid var(--line);align-items:baseline}
.stakes li:last-child{border-bottom:1px solid var(--line)}
.stakes span{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.15}
.stakes p{color:var(--mute)}
.turn{margin-top:clamp(40px,6vw,80px);max-width:30ch;font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.25;color:var(--gold-l)}

/* guide */
.guide{padding:clamp(60px,10vw,140px) 0;background:rgba(18,16,13,.8)}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,96px);align-items:center}
.guide-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% 50%;border:1px solid var(--line)}
.guide-txt p{margin-top:1.3rem;max-width:46ch;color:#D8D1C0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.4rem}
.facts dt{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.6rem,2.8vw,2.4rem);color:var(--gold-l);line-height:1.1}
.facts dd{font-size:.92rem;color:var(--mute);margin-top:.3rem}

/* services: horizontal pinned journey */
.svc{padding-top:clamp(90px,12vw,170px)}
.svc-wrap{position:relative;height:600vh;margin-top:clamp(30px,5vw,60px)}
.svc-stage{position:absolute;inset:0 0 auto 0;height:100vh;overflow:hidden;display:flex;align-items:center;perspective:1700px}
.svc-stage.is-fixed{position:fixed}
.svc-stage.is-after{top:auto;bottom:0}
.svc-track{list-style:none;display:flex;gap:clamp(18px,2.4vw,36px);padding:0 var(--gut);will-change:transform;height:74vh;align-items:stretch}
.panel{position:relative;flex:0 0 min(62vw,880px);overflow:hidden;border:1px solid var(--line);background:var(--bg-3);transform-origin:50% 50%}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,10,9,.92) 0%,rgba(11,10,9,.35) 45%,rgba(11,10,9,0) 70%)}
.pt{position:absolute;z-index:2;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);bottom:clamp(20px,3vw,40px)}
.pt .n{font-family:var(--disp);font-style:italic;font-size:1.3rem;color:var(--gold)}
.pt h3{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.08;margin:.2rem 0 .6rem}
.pt p{max-width:44ch;color:#E2DAC8;font-size:1.05rem}
.svc-count{position:absolute;right:var(--gut);top:calc(50% - 37vh - 34px);font-family:var(--disp);color:var(--gold);font-size:1.1rem}

/* fleet */
.fleet{padding:clamp(90px,12vw,170px) 0 clamp(60px,8vw,100px)}
.car{max-width:1500px;margin:clamp(50px,8vw,110px) auto 0;display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;padding-left:var(--gut)}
.car.flip{grid-template-columns:1fr 1.35fr;padding:0 var(--gut) 0 0}
.car.flip .car-img{order:2}
.car-img{perspective:1400px}
.car-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .15s linear;will-change:transform}
.car-txt{padding-right:var(--gut)}
.car.flip .car-txt{padding-left:0}
.year{font-family:var(--disp);font-style:italic;font-weight:300;font-size:clamp(3.6rem,8vw,7rem);line-height:.9;color:var(--gold)}
.car h3{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.9rem,3.4vw,3rem);margin:.4rem 0 1rem;line-height:1.1}
.car p{max-width:40ch;color:#D8D1C0}
.car .tag{margin-top:1.2rem;color:var(--mute);font-size:.98rem;border-top:1px solid var(--line);padding-top:1rem}
.fine{margin-top:2.5rem;font-size:.85rem;color:var(--mute)}

/* how */
.how{padding:clamp(80px,12vw,160px) 0;background:rgba(18,16,13,.8)}
.steps{list-style:none;margin:clamp(40px,6vw,80px) 0;max-width:1000px}
.steps li{display:grid;grid-template-columns:clamp(70px,10vw,150px) 1fr;gap:20px;align-items:start;padding:1.8rem 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .n{font-family:var(--disp);font-style:italic;font-weight:300;font-size:clamp(3.4rem,8vw,6.5rem);line-height:.9;color:var(--gold)}
.steps h3{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.12}
.steps p{margin-top:.6rem;color:var(--mute);max-width:46ch}

/* routes */
.routes{padding:clamp(80px,12vw,160px) 0}
.ledger{list-style:none;margin-top:clamp(36px,5vw,64px);max-width:980px}
.ledger li{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:16px;align-items:baseline;padding:1.4rem 0;border-top:1px solid var(--line-s);transition:padding .3s,color .3s}
.ledger li:last-child{border-bottom:1px solid var(--line-s)}
.ledger li:hover{padding-left:12px;color:var(--gold-l)}
.to{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.5rem,3vw,2.4rem)}
.mi,.hr{color:var(--mute);font-size:1rem}
.hr{text-align:right}

/* standard (ivory, light contrast) */
.standard{padding:clamp(80px,12vw,150px) 0;background:#EDE6D6;color:#16120A}
.standard .h2{color:#16120A}
.std{margin-top:clamp(36px,5vw,64px);max-width:1000px}
.std>div{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:1.7rem 0;border-top:1px solid rgba(22,18,10,.2)}
.std>div:last-child{border-bottom:1px solid rgba(22,18,10,.2)}
.std dt{font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15}
.std dd{color:#4A4333}

/* faq */
.faq{padding:clamp(80px,12vw,150px) 0}
.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,6vw,90px);align-items:start}
.qa details{border-top:1px solid var(--line)}
.qa details:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;padding:1.3rem 2.4rem 1.3rem 0;position:relative;font-family:var(--disp);font-weight:var(--dw);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:4px;top:50%;width:14px;height:14px;margin-top:-10px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .3s}
.qa details[open] summary::after{transform:rotate(-135deg);margin-top:-4px}
.qa p{padding:0 0 1.5rem;max-width:52ch;color:var(--mute)}

/* request */
.request{padding:clamp(80px,12vw,150px) 0;background:rgba(18,16,13,.82)}
.req-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.req-img{display:none}
.form{display:grid;gap:18px}
.form label{display:grid;gap:6px;font-size:.92rem;color:var(--mute)}
.form input,.form select,.form textarea{width:100%;min-height:52px;padding:12px 14px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:2px;font-family:var(--sans)}
.form select{color:#16120A;background:#EDE6D6}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .btn{justify-self:start}
.status{min-height:1.5em;font-size:.95rem}
.status.ok{color:var(--gold-l)} .status.err{color:#F1A99B}

.foot{border-top:1px solid var(--line);padding:56px 0 calc(40px + env(safe-area-inset-bottom));background:var(--bg)}
.foot-in{display:flex;flex-wrap:wrap;gap:30px 60px;align-items:flex-start;justify-content:space-between}
.foot .mark{display:block;margin:0 0 .5rem}
.foot p{color:var(--mute)}
.foot-links{display:grid;gap:8px}
.foot-links a,.by a{color:var(--text)}
.by{width:100%;font-size:.85rem}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* phone */
@media (max-width:759px){
  body{font-size:17px}
  .bar{gap:12px}
  .bar-nav{display:none}
  .mark{font-size:1.25rem}
  .hero{height:380vh}
  .hero .stage{height:100lvh}
  .shade{background:linear-gradient(0deg,rgba(11,10,9,.85) 0%,rgba(11,10,9,.35) 40%,rgba(11,10,9,0) 70%),linear-gradient(180deg,rgba(11,10,9,.6) 0%,rgba(11,10,9,0) 20%)}
  .cap{top:auto;bottom:calc(14vh + (100lvh - 100svh));transform:translateY(12px);text-align:left}
  .cap.is-on{transform:none}
  .cap.name{bottom:calc(8vh + (100lvh - 100svh))}
  .hook{font-size:clamp(2.1rem,9.5vw,2.9rem)}
  .wordmark{font-size:clamp(3.2rem,16vw,4.6rem)}
  .cta{justify-content:flex-start}
  .cta .btn{flex:1 1 150px}
  .scrollhint,.note{display:none}
  .stakes li{grid-template-columns:1fr;gap:6px}
  .guide-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .facts dd{font-size:.8rem}
  .svc-wrap{height:auto}
  .svc-stage,.svc-stage.is-fixed,.svc-stage.is-after{position:relative;height:auto;display:block;overflow:visible}
  .svc-track{flex-direction:column;height:auto;transform:none!important;gap:18px}
  .panel{flex:none;height:min(78vh,560px)}
  .svc-count{display:none}
  .car,.car.flip{grid-template-columns:1fr;padding:0}
  .car.flip .car-img{order:0}
  .car-img img{aspect-ratio:4/5;object-fit:cover}
  .car-txt,.car.flip .car-txt{padding:10px var(--gut) 0}
  .steps li{grid-template-columns:62px 1fr}
  .ledger li{grid-template-columns:1fr 1fr;row-gap:2px}
  .ledger .to{grid-column:1/-1}
  .hr{text-align:left}
  .std>div{grid-template-columns:1fr;gap:6px}
  .faq-grid,.req-grid{grid-template-columns:1fr}
  .req-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:1.6rem}
  .two{grid-template-columns:1fr}
  .form .btn{justify-self:stretch}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero{height:auto}
  .stage,.stage.is-fixed,.stage.is-after{position:relative;height:100svh}
  .film,#dust{display:none}
  .cap{position:relative;opacity:1;transform:none;margin-top:2rem}
  .cap:not(.is-on){display:none}
  .svc-wrap{height:auto}
  .svc-stage,.svc-stage.is-fixed,.svc-stage.is-after{position:relative;height:auto;display:block}
  .svc-track{flex-direction:column;height:auto;transform:none!important}
  .panel{flex:none;height:60vh}
  .rv{opacity:1;transform:none}
  *{transition-duration:.01ms!important}
}

@media (max-width:759px){
  .poster img{position:absolute;left:50%;top:44%;width:143vw;max-width:none;height:auto;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
}
