/* Multi-page additions: page banners, leader/trainer panels, profile, schedule, contact, footer */
.top nav a.on{color:var(--band-ink);border-color:var(--band-gold)}
.btn.gold.dark{background:var(--band);color:var(--band-ink)}
.btn.gold.dark:hover{filter:brightness(1.25)}

/* blueprint grid on navy bands */
.hero,.pagehero,.profilehero,.check,.contact{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(160deg,var(--band) 50%,var(--band-2));background-size:56px 56px,56px 56px,auto}
.hero h1 .now{background:linear-gradient(100deg,var(--band-gold),#F6DFA0 45%,var(--band-gold));-webkit-background-clip:text;background-clip:text;color:transparent}

.pagehero .wrap{padding-block:60px 54px;display:grid;gap:18px}
.pagehero h1,.bookpage h1{font-size:clamp(3rem,9.5vw,6.6rem)}
.pagehero h1 span,.bookpage h1 span{color:var(--band-gold)}
.pagehero .lede{font-size:1.16rem}

/* credentials ribbon */
.ribbon{background:var(--gold-fill);color:var(--on-gold);overflow:hidden;border-block:1px solid rgba(23,18,10,.2)}
.track{display:flex;width:max-content;animation:marq 48s linear infinite}
.ribbon:hover .track{animation-play-state:paused}
.set{display:flex;align-items:center;padding-block:15px}
.set span{font:800 1.35rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;display:flex;align-items:center;gap:28px;padding-right:28px}
.set span::after{content:"";width:8px;height:8px;background:var(--on-gold);transform:rotate(45deg)}
@keyframes marq{to{transform:translateX(-50%)}}

/* leader / trainer panels */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:var(--shadow)}
.panel{padding:44px 40px 40px;display:grid;gap:16px;align-content:start;min-width:0}
.panel.lead{background:var(--band);color:var(--band-ink)}
.panel.train{background:var(--gold-fill);color:var(--on-gold)}
.panel .tagline{font:500 .76rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
.panel.lead .tagline{color:var(--band-gold)}
.panel h3{font:800 clamp(3.4rem,8vw,6rem)/.85 var(--display);text-transform:uppercase;letter-spacing:.01em}
.panel.lead h3{color:var(--band-gold)}
.panel ul{list-style:none;margin:8px 0 0;padding:0;display:grid}
.panel li{padding:12px 0;border-top:1px solid;font-size:1.02rem}
.panel.lead li{border-color:var(--band-line)}
.panel.train li{border-color:rgba(25,19,4,.28)}
.panel a{font-weight:700;text-decoration:none;margin-top:8px}
.panel a:hover{text-decoration:underline}
.panel.lead a{color:var(--band-gold)}

/* profile */
.profilehero > .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:56px;align-items:center;padding-block:60px 56px}
.profilehero h1{font-size:clamp(3.8rem,11vw,8rem);margin-block:16px 14px}
.profilehero h1 span{color:var(--band-gold)}
.profilehero .role{font:500 .9rem var(--mono);letter-spacing:.12em;text-transform:uppercase;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:18px}
.profilehero .role i{width:6px;height:6px;background:var(--band-gold);transform:rotate(45deg)}
.profilehero .lede{font-size:1.15rem;max-width:56ch}
.summary{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:start}
.quote{margin:30px 0 0;padding:26px 0 0 24px;border-left:4px solid var(--gold-fill);font:800 clamp(2.4rem,5vw,3.6rem)/.95 var(--display);text-transform:uppercase}
.quote span{color:var(--gold)}
.quote cite{display:block;font:500 .78rem var(--mono);letter-spacing:.1em;color:var(--muted);margin-top:16px;font-style:normal}
.bio{display:grid;gap:16px;max-width:66ch}
.bio p{color:var(--muted)}
.bio p.big{font-size:1.24rem;line-height:1.5;color:var(--ink)}
.strengths-sec{background:var(--surface);border-block:1px solid var(--line)}
.strengths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.strengths > div{scroll-margin-top:90px}
.strengths h2{margin-block:14px 22px}
.strengths dl{margin:0;display:grid}
.strengths dl div{padding:18px 0;border-top:1px solid var(--line);display:grid;gap:4px}
.strengths dt{font:800 1.5rem/1.05 var(--display);text-transform:uppercase;letter-spacing:.02em}
.strengths dd{margin:0;color:var(--muted)}
.areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.areas div{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold-fill);padding:22px 20px;display:grid;gap:8px;align-content:start}
.areas p{color:var(--muted);font-size:.97rem}
.cw-h{font:500 .76rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.worked{margin-top:28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 24px;align-items:center;padding:20px 24px;background:var(--surface);border:1px solid var(--line)}

/* shared bits */
.program .fmt{font:500 .76rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.program:target{transform:translateY(-6px);box-shadow:var(--shadow);border-top-color:var(--gold-fill)}
.program{scroll-margin-top:90px}
.more{display:inline-block;font-weight:700;text-decoration:none;color:var(--gold);margin-top:6px}
.more:hover{text-decoration:underline}
.teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:center}
.pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 48px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold-fill);padding:34px}
.bookpage{padding-block:72px}
.msg{font-size:.94rem;color:var(--muted)}

/* contact */
.ccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ccard{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--band);padding:26px 24px;display:grid;gap:14px;align-content:start;min-width:0;transition:border-color .2s,transform .2s,box-shadow .2s}
.ccard:hover{border-top-color:var(--gold-fill);transform:translateY(-4px);box-shadow:var(--shadow)}
.ccard .val{font:700 1.3rem/1.25 var(--body);overflow-wrap:anywhere;user-select:all}
.ccard .row{display:flex;flex-wrap:wrap;gap:8px}
a.copy{text-decoration:none;display:inline-block}
.cgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.reasons{list-style:none;margin:0;padding:0;display:grid}
.reasons li{padding:12px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:16px 1fr;gap:8px}
.reasons li::before{content:"";width:7px;height:7px;background:var(--gold-fill);transform:rotate(45deg);margin-top:.62em}
.cform{background:var(--surface);border:1px solid var(--line);padding:30px;display:grid;gap:16px}
.cform label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.cform input,.cform select,.cform textarea{font:400 1rem var(--body);padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);width:100%}
.cform textarea{resize:vertical}
.cform .btn{justify-self:start}

/* footer */
.foot{font-size:.95rem}
.foot .wrap{display:block;padding-block:44px 18px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);gap:36px}
.fgrid > div{display:grid;gap:12px;align-content:start;min-width:0}
.fgrid p{max-width:38ch}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fgrid li{overflow-wrap:anywhere}
.ft{font:500 .74rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--band-gold)}
.fbase{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;border-top:1px solid var(--band-line);margin-top:34px;padding-top:16px;font-size:.88rem}

/* schedule */
.announce{background:var(--gold-fill);color:var(--on-gold);font-size:.95rem}
.announce .wrap{display:flex;align-items:center;gap:6px 16px;padding-block:9px;flex-wrap:wrap}
.announce p{flex:1 1 300px;min-width:0}
.announce a{font-weight:700;color:var(--on-gold);background:rgba(25,19,4,.12);padding:4px 12px;border-radius:3px;text-decoration:none}
.announce a:hover{background:rgba(25,19,4,.22)}
.announce button{background:none;border:0;color:var(--on-gold);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px}
.slist{display:grid;gap:16px}
.scard{display:grid;grid-template-columns:110px minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s,transform .2s}
.scard:hover{border-color:var(--gold-fill);box-shadow:var(--shadow);transform:translateY(-2px)}
.sdate{background:var(--band);color:var(--band-ink);display:grid;align-content:center;justify-items:center;text-align:center;padding:18px 8px;gap:2px}
.sdate b{font:800 3.2rem/.9 var(--display);color:var(--band-gold)}
.sdate span{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.sdate small{font:500 .74rem var(--mono);color:var(--band-muted);text-transform:uppercase;letter-spacing:.1em}
.sdate.tba b{font-size:2.2rem}
.smain{padding:22px 24px;display:grid;gap:8px;align-content:start;min-width:0}
.stype{font:500 .74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);display:flex;flex-wrap:wrap;gap:6px 12px}
.stype em{font-style:normal;color:var(--ink);background:var(--code-bg);padding:1px 8px;border-radius:2px}
.smain h3{font:800 1.9rem/1 var(--display);text-transform:uppercase}
.smain > p:not(.stype){color:var(--muted);font-size:.98rem}
.smeta{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font:500 .84rem var(--mono)}
.smeta li{display:flex;align-items:center;gap:8px}
.smeta li + li::before{content:"";width:5px;height:5px;background:var(--gold-fill);transform:rotate(45deg)}
.sact{padding:22px 24px;display:grid;gap:10px;align-content:center;justify-items:stretch;border-left:1px solid var(--line);min-width:180px}
.sact .btn{justify-content:center}
.sact .copy{text-align:center}
.status{font:500 .76rem var(--mono);letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:5px 10px;border-radius:99px;border:1px solid var(--line)}
.status.open{background:var(--band);color:var(--band-ink);border-color:var(--band)}
.status.few{border-color:var(--gold-fill);color:var(--gold)}
.status.sold{color:var(--muted);text-decoration:line-through}
.status.soon{color:var(--muted)}
.scard.past{opacity:.75}
.scard.past .sdate{background:var(--muted)}
.scard.past .sdate b{color:var(--band-ink)}
.pastwrap{margin-top:34px}
.pastwrap summary{cursor:pointer;font:500 .85rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.program .next,.pagehero .next{font-weight:600;font-size:.95rem;color:var(--ink);background:var(--code-bg);padding:8px 12px;border-left:3px solid var(--gold-fill)}
.pagehero .next{justify-self:start;background:rgba(255,255,255,.08);color:var(--band-ink)}
.program .next a,.pagehero .next a{margin-left:4px;color:var(--gold)}
.pagehero .next a{color:var(--band-gold)}
.ticket .stub .btn{margin-top:4px}

@media (max-width:900px){
  .split,.teaser,.pick,.cgrid,.ccards,.fgrid,.profilehero > .wrap,.summary,.strengths{grid-template-columns:minmax(0,1fr)}
  .areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .panel{padding:32px 24px}
  .strengths{gap:40px}
  .summary{gap:36px}
  .pick,.cform{padding:24px}
  .pagehero .wrap{padding-block:40px 38px}
  .profilehero .portrait{max-width:300px;margin-right:18px}
  .worked{grid-template-columns:minmax(0,1fr)}
  .scard{grid-template-columns:84px minmax(0,1fr)}
  .sdate b{font-size:2.4rem}
  .sact{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;min-width:0;padding:16px 18px}
  .smain{padding:18px}
  .smain h3{font-size:1.6rem}
}
@media (max-width:520px){.areas{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion: reduce){
  .track{animation:none;width:auto}
  .set{flex-wrap:wrap;row-gap:10px;padding-inline:20px}
  .set[aria-hidden]{display:none}
}
