@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --void:#0a0a0a;
  --ink:#151513;
  --card:#1c1c19;
  --bone:#f3f1e9;
  --paper:#e9e7dd;
  --chalk:#9d9a8f;
  --line:#333330;
  --line-lt:#cfccc1;
  --red-tape:#c1272d;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  background:var(--void);
  color:var(--bone);
  font-family:'Archivo',sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}

a{color:inherit;text-decoration:none;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--chalk);
  display:flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{
  content:'';
  width:26px;height:1px;
  background:var(--red-tape);
  display:inline-block;
}

h1,h2,h3,h4{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:0.95;
}

h1{font-size:clamp(48px,9vw,118px);}
h2{font-size:clamp(32px,5.5vw,58px);}
h3{font-size:clamp(20px,3vw,28px);}

p{color:var(--chalk);max-width:56ch;}
p.lead{font-size:19px;color:var(--paper);}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:16px 28px;
  border:1.5px solid var(--bone);
  color:var(--bone);
  transition:background .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn:hover{background:var(--bone);color:var(--void);}
.btn.solid{background:var(--bone);color:var(--void);}
.btn.solid:hover{background:transparent;color:var(--bone);}
.btn.tape{border-color:var(--red-tape);color:var(--bone);}
.btn.tape:hover{background:var(--red-tape);border-color:var(--red-tape);}

/* NAV */
header.site{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(10,10,10,0.88);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.brand{display:flex;align-items:center;gap:12px;font-family:'Anton',sans-serif;font-size:19px;letter-spacing:0.02em;text-transform:uppercase;}
.brand img{height:38px;width:38px;object-fit:contain;}
.navlinks{display:flex;gap:36px;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;}
.navlinks a{position:relative;padding:6px 0;color:var(--chalk);}
.navlinks a:hover,.navlinks a.active{color:var(--bone);}
.navlinks a.active::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--red-tape);}
.navcta{display:flex;align-items:center;gap:22px;}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--bone);width:44px;height:44px;font-size:20px;align-items:center;justify-content:center;}

@media (max-width:880px){
  .navlinks{position:fixed;top:78px;left:0;right:0;background:var(--void);flex-direction:column;gap:0;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .navlinks.open{max-height:400px;}
  .navlinks a{padding:18px 32px;border-bottom:1px solid var(--line);width:100%;}
  .menu-btn{display:flex;}
  .navcta .btn.solid{display:none;}
}

/* HERO */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  padding-top:78px;
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(0.55);}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,0.35) 0%,rgba(10,10,10,0.55) 55%,rgba(10,10,10,0.97) 100%);
}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:90px;}
.hero-content .eyebrow{margin-bottom:22px;}
.hero-content h1{margin-bottom:6px;}
.hero-content h1 span{display:block;-webkit-text-stroke:1.5px var(--bone);color:transparent;}
.hero-sub{margin-top:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.hero-sub p{font-size:17px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.diag-cut{
  clip-path:polygon(0 0,100% 0,100% 92%,0 100%);
}
.diag-cut-top{
  clip-path:polygon(0 6%,100% 0,100% 100%,0 100%);
  margin-top:-6vw;
}

/* SECTION */
section{padding:120px 0;position:relative;}
section.tight{padding:80px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;flex-wrap:wrap;}
.section-head h2{max-width:640px;}

.on-paper{background:var(--paper);color:var(--void);}
.on-paper p{color:#54524a;}
.on-paper .eyebrow{color:#6b6960;}
.on-paper h2,.on-paper h3,.on-paper h4{color:var(--void);}
.on-paper .btn{border-color:var(--void);color:var(--void);}
.on-paper .btn:hover{background:var(--void);color:var(--bone);}
.on-paper .btn.solid{background:var(--void);color:var(--bone);}
.on-paper .btn.solid:hover{background:transparent;color:var(--void);}

/* DISCIPLINE CARDS */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.discipline{background:var(--void);padding:44px 36px;}
.discipline .num{font-family:'JetBrains Mono',monospace;color:var(--red-tape);font-size:13px;letter-spacing:0.1em;margin-bottom:26px;display:block;}
.discipline h3{margin-bottom:14px;}
.discipline p{font-size:14.5px;}

/* COACH TEASER / SPLIT */
.split{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
.split img{filter:grayscale(1) contrast(1.1);width:100%;height:560px;object-fit:cover;object-position:top center;}
.split-rev{grid-template-columns:1.15fr 0.85fr;}
.split-rev .img-col{order:2;}
@media (max-width:880px){
  .split,.split-rev{grid-template-columns:1fr;}
  .split-rev .img-col{order:0;}
  .split img{height:400px;}
}

/* TALE OF THE TAPE */
.tape-table{width:100%;border-collapse:collapse;font-family:'JetBrains Mono',monospace;}
.tape-table tr{border-bottom:1px solid var(--line);}
.tape-table tr:first-child{border-top:1px solid var(--line);}
.tape-table td{padding:20px 4px;font-size:14px;vertical-align:top;}
.tape-table td.tag{color:var(--chalk);letter-spacing:0.08em;text-transform:uppercase;font-size:11.5px;width:210px;padding-top:23px;}
.tape-table td.val{color:var(--bone);font-size:16px;line-height:1.5;}
.on-paper .tape-table tr{border-color:var(--line-lt);}
.on-paper .tape-table td.val{color:var(--void);}

/* STAMP / medal badges */
.badges{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.badge{
  border:1px solid var(--line-lt);
  padding:8px 16px;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

/* CTA BAND */
.cta-band{
  background:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.cta-band h2{margin-bottom:22px;}
.stars{font-family:'JetBrains Mono',monospace;letter-spacing:0.3em;color:var(--bone);margin-bottom:18px;font-size:20px;}

/* FOOTER */
footer{padding:80px 0 40px;border-top:1px solid var(--line);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:64px;}
.foot-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.foot-brand img{height:46px;width:46px;object-fit:contain;}
.foot-brand span{font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;}
.foot-col h4{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--chalk);margin-bottom:18px;font-weight:400;}
.foot-col a,.foot-col p{display:block;font-size:14.5px;color:var(--paper);margin-bottom:10px;}
.foot-col a:hover{color:var(--red-tape);}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--chalk);border-top:1px solid var(--line);padding-top:28px;}
@media (max-width:720px){.foot-grid{grid-template-columns:1fr;gap:36px;}}

/* SCHEDULE TABLE */
.sched-note{
  border:1px dashed var(--line-lt);
  padding:16px 20px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--chalk);
  margin-bottom:48px;
  max-width:640px;
}
table.sched{width:100%;border-collapse:collapse;}
table.sched th{
  text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--chalk);
  padding:14px 16px;border-bottom:1px solid var(--line-lt);
}
table.sched td{padding:20px 16px;border-bottom:1px solid var(--line);font-size:15px;}
table.sched td.time{font-family:'JetBrains Mono',monospace;color:var(--chalk);font-size:13px;white-space:nowrap;}
table.sched td.cls{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:16px;letter-spacing:0.02em;}
table.sched td.lvl{color:var(--chalk);font-size:13px;}
.sched-wrap{overflow-x:auto;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.contact-cell{background:var(--void);padding:56px;}
.contact-cell h4{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--chalk);margin-bottom:20px;}
.contact-line{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
.contact-line:last-child{border-bottom:none;}
.contact-line .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--chalk);text-transform:uppercase;letter-spacing:0.08em;width:80px;flex-shrink:0;}
.contact-line a,.contact-line span{font-size:17px;}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;}.contact-cell{padding:40px 28px;}}

form.trial{display:flex;flex-direction:column;gap:18px;}
form.trial label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--chalk);margin-bottom:8px;display:block;}
form.trial input,form.trial select,form.trial textarea{
  width:100%;background:transparent;border:1px solid var(--line-lt);color:var(--bone);padding:14px 16px;font-family:'Archivo',sans-serif;font-size:15px;
}
form.trial input::placeholder,form.trial textarea::placeholder{color:#6b6960;}
form.trial textarea{resize:vertical;min-height:100px;}
form.trial button{margin-top:8px;}

/* FEATURE / TRUST GRID */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.feature{background:var(--void);padding:36px 28px;}
.feature i{font-size:26px;color:var(--red-tape);margin-bottom:20px;display:block;}
.feature h4{font-family:'Anton',sans-serif;font-size:17px;text-transform:uppercase;letter-spacing:0.02em;margin-bottom:10px;}
.feature p{font-size:13.5px;}
@media (max-width:880px){.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.grid-4{grid-template-columns:1fr;}}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gallery-item{position:relative;overflow:hidden;background:var(--ink);}
.gallery-item img{width:100%;height:320px;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.04);}
.gallery-cap{padding:16px 4px 0;}
.gallery-cap .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--red-tape);display:block;margin-bottom:6px;}
.gallery-cap p{font-size:13.5px;color:var(--chalk);max-width:none;}
.gallery.wide .gallery-item img{height:260px;}
@media (max-width:880px){.gallery{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.gallery{grid-template-columns:1fr;}}

/* FAQ ACCORDION */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;
  background:none;border:none;text-align:left;cursor:pointer;
  padding:26px 4px;color:var(--bone);
  font-family:'Anton',sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:0.01em;
}
.faq-q .plus{font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--red-tape);flex-shrink:0;transition:transform .25s ease;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 4px 26px;font-size:15px;max-width:70ch;}

/* TIMING TABLE */
table.timing{width:100%;border-collapse:collapse;}
table.timing th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--chalk);padding:14px 16px;border-bottom:1px solid var(--line-lt);}
table.timing td{padding:22px 16px;border-bottom:1px solid var(--line);font-size:15px;}
table.timing td.day{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:17px;letter-spacing:0.02em;width:150px;}
table.timing td.cls{color:var(--bone);}
table.timing td.time{font-family:'JetBrains Mono',monospace;color:var(--chalk);font-size:13px;white-space:nowrap;}
table.timing tr.off td{color:var(--chalk);}
table.timing tr.off td.day{color:var(--chalk);}

/* PAGE HERO (inner pages) */
.page-hero{padding:170px 0 70px;border-bottom:1px solid var(--line);}
.page-hero .eyebrow{margin-bottom:20px;}
.page-hero p.lead{margin-top:20px;}

/* MISC */
.mono{font-family:'JetBrains Mono',monospace;}
.center{text-align:center;}
.mt-lg{margin-top:64px;}

@media (max-width:600px){
  section{padding:80px 0;}
  .wrap{padding:0 20px;}
  .grid-3{grid-template-columns:1fr;}
  .hero-sub{flex-direction:column;align-items:flex-start;}
}
