
/* ===== DESIGN TOKENS — spacing scale ===== */
:root{--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-32:32px;--sp-48:48px;--sp-64:64px;--sp-96:96px}
:root{--charcoal:#1B1C19;--card:#22241F;--bone:#EDE6D6;--dim:#B3AC94;--line:#4A4E28;--olive:#43482A;--orange:#C8632E;
--paper:#F3EEE0;--ink:#23241E;--ink-dim:#6E6A60;--paper-card:#FBF8EF;--paper-line:#D8D0BA;--hero-pos:62% 40%}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* sticky-nav offset so anchor targets aren't hidden under the bar */
section[id],[id].rigpage-head{scroll-margin-top:72px}
body{background:var(--charcoal);color:var(--bone);font-family:'Inter','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.65}
img,video{max-width:100%}
/* images with explicit width/height keep their aspect ratio (attrs only reserve space to prevent CLS) */
img[width][height]{height:auto}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.eyebrow{font-family:'Oswald',sans-serif;letter-spacing:4px;font-size:12px;color:var(--dim);text-transform:uppercase}
.soul{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(18px,2.4vw,24px);color:var(--dim);line-height:1.35}
h2{font-family:'Oswald',sans-serif;font-weight:500;font-size:clamp(24px,4vw,36px);letter-spacing:3px;margin:0 0 8px}
.rule{width:44px;height:3px;background:var(--orange);margin:14px 0 26px}
section{padding:var(--sp-64) 0}
section.paper{background:var(--paper);color:var(--ink)}
section.paper .eyebrow,section.paper .soul{color:var(--ink-dim)}
section.paper h2{color:var(--ink)}
/* NAV */
nav{position:sticky;top:0;z-index:20;background:rgba(27,28,25,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
nav .wrap{display:flex;gap:var(--sp-24);align-items:center;padding:12px 20px;overflow-x:auto}
.lockup{font-family:'Oswald',sans-serif;letter-spacing:3px;font-size:14px;white-space:nowrap;line-height:1.15;text-align:center}
.lockup b{color:var(--orange);font-weight:600}
.lockup small{display:block;font-size:9px;letter-spacing:5px;color:var(--dim)}
nav a{text-decoration:none;font-size:12px;letter-spacing:2px;color:var(--dim);font-family:'Oswald',sans-serif;white-space:nowrap}
nav a:hover,nav a:focus{color:var(--bone)}
nav a.hot{color:var(--orange);border:1px solid var(--orange);padding:7px 12px}
/* HERO */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;background:#0d0d0b}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,17,.92) 0%,rgba(20,20,17,.72) 38%,rgba(20,20,17,.18) 70%,rgba(20,20,17,.25) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:60px;padding-bottom:60px}
.hero .inner{max-width:560px}
.flag{display:inline-block;border:1px solid var(--orange);color:var(--orange);font-family:'Oswald',sans-serif;letter-spacing:3px;font-size:11px;padding:6px 12px;margin-bottom:18px}
.hero h1{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(52px,10vw,104px);letter-spacing:4px;line-height:.98}
.statement{font-family:'Oswald',sans-serif;font-size:clamp(16px,2.6vw,24px);letter-spacing:3.5px;margin:18px 0 6px}
.statement i{color:var(--orange);font-style:normal}
.roles{color:var(--dim);letter-spacing:2px;font-size:13px;font-family:'Oswald',sans-serif;margin-bottom:10px}
.hero .sub{color:var(--dim);font-size:14.5px;max-width:460px;margin-bottom:26px}
.cta{display:flex;gap:var(--sp-12);flex-wrap:wrap}
.btn{font-family:'Oswald',sans-serif;letter-spacing:2.5px;font-size:14px;text-decoration:none;padding:15px 26px;border-radius:2px;display:inline-block;border:0;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn.solid{background:var(--orange);color:#1B1C19}
.btn.ghost{border:1px solid var(--bone);color:var(--bone);background:transparent}
.btn.solid:hover{background:#D97740}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn.ghost:hover{border-color:var(--orange);color:var(--orange)}
section.paper .btn.ghost{border-color:var(--ink);color:var(--ink)}
section.paper .btn.ghost:hover{border-color:var(--orange);color:var(--orange)}
.factrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-24);margin-top:44px;border-top:1px solid rgba(237,230,214,.18);padding-top:20px;max-width:640px}
.fact b{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:11px;color:var(--orange);display:block;font-weight:500}
.fact span{font-size:13px;color:var(--dim)}
/* WATCH */
.featured{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--sp-32);align-items:start}
@media(max-width:820px){.featured{grid-template-columns:1fr}}
.vbox{border:1px solid var(--line);background:#141511;padding:8px}
.vbox video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000;display:block}
.assign h3{font-family:'Oswald',sans-serif;letter-spacing:2px;font-weight:500;font-size:17px;margin-bottom:12px}
.assign ul{list-style:none}
.assign li{color:var(--dim);font-size:14.5px;padding:7px 0;border-bottom:1px solid rgba(74,78,40,.5)}
.assign li::before{content:'—';color:var(--orange);margin-right:10px}
.tape{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-12);margin-top:30px}
.tape figure{border:1px solid var(--line);background:#141511;padding:6px}
.tape video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;display:block}
.tape figcaption{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:11.5px;color:var(--dim);padding:8px 4px 4px}
/* AT A GLANCE */
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.glance div{background:var(--charcoal);padding:22px 20px}
.glance b{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:11px;color:var(--orange);display:block;margin-bottom:8px;font-weight:500}
.glance span{font-size:14px;color:var(--bone);line-height:1.5}
/* RIG */
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-24)}
.cap{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--orange);padding:24px;border-radius:2px}
.cap h3{font-family:'Oswald',sans-serif;letter-spacing:2.5px;font-weight:500;font-size:14px;color:var(--orange);margin-bottom:10px}
.cap .capline{font-family:'Oswald',sans-serif;letter-spacing:1px;font-size:16px;color:var(--bone);margin-bottom:12px;line-height:1.4}
.cap .capgear{color:var(--dim);font-size:13px;line-height:1.6}
.rigcta{margin:var(--sp-32) 0 var(--sp-48)}
.lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-24)}
.lane{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--orange);padding:24px}
.lane h3{font-family:'Oswald',sans-serif;letter-spacing:2.5px;font-weight:500;font-size:14px;color:var(--orange);margin-bottom:4px}
.lane h4{font-family:'Oswald',sans-serif;letter-spacing:1.5px;font-weight:500;font-size:17px;margin-bottom:10px}
.lane p{color:var(--dim);font-size:13.8px;margin-bottom:12px}
.lane ul{list-style:none}
.lane li{color:var(--dim);font-size:13px;padding:4px 0;border-bottom:1px solid rgba(74,78,40,.4)}
/* GEAR IN USE */
.giu{display:flex;flex-wrap:wrap;gap:var(--sp-32)}
.giu .cat b{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:11px;color:var(--ink-dim);display:block;margin-bottom:10px;font-weight:500}
.giu .cat span{display:block;font-family:'Oswald',sans-serif;letter-spacing:1.5px;font-size:15px;color:var(--ink);padding:3px 0}
.disclaim{margin-top:26px;font-size:11.5px;color:var(--ink-dim)}
/* Q&A */
.qa{max-width:760px}
.qa h3{font-family:'Oswald',sans-serif;letter-spacing:2px;font-weight:500;font-size:15px;color:var(--orange);margin:26px 0 8px}
.qa p{color:var(--dim);font-size:15.5px}
/* STORY */
.chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-24)}
.chapter b{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:13px;color:var(--orange);display:block;margin-bottom:10px;font-weight:500}
.chapter p{color:var(--ink-dim);font-size:14.8px}
.storyimg{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-12)}
.storyimg img{width:100%;border:1px solid var(--paper-line);display:block}
/* AVAILABLE FOR */
.avail{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-24)}
.avail .col b{font-family:'Oswald',sans-serif;letter-spacing:2.5px;font-size:13px;color:var(--orange);display:block;margin-bottom:10px;font-weight:500}
.avail .col span{display:block;color:var(--dim);font-size:14px;padding:4px 0;border-bottom:1px solid rgba(74,78,40,.4)}
/* BOOKING */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-24);margin-bottom:38px}
.step{border:1px solid rgba(237,230,214,.25);padding:20px}
.step b{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:13px;color:var(--orange);display:block;margin-bottom:8px;font-weight:500}
.step p{color:#D9D2BC;font-size:13.8px}
form{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);max-width:760px}
form .full{grid-column:1/-1}
label{display:block;font-family:'Oswald',sans-serif;letter-spacing:1.5px;font-size:11px;color:#D9D2BC;margin-bottom:5px}
input,select,textarea{width:100%;background:rgba(20,20,17,.5);border:1px solid rgba(237,230,214,.3);color:var(--bone);padding:12px;font-family:'Inter',sans-serif;font-size:16px;border-radius:2px}
textarea{min-height:100px;resize:vertical}
.formnote{grid-column:1/-1;font-size:12px;color:#D9D2BC}
.fstate{grid-column:1/-1;padding:12px;font-size:14px;display:none}
.fstate.ok{display:block;background:rgba(31,122,31,.25);border:1px solid #1F7A1F}
.fstate.err{display:block;background:rgba(138,32,32,.25);border:1px solid #8A2020}
@media(max-width:640px){form{grid-template-columns:1fr}}
.book{background:var(--olive)}
.book h2{color:var(--bone)}
.book .eyebrow{color:#D9D2BC}
.contactrow{display:flex;gap:var(--sp-12);flex-wrap:wrap;margin-top:26px}
/* EPK */
.epkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-24)}
.epk .card{background:var(--card);border:1px solid var(--line);padding:26px}
.epk .card h3{font-family:'Oswald',sans-serif;letter-spacing:2px;font-weight:500;font-size:16px;margin-bottom:12px}
.epk .card p{color:var(--dim);font-size:14px}
.epk .card .btn{margin-top:14px}
footer{padding:44px 0;color:var(--dim);font-size:13px;border-top:1px solid var(--line)}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-16)}
footer b{font-family:'Oswald',sans-serif;letter-spacing:2px;color:var(--bone);font-weight:500;display:block;margin-bottom:6px}
footer a{color:var(--dim)}
.finalline{margin-top:30px;font-family:'Oswald',sans-serif;letter-spacing:3px;color:var(--orange);font-size:13px}
/* mobile CTA bar */
.mbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:none;background:rgba(27,28,25,.97);border-top:1px solid var(--line);padding:10px 14px;gap:var(--sp-8)}
.mbar a{flex:1;text-align:center;padding:13px 6px;font-size:13px}
@media(max-width:700px){.mbar{display:flex}body{padding-bottom:64px}.hero{min-height:78vh}}
/* motion: ONE restrained reveal treatment, site-wide — 12px rise + fade, single easing */
.rv{opacity:0;transform:translateY(12px);transition:opacity .42s cubic-bezier(.16,.84,.44,1),transform .42s cubic-bezier(.16,.84,.44,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}*{transition:none!important;animation:none!important}}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}

/* v10.1 — editorial tape + proof sheet */
.tape{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.tape figure{position:relative;transition:border-color .15s ease;margin:0}
.tape figure:hover{border-color:var(--orange)}
.tape figure:first-child{grid-column:span 2}
@media(max-width:520px){.tape figure:first-child{grid-column:span 1}}
.tk{position:absolute;top:12px;left:12px;z-index:2;background:rgba(20,20,17,.85);border:1px solid var(--line);color:var(--orange);font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2.5px;padding:4px 8px}
.tape figcaption{padding:10px 6px 6px}
.tape figcaption b{display:block;font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:2px;font-size:12px;color:var(--bone)}
.tape figcaption i{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:14.5px;color:var(--dim);margin-top:2px}
/* setup map */
.setupmap{display:grid;grid-template-columns:minmax(280px,1.1fr) 1fr;gap:var(--sp-32);align-items:start;margin-bottom:44px}
@media(max-width:820px){.setupmap{grid-template-columns:1fr}}
.smphoto img{width:100%;border:1px solid var(--line);display:block}
.smnote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;color:var(--dim);font-size:16px;margin-bottom:14px}
.smlist b{display:block;font-family:'Oswald',sans-serif;letter-spacing:2.5px;font-size:12px;color:var(--orange);margin:16px 0 6px;font-weight:500}
.smlist ul{list-style:none}
.smlist li{color:var(--bone);font-size:14.5px;padding:5px 0;border-bottom:1px solid rgba(74,78,40,.45)}

.smphoto video{width:100%;aspect-ratio:9/16;object-fit:cover;border:1px solid var(--line);display:block}

.chapter img,.chapter video{width:100%;margin-top:14px;border:1px solid var(--paper-line);display:block}
.chapter video{max-height:320px;object-fit:cover}

/* ===== UTILITY / COMPONENT CLASSES (replaces repeated inline styles) ===== */
.no-top{padding-top:0}
.icon-align{vertical-align:-3px}
.navlink-icon{display:inline-flex;align-items:center;gap:var(--sp-8)}
.lane-photo{width:100%;margin-top:var(--sp-12);border:1px solid var(--line);display:block}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--orange);color:#1B1C19;padding:10px 16px;z-index:100;font-family:'Oswald',sans-serif}
.skip-link:focus{left:8px}
/* ===== BUILT LIKE A SYSTEM (quiet proof-of-skill band) ===== */
.system-band{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.system-band .wrap{max-width:760px}
.system-band h2{font-size:clamp(19px,3vw,26px);letter-spacing:2px}
.system-band p{color:var(--dim);font-size:14.5px;max-width:640px}
.system-band .btn{margin-top:var(--sp-16)}

/* Powered-by-Steadhand credit band — Olive Root Tech's own brand color, confirmed from steadhand.com's theme-color meta tag */
.poweredby{background:#F4F0E1;padding:26px 0;text-align:center}
.poweredby a{display:inline-flex;align-items:center;gap:8px;color:#3A3226;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1px;text-decoration:none}
.poweredby img{height:46px;width:auto;display:block}

/* ===== v11.5 SHOWROOM ===== */
/* Type choreography: POCKET FIRST. / BUILT TO SERVE. locked on two lines at every width */
.statement .beat{display:block}
.statement .b3{margin-bottom:3px}

/* Unified interaction: ONE hover behavior everywhere — border shifts to orange, 150ms. No lift, no shadow. */
.cap,.lane,.epk .card{transition:border-color .15s ease}
.cap:hover,.lane:hover,.epk .card:hover{border-color:var(--orange)}

/* ===== SIGNATURE ELEMENT: THE COUNT-OFF HERO =====
   Four beats land like a drummer counting in — flag, name, POCKET FIRST., BUILT TO SERVE.
   ~550ms apart, percussive easing (fast attack, small overshoot, short settle), once on load.
   Gated on no-preference so reduced-motion (and any non-supporting browser) shows everything
   immediately, statically — content is never hidden behind the animation. Pure CSS, no new JS,
   transform/opacity only (GPU-composited, zero layout shift). */
@media (prefers-reduced-motion: no-preference){
  .countoff .beat,.countoff .settle{opacity:0}
  .countoff .beat{animation:counthit .46s cubic-bezier(.2,.9,.3,1) forwards}
  .countoff .b1{animation-delay:.20s}
  .countoff .b2{animation-delay:.75s}
  .countoff .b3{animation-delay:1.30s}
  .countoff .b4{animation-delay:1.85s}
  .countoff .settle{animation:settlein .7s ease forwards;animation-delay:2.45s}
}
@keyframes counthit{
  0%{opacity:0;transform:translateY(16px)}
  55%{opacity:1;transform:translateY(-3px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes settlein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
