
/* Layout concept: "Gray, Black & OD Green" — an editorial, poster-scale identity. The name itself is the hero
   (photo-filled letterforms), a stamped license seal, a light "academy" chapter between dark chapters,
   pinned horizontal course gallery, and oxblood used only where action is expected. */
:root{
  --ink:#09090a;
  --ink-2:#111210;
  --ink-3:#171816;
  --line:#262723;
  --bone:#e4e5e0;
  --bone-2:#d6d8d1;
  --paper-line:#c3c5bd;
  --smoke:#9b9e95;
  --smoke-d:#5c5f57;
  --ember:#4f5d2f;
  --ember-hi:#7f9148;
  --display:"Saira Condensed","Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --gl:max(20px,env(safe-area-inset-left,0px));
  --gr:max(20px,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--ink);color:var(--bone);font-family:var(--body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:.005em;text-wrap:balance}
a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:focus-visible{outline:2px solid var(--ember-hi);outline-offset:3px}
.wrap{max-width:1360px;margin-inline:auto;padding-left:var(--gl);padding-right:var(--gr)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke);display:flex;align-items:center;gap:12px}
.eyebrow i{width:8px;height:8px;background:var(--ember);display:inline-block;transform:rotate(45deg);flex:none}
.tnum{font-variant-numeric:tabular-nums}
.rv{transform:translateY(26px);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.in{transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.rv{transform:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:18px 28px;border:1px solid var(--ember);background:var(--ember);color:#fff;cursor:pointer;border-radius:999px;transition:background .3s,border-color .3s,color .3s,transform .3s}
.btn:hover{background:var(--ember-hi);border-color:var(--ember-hi)}
.btn:active{transform:scale(.98)}
.btn.out{background:transparent;color:var(--bone);border-color:rgba(228,229,224,.3)}
.btn.out:hover{border-color:var(--bone);background:rgba(228,229,224,.06)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.btn.dark:hover{background:#000}
.btn svg{width:15px;height:15px;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.arrow-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.arrow-link svg{width:15px;height:15px;transition:transform .3s}
.arrow-link:hover svg{transform:translateX(4px)}

/* ---------- header ---------- */
.top{position:relative;z-index:61;background:var(--ember);color:#fff}
.top .wrap{display:flex;justify-content:center;gap:6px 30px;flex-wrap:wrap;padding-block:8px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.top b{font-weight:600;letter-spacing:.12em;opacity:.85}
.hdr{position:sticky;top:0;z-index:60;background:rgba(9,9,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,229,224,.08)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:12px;padding-top:max(12px,env(safe-area-inset-top,0px))}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:32px;height:38px;color:var(--bone)}
.brand span{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.hnav{display:flex;align-items:center;gap:30px}
.hnav a.t{text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke);transition:color .2s}
.hnav a.t:hover{color:var(--bone)}
.hnav .btn{padding:12px 20px;font-size:12px}
.mbtn{display:inline-flex;align-items:center;gap:12px;background:none;border:1px solid rgba(228,229,224,.25);color:var(--bone);border-radius:999px;padding:11px 18px;font:600 12px var(--body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.mbtn .bars{width:18px;height:10px;position:relative}
.mbtn .bars::before,.mbtn .bars::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .3s,top .3s}
.mbtn .bars::before{top:0}.mbtn .bars::after{top:8px}
.mbtn[aria-expanded="true"] .bars::before{top:4px;transform:rotate(45deg)}
.mbtn[aria-expanded="true"] .bars::after{top:4px;transform:rotate(-45deg)}
@media (max-width:960px){.hnav a.t,.hnav .btn{display:none}}

/* overlay menu */
.overlay{position:fixed;inset:0;z-index:59;background:var(--ink);display:grid;grid-template-columns:1.2fr .8fr;padding-top:calc(130px + env(safe-area-inset-top,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));padding-left:var(--gl);padding-right:var(--gr);gap:40px;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.7,0,.2,1);overflow-y:auto}
.overlay.open{clip-path:inset(0 0 0 0)}
.overlay nav{display:flex;flex-direction:column;justify-content:center}
.overlay nav a{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(44px,8.5vw,112px);line-height:.98;text-decoration:none;color:transparent;-webkit-text-stroke:1px rgba(228,229,224,.5);transition:color .3s,-webkit-text-stroke-color .3s,transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(40px);display:flex;align-items:baseline;gap:18px}
.overlay nav a small{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--ember-hi);-webkit-text-stroke:0}
.overlay.open nav a{transform:none}
.overlay nav a:hover{color:var(--bone);-webkit-text-stroke-color:var(--bone)}
.overlay aside{display:flex;flex-direction:column;justify-content:flex-end;gap:22px;border-left:1px solid var(--line);padding-left:40px}
.overlay aside .row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);font-weight:600}
.overlay aside .row b{font-family:var(--display);font-size:22px;letter-spacing:.06em;color:var(--bone);font-weight:700}
@media (max-width:760px){.overlay{grid-template-columns:1fr;padding-top:calc(120px + env(safe-area-inset-top,0px))}.overlay aside{border-left:0;padding-left:0}.overlay nav a{font-size:clamp(40px,13vw,64px)}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(50px,6vw,80px)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 70% 30%,rgba(79,93,47,.14),transparent 70%);pointer-events:none}
.hero-meta{display:flex;justify-content:space-between;align-items:center;gap:10px 30px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke)}
.hero-meta .live{display:inline-flex;align-items:center;gap:10px;color:var(--bone)}
.hero-meta .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember-hi);box-shadow:0 0 0 0 rgba(127,145,72,.6);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(127,145,72,0)}100%{box-shadow:0 0 0 0 rgba(127,145,72,0)}}
.word{display:block;width:100%;height:auto;margin-top:clamp(18px,3vw,36px)}
.word.second{margin-top:clamp(4px,.8vw,10px)}
.word text{font-family:var(--display);font-weight:800;text-transform:uppercase}
.hero-low{display:grid;grid-template-columns:1.1fr .9fr auto;gap:clamp(28px,4vw,60px);align-items:end;margin-top:clamp(30px,4vw,54px)}
.hero-low h1{font-size:clamp(34px,4.2vw,62px);line-height:.95}
.hero-low h1 em{font-style:normal;color:var(--ember-hi)}
.hero-low .lede{color:#c3c5be;font-size:clamp(16px,1.3vw,18.5px);max-width:44ch}
.hero-low .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.seal{position:relative;width:clamp(150px,13vw,190px);aspect-ratio:1;flex:none}
.seal svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seal .core{position:absolute;inset:22%;border-radius:50%;background:var(--ember);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 10px 30px rgba(79,93,47,.35)}
.seal .core svg{width:46%;height:54%;color:#fff}
@media (max-width:1100px){.hero-low{grid-template-columns:1fr 1fr}.seal{display:none}}
@media (max-width:760px){.hero-low{grid-template-columns:1fr;gap:22px}.hero-low .ctas{flex-direction:column}.hero-low .ctas .btn{width:100%}}

.hero-photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-top:clamp(36px,5vw,64px)}
.hero-photos figure{margin:0;position:relative;overflow:hidden;border-radius:6px;aspect-ratio:4/3;max-width:100%;background:var(--ink-3)}
.hero-photos figure:first-child{aspect-ratio:auto;grid-row:span 1}
.hero-photos img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05) brightness(.82);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .5s}
.hero-photos figure:hover img{transform:scale(1.05);filter:grayscale(0) brightness(.9)}
.hero-photos figcaption{position:absolute;left:14px;bottom:12px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
@media (max-width:760px){.hero-photos{grid-template-columns:1fr 1fr}.hero-photos figure:first-child{grid-column:1/-1;aspect-ratio:16/10}}

/* ---------- marquee ---------- */
.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--ink-2)}
.marquee .track{display:flex;width:max-content;animation:slide 48s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee span{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;letter-spacing:.04em;padding:18px 0;display:flex;align-items:center;gap:30px;padding-right:30px;white-space:nowrap}
.marquee span::after{content:"";width:9px;height:9px;background:var(--ember);transform:rotate(45deg)}
.marquee span:nth-child(even){color:transparent;-webkit-text-stroke:1px rgba(228,229,224,.55)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- manifesto ---------- */
.manifesto{padding-block:clamp(90px,12vw,170px)}
.manifesto .wrap{display:grid;grid-template-columns:220px 1fr;gap:40px}
.manifesto p.big{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(30px,4.4vw,64px);line-height:1.02;letter-spacing:.005em}
.manifesto .w{color:rgba(228,229,224,.22);transition:color .35s}
.manifesto .w.lit{color:var(--bone)}
.manifesto .w.red.lit{color:var(--ember-hi)}
@media (max-width:860px){.manifesto .wrap{grid-template-columns:1fr;gap:22px}}

/* ---------- divisions: stacking cards ---------- */
.stack{padding-bottom:clamp(60px,8vw,120px)}
.card{position:sticky;top:96px;display:grid;grid-template-columns:1fr 1fr;min-height:min(78vh,700px);margin-bottom:28px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);box-shadow:0 -20px 60px rgba(0,0,0,.55)}
.card:nth-child(2){top:116px;background:var(--ink-3)}
.card .ph{position:relative;min-height:320px}
.card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.78)}
.card .ph .big{position:absolute;left:24px;bottom:10px;font-family:var(--display);font-weight:800;font-size:clamp(90px,12vw,180px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75)}
.card .bd{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;gap:20px;justify-content:center}
.card h2{font-size:clamp(40px,5.4vw,84px)}
.card .lede{color:#c3c5be;font-size:17.5px;max-width:46ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.chips span{border:1px solid rgba(228,229,224,.2);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500}
.card .btn{align-self:flex-start}
@media (max-width:900px){.card{position:relative;top:0!important;grid-template-columns:1fr;min-height:0}.card .ph{aspect-ratio:16/11;min-height:0}}

/* ---------- academy (light chapter) ---------- */
.academy{background:var(--bone);color:var(--ink);position:relative}
.academy .eyebrow{color:var(--smoke-d)}
.ac-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 80px;align-items:end;padding-top:clamp(90px,10vw,140px);padding-bottom:clamp(36px,4vw,56px)}
.ac-head h2{font-size:clamp(46px,7vw,112px);margin-top:18px}
.ac-head p{font-size:18px;color:#3a3c37;max-width:46ch}
.hs{position:relative}
.hs .pin{position:sticky;top:70px;height:calc(100vh - 70px);display:flex;align-items:center;overflow:hidden}
.hs .track{display:flex;gap:22px;padding-left:max(var(--gl),calc((100vw - 1360px)/2 + 20px));padding-right:var(--gr);will-change:transform}
.course{flex:0 0 clamp(300px,30vw,420px);background:#f0f1ed;border:1px solid var(--paper-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.course .ph{position:relative;aspect-ratio:4/3;overflow:hidden;max-width:100%}
.course .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.course:hover .ph img{transform:scale(1.05)}
.course .n{position:absolute;top:14px;left:14px;background:var(--ink);color:var(--bone);border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.14em;padding:7px 12px}
.course .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.course h3{font-size:clamp(28px,2.4vw,36px)}
.course p{color:#484a44;font-size:15px}
.course dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:4px 0 6px;border-top:1px solid var(--paper-line)}
.course dl div{padding:10px 0;border-bottom:1px solid var(--paper-line)}
.course dl div:nth-child(odd){padding-right:12px}
.course dt{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke-d)}
.course dd{margin:2px 0 0;font-weight:600;font-size:14px}
.course .arrow-link{margin-top:auto;color:var(--ember)}
.course.endcap{background:var(--ink);color:var(--bone);border-color:var(--ink);justify-content:space-between;padding:30px}
.course.endcap h3{font-size:clamp(34px,3vw,48px)}
.course.endcap p{color:#b8bab2}
.course.endcap .btn{align-self:flex-start}
.hs-progress{position:absolute;left:max(var(--gl),calc((100vw - 1360px)/2 + 20px));right:var(--gr);bottom:30px;height:2px;background:var(--paper-line);max-width:420px}
.hs-progress i{position:absolute;left:0;top:0;bottom:0;background:var(--ember);width:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);margin-top:clamp(50px,6vw,80px)}
.steps div{padding:28px 28px 0 0}
.steps div+div{padding-left:28px;border-left:1px solid var(--paper-line)}
.steps .k{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;color:var(--ember)}
.steps h4{font-size:26px;margin-top:14px}
.steps p{color:#484a44;margin-top:8px;font-size:15.5px}
.ac-foot{padding-bottom:clamp(90px,10vw,140px)}
/* mobile/tablet fallback: native swipe */
@media (max-width:900px){
  .hs{height:auto!important}
  .hs .pin{position:relative;top:0;height:auto;display:block;overflow:visible}
  .hs .track{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gr) 18px var(--gl);scrollbar-width:none}
  .hs .track::-webkit-scrollbar{display:none}
  .course{flex:0 0 84%;scroll-snap-align:start;scroll-margin-left:var(--gl)}
  .hs-progress{position:relative;left:auto;right:auto;bottom:auto;margin:6px var(--gr) 0 var(--gl)}
  .steps{grid-template-columns:1fr}
  .steps div,.steps div+div{padding:24px 0;border-left:0}
  .steps div+div{border-top:1px solid var(--paper-line)}
  .ac-head{grid-template-columns:1fr}
}

/* ---------- next class ---------- */
.next{padding-block:clamp(90px,11vw,150px)}
.next .grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.datebig{font-family:var(--display);font-weight:800;line-height:.78;text-transform:uppercase}
.datebig .d{font-size:clamp(150px,22vw,320px);display:block;letter-spacing:-.02em}
.datebig .m{font-size:clamp(44px,6vw,88px);display:flex;align-items:center;gap:16px;color:var(--ember-hi)}
.datebig .m small{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--smoke)}
.next h2{font-size:clamp(36px,4.4vw,64px);margin-top:18px}
.next .lede{color:#c3c5be;margin-top:16px;max-width:52ch}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px}
.facts div{padding:16px 16px 16px 0;min-width:0}
.facts div+div{padding-left:16px;border-left:1px solid var(--line)}
.facts span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke)}
.facts b{display:block;font-family:var(--display);font-size:24px;font-weight:700;margin-top:4px;letter-spacing:.02em}
.cd{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.cd .clock{display:flex;gap:6px}
.cd .clock div{min-width:62px;text-align:center;border:1px solid var(--line);border-radius:8px;padding:8px 6px;background:var(--ink-2)}
.cd .clock b{display:block;font-family:var(--display);font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.cd .clock span{font-size:9.5px;letter-spacing:.2em;color:var(--smoke);font-weight:600;text-transform:uppercase}
.private{display:flex;justify-content:space-between;align-items:center;gap:18px 30px;flex-wrap:wrap;margin-top:clamp(50px,6vw,80px);padding:24px 28px;border:1px solid var(--line);border-radius:12px}
.private h4{font-size:26px}
.private p{color:var(--smoke);font-size:15px;margin-top:4px}
@media (max-width:900px){.next .grid{grid-template-columns:1fr}.datebig{display:flex;align-items:flex-end;gap:16px}.datebig .d{font-size:clamp(120px,36vw,200px)}.datebig .m{flex-direction:column;align-items:flex-start;gap:6px}}
@media (max-width:560px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(3){padding-left:0;border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}.cd{flex-direction:column;align-items:stretch}.cd .clock div{flex:1;min-width:0}.cd .btn,.private .btn{width:100%}}

/* ---------- protection ---------- */
.protection{padding-block:clamp(90px,11vw,150px);border-top:1px solid var(--line)}
.p-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 80px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.p-head h2{font-size:clamp(46px,7vw,112px);margin-top:18px}
.p-head p{color:#c3c5be;font-size:18px;max-width:46ch}
@media (max-width:900px){.p-head{grid-template-columns:1fr}}
.levels{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--ink-2)}
.lv-pick{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.lv-pick button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:24px 28px;border-bottom:1px solid var(--line);transition:background .3s}
.lv-pick button:last-child{border-bottom:0}
.lv-pick .rn{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:var(--smoke-d);transition:color .3s}
.lv-pick .nm{font-family:var(--display);font-weight:700;font-size:26px;text-transform:uppercase;color:var(--smoke);transition:color .3s;line-height:1}
.lv-pick .bar{width:60px;height:4px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.lv-pick .bar i{position:absolute;inset:0;background:var(--ember);transform-origin:left}
.lv-pick button:hover .nm{color:var(--bone)}
.lv-pick button[aria-selected="true"]{background:var(--ink-3)}
.lv-pick button[aria-selected="true"] .rn{color:var(--ember-hi)}
.lv-pick button[aria-selected="true"] .nm{color:var(--bone)}
.lv-pick button:focus-visible{outline:2px solid var(--ember-hi);outline-offset:-3px}
.lv-show{padding:clamp(28px,4vw,50px);display:flex;flex-direction:column;gap:18px;justify-content:center;min-width:0}
.lv-show .k{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ember-hi)}
.lv-show h3{font-size:clamp(40px,4.4vw,66px)}
.lv-show p{color:#c3c5be;font-size:17.5px;max-width:48ch}
.meter{display:grid;gap:8px;margin-top:6px}
.meter .lbl{display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke)}
.meter .rail{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.meter .rail i{display:block;height:100%;background:linear-gradient(90deg,#2f3720,var(--ember-hi));transition:width .7s cubic-bezier(.2,.7,.2,1)}
.lv-show .use{display:flex;gap:10px;align-items:baseline;border-top:1px solid var(--line);padding-top:16px;font-size:15px}
.lv-show .use span{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);flex:none}
.lv-show .btn{align-self:flex-start}
@media (max-width:900px){
  .levels{grid-template-columns:1fr}
  .lv-pick{flex-direction:row;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
  .lv-pick::-webkit-scrollbar{display:none}
  .lv-pick button{flex:1 0 auto;grid-template-columns:auto;justify-items:center;text-align:center;gap:6px;padding:16px 18px;border-bottom:0;border-right:1px solid var(--line)}
  .lv-pick button:last-child{border-right:0}
  .lv-pick .nm{font-size:14px;white-space:nowrap}
  .lv-pick .rn{font-size:28px}
  .lv-pick .bar{display:none}
  .lv-show .btn{width:100%}
}

/* solutions: hover rows with cursor image */
.sol-wrap{margin-top:clamp(70px,8vw,110px)}
.sol-wrap h3.t{font-size:clamp(34px,4vw,56px);margin-top:16px}
.sols{margin-top:30px;border-top:1px solid var(--line)}
.sol{display:grid;grid-template-columns:70px 1fr 1.1fr auto;gap:10px 30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative}
.sol .i{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--smoke)}
.sol h4{font-size:clamp(30px,3.4vw,50px);transition:color .3s,transform .4s;transform-origin:left}
.sol p{color:var(--smoke);font-size:15px}
.sol .go{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .3s}
.sol .go svg{width:16px;height:16px}
.sol .th{display:none}
@media (hover:hover){
  .sol:hover h4{color:var(--ember-hi);transform:translateX(10px)}
  .sol:hover .go{background:var(--ember);border-color:var(--ember);transform:rotate(-45deg)}
}
.cursor-img{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .3s,transform .3s;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.cursor-img.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cursor-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){
  .sol{grid-template-columns:76px 1fr auto;padding:20px 0;gap:6px 16px}
  .sol .i{display:none}
  .sol .th{display:block;grid-row:1/span 2;width:76px;height:76px;border-radius:8px;overflow:hidden}
  .sol .th img{width:100%;height:100%;object-fit:cover}
  .sol h4{font-size:24px}
  .sol p{grid-column:2;font-size:14px}
  .sol .go{grid-column:3;grid-row:1/span 2;width:42px;height:42px}
  .cursor-img{display:none}
}

/* ---------- creed ---------- */
.creed{position:relative;overflow:hidden;isolation:isolate}
.creed .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:50% 55%;filter:grayscale(.6) brightness(.5)}
.creed::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--ink),rgba(9,9,10,.3) 40%,rgba(9,9,10,.3) 60%,var(--ink))}
.creed .wrap{padding-block:clamp(130px,16vw,220px);text-align:center}
.creed h2{font-size:clamp(52px,9vw,150px);line-height:.88}
.creed h2 span{color:var(--ember-hi);display:block}
.creed p{margin:24px auto 0;color:#c3c5be;max-width:44ch;font-size:18px}

/* ---------- credentials ---------- */
.creds{padding-block:clamp(90px,11vw,150px)}
.creds .grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.bigseal{position:relative;width:clamp(240px,26vw,360px);aspect-ratio:1;margin-inline:auto}
.bigseal svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 60s linear infinite}
.bigseal .core{position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#7f9148,#2f3720);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),inset 0 -14px 30px rgba(0,0,0,.35),0 30px 70px rgba(79,93,47,.3)}
.bigseal .core svg{width:44%;height:52%;color:#fff}
.creds h2{font-size:clamp(46px,6.4vw,100px);margin-top:18px}
.lic-list{margin-top:30px;border-top:1px solid var(--line)}
.lic-list div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.lic-list span{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke)}
.lic-list b{font-family:var(--display);font-weight:800;font-size:clamp(36px,4.6vw,68px);line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.creds .note2{color:var(--smoke);margin-top:18px;max-width:52ch}
@media (max-width:900px){.creds .grid{grid-template-columns:1fr}.bigseal{width:220px}}

/* ---------- faq ---------- */
.faq{padding-block:clamp(80px,10vw,140px);border-top:1px solid var(--line)}
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.faq h2{font-size:clamp(46px,6vw,92px);margin-top:18px}
details{border-bottom:1px solid var(--line)}
.qa{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 0;font-family:var(--display);font-weight:700;font-size:clamp(21px,2vw,28px);text-transform:uppercase;line-height:1.05;min-height:60px}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);position:relative;transition:background .3s,border-color .3s,transform .3s}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:12px;right:12px;top:50%;height:1.5px;margin-top:-.75px;background:var(--bone)}
summary .pm::after{transform:rotate(90deg);transition:transform .3s}
details[open] summary .pm{background:var(--ember);border-color:var(--ember)}
details[open] summary .pm::after{transform:rotate(0)}
details .ans{padding:0 50px 26px 0;color:#c3c5be;max-width:62ch}
@media (max-width:860px){.faq .wrap{grid-template-columns:1fr}details .ans{padding-right:0}}

/* ---------- contact ---------- */
.contact{background:var(--bone);color:var(--ink);padding-block:clamp(80px,10vw,140px)}
.contact .eyebrow{color:var(--smoke-d)}
.contact .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:start}
.contact h2{font-size:clamp(50px,7vw,116px);margin-top:18px}
.contact .lede{font-size:18px;color:#3a3c37;margin-top:20px;max-width:42ch}
.contact .lic{margin-top:30px;border-top:1px solid var(--ink)}
.contact .lic div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--paper-line);font-size:14px}
.contact .lic span{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke-d)}
.contact .lic b{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.04em}
.fbox{background:var(--ink);color:var(--bone);border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px;gap:8px;background:var(--ink-2);border-bottom:1px solid var(--line)}
.tabs button{all:unset;box-sizing:border-box;text-align:center;cursor:pointer;border-radius:999px;padding:14px 10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);transition:background .3s,color .3s}
.tabs button[aria-selected="true"]{background:var(--bone);color:var(--ink)}
.tabs button:focus-visible{outline:2px solid var(--ember-hi);outline-offset:2px}
form.q{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.q .full{grid-column:1/-1}
label{display:grid;gap:8px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}
input,select,textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:var(--bone);background:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:15px 16px;width:100%;min-width:0;transition:border-color .25s,box-shadow .25s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ember-hi);box-shadow:0 0 0 3px rgba(127,145,72,.18)}
textarea{min-height:120px;resize:vertical}
form.q .btn{width:100%}
.note{grid-column:1/-1;font-size:14px;color:var(--smoke);min-height:1.4em}
.note.ok{color:#b9c48a}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr}}
@media (max-width:560px){form.q{grid-template-columns:1fr;padding:22px}.fbox{border-radius:12px}}

/* ---------- footer ---------- */
footer{padding-top:clamp(60px,8vw,100px);padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
footer .flogo{width:190px;height:auto;color:var(--bone)}
footer h5{margin:0 0 16px;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
footer ul a{text-decoration:none;font-size:15px;transition:color .2s}
footer ul a:hover{color:var(--ember-hi)}
footer .soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
footer .soc a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--smoke);transition:color .2s,border-color .2s,background .2s}
footer .soc a:hover{color:#fff;background:var(--ember);border-color:var(--ember)}
footer .soc svg{width:16px;height:16px}
.giant{display:block;width:100%;height:auto;margin-top:clamp(50px,7vw,90px)}
.giant text{font-family:var(--display);font-weight:800}
footer .bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--smoke)}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr}footer .cols>div:first-child{grid-column:1/-1}}

/* ---------- mobile bar ---------- */
.mbar{display:none}
@media (max-width:760px){
  html{scroll-padding-top:70px}
  .top .wrap{font-size:10px;letter-spacing:.12em;gap:4px 16px}
  .top .wrap>span:first-child{display:none}
  .brand span{font-size:19px}
  .brand svg{width:28px;height:34px}
  .mbtn{padding:10px 14px}
  .card .btn,.course.endcap .btn{width:100%;align-self:stretch}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px var(--gr) calc(10px + env(safe-area-inset-bottom,0px)) var(--gl);background:rgba(9,9,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(228,229,224,.1);transform:translateY(110%);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .mbar.show{transform:none}
  .mbar .btn{padding:15px 10px;font-size:11.5px;letter-spacing:.12em}
}

.creds .grid>*,.next .grid>*,.contact .wrap>*,.faq .wrap>*{min-width:0}
@media (max-width:560px){
  .ac-head h2,.p-head h2,.creds h2,.faq h2,.contact h2{font-size:clamp(36px,11vw,54px)}
  .card h2{font-size:clamp(34px,10.5vw,50px)}
  .creed h2{font-size:clamp(40px,12.5vw,64px)}
  .manifesto p.big{font-size:clamp(26px,8vw,36px)}
}

/* ===== polish pass ===== */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.045;animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}
/* one grade for every photo */
.hero-photos img,.card .ph img,.course .ph img,.sol .th img,.cursor-img img{filter:grayscale(.35) sepia(.14) contrast(1.07) brightness(.86)}
.hero-photos figure:hover img,.course:hover .ph img{filter:grayscale(.05) sepia(.06) contrast(1.05) brightness(.95)}
/* intro curtain */
.intro{position:fixed;inset:0;z-index:100;background:var(--ink);display:grid;place-items:center;animation:lift .9s cubic-bezier(.7,0,.2,1) .75s forwards;pointer-events:none}
.intro svg{width:70px;height:84px;color:var(--bone);animation:crestIn .7s cubic-bezier(.2,.7,.2,1) both}
.intro::after{content:"";position:absolute;left:50%;top:calc(50% + 62px);width:120px;height:2px;margin-left:-60px;background:var(--line);overflow:hidden}
.intro i{position:absolute;left:50%;top:calc(50% + 62px);width:120px;height:2px;margin-left:-60px;background:var(--ember);transform-origin:left;animation:bar .7s ease-out both;z-index:1}
@keyframes crestIn{from{transform:scale(.85)}to{transform:none}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lift{to{transform:translateY(-100%);visibility:hidden}}
@media (prefers-reduced-motion:reduce){.intro{display:none}}
/* header hides while scrolling down */
.hdr{transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s}
.hdr.hide{transform:translateY(-100%)}
/* hero refinements */
.hero-meta .lics{display:flex;gap:6px 22px;flex-wrap:wrap}
.hero-meta .lics b{color:var(--bone);font-weight:600}
.scroll-cue{display:flex;align-items:center;gap:14px;margin-top:clamp(28px,4vw,46px);font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--smoke)}
.scroll-cue span{position:relative;width:1px;height:46px;background:var(--line);overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--ember-hi);animation:drip 1.8s cubic-bezier(.6,0,.3,1) infinite}
@keyframes drip{to{top:110%}}
@media (min-width:761px){.hero-photos{grid-template-columns:1.5fr 1fr 1fr}}
@media (max-width:760px){.hero-photos figcaption small{display:none}.hero-photos figure{aspect-ratio:1}.hero-photos figure:first-child{aspect-ratio:16/11}}
.hero-photos figure{border-radius:10px}
.hero-photos figcaption{display:flex;justify-content:space-between;align-items:flex-end;left:16px;right:16px;bottom:14px;gap:10px}
.hero-photos figcaption small{font-size:10px;letter-spacing:.2em;opacity:.75}
.hero-photos figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(9,9,10,.75));pointer-events:none}
.hero-photos figcaption{z-index:1}
/* manifesto signature */
.manifesto .sig{grid-column:2}
@media (max-width:860px){.manifesto .sig{grid-column:auto}}
.sig{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke)}
.sig svg{width:26px;height:31px;color:var(--ember-hi)}
.manifesto .w{color:rgba(228,229,224,.14)}
/* audience strip */
.who{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--paper-line);margin-top:clamp(40px,5vw,64px)}
.who>div{padding:26px 26px 26px 0;min-width:0}
.who>div+div{padding-left:26px;border-left:1px solid var(--paper-line)}
.who .lab{font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke-d);padding-right:40px;align-self:center}
.who h4{font-size:28px}
.who p{color:#484a44;font-size:15px;margin-top:6px}
@media (max-width:900px){.who{grid-template-columns:1fr}.who>div,.who>div+div{padding:20px 0;border-left:0}.who>div+div{border-top:1px solid var(--paper-line)}.who .lab{padding:18px 0 0}}
/* cards: number tags */
.card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(9,9,10,.55))}
.card .ph .big{z-index:1}
/* finale */
.finale{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.finale a{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:60px;min-height:clamp(300px,34vw,440px);padding:clamp(28px,4vw,56px);text-decoration:none}
.finale a+a{border-left:1px solid var(--line)}
.finale a::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ember);transform:translateY(101%);transition:transform .6s cubic-bezier(.7,0,.2,1)}
.finale a:nth-child(2)::before{background:var(--bone)}
.finale .k{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--smoke);transition:color .4s}
.finale a>*{min-width:0}
.finale h2{font-size:clamp(50px,6.6vw,112px);transition:color .4s}
.finale .row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.finale .row p{color:var(--smoke);max-width:30ch;transition:color .4s}
.finale .circ{flex:none;width:clamp(64px,6vw,86px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(228,229,224,.3);display:grid;place-items:center;transition:transform .5s,border-color .4s,background .4s}
.finale .circ svg{width:22px;height:22px}
@media (hover:hover){
  .finale a:hover::before{transform:none}
  .finale a:hover .k,.finale a:hover p{color:rgba(255,255,255,.8)}
  .finale a:hover .circ{transform:rotate(-45deg);border-color:#fff}
  .finale a:nth-child(2):hover{color:var(--ink)}
  .finale a:nth-child(2):hover .k,.finale a:nth-child(2):hover p{color:#3a3c37}
  .finale a:nth-child(2):hover .circ{border-color:var(--ink)}
}
@media (max-width:760px){.finale{grid-template-columns:1fr}.finale a+a{border-left:0;border-top:1px solid var(--line)}.finale a{min-height:0;gap:36px}.finale h2{font-size:clamp(40px,12vw,62px)}}
/* softer section separators */
.protection,.faq{border-top:0}
.protection::before,.faq::before{content:"";display:block;height:1px;max-width:1320px;margin:0 auto clamp(90px,11vw,150px);background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent);margin-top:calc(-1*clamp(90px,11vw,150px))}

.word-rule{display:flex;align-items:center;gap:18px;margin-top:clamp(10px,1.4vw,18px);font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--smoke)}
.word-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,#4f5d2f 30%,#4f5d2f 70%,transparent)}
.word-rule b{font-weight:600;white-space:nowrap}
.word.second{margin-top:clamp(10px,1.4vw,18px)}
@media (prefers-reduced-motion:reduce){.word .sheen{display:none}}
@media (max-width:760px){.word-rule{font-size:9.5px;letter-spacing:.22em;gap:10px}}

@media (max-width:760px){
  footer .cols>div:last-child{grid-column:1/-1}
  footer .cols>div:last-child ul{grid-template-columns:1fr 1fr;gap:12px 20px}
  footer .cols>div:last-child ul li:nth-child(-n+2){font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.03em;line-height:1.1}
  .giant{margin-top:40px}
  footer .bottom{flex-direction:column;gap:6px}
  .hero-meta{gap:6px 18px;font-size:11px;letter-spacing:.16em}
  .hero-meta .lics{gap:4px 16px}
  .overlay aside .btn{width:100%}
  .sol p{font-size:14.5px}
  .tabs button{font-size:11px;letter-spacing:.1em}
  /* tighter vertical rhythm: no more empty bands between sections */
  .hero{padding-top:18px;padding-bottom:36px}
  .scroll-cue{display:none}
  .manifesto{padding-block:48px 44px}
  .manifesto .sig{margin-top:24px}
  .stack{padding-bottom:20px}
  .card{margin-bottom:16px;border-radius:12px}
  .card .bd{gap:14px}
  .ac-head{padding-top:48px;padding-bottom:24px}
  .who{margin-top:28px}
  .steps{margin-top:36px}
  .ac-foot{padding-bottom:44px}
  .next{padding-block:44px}
  .protection{padding-block:44px}
  .protection::before,.faq::before{margin:-44px auto 44px}
  .p-head{margin-bottom:28px}
  .sol-wrap{margin-top:44px}
  .creed .wrap{padding-block:64px}
  .creds{padding-block:44px}
  .creds .grid{gap:28px}
  .faq{padding-block:44px}
  .contact{padding-block:48px}
  footer{padding-top:48px}
}

/* ===== multi-page additions (Gray, Black & OD Green) ===== */
html{scroll-padding-top:90px}
body{margin:0}
.hnav a.t{position:relative;padding-block:6px}
.hnav a.t::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#7f9148;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.hnav a.t:hover::after,.hnav a.t.on::after{transform:scaleX(1)}
.hnav a.t.on{color:var(--bone)}
.overlay nav a.on{color:var(--bone);-webkit-text-stroke-color:var(--bone)}

/* inner-page banner */
.phero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.phero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:50% 30%;filter:grayscale(.45) sepia(.12) contrast(1.05) brightness(.42)}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--ink) 0%,rgba(9,9,10,.82) 38%,rgba(9,9,10,.35) 75%,rgba(9,9,10,.55)),linear-gradient(0deg,var(--ink),transparent 45%)}
.phero .wrap{padding-block:clamp(64px,9vw,128px) clamp(44px,6vw,76px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px 60px;align-items:end}
.crumbs{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke)}
.crumbs a{text-decoration:none;color:var(--smoke);transition:color .2s}
.crumbs a:hover{color:var(--bone)}
.crumbs i{width:6px;height:6px;background:#7f9148;transform:rotate(45deg)}
.phero h1{font-size:clamp(54px,8.6vw,136px);line-height:.86;margin-top:22px}
.phero h1 em{font-style:normal;color:#8a9c52}
.phero .lede{color:#c3c5be;font-size:clamp(16.5px,1.35vw,19px);max-width:48ch;margin-top:22px}
.phero .side{display:grid;gap:12px;justify-items:start}
.phero .stat{display:flex;align-items:baseline;gap:12px;padding:14px 18px;border:1px solid rgba(228,229,224,.14);border-radius:12px;background:rgba(9,9,10,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);width:100%}
.phero .stat b{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;letter-spacing:.02em}
.phero .stat span{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke)}
@media (max-width:900px){.phero .wrap{grid-template-columns:1fr}.phero .side{grid-template-columns:1fr 1fr;width:100%}}
@media (max-width:760px){.phero .wrap{padding-block:46px 34px}.phero h1{font-size:clamp(46px,14vw,72px)}.phero .stat{padding:12px 14px}.phero .stat b{font-size:24px}}

/* sections that open a page don't need the separator line */
.page-protection .protection::before,.page-faq .faq::before{display:none}
.page-protection .protection,.page-faq .faq{padding-top:clamp(60px,8vw,110px)}
.page-training .academy .ac-head{padding-top:clamp(60px,8vw,110px)}

/* homepage: "explore" grid linking to each page */
.explore{padding-block:clamp(70px,9vw,130px);border-top:1px solid var(--line)}
.explore .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,48px)}
.explore h2{font-size:clamp(44px,6vw,92px);margin-top:16px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tile{position:relative;overflow:hidden;isolation:isolate;border-radius:14px;border:1px solid var(--line);min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;text-decoration:none;background:var(--ink-2)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.4) sepia(.12) brightness(.55);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(9,9,10,.92))}
.tile .k{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#a8b86c}
.tile h3{font-size:clamp(30px,2.6vw,40px);margin-top:10px}
.tile p{color:#c3c5be;font-size:14.5px;margin-top:8px}
.tile .go{margin-top:16px;display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.tile .go svg{width:14px;height:14px;transition:transform .3s}
.tile:hover img{transform:scale(1.05);filter:grayscale(.1) sepia(.06) brightness(.62)}
.tile:hover .go svg{transform:translateX(4px)}
@media (max-width:1100px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile{min-height:240px}}

/* public schedule page */
.sched-list{padding-block:clamp(56px,7vw,100px)}
.sched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.sched-grid .course{flex:none;background:var(--ink-2);border-color:var(--line);color:var(--bone)}
.sched-grid .course p{color:#c3c5be}
.sched-grid .course dl{border-top-color:var(--line)}
.sched-grid .course dl div{border-bottom-color:var(--line)}
.sched-grid .course dt{color:var(--smoke)}
.sched-grid .course .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.sched-grid .course .price{font-family:var(--display);font-weight:800;font-size:30px}
.sched-grid .course .btn{padding:13px 20px;font-size:12px}
.sched-grid .full{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#d9a441}
.empty-state{border:1px dashed var(--line);border-radius:14px;padding:40px;text-align:center;color:var(--smoke)}
.empty-state b{display:block;color:var(--bone);font-size:18px;margin-bottom:6px}
.flash-site{margin:20px 0 0;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--ink-2);font-size:15px}

/* contact page extras */
.contact-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,60px)}
.contact-meta div{border:1px solid var(--paper-line);border-radius:12px;padding:18px 20px}
.contact-meta span{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke-d)}
.contact-meta b{display:block;font-family:var(--display);font-size:22px;font-weight:700;margin-top:6px}
@media (max-width:760px){.contact-meta{grid-template-columns:1fr}}

/* new crest + seal */
footer .flogo{width:170px;height:170px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
.brand svg{width:34px;height:40px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
@media (max-width:760px){.brand svg{width:30px;height:35px}}

/* =====================================================================
   v3: calm + compact. No motion except the opening intro on the home page.
   ===================================================================== */
*:not(.intro, .intro *), *:not(.intro, .intro *)::before, *:not(.intro, .intro *)::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html{scroll-behavior:auto}
.nointro .intro{display:none}
.rv{transform:none!important}
.hdr.hide{transform:none!important}
body::after{display:none}                 /* film grain overlay */
.hnav a.t::after{transform:scaleX(0)}
.hnav a.t:hover::after,.hnav a.t.on::after{transform:scaleX(1)}
.btn:hover svg,.tile:hover .go svg{transform:none}
.tile:hover img{transform:none}
.hero-meta .live::before{box-shadow:none}

/* shared compact pieces */
.x-sec{padding-block:clamp(44px,5.5vw,72px)}
.x-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 40px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,32px)}
.x-head h2{font-size:clamp(34px,3.6vw,54px);margin-top:12px;line-height:.95}
.x-sub{color:#c3c5be;max-width:52ch;font-size:15.5px;margin:0}
.x-link{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a8b86c;text-decoration:none}
.x-link:hover{color:var(--bone);text-decoration:underline;text-underline-offset:4px}
.x-link svg{width:14px;height:14px}

/* inner-page banner: shorter */
.phero .wrap{padding-block:clamp(40px,5vw,72px) clamp(30px,3.6vw,48px)}
.phero h1{font-size:clamp(46px,6.2vw,96px);margin-top:16px}
.phero .lede{margin-top:16px}
.phero .stat{padding:11px 16px}
.phero .stat b{font-size:24px}

/* home hero: fits on one screen */
.x-hero{padding-top:clamp(20px,2.6vw,34px);padding-bottom:clamp(30px,3.6vw,48px)}
.x-hero .x-words{max-width:min(100%,calc((100vh - 400px) * 2.35));margin-inline:auto}
.x-hero .word{margin-top:clamp(14px,2vw,24px)}
.x-hero .word.second{margin-top:4px}
.x-hero .hero-low{grid-template-columns:1fr 1fr;margin-top:clamp(20px,2.6vw,34px)}
.x-hero .hero-low h1{font-size:clamp(32px,3.6vw,54px)}

/* home quick-access tiles */
.x-quick{padding-block:clamp(44px,5vw,68px);border-top:1px solid var(--line)}
.x-quick .tile{min-height:clamp(230px,20vw,290px)}
@media (max-width:560px){.x-quick .tiles{grid-template-columns:1fr 1fr;gap:10px}.x-quick .tile{min-height:190px;padding:14px}.x-quick .tile h3{font-size:24px}.x-quick .tile p{display:none}.x-quick .tile .go{margin-top:8px;font-size:11px;letter-spacing:.1em}}

/* next class strip */
.x-next{padding-block:clamp(36px,4.5vw,60px);border-top:1px solid var(--line)}
.x-next-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,3.4vw,48px);align-items:center;border:1px solid var(--line);border-radius:16px;padding:clamp(20px,2.6vw,32px);background:linear-gradient(135deg,rgba(79,93,47,.16),rgba(9,9,10,0) 60%),var(--ink-2)}
.x-date{display:grid;justify-items:center;line-height:.85;font-family:var(--display);text-transform:uppercase;padding-right:clamp(20px,3vw,40px);border-right:1px solid var(--line)}
.x-date b{font-size:clamp(64px,6.4vw,96px);font-weight:800}
.x-date span{font-size:24px;font-weight:700;color:#8a9c52;margin-top:6px}
.x-date small{font-family:var(--body);font-size:10.5px;font-weight:600;letter-spacing:.2em;color:var(--smoke);margin-top:8px}
.x-next-main h2{font-size:clamp(28px,2.8vw,40px);margin-top:10px}
.x-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.x-facts span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}
.x-facts b{display:block;font-family:var(--display);font-size:21px;font-weight:700;margin-top:3px}
.x-next-side{display:grid;gap:12px;justify-items:stretch;min-width:230px}
.x-clock{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.x-clock div{text-align:center;border:1px solid var(--line);border-radius:8px;padding:8px 4px;background:var(--ink)}
.x-clock b{display:block;font-family:var(--display);font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.x-clock span{font-size:9.5px;letter-spacing:.2em;color:var(--smoke);font-weight:600;text-transform:uppercase}
.x-next-side .x-link{justify-self:center}
@media (max-width:980px){.x-next-card{grid-template-columns:auto minmax(0,1fr)}.x-next-side{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center}.x-next-side .x-link{grid-column:1/-1}}
@media (max-width:620px){.x-next-card{grid-template-columns:1fr}.x-date{grid-template-columns:auto auto;justify-content:start;align-items:end;gap:4px 12px;border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:14px;justify-items:start}.x-date b{grid-row:span 2;font-size:64px}.x-date span{margin:0}.x-date small{margin:0}.x-facts{grid-template-columns:1fr 1fr}.x-next-side{grid-template-columns:1fr}.x-next-side .btn{width:100%}}

/* training: who-we-train strip + course cards */
.x-who{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:12px 26px;align-items:start;padding:18px 22px;border:1px solid var(--line);border-radius:14px;margin-bottom:20px;background:var(--ink-2)}
.x-who .lab{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#a8b86c;padding-top:3px}
.x-who b{display:block;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.x-who span{display:block;color:var(--smoke);font-size:14px;margin-top:2px}
.x-who div span{color:#b7b9b1}
.x-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.x-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--ink-2)}
.x-card .ph{position:relative;height:clamp(140px,12vw,170px);overflow:hidden}
.x-card .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) sepia(.14) contrast(1.07) brightness(.8)}
.x-card .ph .n{position:absolute;left:14px;top:12px;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.1em;background:rgba(9,9,10,.7);padding:3px 9px;border-radius:6px}
.x-card .bd{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.x-card h3{font-size:26px;line-height:1}
.x-card p{color:#c3c5be;font-size:14.5px;margin:0}
.x-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.x-card .meta span{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:#c3c5be}
.x-card .x-link{margin-top:4px}
.x-cta{background:linear-gradient(160deg,rgba(79,93,47,.45),rgba(20,23,14,.9));border-color:rgba(127,145,72,.4)}
.x-cta .bd{justify-content:center;padding:26px}
.x-cta .cr{width:46px;height:54px}
.x-cta .btn{align-self:flex-start;margin-top:8px;padding:14px 22px}
@media (max-width:1000px){.x-cards{grid-template-columns:1fr 1fr}.x-who{grid-template-columns:1fr 1fr 1fr}.x-who .lab{grid-column:1/-1}}
@media (max-width:620px){.x-cards{grid-template-columns:1fr}.x-who{grid-template-columns:1fr;gap:10px}
  .x-card{flex-direction:row}.x-card .ph{width:108px;height:auto;flex:none}.x-card .bd{padding:14px 16px;gap:6px}.x-card h3{font-size:21px}.x-card p{font-size:13.5px}.x-card .meta span{font-size:10px;padding:4px 8px}
  .x-cta{flex-direction:column}.x-cta .btn{width:100%;align-self:stretch}}

/* protection: tighter levels + service cards */
.x-levels{margin-top:0}
.x-levels .lv-show{padding:clamp(22px,2.6vw,34px)}
.x-svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.x-svc-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:250px;padding:18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:var(--ink-2)}
.x-svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.45) sepia(.12) brightness(.42)}
.x-svc-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,rgba(9,9,10,.94))}
.x-svc-card .i{position:absolute;top:14px;left:16px;font-family:var(--display);font-weight:800;color:#a8b86c}
.x-svc-card h3{font-size:24px;line-height:1}
.x-svc-card p{font-size:13.5px;color:#c3c5be;margin:0}
.x-svc-card .go{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a8b86c}
.x-svc-card .go svg{width:13px;height:13px}
.x-svc-card:hover{border-color:#7f9148}
@media (max-width:1100px){.x-svc{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.x-svc{grid-template-columns:1fr 1fr;gap:10px}.x-svc-card{min-height:180px;padding:14px}.x-svc-card h3{font-size:19px}.x-svc-card p{display:none}}

/* about */
.x-about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(30px,5vw,80px);align-items:center}
.x-state{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(28px,3vw,44px);line-height:1.02;margin:16px 0 0}
.x-state em{font-style:normal;color:#8a9c52}
.x-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.x-values div{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--ink-2)}
.x-values b{display:block;font-family:var(--display);font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.x-values span{display:block;color:#b7b9b1;font-size:14px;margin-top:6px}
.x-creds{display:grid;gap:10px;justify-items:center}
.x-emblem{width:min(300px,100%);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5));margin-bottom:10px}
.x-creds .lic{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding:10px 2px}
.x-creds .lic span{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}
.x-creds .lic b{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:.04em}
@media (max-width:900px){.x-about{grid-template-columns:1fr}.x-values{grid-template-columns:1fr}.x-emblem{width:220px}}

/* tighter FAQ / contact / schedule sections */
.page-faq .faq{padding-block:clamp(44px,5vw,72px)}
.contact{padding-block:clamp(44px,5vw,72px)}
.sched-list{padding-block:clamp(36px,4.5vw,60px)}

/* closing CTA band: slimmer */
.finale a{min-height:0;gap:26px;padding:clamp(24px,3vw,40px)}
.finale h2{font-size:clamp(36px,4vw,60px)}
.finale a br{display:none}
.finale a:hover::before{transform:translateY(101%)}
.finale a:hover{background:rgba(79,93,47,.18)}
@media (max-width:760px){.finale{grid-template-columns:1fr}.finale a+a{border-left:0;border-top:1px solid var(--line)}}

/* footer: compact, no giant wordmark */
footer{padding-top:clamp(40px,5vw,60px)}
footer .giant{display:none}
footer .flogo{width:130px;height:130px}
footer .bottom{margin-top:clamp(28px,4vw,44px)}
@media (max-width:760px){footer .cols{grid-template-columns:1fr 1fr;gap:26px}footer .cols>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:18px}footer .flogo{width:96px;height:96px}footer .soc{margin-top:0}}
.x-state{font-size:clamp(24px,2.4vw,36px)}
.x-hero .x-words{max-width:min(100%,calc((100vh - 440px) * 2.2))}
footer .x-fcols{grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:30px}
footer .x-fcols li{font-size:14.5px;color:#c3c5be}
@media (max-width:900px){footer .x-fcols{grid-template-columns:1fr 1fr 1fr}footer .x-fcols>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:18px}footer .soc{margin-top:0}}
@media (max-width:620px){footer .x-fcols{grid-template-columns:1fr 1fr;gap:24px}footer .flogo{width:88px;height:88px}}
.phero .wrap>*{min-width:0}
@media (max-width:760px){
  .x-hero .hero-low{grid-template-columns:1fr;gap:16px}
  .x-hero .hero-low h1{font-size:34px}
  .phero .side{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .phero .stat{flex-direction:column;gap:2px}
  .finale h2{font-size:32px}
  .finale a{gap:16px}
  .x-who{padding:14px 16px}
  .x-who b{font-size:17px}
  .x-who span{font-size:13px}
}

/* contact: dark like the rest of the site (was a light section) */
.contact{background:var(--ink);color:var(--bone);border-top:0}
.contact .eyebrow{color:var(--smoke)}
.contact h2{font-size:clamp(40px,4.6vw,72px)}
.contact .lede{color:#c3c5be;font-size:16.5px}
.contact .lede a{color:#a8b86c!important}
.contact .lic{border-top:1px solid var(--line)}
.contact .lic div{border-bottom:1px solid var(--line)}
.contact .lic span{color:var(--smoke)}
.fbox{background:var(--ink-2);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.tabs{background:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ember);color:#fff}
.tabs button:not([aria-selected="true"]):hover{color:var(--bone)}
form.q input,form.q select,form.q textarea{background:var(--ink)}
.sched-grid{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.sched-grid .course h3{font-size:24px}

/* v4: grey seal brand + motto */
.x-brand{gap:12px}
.x-brand .mark{width:52px!important;height:52px!important;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}
.x-brand .bt{display:grid;gap:5px;font-family:var(--body);text-transform:none;letter-spacing:0;font-size:inherit;font-weight:400}
.x-brand .bt b{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:.07em;text-transform:uppercase;line-height:1;color:#d4d6cf}
.x-brand .bt small{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9b9e95;line-height:1}
.x-brand .bt small em{font-style:normal;color:#8a9c52}
@media (max-width:1180px){.x-brand .bt small{display:none}}
@media (max-width:760px){.x-brand .mark{width:42px!important;height:42px!important}.x-brand .bt b{font-size:19px}.x-brand .bt small{display:block;font-size:8.5px;letter-spacing:.1em}}
.intro svg{width:120px!important;height:120px!important}
.hdr .hnav{gap:22px}

/* hero tagline right under the big wordmark */
.x-tagline{text-align:center;margin:clamp(14px,1.8vw,22px) auto 0;max-width:62ch;font-size:clamp(16px,1.45vw,21px);color:#c9cbc4;font-weight:500}
.x-hero .hero-low{grid-template-columns:1fr auto;align-items:center;padding-top:clamp(18px,2.2vw,28px);border-top:1px solid var(--line)}
.x-hero .hero-low .ctas{margin-top:0}
@media (max-width:760px){.x-hero .hero-low{grid-template-columns:1fr}.x-tagline{text-align:left;font-size:16px}}

/* home: two division tiles + quick links */
.x-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.x-big{min-height:clamp(260px,24vw,340px)!important;padding:clamp(22px,2.4vw,32px)}
.x-big h3{font-size:clamp(34px,3.4vw,52px)!important}
.x-big p{font-size:16px!important;color:#d4d6cf!important;max-width:40ch}
.x-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.x-quicklinks a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--ink-2);text-decoration:none}
.x-quicklinks a:hover{border-color:#7f9148}
.x-quicklinks b{font-family:var(--display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.x-quicklinks span{grid-column:1;font-size:13.5px;color:var(--smoke)}
.x-quicklinks svg{grid-column:2;grid-row:1/3;width:16px;height:16px;color:#a8b86c}
@media (max-width:760px){.x-two{grid-template-columns:1fr}.x-big{min-height:220px!important}.x-quicklinks{grid-template-columns:1fr;gap:8px}.x-quicklinks a{padding:13px 16px}}
.x-brand .bt b,.x-brand .bt small{white-space:nowrap}
@media (max-width:760px){
  .x-brand{gap:9px;min-width:0}
  .x-brand .bt b{font-size:18px;letter-spacing:.05em}
  .x-brand .bt small{font-size:8px;letter-spacing:.05em}
  #mlabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mbtn{padding-inline:14px!important}
}
@media (max-width:360px){.x-brand .bt small{display:none}}
/* Shared grey wolf seals; retain green only in the brand motto. */
svg:has(use[href="#logo"]),svg:has(use[href="#crest"]){filter:grayscale(1)}
.x-brand .bt b{color:#d4d4d4}
.x-brand .bt small{color:#a0a0a0}
.x-brand .bt small em{color:#8a9c52}
.lv-photo{display:block;width:100%;height:clamp(200px,23vw,310px);object-fit:cover;object-position:center 40%;border-radius:10px}
/* Keep the requested uniform colors visible on service photography. */
.x-svc-card img,.tile[href="/protection"] img{filter:brightness(.68)}
.tile[href="/protection"]:hover img{filter:brightness(.76)}
@media (min-width:761px) and (max-width:1180px){.x-brand .bt small{display:block;font-size:8px;letter-spacing:.04em}.hdr .hnav{gap:12px}}
@media (max-width:360px){.x-brand .bt small{display:block;white-space:normal;font-size:7px;line-height:1.4;max-width:180px}}
/* Show the full branded uniforms; keep card copy below the photographs. */
.x-two .x-big{display:block;padding:0;min-height:0!important}
.x-two .x-big::after{display:none}
.x-two .x-big img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:none;transform:none;z-index:auto}
.x-tile-copy{padding:clamp(22px,2.4vw,32px)}
.x-two .x-big:hover img{filter:none;transform:none}
/* Homepage division cards: balanced photographs and padded, aligned copy. */
.x-two .x-big{display:flex;flex-direction:column;justify-content:flex-start}
.x-two .x-big img{height:clamp(230px,23vw,320px);aspect-ratio:auto;object-position:center 35%!important;flex:none}
.x-tile-copy{display:flex;flex-direction:column;flex:1;padding:26px 28px 28px}
.x-two .x-big h3{font-size:clamp(30px,2.8vw,44px)!important;line-height:1.05}
.x-two .x-big p{line-height:1.65;margin-bottom:20px}
.x-two .x-big .go{margin-top:auto;padding-top:4px}
@media(max-width:760px){.x-two .x-big img{height:auto;aspect-ratio:3/2}.x-tile-copy{padding:22px}.x-two .x-big h3{font-size:34px!important}}

/* Training categories: plain labels without dark tabs. */
.page-training .x-who{background:transparent;border:0;padding-inline:0}
.page-training .x-card .meta{display:none}
.contact .tabs{grid-template-columns:1fr; background:transparent}
.contact-details{margin:20px 0;overflow-wrap:anywhere}
.contact-details p{margin:8px 0}

/* Contact: clear direct channels, focused inquiry form, separate account signup. */
.contact-intro{padding:36px 0 48px;background:radial-gradient(ellipse at 90% 0,rgba(127,145,72,.13),transparent 60%),var(--ink);border-bottom:1px solid var(--line)}
.contact-intro .crumbs{margin-bottom:36px}
.contact-intro-row{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end}
.contact-intro h1{font-size:clamp(48px,6.2vw,88px);line-height:.98;margin-top:18px}
.contact-intro h1 em{color:#a8b86c;font-style:normal}
.contact-intro-row>p{font-size:17px;line-height:1.8;color:#b7b9b1;max-width:39ch;padding-bottom:4px}
.contact-redesign{padding-block:52px 72px}
.contact-redesign>.wrap{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,76px);align-items:start}
.contact-redesign .contact-sidebar h2{font-size:clamp(34px,3.4vw,48px);line-height:1.08;margin:16px 0}
.contact-summary{color:#b7b9b1;line-height:1.75;font-size:15px;max-width:44ch}
.contact-channels{margin:24px 0 30px;border-top:1px solid var(--line)}
.contact-channels>a{display:flex;align-items:center;gap:14px;padding:20px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.channel-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;background:rgba(127,145,72,.13);border:1px solid rgba(168,184,108,.23);border-radius:50%;font-size:22px;color:#a8b86c}
.contact-channels>a>span:nth-child(2){min-width:0}
.contact-channels small{display:block;color:#a3a69a;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px}
.contact-channels b{font-size:clamp(14px,1.45vw,19px);font-weight:500;overflow-wrap:anywhere}
.channel-arrow{margin-left:auto;color:#a8b86c;font-size:21px}
.contact-channels a:hover b{color:#b9c48a}
.contact-account{padding:24px;border:1px solid rgba(168,184,108,.25);border-radius:14px;background:linear-gradient(130deg,rgba(127,145,72,.12),rgba(127,145,72,.025))}
.contact-account h3{font-size:28px;margin:12px 0 8px}
.contact-account p{color:#b7b9b1;line-height:1.7;font-size:14px;margin-bottom:20px}
.contact-account .btn{width:100%}
.contact-login{display:block;text-align:center;font-size:12px;color:#b7b9b1;margin-top:16px;text-underline-offset:4px}
.contact-licenses{margin-top:24px;color:#92968a}
.contact-licenses>span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.contact-licenses p{font-size:13px;margin-top:7px;letter-spacing:.06em}
.contact-licenses i{margin:0 10px;font-style:normal;color:#a8b86c}
.contact-redesign .contact-form-card{background:#141614;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.contact-form-heading{padding:30px 30px 22px}
.contact-redesign .contact-form-heading h2{font-size:36px;margin:12px 0 8px;line-height:1.1}
.contact-form-heading>p{font-size:14px;line-height:1.6;color:#aeb2a6}
.contact-redesign .tabs{margin:0 30px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#0c0e0c;border:1px solid var(--line);border-radius:10px}
.contact-redesign .tabs button{border-radius:6px;letter-spacing:.02em;text-transform:none;font-size:12px;padding:12px 8px;line-height:1.4}
.contact-redesign .tabs button[aria-selected="true"]{background:#87994e;color:#0b1006}
.contact-redesign form.q{padding:24px 30px 20px;gap:20px 16px}
.contact-redesign label{font-size:10px;letter-spacing:.1em;color:#c5c9bd}
.contact-redesign input,.contact-redesign select,.contact-redesign textarea{background:#0e100e;border-color:#33372e;padding:13px 14px;border-radius:8px;font-size:14px;line-height:1.5}
.contact-redesign input::placeholder{color:#787e70}
.contact-redesign textarea{min-height:118px}
.contact-redesign .contact-form-note{font-size:12px;color:#9ca391;line-height:1.7;text-align:center;margin-top:-6px}
.contact-form-note a{color:#c1cc9e;text-underline-offset:3px}
.contact-redesign .note:empty{display:none}
.contact-redesign a:focus-visible{outline:2px solid #a8b86c;outline-offset:5px}
@media(max-width:900px){.contact-intro-row{grid-template-columns:1fr;gap:22px}.contact-intro-row>p{max-width:55ch}.contact-redesign>.wrap{grid-template-columns:1fr;gap:32px}.contact-sidebar{max-width:none}.contact-channels b{font-size:18px}}
@media(max-width:560px){.contact-intro{padding:24px 0 32px}.contact-intro .crumbs{margin-bottom:24px}.contact-intro h1{font-size:46px}.contact-redesign{padding-block:32px 48px}.contact-form-heading{padding:24px 20px 20px}.contact-redesign .tabs{margin-inline:20px}.contact-redesign form.q{padding:22px 20px;grid-template-columns:1fr}.contact-redesign .tabs button{font-size:11px}.contact-channels b{font-size:15px}.contact-account{padding:20px}}

/* Mobile contact: direct details first, inquiry form next, account signup below. */
@media(max-width:760px){
  .page-contact .contact-intro{padding:22px 0 28px}
  .page-contact .contact-intro .crumbs{margin-bottom:24px;font-size:11px}
  .page-contact .contact-intro-row{gap:18px}
  .page-contact .contact-intro .eyebrow{font-size:10px;letter-spacing:.17em}
  .page-contact .contact-intro h1{font-size:clamp(36px,10vw,60px);line-height:1.04;letter-spacing:0;margin-top:14px;text-wrap:initial}
  .page-contact .contact-intro-row>p{font-size:15px;line-height:1.7;max-width:42ch}
  .page-contact .contact-redesign{padding:28px 0 40px}
  .page-contact .contact-redesign>.wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
  .page-contact .contact-sidebar{display:contents}
  .page-contact .contact-direct{order:1;min-width:0}
  .page-contact .contact-form-card{order:2;min-width:0;border-radius:16px;box-shadow:none}
  .page-contact .contact-account{order:3;min-width:0;padding:22px;margin:0}
  .page-contact .contact-licenses{order:4;margin:0;text-align:center}
  .page-contact .contact-sidebar .eyebrow{font-size:10px;letter-spacing:.14em;gap:9px}
  .page-contact .contact-sidebar h2{font-size:34px;line-height:1.08;margin:12px 0}
  .page-contact .contact-summary{font-size:14px;line-height:1.7}
  .page-contact .contact-channels{display:grid;gap:10px;border:0;margin:20px 0 0}
  .page-contact .contact-channels>a{border:1px solid #30362a;border-radius:12px;background:#12150f;padding:16px 14px;gap:12px;min-height:80px}
  .page-contact .channel-icon{flex-basis:36px;height:36px;font-size:20px}
  .page-contact .contact-channels small{font-size:10px;letter-spacing:.1em}
  .page-contact .contact-channels b{font-size:clamp(13px,3.6vw,17px);line-height:1.5;display:block}
  .page-contact .channel-arrow{font-size:18px;flex:none}
  .page-contact .contact-form-heading{padding:24px 20px 20px}
  .page-contact .contact-form-heading .eyebrow{font-size:10px;letter-spacing:.14em;gap:9px}
  .page-contact .contact-form-heading h2{font-size:32px;line-height:1.1;margin-top:12px}
  .page-contact .contact-form-heading>p{font-size:14px;line-height:1.65}
  .page-contact .contact-redesign .tabs{margin:0 16px;gap:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .page-contact .contact-redesign .tabs button{font-size:12px;min-height:52px;padding:10px 7px;line-height:1.4;display:flex;align-items:center;justify-content:center;text-align:center}
  .page-contact .contact-redesign form.q{grid-template-columns:minmax(0,1fr);padding:22px 20px 20px;gap:20px}
  .page-contact .contact-redesign label{font-size:11px;letter-spacing:.065em;gap:9px;min-width:0}
  .page-contact .contact-redesign input,.page-contact .contact-redesign select,.page-contact .contact-redesign textarea{font-size:16px;min-height:52px;padding:14px 12px;max-width:100%;scroll-margin-top:100px}
  .page-contact .contact-redesign select{padding-right:26px;text-overflow:ellipsis}
  .page-contact .contact-redesign textarea{min-height:148px;line-height:1.6}
  .page-contact .contact-redesign .btn{min-height:54px;padding:14px 16px;font-size:12px;letter-spacing:.07em;white-space:normal;line-height:1.5;text-align:center}
  .page-contact .contact-redesign form.q .btn svg{flex:none}
  .page-contact .contact-redesign .contact-form-note{font-size:12px;line-height:1.8;margin:0;text-align:left}
  .page-contact .contact-login{font-size:13px;min-height:44px;display:flex;align-items:center;justify-content:center;margin-top:8px}
  .page-contact .contact-account h3{font-size:28px;line-height:1.15}
  .page-contact .contact-account .eyebrow{font-size:10px;letter-spacing:.14em}
}
@media(max-width:380px){
  .page-contact .contact-redesign .tabs{grid-template-columns:minmax(0,1fr)}
  .page-contact .contact-redesign .tabs button{min-height:46px}
  .page-contact .contact-channels>a{gap:10px;padding:14px 12px}
  .page-contact .channel-arrow{display:none}
  .page-contact .contact-form-heading,.page-contact .contact-redesign form.q{padding-left:16px;padding-right:16px}
}

/* About: an editorial story, with readable measures and responsive image framing. */
.about-hero{padding:32px 0 0;background:radial-gradient(ellipse at 10% 30%,rgba(127,145,72,.1),transparent 60%)}
.about-hero .crumbs{margin-bottom:32px}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.about-hero-copy{padding-block:20px 28px}
.about-hero h1{font-size:clamp(52px,6vw,88px);line-height:1.02;margin:20px 0 24px;text-wrap:initial}
.about-hero h1 em,.about-mission h2 em{color:#a8b86c;font-style:normal}
.about-hero-copy>p{font-size:17px;line-height:1.8;color:#b7b9b1}
.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.about-actions .btn{font-size:11px;letter-spacing:.1em;padding:16px 22px}
.about-hero-image{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line)}
.about-hero-image img{width:100%;height:460px;object-fit:cover;object-position:45% 35%}
.about-hero-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85));pointer-events:none}
.about-hero-image>div{position:absolute;z-index:1;bottom:26px;left:28px;right:20px}
.about-hero-image span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#c8cfb9}
.about-hero-image b{font-family:var(--display);font-size:34px;text-transform:uppercase;line-height:1.2}
.about-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;border-block:1px solid var(--line)}
.about-pillars>span{padding:20px 24px;font-family:var(--display);font-size:25px;text-transform:uppercase;display:flex;align-items:center;gap:18px;border-right:1px solid var(--line)}
.about-pillars>span:first-child{padding-left:0}.about-pillars>span:last-child{border-right:0}
.about-pillars i{font:500 11px var(--body);font-style:normal;color:#a8b86c}
.about-section{padding-block:clamp(48px,6vw,84px)}
.about-story-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(36px,7vw,100px);align-items:start}
.about-story h2,.about-section-heading h2{font-size:clamp(38px,4.3vw,60px);line-height:1.02;margin:18px 0 24px}
.about-story>p,.about-mission-copy>p,.about-section-heading>p{font-size:16px;line-height:1.9;color:#bec2b7;max-width:65ch}
.about-credentials{padding:28px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#191d15,#10120f);display:flex;flex-direction:column;align-items:center}
.about-credentials>svg{width:180px;height:180px;max-width:100%;margin-bottom:22px}
.about-credentials>.eyebrow{font-size:9px;letter-spacing:.1em;text-align:center;line-height:1.8}
.about-credentials dl{width:100%;margin:20px 0 0}
.about-credentials dl>div{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.about-credentials dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9ba38e}
.about-credentials dd{margin:0;font:600 23px var(--display);white-space:nowrap}
.about-mission{padding-block:clamp(44px,6vw,76px);background:#141811;border-block:1px solid #303829}
.about-mission-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,6vw,88px);align-items:start}
.about-mission h2{font-size:clamp(36px,4vw,56px);line-height:1.08;margin-top:18px}
.about-pack-mark svg{width:100px;height:100px;opacity:.25;margin-top:28px}
.about-mission-copy{border-left:1px solid #3c4830;padding-left:32px}
.about-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,6vw,88px);align-items:start}
.about-section-heading h2{margin-bottom:0}
.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.about-values article{border:1px solid var(--line);border-top:2px solid #6f8041;padding:28px;border-radius:12px;background:#11130f}
.about-value-number{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9ea98a}
.about-values h3{font-size:32px;line-height:1.15;margin:22px 0 12px}
.about-values p{font-size:14px;line-height:1.8;color:#b7bdb0}
@media(max-width:1000px){.about-hero h1{font-size:clamp(44px,6vw,68px)}.about-hero-image img{height:400px}.about-story-grid{gap:32px}.about-credentials{padding:22px}.about-values article{padding:22px}}
@media(max-width:760px){
 .about-hero{padding-top:22px}.about-hero .crumbs{margin-bottom:22px;font-size:11px}
 .about-hero-grid,.about-story-grid,.about-mission-grid,.about-section-heading{grid-template-columns:minmax(0,1fr);gap:28px}
 .about-hero-copy{padding:0}.about-hero-copy .eyebrow{font-size:10px;letter-spacing:.14em}
 .about-hero h1{font-size:clamp(40px,10.5vw,68px);line-height:1.04;margin:16px 0 18px}
 .about-hero-copy>p{font-size:15px;line-height:1.75}
 .about-actions{gap:10px;margin-top:22px}.about-actions .btn{flex:1;min-height:50px;padding:14px 12px;font-size:10px;letter-spacing:.06em;line-height:1.5}
 .about-hero-image img{height:auto;aspect-ratio:4/3;object-position:45% 35%}.about-hero-image{border-radius:12px}
 .about-hero-image>div{left:20px;bottom:18px}.about-hero-image b{font-size:28px}
 .about-pillars{margin-top:24px}.about-pillars>span{padding:16px 10px;gap:8px;font-size:20px;justify-content:center}.about-pillars>span:first-child{padding-left:10px}.about-pillars i{font-size:9px}
 .about-section{padding-block:36px}.about-story h2,.about-section-heading h2{font-size:38px;margin:14px 0 20px}
 .about-story>p,.about-mission-copy>p,.about-section-heading>p{font-size:15px;line-height:1.85}
 .about-credentials{padding:24px 20px}.about-credentials>svg{width:130px;height:130px;margin-bottom:16px}.about-credentials dl{margin-top:16px}
 .about-mission{padding-block:36px}.about-mission h2{font-size:36px;margin-top:14px}.about-pack-mark{display:none}
 .about-mission-copy{border-left:2px solid #657a3b;padding-left:18px}
 .about-section-heading{gap:4px}.about-values{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:26px}
 .about-values article{padding:22px}.about-values h3{font-size:28px;margin:14px 0 10px}
 .page-about .eyebrow{font-size:10px;letter-spacing:.15em}
}
@media(max-width:360px){.about-actions{flex-direction:column}.about-pillars>span{font-size:18px;gap:6px}.about-pillars i{display:none}.about-credentials dd{font-size:21px}}

/* Protection: visible service choices and spacious image-led coverage cards. */
.protection-hero{padding:30px 0 0;background:radial-gradient(ellipse at 0 20%,rgba(127,145,72,.13),transparent 65%)}
.protection-hero .crumbs{margin-bottom:30px}
.protection-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.protection-hero h1{font-size:clamp(46px,5.4vw,78px);line-height:1.04;margin:20px 0;text-wrap:initial}
.protection-hero h1 em{font-style:normal;color:#a8b86c}
.protection-hero p{max-width:47ch;font-size:16px;line-height:1.8;color:#bcc2b3;margin-bottom:26px}
.protection-hero .btn{font-size:11px;letter-spacing:.1em}
.protection-hero-photo{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line)}
.protection-hero-photo img{height:440px;width:100%;object-fit:cover;object-position:45% 30%}
.protection-hero-photo span{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.9));font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.protection-trust{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:34px;padding:20px 0;border-block:1px solid var(--line);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a9b299}
.page-protection .x-sec{padding-block:56px 72px}
.page-protection .x-head{align-items:start;gap:28px;margin-bottom:28px}
.page-protection .x-head h2{font-size:clamp(36px,4vw,56px);line-height:1.08;margin-top:14px}
.page-protection .x-sub{font-size:14px;line-height:1.85;max-width:57ch;color:#afb7a5}
.page-protection .x-levels{display:block;border-radius:16px;background:#131610}
.page-protection .lv-pick{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-right:0;border-bottom:1px solid #343b2b;overflow:visible}
.page-protection .lv-pick button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0;padding:22px 24px;border:0;border-right:1px solid var(--line);min-height:112px;position:relative}
.page-protection .lv-pick button:last-child{border:0}
.page-protection .lv-pick .rn{font-size:22px;color:#889976}
.page-protection .lv-pick .nm{font-size:23px;white-space:normal;text-align:left;line-height:1.1;color:#aeb6a3}
.page-protection .lv-pick .bar{display:none}
.page-protection .lv-pick button[aria-selected="true"]{background:#242c1a;box-shadow:inset 0 -3px #9bad6b}
.page-protection .lv-pick button[aria-selected="true"] .rn{color:#bfce9b}
.page-protection .lv-pick button[aria-selected="true"] .nm{color:#f0f2e9}
.page-protection .x-levels .lv-show{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:28px;gap:32px;align-items:center}
.page-protection .lv-photo{height:100%;min-height:350px;max-height:460px;border-radius:10px;object-fit:cover;object-position:center 35%}
.protection-detail{display:flex;flex-direction:column;gap:18px;min-width:0;padding:8px 4px}
.page-protection .lv-show .k{font-size:10px;letter-spacing:.13em;color:#b1c28b;line-height:1.65}
.page-protection .lv-show h3{font-size:clamp(34px,3.6vw,50px);line-height:1.04}
.page-protection .lv-show p{font-size:15px;line-height:1.8;color:#bbc2b1}
.page-protection .lv-show .use{display:block;font-size:14px;line-height:1.7}
.page-protection .lv-show .use span{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:5px}
.page-protection .lv-show .btn{font-size:11px;padding:16px 20px;letter-spacing:.08em;min-height:50px;line-height:1.4}
.page-protection .meter .lbl{font-size:11px;flex-wrap:wrap;gap:6px 12px}
.page-protection .x-svc{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-protection .x-svc-card{padding:0;gap:0;justify-content:flex-start;min-height:0;background:#12150f;transition:border-color .2s}
.page-protection .x-svc-card::after{display:none}
.page-protection .x-svc-card img{position:static;z-index:auto;filter:none;width:100%;height:210px;object-fit:cover;object-position:center 35%}
.protection-service-copy{padding:24px;display:flex;flex:1;flex-direction:column;gap:12px}
.page-protection .x-svc-card .i{position:static;font-size:13px;color:#98aa70;line-height:1}
.page-protection .x-svc-card h3{font-size:28px;line-height:1.1}
.page-protection .x-svc-card p{display:block;font-size:14px;line-height:1.7;color:#b7beac}
.page-protection .x-svc-card .go{margin-top:auto;padding-top:12px;font-size:10px;letter-spacing:.1em}
@media(max-width:1000px){.page-protection .lv-pick button{padding:18px}.page-protection .lv-pick .nm{font-size:20px}.page-protection .x-svc{grid-template-columns:repeat(2,minmax(0,1fr))}.protection-hero-photo img{height:400px}}
@media(max-width:760px){
 .protection-hero{padding-top:22px}.protection-hero .crumbs{font-size:11px;margin-bottom:22px}
 .protection-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .protection-hero .eyebrow{font-size:10px;letter-spacing:.12em}
 .protection-hero h1{font-size:clamp(38px,10.5vw,64px);line-height:1.05;margin:16px 0 20px}
 .protection-hero p{font-size:15px;line-height:1.75;margin-bottom:22px}.protection-hero .btn{width:100%;min-height:52px}
 .protection-hero-photo img{height:auto;aspect-ratio:4/3}.protection-hero-photo span{font-size:9px;letter-spacing:.1em;padding-inline:18px}
 .protection-trust{margin-top:24px;display:grid;grid-template-columns:1fr;gap:10px;font-size:10px;padding:18px 0}
 .page-protection .x-sec{padding-block:34px 44px}.page-protection .x-head{display:block;margin-bottom:22px}.page-protection .x-head h2{font-size:36px;margin-top:12px}.page-protection .x-sub{margin-top:16px;font-size:14px}
 .page-protection .lv-pick{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
 .page-protection .lv-pick button:last-child:nth-child(odd){grid-column:1/-1}
 .page-protection .lv-pick button,.page-protection .lv-pick button:last-child{border:1px solid #343b2b;border-radius:8px;padding:14px;min-height:92px;gap:8px}
 .page-protection .lv-pick .rn{font-size:18px}.page-protection .lv-pick .nm{font-size:20px;line-height:1.15}
 .page-protection .lv-pick button[aria-selected="true"]{border-color:#9bad6b;box-shadow:inset 0 -2px #9bad6b}
 .page-protection .x-levels .lv-show{grid-template-columns:minmax(0,1fr);gap:22px;padding:18px}
 .page-protection .lv-photo{min-height:0;height:auto;aspect-ratio:4/3;max-height:380px}.protection-detail{gap:16px;padding:0}
 .page-protection .lv-show h3{font-size:36px}.page-protection .lv-show p{font-size:15px}
 .page-protection .lv-show .btn{width:100%;min-height:52px;font-size:11px;letter-spacing:.06em;padding-inline:14px}
 .page-protection .x-svc{grid-template-columns:minmax(0,1fr);gap:18px}.page-protection .x-svc-card img{height:auto;aspect-ratio:16/10;max-height:360px}
 .protection-service-copy{padding:22px;gap:12px}.page-protection .x-svc-card h3{font-size:28px}.page-protection .x-svc-card .go{min-height:32px;font-size:11px}
}

/* FAQ mobile: a stable icon column and calm, readable accordion cards. */
@media(max-width:760px){
 .page-faq .phero .wrap{padding-block:30px 28px}
 .page-faq .phero h1{font-size:clamp(38px,11vw,64px);line-height:1.04;margin-top:16px}
 .page-faq .phero .lede{font-size:14px;line-height:1.75;margin-top:18px}
 .page-faq .faq{padding-block:30px 42px}
 .page-faq .faq>.wrap{grid-template-columns:minmax(0,1fr);gap:22px}
 .page-faq .faq .eyebrow{font-size:10px;letter-spacing:.15em}
 .page-faq .faq h2{font-size:32px;line-height:1.1;margin-top:12px}
 .page-faq .qa{display:grid;gap:12px;min-width:0;border:0}
 .page-faq .qa details{min-width:0;border:1px solid #30362a;border-radius:12px;background:#12150f;overflow:hidden}
 .page-faq .qa details[open]{border-color:#657747;background:#161b12}
 .page-faq .qa summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:14px;align-items:center;padding:19px 18px;min-height:70px;font-family:var(--body);font-size:15px;font-weight:600;text-transform:none;line-height:1.55;letter-spacing:0;color:#e4e8dc}
 .page-faq .faq-question{min-width:0;overflow-wrap:break-word}
 .page-faq .qa summary::marker{content:""}
 .page-faq .qa summary .pm{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:#242c1b;position:relative;align-self:center}
 .page-faq .qa summary .pm::before{content:"";position:absolute;inset:auto;width:7px;height:7px;left:10px;top:8px;margin:0;border:solid #b8c79d;border-width:0 1.5px 1.5px 0;background:none;transform:rotate(45deg);transition:transform .2s}
 .page-faq .qa summary .pm::after{display:none}
 .page-faq .qa details[open] summary .pm{background:#354327}
 .page-faq .qa details[open] summary .pm::before{transform:translateY(3px) rotate(225deg)}
 .page-faq .qa details .ans{padding:0 18px 20px;font-size:14px;line-height:1.85;color:#bbc4af;max-width:none}
 .page-faq .qa summary:focus-visible{outline:2px solid #a8b86c;outline-offset:-4px;border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.page-faq .qa summary .pm::before{transition:none}}

/* Understated studio credit, shared across the public website. */
footer .design-credit{display:flex;justify-content:flex-end;margin-top:16px}
footer .design-credit a{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none;font-size:11px;color:#969e8b;line-height:1.5;border-radius:6px;padding:6px 0}
footer .design-credit strong{font-weight:600;color:#bdcba3;letter-spacing:.025em}
footer .design-credit svg{width:13px;height:13px;color:#a8b86c;flex:none}
footer .design-credit a:hover strong{color:#e3edd1;text-decoration:underline;text-underline-offset:4px}
footer .design-credit a:focus-visible{outline:2px solid #a8b86c;outline-offset:5px}
@media(max-width:760px){footer .design-credit{justify-content:flex-start;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}}

.class-location-note{font-size:12px!important;line-height:1.65!important;color:#a2ad93!important;margin-top:10px}.sched-grid .course dl dd{overflow-wrap:anywhere}

/* Desktop closing actions: aligned content, compact arrows, consistent hover contrast. */
@media(min-width:901px){
 .finale{max-width:1320px;width:calc(100% - 80px);margin:0 auto 48px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#10130e;grid-template-columns:repeat(2,minmax(0,1fr))}
 .finale>a{display:grid;grid-template-columns:minmax(0,1fr) 56px;grid-template-rows:auto auto 1fr;align-content:start;justify-content:initial;gap:16px 24px;min-height:228px;padding:32px;color:var(--bone);background:transparent;transition:background .2s}
 .finale>a+a{border-left:1px solid var(--line)}
 .finale>a::before{display:none}
 .finale .k{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.18em;line-height:1.5;color:#aebd97}
 .finale h2{grid-column:1;grid-row:2;font-size:clamp(30px,2.6vw,42px);line-height:1.08;margin:0;overflow-wrap:normal}
 .finale .row{display:contents}
 .finale .row p{grid-column:1;grid-row:3;max-width:42ch;font-size:14px;line-height:1.8;margin:0;color:#b1b8a8}
 .finale .circ{grid-column:2;grid-row:1/4;align-self:center;width:56px;height:56px;border:1px solid #52633e;background:#1a2313;color:#d8e5c5}
 .finale .circ svg{width:19px;height:19px}
 .finale>a:hover,.finale>a:nth-child(2):hover{background:#1a2213;color:var(--bone)}
 .finale>a:hover .k,.finale>a:nth-child(2):hover .k{color:#c5d9a5}
 .finale>a:hover p,.finale>a:nth-child(2):hover p{color:#d2dac8}
 .finale>a:hover .circ,.finale>a:nth-child(2):hover .circ{border-color:#a8bd82;background:#344524;transform:translateX(3px)}
 .finale>a:focus-visible{outline:2px solid #b2ca8b;outline-offset:-5px}
}

/* ---------- Next class strip (Home & Training) ---------- */
.nx{padding-block:clamp(44px,5.5vw,76px);border-top:1px solid var(--line)}
.nx-head{margin-bottom:clamp(18px,2.4vw,26px)}
.nx-card{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(250px,290px);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,rgba(85,107,47,.22),rgba(9,9,10,0) 55%),var(--ink-2);box-shadow:0 30px 70px rgba(0,0,0,.35)}
.nx-photo{position:relative;min-height:300px;overflow:hidden;isolation:isolate}
.nx-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.nx-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,10,0) 35%,rgba(9,9,10,.85)),linear-gradient(90deg,rgba(9,9,10,0) 70%,rgba(17,18,16,.9));z-index:1}
.nx-date{position:absolute;left:20px;bottom:18px;z-index:2;display:grid;line-height:.85;font-family:var(--display);text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.nx-date b{font-size:clamp(72px,6.6vw,98px);font-weight:800;color:#f1f2ec}
.nx-date span{font-size:26px;font-weight:700;color:#a8b86c;margin-top:4px}
.nx-date small{font-family:var(--body);font-size:10.5px;font-weight:600;letter-spacing:.22em;color:#d2d5cb;margin-top:8px}
.nx-pill{position:absolute;top:16px;left:16px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(17,18,16,.78);border:1px solid rgba(168,184,108,.45);color:#cfdba8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.nx-pill.hot{border-color:#c98a3a;color:#f0c58a}
.nx-pill.full{border-color:#7a3b32;color:#e8a99f}
.nx-body{padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:14px;min-width:0}
.nx-kicker{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#a8b86c}
.nx-body h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3vw,44px);line-height:.95;margin:0}
.nx-blurb{margin:0;color:var(--smoke);font-size:15px;line-height:1.6;max-width:56ch}
.nx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:4px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.nx-facts div{padding:12px 14px;border-right:1px solid var(--line);min-width:0}
.nx-facts div:last-child{border-right:0}
.nx-facts dt{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}
.nx-facts dd{margin:4px 0 0;font-family:var(--display);font-size:21px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-facts dd small{font-size:13px;color:var(--smoke);font-weight:600}
.nx-seats .lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:8px}
.nx-seats .lbl b{font-family:var(--display);font-size:17px;letter-spacing:.04em;color:var(--bone)}
.nx-seats .rail{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.nx-seats .rail i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#556b2f,#a8b86c)}
.nx-side{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:clamp(22px,2.6vw,32px);border-left:1px solid var(--line);background:rgba(9,9,10,.35)}
.nx-price b{display:block;font-family:var(--display);font-size:clamp(44px,4vw,56px);font-weight:800;line-height:.9}
.nx-price span{display:block;font-size:12px;color:var(--smoke);margin-top:6px}
.nx-clock-lbl{display:block;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);margin-bottom:8px}
.nx-clock{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.nx-clock div{text-align:center;border:1px solid var(--line);border-radius:10px;padding:9px 2px 7px;background:var(--ink)}
.nx-clock b{display:block;font-family:var(--display);font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.nx-clock span{font-size:9px;letter-spacing:.18em;color:var(--smoke);font-weight:600;text-transform:uppercase}
.nx-side .btn{justify-content:center}
.nx-more{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;margin-top:16px}
.nx-more-lbl{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);padding-top:20px;white-space:nowrap}
.nx-more-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nx-more-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"d t go" "d s p";gap:2px 14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);text-decoration:none;color:var(--bone);transition:border-color .2s,background .2s}
.nx-more-list a:hover{border-color:#556b2f;background:#141810}
.nx-more-list .d{grid-area:d;display:grid;justify-items:center;line-height:.9;font-family:var(--display);text-transform:uppercase;padding-right:14px;border-right:1px solid var(--line)}
.nx-more-list .d b{font-size:30px;font-weight:800}
.nx-more-list .d small{font-size:13px;font-weight:700;color:#a8b86c}
.nx-more-list .t{grid-area:t;min-width:0}
.nx-more-list .t b{display:block;font-family:var(--display);font-size:18px;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-more-list .t small{display:block;font-size:12px;color:var(--smoke);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-more-list .s,.nx-more-list .p{font-size:12px;font-weight:600;letter-spacing:.06em}
.nx-more-list .s{grid-area:s;color:#a8b86c}
.nx-more-list .s.hot{color:#f0c58a}
.nx-more-list .p{grid-area:p;color:var(--bone);text-align:right}
.nx-more-list .go{grid-area:go;width:14px;height:14px;color:var(--smoke)}
.nx-empty{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:clamp(22px,3vw,36px);border:1px dashed var(--line);border-radius:18px;background:var(--ink-2)}
.nx-empty h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(26px,2.6vw,36px);margin:0 0 6px}
.nx-empty p{margin:0;color:var(--smoke)}
@media (max-width:1100px){
  .nx-card{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
  .nx-side{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px}
  .nx-clock-wrap{max-width:320px}
  .nx-more{grid-template-columns:1fr;gap:10px}.nx-more-lbl{padding-top:0}
}
@media (max-width:760px){
  .nx-card{grid-template-columns:1fr}
  .nx-photo{min-height:210px}
  .nx-photo::after{background:linear-gradient(180deg,rgba(9,9,10,0) 30%,rgba(9,9,10,.88))}
  .nx-facts{grid-template-columns:1fr 1fr}
  .nx-facts div:nth-child(2){border-right:0}
  .nx-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .nx-side{grid-template-columns:1fr;gap:16px}
  .nx-clock-wrap{max-width:none}
  .nx-side .btn{width:100%}
  .nx-more-list{grid-template-columns:1fr}
}
/* green accent words in headings (from *stars* in Admin → Website) */
main h2 em{font-style:normal;color:#a8b86c}
.nx-side .btn{white-space:nowrap;padding-inline:22px}
.nx-card{grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(270px,300px)}
@media (max-width:1100px){.nx-card{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}}
@media (max-width:760px){.nx-card{grid-template-columns:1fr}}

/* Header: between tablet and wide desktop the full link row doesn't fit, so show the main button + Menu (the menu lists every page). */
.hnav .btn{white-space:nowrap}
@media (max-width:1400px){.hnav a.t{display:none}}
