:root{
  --bg:#0a0a0a; --bg2:#121212; --line:#2a2418;
  --gold:#c9a45c; --gold-hi:#e2c27e; --text:#e8e4da; --muted:#a8a194;
  --head:"Oswald","Bebas Neue","Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-hi)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}

.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem 1.25rem 4rem;
  background:
    radial-gradient(ellipse 60% 55% at 50% 40%, rgba(201,164,92,.22), rgba(201,164,92,.06) 45%, transparent 70%),
    radial-gradient(ellipse at 50% 0%, #1b1813, var(--bg) 70%);
  border-bottom:1px solid var(--line)}
.hero-inner{max-width:780px;width:100%}
.hero-logo{width:min(88vw,520px);margin:0 auto;filter:drop-shadow(0 0 1px rgba(226,194,126,.35)) drop-shadow(0 10px 30px rgba(0,0,0,.6))}
.tagline{margin:1.5rem auto 1.75rem;text-wrap:balance;font:500 clamp(.95rem,2.6vw,1.15rem)/1.4 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.btn{display:inline-block;padding:.9rem 1.8rem;border:2px solid var(--gold);color:#0a0a0a;background:linear-gradient(180deg,var(--gold-hi),var(--gold));
  font:700 .95rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s,color .2s,box-shadow .2s}
.btn:hover,.btn:focus-visible{background:transparent;color:var(--gold-hi);box-shadow:0 0 0 4px rgba(201,164,92,.15);outline:none}

.section{padding:clamp(3.5rem,8vw,6rem) 1.25rem}
.wrap{max-width:760px;margin:0 auto;text-align:center}
.eyebrow{margin:0 0 .6rem;color:var(--gold);font:600 .8rem/1 var(--head);letter-spacing:.35em;text-transform:uppercase}
.eyebrow::before,.eyebrow::after{content:"";display:inline-block;width:2.2rem;height:1px;background:var(--gold);vertical-align:middle;margin:0 .9rem;opacity:.7}
h2{margin:0 0 1.1rem;font:700 clamp(1.6rem,4.5vw,2.4rem)/1.15 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#f3efe6}
.section p{color:var(--muted);margin:0 auto 1rem;max-width:62ch}

.invite{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card{border:1px solid var(--line);padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,3rem);background:linear-gradient(180deg,rgba(201,164,92,.06),transparent 60%);position:relative}
.card::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:120px;height:3px;background:var(--gold)}
.card .btn{margin-top:.75rem}
.email{margin-top:1.1rem!important;font-size:.95rem}
.email a{text-decoration:none;border-bottom:1px solid rgba(226,194,126,.4)}

.footer{border-top:1px solid var(--line);padding:2.5rem 1.25rem;text-align:center;font-size:.9rem;color:var(--muted)}
.footer p{margin:.35rem 0}
.footer a{text-decoration:none}
.mark{font:700 1rem/1.2 var(--head);letter-spacing:.28em;color:var(--gold)}
.copy{font-size:.8rem;opacity:.8}

@media (max-width:480px){
  .eyebrow::before,.eyebrow::after{width:1.2rem;margin:0 .6rem}
  .btn{width:100%;max-width:340px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Training services */
.wrap.wide{max-width:1100px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;text-align:left}
.svc{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:linear-gradient(180deg,rgba(201,164,92,.07),rgba(18,18,18,.9) 45%);padding:2rem 1.75rem}
.svc::before{content:"";position:absolute;top:-1px;left:1.75rem;width:64px;height:3px;background:var(--gold)}
.svc-tag{margin:0 0 .6rem!important;color:var(--gold)!important;font:600 .75rem/1 var(--head);letter-spacing:.25em;text-transform:uppercase}
.svc h3{margin:0 0 .35rem;font:700 clamp(1.25rem,2.6vw,1.55rem)/1.2 var(--head);letter-spacing:.04em;text-transform:uppercase;color:#f3efe6}
.svc-sub{margin:0 0 1rem!important;color:var(--gold-hi)!important;font:500 .95rem/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase}
.svc p{margin-left:0;margin-right:0}
.svc-list{list-style:none;margin:.25rem 0 1.5rem;padding:0;border-top:1px solid var(--line)}
.svc-list li{padding:.7rem 0;border-bottom:1px solid var(--line);color:var(--text);font-size:.97rem}
.svc-list span{display:block;color:var(--gold);font:600 .72rem/1.4 var(--head);letter-spacing:.22em;text-transform:uppercase}
.svc .btn{margin-top:auto;align-self:flex-start;text-align:center}
.invite strong{color:var(--text);font-weight:600}
@media (max-width:480px){.svc{padding:1.75rem 1.25rem}.svc .btn{align-self:stretch;max-width:none}}
.nw{white-space:nowrap}
.svc-cred{margin:-.5rem 0 1.25rem!important;padding-left:.75rem;border-left:2px solid var(--gold);color:var(--gold-hi)!important;font-size:.88rem;font-style:italic}
