@font-face{font-family:"Big Shoulders Display";font-weight:700;font-display:swap;src:url(fonts/big-shoulders-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:800;font-display:swap;src:url(fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:900;font-display:swap;src:url(fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url(fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url(fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-display:swap;src:url(fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:700;font-display:swap;src:url(fonts/barlow-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
:root{--bg:#121510;--bg2:#181c15;--card:#1f241b;--line:#2f3629;--ink:#f1f3ec;--mut:#a7ae9e;--olive:#6b7a3a;--nato:#4b5320;--acc:#a8bb62}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:17px/1.6 "Barlow",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--acc)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:.98}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.kicker{font-family:"Barlow Condensed",sans-serif;color:var(--acc);font-weight:600;font-size:15px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(18,21,16,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:"Big Shoulders Display",sans-serif;font-weight:500;font-size:20px;text-transform:uppercase;letter-spacing:.08em}
.brand img{height:34px}
nav{display:flex;align-items:center;gap:26px}
nav a{color:var(--mut);text-decoration:none;font-size:14px;font-weight:600}
nav a:hover{color:var(--ink)}

/* buttons */
.btn{display:inline-block;background:var(--olive);color:#fff!important;text-decoration:none;font-weight:700;padding:15px 28px;border-radius:8px;border:1px solid #84944c;transition:background .15s,transform .15s}
.btn:hover{background:#7b8b45;transform:translateY(-1px)}
.btn.ghost{background:transparent;border-color:#48513f;color:var(--ink)!important}
.btn.ghost:hover{border-color:var(--acc);background:rgba(168,187,98,.08)}
.btn.sm{padding:9px 18px;font-size:14px}
.btn.big{padding:18px 40px;font-size:17px}

/* hero */
.hero{padding:90px 0 90px;background:radial-gradient(1000px 520px at 85% -10%,rgba(107,122,58,.38),transparent 70%),linear-gradient(180deg,var(--bg2),var(--bg));border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero-photo{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px rgba(0,0,0,.55);border:1px solid var(--line)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(18,21,16,.55))}
.hero h1{font-size:clamp(44px,6.2vw,80px)}
.hero h1 span{color:var(--acc)}
.hero p{color:var(--mut);font-size:19px;max-width:560px;margin-top:24px}
.hero p.by{margin-top:14px;font-size:16px}
.hero p.by b{color:var(--ink)}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-mark img{width:100%;max-width:300px;margin-left:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,.5))}

/* sections */
section{padding:100px 0}
section.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{margin-bottom:48px}
section h2{font-size:clamp(32px,4.6vw,50px)}
.lead{color:var(--mut);font-size:18px;max-width:620px;margin-top:14px}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px 24px}
.card .num{font-family:"Big Shoulders Display",sans-serif;color:var(--acc);font-size:15px;letter-spacing:.1em;margin-bottom:18px}
.card h3{font-size:21px;margin-bottom:10px}
.card p{color:var(--mut);font-size:15px}

/* coach */
.coach{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.coach-photo{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2b3322,#161a12);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.coach-photo img.ph-mark{width:45%;opacity:.25}
.coach-photo img.photo{width:100%;height:100%;object-fit:cover}
.coach h2 .sub{color:var(--acc);font-size:.55em;letter-spacing:.12em}
.coach p{color:var(--mut);font-size:17px;margin-top:18px;max-width:560px}
.coach .link{display:inline-block;margin-top:24px;font-weight:700;text-decoration:none}

/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{counter-increment:s;border-top:2px solid var(--olive);padding-top:22px}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:"Big Shoulders Display",sans-serif;color:var(--acc);font-size:15px;letter-spacing:.1em;display:block;margin-bottom:10px}
.steps b{display:block;font-family:"Big Shoulders Display",sans-serif;font-weight:600;text-transform:uppercase;font-size:21px;margin-bottom:8px}
.steps span{color:var(--mut);font-size:15px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;filter:saturate(.92)}

/* phones */
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:960px;margin:0 auto}
.phones figure{text-align:center}
.phone{border-radius:38px;padding:10px;background:#0b0d09;border:1px solid #3a4233;box-shadow:0 30px 60px rgba(0,0,0,.45);max-width:280px;margin:0 auto}
.phone img{border-radius:29px;width:100%;aspect-ratio:390/844;object-fit:cover;object-position:top}
figcaption{margin-top:20px;color:var(--mut);font-size:14px}
figcaption b{display:block;color:var(--ink);font-family:"Big Shoulders Display",sans-serif;font-weight:600;text-transform:uppercase;font-size:18px;margin-bottom:2px}

/* join */
.join{text-align:center;position:relative;overflow:hidden;padding:130px 0}
.join-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,21,16,.92),rgba(18,21,16,.75) 50%,rgba(18,21,16,.95)),url(img/stones.jpg) center 40%/cover}
.join .wrap{position:relative}
.join .lead{margin:14px auto 34px}
.contact-row{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.contact-row a{color:var(--mut);text-decoration:none;font-weight:600;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:2px}
.contact-row a:hover{color:var(--ink);border-color:var(--acc)}

/* footer */
footer{border-top:1px solid var(--line);padding:40px 0;color:var(--mut);font-size:13px}
footer .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}
.f-brand{display:flex;gap:12px;align-items:center}
.f-brand img{height:38px}
.f-brand b{color:var(--ink);font-family:"Big Shoulders Display",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:15px}
footer a{color:var(--mut)}

/* privacy page */
.doc{padding:56px 0 80px}
.doc .wrap{max-width:760px}
.doc h1{font-size:clamp(34px,5vw,48px);margin-bottom:6px}
.doc h2{font-size:22px;margin:36px 0 10px;color:var(--acc)}
.doc p,.doc li{color:#cfd4c8;margin-bottom:10px}
.doc ul{padding-left:22px}
.doc .meta{color:var(--mut);font-size:14px;margin-bottom:28px}
header:not(.top){position:sticky;top:0;z-index:5;background:rgba(18,21,16,.92);border-bottom:1px solid var(--line)}
header:not(.top) .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}

@media(max-width:900px){
  .grid4,.steps{grid-template-columns:1fr 1fr}
  .coach{grid-template-columns:1fr;gap:36px}
  .coach-photo{max-width:420px}
}
@media(max-width:700px){
  .wrap{padding:0 18px}
  nav{gap:0}nav .hide-m{display:none}
  .hero{padding:56px 0 64px}
  .hero .wrap{grid-template-columns:1fr;gap:28px}
  .hero-photo{aspect-ratio:4/4.4;grid-row:1}
  .hero p{font-size:17px}
  .ctas .btn{width:100%;text-align:center}
  section{padding:68px 0}
  .sec-head{margin-bottom:32px}
  .grid4,.steps{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;gap:10px}
  .join{padding:90px 0}
  .phones{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:0 18px 12px;scrollbar-width:none}
  .phones::-webkit-scrollbar{display:none}
  .phones figure{flex:0 0 74%;scroll-snap-align:center}
  footer .wrap{grid-template-columns:1fr;gap:18px}
}
