/* ==========================================================================
   ROOTED / Eric Secada
   Streetwear / athletic system pulled from project-rooted.com:
   DIN-style grotesque, brand green #305B33, near-black, off-white.
   ========================================================================== */

:root{
  --ink:#0B0C07;
  --ink-2:#131510;
  --green:#305B33;
  --green-deep:#1C3A20;
  --green-dark:#122614;
  --green-hi:#6ABF74;   /* 5.3:1 on green-deep, 8.3:1 on ink */
  --bone:#F2F0E9;
  --paper:#FAFAF7;
  --line:#DAD6C8;
  --line-dark:rgba(242,240,233,.14);
  --dim:#6B6F63;

  --disp:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --wrap:1440px;
  --pad:clamp(18px, 4.5vw, 64px);
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);max-width:100%;overflow-x:clip;
  font-family:var(--disp);font-size:17px;line-height:1.6;font-weight:400;
  font-variation-settings:"wdth" 100;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
::selection{background:var(--green);color:var(--bone);}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);}
.dim{color:var(--dim);}

.mono{
  font-family:var(--mono);font-size:10.5px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;line-height:1.4;
}
.mono--dim{color:var(--dim);}

/* ---------- texture + cursor ---------- */
.grain{
  position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;
  /* pre-rendered noise tile. An inline feTurbulence filter over the full
     viewport pins the compositor and stalls mobile paint */
  background-image:url("data:image/png;base64,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");
  background-size:96px 96px;
}
.cursor{
  position:fixed;top:0;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--green);pointer-events:none;z-index:9997;
  transform:translate(-50%,-50%) scale(1);
  transition:width .3s var(--ease),height .3s var(--ease),background .3s,opacity .3s;
  mix-blend-mode:difference;opacity:0;
}
.cursor.on{opacity:1;}
.cursor.grow{width:64px;height:64px;background:var(--bone);}
@media (hover:none){.cursor{display:none;}}

/* ---------- loader ---------- */
.loader{
  position:fixed;inset:0;z-index:10000;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  transition:transform 1s var(--ease) .15s, opacity .6s ease .6s;
}
.loader__mark img{height:64px;width:auto;opacity:0;animation:markIn .8s var(--ease) .1s forwards;}
@keyframes markIn{to{opacity:1;transform:none;}}
.loader__bar{width:150px;height:2px;background:rgba(242,240,233,.16);overflow:hidden;}
.loader__bar span{display:block;height:100%;width:0;background:var(--green-hi);animation:loadBar 1.25s var(--ease-io) .15s forwards;}
@keyframes loadBar{to{width:100%;}}
.loader.done{transform:translateY(-101%);opacity:0;pointer-events:none;}

/* ---------- scroll progress ---------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:950;
  background:var(--green-hi);transition:width .1s linear;
}

/* ---------- reveal primitives ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
[data-reveal].in{opacity:1;transform:none;}

[data-split] .line{display:block;overflow:hidden;}
[data-split] .line>span{
  display:inline-block;transform:translateY(115%);
  transition:transform 1.05s var(--ease);
}
[data-split].in .line>span{transform:translateY(0);}
[data-split] .line:nth-child(2)>span{transition-delay:.08s;}
[data-split] .line:nth-child(3)>span{transition-delay:.16s;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  [data-reveal],[data-split] .line>span{opacity:1 !important;transform:none !important;transition:none !important;}
  .marquee__track{animation:none !important;}
  .loader{display:none;}
  .preview-pill__dot{animation:none !important;}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
}

/* ---------- buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:12px;
  padding:16px 28px;border:1px solid transparent;border-radius:0;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  overflow:hidden;transition:color .45s var(--ease),border-color .45s var(--ease);
  isolation:isolate;
}
.btn i{font-style:normal;display:inline-block;transition:transform .45s var(--ease);}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--ink);transform:translateY(101%);
  transition:transform .5s var(--ease);
}
.btn:hover::before{transform:translateY(0);}
.btn:hover i{transform:translateX(5px);}
.btn--solid{background:var(--green);color:var(--bone);border-color:var(--green);}
.btn--solid:hover{color:var(--bone);border-color:var(--ink);}
.btn--line{background:transparent;color:var(--ink);border-color:rgba(11,12,7,.28);}
.btn--line:hover{color:var(--bone);border-color:var(--ink);}
.btn--dark{background:var(--ink);color:var(--bone);border-color:var(--ink);}
.btn--dark::before{background:var(--green);}
.btn--lg{padding:22px 42px;font-size:12px;}

/* on dark surfaces */
.on-dark .btn--line,.hero .btn--line{color:var(--bone);border-color:rgba(242,240,233,.32);}
.hero .btn--line::before,.cta .btn--line::before{background:var(--bone);}
.hero .btn--line:hover{color:var(--ink);border-color:var(--bone);}

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;gap:36px;
  padding:calc(18px + env(safe-area-inset-top,0px)) var(--pad) 18px;
  transition:padding .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,12,7,.92) 0%,rgba(11,12,7,.55) 70%,transparent 100%);
  transition:opacity .5s var(--ease);
}
.nav__brand img{height:46px;width:auto;transition:height .5s var(--ease);}
.nav__links{display:flex;gap:30px;margin-left:auto;}
.nav__links a{
  position:relative;font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(242,240,233,.72);
  padding:5px 0;transition:color .3s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--green-hi);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease);
}
.nav__links a:hover{color:var(--bone);}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left;}
.nav__cta{padding:12px 22px;}
.nav.solid{background:rgba(11,12,7,.94);backdrop-filter:blur(16px);padding:10px var(--pad);border-bottom-color:var(--line-dark);}
.nav.solid::before{opacity:0;}
.nav.solid .nav__brand img{height:38px;}

.nav__toggle{display:none;background:none;border:0;padding:12px;margin-left:auto;}
.nav__toggle span{display:block;width:26px;height:1.5px;background:var(--bone);margin:6px 0;transition:.35s var(--ease);}

.mobile-menu{
  position:fixed;inset:0;z-index:899;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;gap:0;
  padding:0 var(--pad);
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .7s var(--ease),visibility 0s linear .7s;
}
.mobile-menu.open{
  clip-path:inset(0 0 0 0);visibility:visible;
  transition:clip-path .7s var(--ease),visibility 0s linear 0s;
}
.mobile-menu a{
  font-family:var(--disp);font-size:clamp(34px,9vw,54px);font-weight:800;
  text-transform:uppercase;letter-spacing:-.03em;color:var(--bone);
  padding:14px 0;border-bottom:1px solid rgba(242,240,233,.1);
}
.mobile-menu__cta{color:var(--green-hi) !important;border-bottom:0 !important;}

@media (max-width:960px){
  .nav__links,.nav__cta{display:none;}
  .nav__toggle{display:block;}
  .nav__brand img{height:40px;}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:100vh;min-height:100svh;background:var(--ink);color:var(--bone);
  display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
}
.hero__media{position:absolute;inset:0;overflow:hidden;}
.hero__media picture{position:absolute;inset:-8% 0;display:block;}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:44% 26%;
}
.hero__tint{display:none;}  /* duotone is baked into the JPEG; no blend layer */
.hero__scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(11,12,7,.86) 0%,rgba(11,12,7,.18) 34%,rgba(11,12,7,.72) 74%,rgba(11,12,7,.97) 100%),
    linear-gradient(90deg,rgba(11,12,7,.9) 0%,rgba(11,12,7,.35) 46%,rgba(11,12,7,.6) 100%);
}
.hero__top{
  position:relative;z-index:2;
  display:flex;gap:clamp(16px,4vw,60px);flex-wrap:wrap;
  padding:120px var(--pad) 0;
  max-width:var(--wrap);margin:0 auto;width:100%;
  color:rgba(242,240,233,.82);
}
.hero__inner{
  position:relative;z-index:2;
  max-width:var(--wrap);margin:0 auto;width:100%;
  padding:clamp(28px,5vh,60px) var(--pad) clamp(30px,5vh,54px);
}
.hero__name{
  margin:0;
  font-size:clamp(62px,15.5vw,232px);
  font-weight:900;line-height:.78;letter-spacing:-.045em;
  text-transform:uppercase;
  font-variation-settings:"wdth" 104;
  color:var(--bone);
}
.hero__name .line:last-child{margin-left:clamp(0px,6vw,110px);}
.hero__foot{
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;
  flex-wrap:wrap;margin-top:clamp(26px,4vh,46px);
}
.hero__lede{
  margin:0;font-size:clamp(14px,1.6vw,18px);line-height:1.55;
  color:rgba(242,240,233,.78);font-weight:400;max-width:34ch;
}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap;}

.hero__marquee,.cta__marquee{
  position:relative;z-index:3;overflow:hidden;
  border-top:1px solid rgba(242,240,233,.16);
  border-bottom:1px solid rgba(242,240,233,.16);
  background:rgba(11,12,7,.4);backdrop-filter:blur(4px);
}
.marquee__track{
  display:flex;align-items:center;gap:26px;width:max-content;
  padding:13px 0;white-space:nowrap;
  animation:marquee 38s linear infinite;
}
.marquee__track span{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(242,240,233,.66);
}
.marquee__track em{
  display:block;width:4px;height:4px;background:var(--green-hi);
  transform:rotate(45deg);
}
@keyframes marquee{to{transform:translateX(-50%);}}

@media (max-width:960px){
  /* without a floor the name rides up under the fixed nav and collides with the logo */
  .hero{min-height:82vh;min-height:82svh;padding-top:78px;}
  .hero__media picture{inset:0;}
  .hero__media img{object-position:50% 22%;}
  .hero__tint{opacity:.7;}
  .hero__scrim{
    background:linear-gradient(180deg,rgba(11,12,7,.82) 0%,rgba(11,12,7,.12) 30%,rgba(11,12,7,.55) 62%,rgba(11,12,7,.98) 100%);
  }
  .hero__top{display:none;}
  .hero__name{font-size:clamp(52px,17vw,96px);}
  .hero__name .line:last-child{margin-left:0;}
  .hero__foot{margin-top:26px;}
  .hero__lede{color:rgba(242,240,233,.9);}
  .hero__actions{width:100%;}
  .hero__actions .btn{flex:1;justify-content:center;padding:15px 14px;}
}

/* ==========================================================================
   SECTION HEADER
   ========================================================================== */
.sec-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding-bottom:16px;margin-bottom:clamp(30px,5vh,58px);
  border-bottom:1px solid var(--line);
}
.sec-head .mono{color:var(--ink);}
.sec-head .mono--dim{color:var(--dim);text-align:right;}
.on-dark .sec-head,.method .sec-head,.process .sec-head,.footer .sec-head{border-bottom-color:var(--line-dark);}
.method .sec-head .mono,.process .sec-head .mono{color:var(--bone);}
.method .sec-head .mono--dim,.process .sec-head .mono--dim{color:rgba(242,240,233,.72);}

/* ==========================================================================
   MANIFESTO
   ========================================================================== */
.manifesto{background:var(--paper);padding:clamp(70px,11vh,140px) 0;}
.statement{
  margin:0 0 clamp(40px,7vh,80px);
  font-size:clamp(30px,6.2vw,86px);font-weight:800;line-height:1.02;
  letter-spacing:-.035em;text-transform:uppercase;
  font-variation-settings:"wdth" 102;
}
.statement .stroke{
  color:transparent;-webkit-text-stroke:1.5px var(--ink);
}
.statement .line:nth-child(2){padding-left:clamp(0px,5vw,90px);}
.manifesto__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);
  max-width:1080px;
}
.manifesto__grid p{margin:0;font-size:16px;line-height:1.7;color:#3A4034;}
@media (max-width:800px){
  .manifesto__grid{grid-template-columns:1fr;}
  .statement .line:nth-child(2){padding-left:0;}
}

/* ==========================================================================
   COACH
   ========================================================================== */
.coach{background:var(--bone);padding:clamp(70px,11vh,140px) 0;position:relative;}
.coach__grid{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(30px,5vw,80px);align-items:start;
}
.coach__sticky{position:sticky;top:96px;}
.coach__frame{margin:0;position:relative;overflow:hidden;}
.coach__frame img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;
  transform:scale(1.04);
}
.coach__frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,12,7,0) 55%,rgba(11,12,7,.5) 100%);
}
.coach__frame figcaption{
  position:absolute;left:0;bottom:0;right:0;padding:12px 14px;
  background:var(--ink);color:var(--bone);font-size:9.5px;letter-spacing:.18em;
}
.coach__name{
  margin:0 0 10px;
  font-size:clamp(44px,7.6vw,104px);font-weight:900;line-height:.84;
  letter-spacing:-.045em;text-transform:uppercase;
  font-variation-settings:"wdth" 104;
}
.coach__role{color:var(--green);margin:0 0 30px;}
.lead{
  font-size:clamp(18px,2.2vw,26px) !important;font-weight:500;
  line-height:1.35 !important;letter-spacing:-.015em;color:var(--ink) !important;
  margin-bottom:20px !important;max-width:38ch;
}
.coach__body p{font-size:16px;line-height:1.68;color:#3A4034;margin:0 0 20px;max-width:52ch;}

.cred{margin-top:42px;padding-top:26px;border-top:1px solid var(--line);}
.cred__label{color:var(--dim);margin:0 0 6px;}
.cred__list li{
  display:flex;align-items:baseline;gap:16px;
  padding:13px 0;border-bottom:1px solid rgba(11,12,7,.1);
  font-size:clamp(17px,2vw,23px);font-weight:600;letter-spacing:-.015em;
  transition:padding-left .35s var(--ease),color .35s;
}
.cred__list li:hover{padding-left:10px;color:var(--green);}
.cred__n{color:var(--dim);flex:0 0 26px;font-size:9.5px;}
.cred__list li .dim{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  display:block;margin-top:3px;font-weight:400;
}
@media (max-width:900px){
  .coach__grid{grid-template-columns:1fr;}
  .coach__sticky{position:static;}
}

/* ==========================================================================
   METHOD
   ========================================================================== */
.method{background:var(--green-deep);color:var(--bone);padding:clamp(70px,11vh,140px) 0;}
.method__title{
  margin:0 0 clamp(40px,7vh,74px);
  font-size:clamp(32px,6.4vw,92px);font-weight:800;line-height:1;
  letter-spacing:-.035em;text-transform:uppercase;
  font-variation-settings:"wdth" 102;
}
.method__title .stroke{color:transparent;-webkit-text-stroke:1.5px var(--bone);}
.method__title .line:nth-child(2){padding-left:clamp(0px,5vw,90px);}

.pillars{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark);}
.pillar{
  padding:clamp(26px,3.4vw,46px) clamp(20px,3vw,48px) clamp(30px,4vw,54px) 0;
  border-bottom:1px solid var(--line-dark);position:relative;
  transition:background .5s var(--ease);
}
.pillar:nth-child(even){padding-left:clamp(20px,3vw,48px);border-left:1px solid var(--line-dark);}
.pillar:hover{background:rgba(242,240,233,.045);}
.pillar__head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;}
.pillar__head .mono{color:var(--green-hi);}
.pillar h3{
  margin:0;font-size:clamp(24px,3.2vw,40px);font-weight:800;
  letter-spacing:-.03em;text-transform:uppercase;line-height:1;
}
.pillar p{margin:0;color:rgba(242,240,233,.72);font-size:15px;line-height:1.65;max-width:44ch;}
.pillar__rule{
  position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--green-hi);
  transition:width .6s var(--ease);
}
.pillar:hover .pillar__rule{width:100%;}
@media (max-width:800px){
  .pillars{grid-template-columns:1fr;}
  .pillar:nth-child(even){padding-left:0;border-left:0;}
  .method__title .line:nth-child(2){padding-left:0;}
}

/* ==========================================================================
   SESSIONS
   ========================================================================== */
.sessions{background:var(--paper);padding:clamp(70px,11vh,140px) 0;}
.sessions__top{
  display:flex;justify-content:space-between;align-items:flex-end;gap:36px;
  flex-wrap:wrap;margin-bottom:clamp(34px,5vh,54px);
}
.sessions__title{
  margin:0;font-size:clamp(38px,7vw,98px);font-weight:900;line-height:.86;
  letter-spacing:-.045em;text-transform:uppercase;
  font-variation-settings:"wdth" 104;
}
.sessions__note{
  margin:0;max-width:34ch;font-size:14px;line-height:1.6;color:#3A4034;
  border-left:2px solid var(--green);padding-left:18px;
}

.cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);}
.card{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(22px,2.4vw,34px) clamp(18px,2vw,28px) clamp(20px,2.4vw,28px);
  border-right:1px solid var(--line);background:var(--paper);
  overflow:hidden;isolation:isolate;min-height:390px;
  transition:color .5s var(--ease);
}
.card:last-child{border-right:0;}
.card__fill{
  position:absolute;inset:0;z-index:-1;background:var(--green-deep);
  transform:translateY(100%);transition:transform .65s var(--ease);
}
.card:hover .card__fill,.card:focus-visible .card__fill{transform:translateY(0);}
.card:hover,.card--dark:hover{color:var(--bone);}
.card__idx{color:var(--dim);transition:color .4s;}
.card:hover .card__idx{color:rgba(242,240,233,.6);}
.card__badge{
  position:absolute;top:0;right:0;background:var(--green);color:var(--bone);
  padding:6px 10px;font-size:9px;letter-spacing:.16em;
}
.card__title{
  margin:26px 0 18px;font-size:clamp(22px,2.4vw,32px);font-weight:800;
  line-height:.98;letter-spacing:-.03em;text-transform:uppercase;
  transition:transform .5s var(--ease);
}
.card:hover .card__title{transform:translateX(4px);}
.card__price{
  margin:0 0 16px;font-size:clamp(30px,3.2vw,42px);font-weight:700;
  letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums lining-nums;
}
.card__price .cur{font-size:.55em;vertical-align:.32em;margin-right:2px;}
.card__price em{
  display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
  margin-top:8px;transition:color .4s;
}
.card:hover .card__price em{color:rgba(242,240,233,.55);}
.card__price--text{font-size:clamp(18px,1.8vw,22px);font-weight:600;}
.card__desc{
  margin:0 0 22px;flex:1;font-size:13.5px;line-height:1.6;color:#4A5044;
  transition:color .4s;
}
.card:hover .card__desc{color:rgba(242,240,233,.72);}
.card__cta{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid var(--ink);color:var(--ink);
  transition:color .4s,border-color .4s;
}
.card:hover .card__cta{color:var(--bone);border-color:rgba(242,240,233,.3);}
.card__cta i{font-style:normal;transition:transform .45s var(--ease);}
.card:hover .card__cta i{transform:translateX(6px);}

.card--feature{background:var(--bone);}
.card--dark{background:var(--ink);color:var(--bone);border-color:var(--ink);}
.card--dark .card__idx{color:rgba(242,240,233,.62);}
.card--dark .card__desc{color:rgba(242,240,233,.66);}
.card--dark .card__cta{color:var(--bone);border-color:rgba(242,240,233,.28);}
.card--dark .card__price em{color:rgba(242,240,233,.7);}

.fineprint{margin:22px 0 0;color:var(--dim);font-size:9.5px;line-height:1.6;}

@media (max-width:1080px){
  .cards{grid-template-columns:1fr 1fr;}
  .card:nth-child(2){border-right:0;}
  .card:nth-child(1),.card:nth-child(2){border-bottom:1px solid var(--line);}
  .card{min-height:340px;}
}
@media (max-width:620px){
  .cards{grid-template-columns:1fr;}
  .card{border-right:0;border-bottom:1px solid var(--line);min-height:0;}
  .card:last-child{border-bottom:0;}
}

/* ==========================================================================
   PROCESS
   ========================================================================== */
.process{background:var(--ink);color:var(--bone);padding:clamp(70px,11vh,130px) 0;}
.process__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,4vw,58px);}
.step{border-top:1px solid rgba(242,240,233,.25);padding-top:20px;position:relative;}
.step::before{
  content:"";position:absolute;top:-1px;left:0;height:1px;width:0;
  background:var(--green-hi);transition:width .8s var(--ease);
}
.step.in::before{width:100%;}
.step__num{color:var(--green-hi);display:block;margin-bottom:22px;}
.step h3{
  margin:0 0 14px;font-size:clamp(22px,2.6vw,32px);font-weight:800;
  letter-spacing:-.03em;text-transform:uppercase;
}
.step p{margin:0;color:rgba(242,240,233,.68);font-size:14.5px;line-height:1.65;}
@media (max-width:820px){.process__grid{grid-template-columns:1fr;gap:34px;}}

/* ==========================================================================
   CTA
   ========================================================================== */
.cta{background:var(--green);color:var(--bone);position:relative;overflow:hidden;}
.cta__inner{
  position:relative;z-index:2;
  padding:clamp(64px,11vh,130px) var(--pad);
  max-width:var(--wrap);margin:0 auto;
  display:flex;flex-direction:column;align-items:flex-start;gap:clamp(28px,4vh,46px);
}
.cta__title{
  margin:0;font-size:clamp(36px,8vw,116px);font-weight:900;line-height:.84;
  letter-spacing:-.045em;text-transform:uppercase;
  font-variation-settings:"wdth" 104;
}
.cta__marquee{border-color:rgba(242,240,233,.22);background:rgba(11,12,7,.14);}
.cta__marquee .marquee__track span{color:rgba(242,240,233,.8);}
.cta__marquee .marquee__track em{background:var(--bone);}
.marquee__track--alt{animation-duration:30s;animation-direction:reverse;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--ink);color:var(--bone);padding:clamp(54px,8vh,96px) 0 0;}
.footer__grid{
  display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(24px,4vw,54px);
  padding-bottom:clamp(38px,5vh,62px);border-bottom:1px solid var(--line-dark);
}
.footer__brand img{height:64px;width:auto;margin-bottom:20px;}
.footer__brand p{
  margin:0;font-size:13px;line-height:1.6;color:rgba(242,240,233,.5);
  font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;
}
.footer__admin{
  display:inline-block;margin-top:22px;padding-top:13px;
  border-top:1px solid var(--line-dark);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(242,240,233,.46);transition:color .3s var(--ease);
}
.footer__admin:hover{color:var(--green-hi);}
.footer__label{color:var(--green-hi);margin:0 0 16px;}
.footer__col p,.footer__col a{
  display:block;font-size:14px;color:rgba(242,240,233,.74);margin:0 0 9px;
  transition:color .3s,transform .3s var(--ease);
}
.footer__col a:hover{color:var(--green-hi);transform:translateX(3px);}
.footer__col .dim{color:rgba(242,240,233,.62);font-size:12.5px;}
.footer__bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:22px 0 26px;
}
.footer__bottom p{margin:0;color:rgba(242,240,233,.62);}
.footer__bottom .dim{color:rgba(242,240,233,.55);}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr;}.footer__brand{grid-column:1/-1;}}

/* ==========================================================================
   PREVIEW PANEL
   ========================================================================== */
.preview-pill{
  position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:960;
  display:flex;align-items:center;gap:8px;
  background:var(--ink);color:var(--bone);border:1px solid rgba(242,240,233,.22);
  padding:8px 14px 8px 11px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  opacity:.85;transition:opacity .3s,transform .3s var(--ease);
}
.preview-pill:hover{opacity:1;transform:translateY(-2px);}
.preview-pill__dot{
  width:6px;height:6px;background:var(--green-hi);border-radius:50%;
  animation:pulse 2.4s infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(72,160,82,.6);}70%{box-shadow:0 0 0 7px rgba(72,160,82,0);}}
.preview-panel{
  position:fixed;right:14px;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:961;
  width:min(350px,calc(100vw - 28px));max-height:min(64vh,520px);overflow-y:auto;
  background:var(--ink);color:var(--bone);border:1px solid rgba(242,240,233,.16);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.preview-panel.open{opacity:1;transform:none;pointer-events:auto;}
.preview-panel__head{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid rgba(242,240,233,.12);
  position:sticky;top:0;background:var(--ink);
}
.preview-panel__head p{
  margin:0;font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--green-hi);
}
.preview-panel__head button{background:none;border:0;color:rgba(242,240,233,.6);font-size:13px;}
.preview-panel__body{padding:16px;}
.preview-panel__label{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(242,240,233,.45);margin:0 0 8px;
}
.preview-panel__label:not(:first-child){margin-top:20px;}
.preview-panel li{
  position:relative;padding:5px 0 5px 14px;font-size:12.5px;line-height:1.5;
  color:rgba(242,240,233,.8);
}
.preview-panel li::before{
  content:"";position:absolute;left:0;top:11px;width:4px;height:4px;
  background:var(--green-hi);transform:rotate(45deg);
}
.preview-panel__muted li{color:rgba(242,240,233,.42);}
.preview-panel__muted li::before{background:rgba(242,240,233,.25);}
.preview-panel__foot{
  margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(242,240,233,.1);
  font-size:11px;color:rgba(242,240,233,.4);line-height:1.6;font-family:var(--mono);
}

/* ==========================================================================
   BOOKING PAGE
   ========================================================================== */
.book-page{background:var(--paper);}
.book-header{
  background:var(--ink);color:var(--bone);
  padding:clamp(96px,13vh,140px) 0 clamp(34px,5vh,54px);
}
.book-header .back{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(242,240,233,.55);transition:color .3s;
}
.book-header .back:hover{color:var(--green-hi);}
.book-header h1{
  margin:0 0 14px;font-size:clamp(38px,7vw,86px);font-weight:900;
  line-height:.86;letter-spacing:-.045em;text-transform:uppercase;
  font-variation-settings:"wdth" 104;
}
.book-header p{margin:0;max-width:50ch;font-size:14.5px;line-height:1.6;color:rgba(242,240,233,.6);}

.book{padding:clamp(34px,6vh,64px) 0 clamp(70px,9vh,110px);}
.book__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(26px,4vw,52px);align-items:start;}
.book__grid>*{min-width:0;}

.steps{display:flex;margin-bottom:38px;border-bottom:1px solid var(--line);}
.steps__item{
  flex:1;position:relative;padding:0 0 14px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);
}
.steps__item span{color:var(--green);margin-right:7px;}
.steps__item.active{color:var(--ink);}
.steps__item.done{color:var(--green);}
.steps__item::after{
  content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;
  background:var(--green);transition:width .5s var(--ease);
}
.steps__item.active::after{width:100%;}

.panel{display:none;}
.panel.active{display:block;animation:panelIn .5s var(--ease);}
@keyframes panelIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.panel__title{
  margin:0 0 6px;font-size:clamp(24px,3.4vw,38px);font-weight:800;
  letter-spacing:-.03em;text-transform:uppercase;line-height:1;
}
.panel__sub{margin:0 0 28px;font-size:14px;color:#3A4034;}

.option{
  position:relative;display:flex;align-items:flex-start;gap:16px;
  border:1px solid var(--line);background:#fff;
  padding:20px 22px;margin-bottom:10px;cursor:pointer;
  transition:border-color .35s,background .35s,transform .35s var(--ease);
}
.option:hover{border-color:var(--green);transform:translateX(3px);}
.option.selected{border-color:var(--ink);background:var(--bone);box-shadow:inset 3px 0 0 var(--green);}
.option input{position:absolute;opacity:0;pointer-events:none;font-size:16px;}
.option:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px;}
.option__body{flex:1;}

/* Trainer picker (step 1) — same card language as the session options. */
.trainer-pick{margin:26px 0 8px;}
.trainer-pick[hidden]{display:none;}
.trainer-pick__list{display:block;}
.book__label{
  margin:0 0 12px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}
.option--trainer{padding:16px 20px;}
.option--trainer .option__name{font-size:15px;letter-spacing:-.01em;text-transform:none;}
.option--trainer input{position:absolute;opacity:0;pointer-events:none;}
.option--trainer:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px;}
@media (max-width:560px){
  .option--trainer{padding:14px 16px;}
  .option--trainer .option__name{font-size:14px;}
}
.option__name{
  margin:0 0 5px;font-size:19px;font-weight:700;letter-spacing:-.02em;
  text-transform:uppercase;
}
.option__desc{margin:0;font-size:13px;line-height:1.55;color:#4A5044;}
.option__price{
  font-weight:700;font-size:20px;white-space:nowrap;text-align:right;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;
}
.option__price small{
  display:block;margin-top:3px;font-family:var(--mono);font-size:8.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:400;
}

.dates{
  display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:26px;
  scrollbar-width:thin;scroll-snap-type:x proximity;
  min-width:0;max-width:100%;
}
.date-chip{
  flex:0 0 auto;min-width:70px;padding:12px 8px;text-align:center;
  border:1px solid var(--line);background:#fff;scroll-snap-align:start;
  transition:border-color .25s,background .25s,color .25s;
}
.date-chip:hover{border-color:var(--green);}
.date-chip.selected{background:var(--ink);border-color:var(--ink);color:var(--bone);}
.date-chip__dow{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;}
.date-chip.selected .date-chip__dow,.date-chip.selected .date-chip__mon{color:rgba(242,240,233,.72);}
.date-chip__day{display:block;font-size:21px;font-weight:800;line-height:1;letter-spacing:-.02em;}
.date-chip__mon{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:5px;}
.date-chip:disabled{cursor:wait;opacity:.55;}
.date-chip.is-empty:disabled{cursor:not-allowed;opacity:.4;}
.date-chip.is-loading:disabled{opacity:.6;}
.date-chip.is-error{border-color:#B23A2E;color:#8E2F24;}
.date-chip.is-error:hover{border-color:#8E2F24;}
.book-unavailable{margin:0 0 20px;padding:16px 18px;border:1px solid #D8B4AE;background:#FBF3F1;}
.book-unavailable p{margin:0 0 12px;font-size:14px;line-height:1.55;color:#4A5044;}
.book-unavailable .btn{flex:0 0 auto;}

.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:28px;}
.slot{
  padding:13px 6px;border:1px solid var(--line);background:#fff;
  font-family:var(--mono);font-size:12px;text-align:center;
  transition:border-color .25s,background .25s,color .25s;
}
.slot:hover:not(.disabled){border-color:var(--green);background:var(--bone);}
.slot.selected{background:var(--ink);color:var(--bone);border-color:var(--ink);}
.slot.disabled{color:#B9B4A4;cursor:not-allowed;background:#F4F3EE;text-decoration:line-through;}
.hint{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 12px;}

.field{margin-bottom:18px;}
.field label{
  display:block;margin-bottom:7px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}
.field input,.field select,.field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line);background:#fff;
  /* 16px is the floor: iOS Safari auto-zooms the page for anything smaller. */
  font-family:var(--disp);font-size:16px;color:var(--ink);
  transition:border-color .25s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green);}
.field textarea{resize:vertical;min-height:84px;}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:560px){.field--row{grid-template-columns:1fr;}}

.book__actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap;}
@media (max-width:900px){
  /* The details panel is long; pin the actions so Continue is always in reach. */
  .book__actions{
    position:sticky;bottom:0;z-index:5;margin:24px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));
    background:rgba(250,250,247,.94);backdrop-filter:blur(10px);
    border-top:1px solid var(--line);
  }
  .book__actions .btn{min-height:48px;}
}
.book__actions .btn{flex:1;min-width:140px;}
.btn--back{background:none;border:1px solid var(--line);color:var(--dim);}
.btn--back::before{background:var(--ink);}
.btn--back:hover{color:var(--bone);border-color:var(--ink);}
.btn:disabled,.btn[disabled]{background:#E6E3D8;border-color:#E6E3D8;color:#8C8878;cursor:not-allowed;}
.btn:disabled::before,.btn[disabled]::before{display:none;}
.step-hint{
  margin:12px 0 0;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--green);min-height:14px;
}
.step-hint.warn{color:#8A6A33;}

.summary{position:sticky;top:96px;background:var(--green-deep);color:var(--bone);padding:26px 24px;}
.summary__label{
  margin:0 0 18px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--green-hi);
}
.summary__row{
  display:flex;justify-content:space-between;gap:12px;
  padding:11px 0;border-bottom:1px solid rgba(242,240,233,.12);font-size:13px;
}
.summary__row dt{margin:0;color:rgba(242,240,233,.72);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;}
.summary__row dd{margin:0;text-align:right;font-weight:600;}
.summary__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:18px;margin-top:4px;}
.summary__total span{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,240,233,.72);}
.summary__total strong{
  font-size:30px;font-weight:800;color:var(--bone);letter-spacing:-.03em;
  font-variant-numeric:tabular-nums lining-nums;
}
.summary__note{
  margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(242,240,233,.12);
  font-size:11px;line-height:1.6;color:rgba(242,240,233,.66);
}

.confirm{background:#fff;border:1px solid var(--line);padding:clamp(26px,4vw,46px);text-align:center;}
.confirm__mark{
  width:58px;height:58px;background:var(--green);color:var(--bone);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:22px;
}
.confirm h2{margin:0 0 12px;font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;}
.confirm p{margin:0 auto 24px;max-width:46ch;font-size:14px;line-height:1.65;color:#4A5044;}
.confirm__box{background:var(--bone);padding:20px;margin:0 auto 24px;max-width:420px;text-align:left;}
.confirm__box div{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0;}
.confirm__box dt{color:var(--dim);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;}
.confirm__box dd{margin:0;font-weight:600;text-align:right;}
.badge-preview{
  display:inline-block;margin-bottom:16px;padding:6px 11px;
  background:rgba(48,91,51,.12);color:var(--green);
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
}
@media (max-width:900px), (pointer:coarse){
  .nav__brand{display:flex;align-items:center;min-height:44px;}
  .toc a{min-height:44px;display:flex;align-items:center;padding:10px 0;}
  .page-head .back{min-height:44px;display:inline-flex;align-items:center;padding:10px 0;}
  .footer__legal a{min-height:42px;display:flex;align-items:center;}
  .contact-card a{display:inline-block;padding:11px 0;min-height:44px;}
  .legal a{padding:8px 0;display:inline-block;min-height:40px;}
  .footer__col p,.footer__col a{min-height:42px;display:flex;align-items:center;margin-bottom:0;}
  .footer__col .dim{min-height:auto;}
  .footer__admin{min-height:42px;display:inline-flex;align-items:center;}
  .book-header .back{padding:13px 0;min-height:44px;}
  .nav__toggle{min-height:46px;min-width:46px;}
  .preview-pill{min-height:40px;}
  .preview-panel__head button{min-width:44px;min-height:44px;}
  .cred__list li{padding:15px 0;}
  .nav__links a{padding:12px 0;}
}

@media (max-width:980px){
  /* minmax(0,1fr) not 1fr: a `1fr` track refuses to shrink below its content's
     min-content width, and the horizontally scrolling date strip (21 chips)
     forced the whole document to ~1650px on a 393px phone. */
  .book__grid{grid-template-columns:minmax(0,1fr);}
  .summary{position:static;}
}

@media (max-width:480px){
  /* the three step labels crowd at phone widths */
  .steps__item{font-size:8.5px;letter-spacing:.08em;}
  .steps__item span{margin-right:5px;}
}


/* ==========================================================================
   LANGUAGE TOGGLE
   ========================================================================== */
.lang{
  display:flex;align-items:center;gap:2px;margin-left:18px;
  border:1px solid rgba(242,240,233,.28);padding:2px;
}
.lang button{
  background:none;border:0;padding:6px 9px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  color:rgba(242,240,233,.6);transition:background .3s,color .3s;
}
.lang button[aria-pressed="true"]{background:var(--green-hi);color:var(--ink);}
.lang button:hover{color:var(--bone);}
.lang button[aria-pressed="true"]:hover{color:var(--ink);}
.nav.solid .lang{border-color:rgba(242,240,233,.3);}
@media (max-width:960px){.nav .lang{display:none;}}
.mobile-menu .lang{
  display:flex;margin:26px 0 0;align-self:flex-start;border-color:rgba(242,240,233,.3);
}

/* ==========================================================================
   CONTENT PAGES (FAQ / legal / contact)
   ========================================================================== */
.page-head{
  background:var(--ink);color:var(--bone);
  padding:clamp(96px,13vh,150px) 0 clamp(40px,6vh,66px);
}
.page-head .back{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(242,240,233,.55);transition:color .3s;
}
.page-head .back:hover{color:var(--green-hi);}
.page-head h1{
  margin:0 0 16px;font-size:clamp(38px,7.4vw,92px);font-weight:900;line-height:.86;
  letter-spacing:-.045em;text-transform:uppercase;font-variation-settings:"wdth" 104;
}
.page-head p{margin:0;max-width:54ch;font-size:15px;line-height:1.6;color:rgba(242,240,233,.62);}
.page-head .updated{
  display:block;margin-top:20px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green-hi);
}

.page{padding:clamp(40px,7vh,80px) 0 clamp(70px,10vh,120px);}
.page__grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:start;}
@media (max-width:860px){.page__grid{grid-template-columns:1fr;}}

.toc{position:sticky;top:100px;}
.toc p{margin:0 0 14px;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);}
.toc a{
  display:block;padding:7px 0;font-size:13px;color:#4A5044;
  border-bottom:1px solid rgba(11,12,7,.08);transition:color .25s,padding-left .25s var(--ease);
}
.toc a:hover{color:var(--green);padding-left:6px;}
@media (max-width:860px){.toc{position:static;margin-bottom:30px;}}

.legal{max-width:72ch;}
.legal section{margin-bottom:clamp(30px,4vh,48px);scroll-margin-top:100px;}
.legal h2{
  margin:0 0 14px;font-size:clamp(20px,2.4vw,28px);font-weight:800;
  letter-spacing:-.02em;line-height:1.1;text-transform:uppercase;
}
.legal h3{margin:24px 0 10px;font-size:16px;font-weight:700;letter-spacing:-.01em;}
.legal p{margin:0 0 14px;font-size:15px;line-height:1.72;color:#3A4034;}
.legal ul{margin:0 0 16px;padding-left:0;}
.legal li{
  position:relative;padding:0 0 10px 20px;font-size:15px;line-height:1.7;color:#3A4034;
}
.legal li::before{
  content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;
  background:var(--green);transform:rotate(45deg);
}
.legal strong{color:var(--ink);font-weight:700;}
.legal a{color:var(--green);border-bottom:1px solid rgba(48,91,51,.35);}
.legal a:hover{border-bottom-color:var(--green);}
.legal .note{
  background:var(--bone);border-left:3px solid var(--green);
  padding:16px 18px;font-size:14px;line-height:1.65;color:#3A4034;
}

/* FAQ */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 0;cursor:pointer;list-style:none;
  font-size:clamp(16px,2vw,20px);font-weight:700;letter-spacing:-.015em;
  transition:color .3s;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--green);}
.faq summary i{
  flex:0 0 22px;height:22px;position:relative;border:1px solid var(--line);
  transition:background .3s,border-color .3s,transform .35s var(--ease);
}
.faq summary i::before,.faq summary i::after{
  content:"";position:absolute;top:50%;left:50%;background:var(--ink);
  transform:translate(-50%,-50%);transition:transform .35s var(--ease),background .3s;
}
.faq summary i::before{width:9px;height:1.5px;}
.faq summary i::after{width:1.5px;height:9px;}
.faq details[open] summary i{background:var(--green);border-color:var(--green);}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:var(--bone);}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
.faq__a{padding:0 0 24px;max-width:68ch;}
.faq__a p{margin:0 0 12px;font-size:15px;line-height:1.72;color:#3A4034;}
.faq__a p:last-child{margin-bottom:0;}
.faq__a a{color:var(--green);border-bottom:1px solid rgba(48,91,51,.35);}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,54px);align-items:start;}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{border:1px solid var(--line);padding:clamp(20px,3vw,32px);background:#fff;}
.contact-card h3{margin:0 0 6px;font-size:13px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:400;}
.contact-card p{margin:0 0 18px;font-size:clamp(17px,2vw,22px);font-weight:600;letter-spacing:-.015em;line-height:1.35;}
.contact-card p:last-child{margin-bottom:0;}
.contact-card a{border-bottom:1px solid rgba(48,91,51,.3);}
.contact-card a:hover{color:var(--green);}

/* footer legal row */
.footer__legal{
  display:flex;gap:22px;flex-wrap:wrap;align-items:center;
  padding:18px 0 0;border-top:1px solid var(--line-dark);margin-top:26px;
}
.footer__legal a{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,240,233,.55);transition:color .3s;
}
.footer__legal a:hover{color:var(--green-hi);}
.footer__legal .dim{color:rgba(242,240,233,.62);font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;}

/* 404 */
.notfound{
  min-height:78vh;min-height:78svh;display:flex;flex-direction:column;justify-content:center;
  background:var(--ink);color:var(--bone);padding:clamp(90px,14vh,150px) 0;
}
.notfound h1{
  margin:0 0 18px;font-size:clamp(60px,16vw,190px);font-weight:900;line-height:.8;
  letter-spacing:-.05em;font-variation-settings:"wdth" 104;
}
.notfound p{margin:0 0 32px;color:rgba(242,240,233,.6);font-size:15px;max-width:44ch;line-height:1.6;}

/* ---------- visually hidden but available to screen readers and crawlers ---------- */
.skip{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:var(--green-hi);color:var(--ink);font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:14px 20px;text-decoration:none;
}
.skip:focus{left:0;}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

@media (max-width:900px), (pointer:coarse){
  .lang button{min-width:44px;min-height:44px;}
  .mobile-menu .lang button{min-width:52px;min-height:48px;}
}

/* ---------- consent, collection notice, inline validation ---------- */
.collect-notice{margin:0 0 20px;font-size:12.5px;line-height:1.6;color:#4A5044;}
.collect-notice a{color:#2F5A32;text-decoration:underline;}
.consent{margin:6px 0 20px;padding:16px 18px;border:1px solid var(--line);background:#fff;}
.check{display:flex;gap:11px;align-items:flex-start;margin:0 0 14px;font-size:13px;
  line-height:1.55;color:#3A4335;cursor:pointer;}
.check:last-child{margin-bottom:0;}
.check[hidden]{display:none;}
.panel__title:focus,.confirm h2:focus{outline:none;}
.check input{width:19px;height:19px;margin:1px 0 0;flex:0 0 auto;accent-color:#305B33;cursor:pointer;}
.check a{color:#2F5A32;text-decoration:underline;}
.check--invalid{outline:2px solid #B23A2E;outline-offset:4px;}
.field__error{margin:6px 0 0;font-size:12px;font-weight:600;line-height:1.4;color:#8E2F24;}
.form-error{margin:20px 0 0;padding:10px 12px;border:1px solid #D8B4AE;background:#FBF3F1;}

.waiver-warning{
  margin:0 0 20px;padding:14px 18px;border-left:4px solid #B23A2E;background:#FBF3F1;
  font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.5;
  letter-spacing:.06em;text-transform:uppercase;color:#8E2F24;
}

/* the preview badge is a build artifact and covers content on narrow screens */
@media (max-width:960px){
  .preview-pill{display:none;}
}
