/* PURPOSE TRAINING LLC — "Wildcat" varsity system
   Direction: disciplined collegiate. Deep navy, gold, off-white. Scoreboard display type,
   a quiet serif reserved for scripture. Squared cards, gold hairlines, no gloss. */
:root{
  --navy:#0E1A2F; --navy2:#16253F; --panel:#1C2C48; --line:#2B3C5C;
  --bone:#F7F5F0; --bone2:#EDE9E0; --ink:#141A24; --ink2:#4A5566; --mute:#6C7688;
  --gold:#B98B2E; --gold-dk:#7A5A12; --gold-lt:#D9B25C; --court:#82431C;
  --wide:1180px;
  --fd:"Bebas Neue",Impact,sans-serif;
  --fb:"Inter","Helvetica Neue",Arial,sans-serif;
  --fq:"Lora",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--fb);
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 28px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dk)}
.hero .eyebrow,.sec-navy .eyebrow,.ftr .eyebrow{color:var(--gold-lt)}

/* header */
.hdr{position:sticky;top:0;z-index:70;background:var(--navy);border-bottom:2px solid var(--gold)}
.hdr-in{display:flex;align-items:center;gap:22px;padding:14px 0}
.mk{display:flex;align-items:center;gap:13px;text-decoration:none}
.mk img{height:40px;width:auto}
.mk .n{font-family:var(--fd);font-size:24px;letter-spacing:.05em;color:var(--bone);line-height:1}
.mk .n i{display:block;font-family:var(--fb);font-style:normal;font-size:9px;font-weight:700;
  letter-spacing:.24em;color:var(--gold-lt);margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;padding:10px 14px;color:#B9C2D2}
.nav a:hover,.nav a.on{color:var(--gold-lt)}
.nav .cta{background:var(--gold);color:var(--navy);margin-left:10px;padding:12px 20px}
.nav .cta,.nav .cta.on,.nav .cta:hover{color:var(--navy)}
.nav .cta:hover{background:var(--bone);color:var(--navy)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  color:var(--bone);padding:7px 12px;cursor:pointer;font-size:16px}

/* hero */
.hero{position:relative;background:var(--navy);color:var(--bone);overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.3}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--navy) 26%,rgba(14,26,47,.75) 62%,rgba(14,26,47,.35))}
.hero-in{position:relative;z-index:2;padding:88px 0 80px;max-width:760px}
h1{font-family:var(--fd);font-size:clamp(48px,8vw,104px);line-height:.9;margin:20px 0 0;
  color:var(--bone);letter-spacing:.01em}
h1 em{font-style:normal;color:var(--gold-lt);display:block}
.lede{font-size:19px;line-height:1.75;color:#C4CCD9;max-width:52ch;margin:24px 0 0}
.ticks{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:24px;padding:0;list-style:none}
.ticks li{font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--gold-lt)}
.ticks li::before{content:"\2714";margin-right:9px;color:var(--gold)}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  padding:16px 30px;display:inline-block;border:2px solid var(--gold);transition:.15s}
.btn-f{background:var(--gold);color:var(--navy)}
.btn-f:hover{background:var(--bone);border-color:var(--bone)}
.btn-o{color:var(--gold-lt)}
.btn-o:hover{background:var(--gold);color:var(--navy)}

/* motto band */
.band{background:var(--gold);color:var(--navy);overflow:hidden;white-space:nowrap;padding:13px 0}
.band span{display:inline-block;animation:sl 28s linear infinite;font-family:var(--fd);
  font-size:19px;letter-spacing:.14em}
.band i{font-style:normal;opacity:.5;margin:0 20px}
@keyframes sl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.band span{animation:none}}

/* sections */
.sec{padding:88px 0}
.sec-2{background:var(--bone2)}
.sec-navy{background:var(--navy);color:#C4CCD9}
.sec-navy h2,.sec-navy h3{color:var(--bone)}
.sec-navy .head p{color:#C4CCD9}
.head{max-width:70ch;margin-bottom:52px}
.head .eyebrow{display:block;margin-bottom:16px}
h2{font-family:var(--fd);font-size:clamp(34px,5vw,60px);line-height:.98;margin:0;
  color:var(--navy);letter-spacing:.01em}
h2 em{font-style:normal;color:var(--gold-dk)}
.sec-navy h2 em,.hero h1 em{color:var(--gold-lt)}
.head p{margin:18px 0 0;font-size:19px;color:var(--ink2)}
h3{font-family:var(--fd);font-size:26px;margin:0 0 8px;color:var(--navy);letter-spacing:.03em}
.sec-navy h3{color:var(--bone)}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* focus grid */
.focus{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;background:var(--line)}
.foc{background:var(--navy2);padding:30px 24px}
.foc .n{font-family:var(--fd);font-size:32px;color:var(--gold);line-height:1}
.foc b{display:block;font-family:var(--fd);font-size:20px;color:var(--bone);margin-top:12px;letter-spacing:.03em}
.foc p{margin:9px 0 0;font-size:15px;color:#AAB4C4;line-height:1.6}

/* price card */
.price{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--navy)}
.price .a{background:var(--navy);color:var(--bone);padding:44px 38px}
.price .b{background:var(--bone);padding:44px 38px}
.sec-2 .price .b{background:#fff}
.price .amt{font-family:var(--fd);font-size:82px;line-height:.86;color:var(--gold-lt)}
.price .per{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:#AAB4C4;margin-top:10px}
.price ul{list-style:none;padding:0;margin:0}
.price li{padding:12px 0;border-bottom:1px solid var(--bone2);font-size:16px;color:var(--ink2)}
.price li:last-child{border-bottom:none}
.price li b{color:var(--ink)}
.note{background:var(--bone2);border-left:4px solid var(--gold);padding:22px 24px;font-size:16px;color:var(--ink2)}
.sec-2 .note{background:#fff}
.note b{display:block;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--court);margin-bottom:9px}
.sec-navy .note{background:var(--panel);color:#C4CCD9;border-left-color:var(--gold)}
.sec-navy .note b{color:var(--gold-lt)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-art img{width:100%;height:100%;object-fit:cover;border:2px solid var(--navy)}
.split-body p{color:var(--ink2)}
.split-body p+p{margin-top:16px}
.sec-navy .split-body p{color:#C4CCD9}
.sec-navy .split-art img{border-color:var(--gold)}

/* scripture */
.verse{background:var(--navy2);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);
  padding:64px 0;text-align:center}
.verse q{font-family:var(--fq);font-style:italic;font-size:clamp(22px,3.2vw,34px);line-height:1.45;
  color:var(--bone);display:block;max-width:26ch;margin:0 auto;quotes:"\201C" "\201D"}
.verse .ref{margin-top:22px;font-size:11px;font-weight:700;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-lt)}

/* testimonial */
.voice{background:var(--bone);border:2px solid var(--navy);padding:40px 36px;max-width:74ch}
.sec-2 .voice{background:#fff}
.voice p{margin:0;font-family:var(--fq);font-style:italic;font-size:20px;line-height:1.6;color:var(--navy)}
.voice .who{margin-top:22px;font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-dk)}
.voice .who i{display:block;font-style:normal;font-weight:400;letter-spacing:.06em;
  text-transform:none;color:var(--mute);font-size:14px;margin-top:6px}

/* rows */
.rows{border-top:1px solid var(--bone2)}
.rw{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--bone2)}
.sec-navy .rw{border-color:var(--line)}
.rw dt{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dk)}
.sec-navy .rw dt{color:var(--gold-lt)}
.rw dd{margin:0;font-size:17px;color:var(--ink2)}
.sec-navy .rw dd{color:#C4CCD9}
.rw dd a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--bone2)}
.rw dd a:hover{border-color:var(--gold);color:var(--court)}
.sec-navy .rw dd a{color:var(--bone);border-color:var(--line)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;background:var(--line)}
.gal img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* faq + legal */
.faq details{border-bottom:1px solid var(--bone2);padding:20px 0}
.sec-navy .faq details{border-color:var(--line)}
.faq summary{font-family:var(--fd);font-size:21px;color:var(--navy);cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:18px;letter-spacing:.03em}
.sec-navy .faq summary{color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-dk);font-size:22px}
.sec-navy .faq summary::after{color:var(--gold-lt)}
.faq details[open] summary::after{content:"\2013"}
.faq p{margin:12px 0 0;color:var(--ink2);max-width:74ch}
.sec-navy .faq p{color:#C4CCD9}
.faq a{color:var(--court)}
.legal{max-width:78ch}
.legal h3{margin-top:40px}
.legal h3:first-child{margin-top:0}
.legal p{margin:13px 0 0;color:var(--ink2)}
.legal ul{margin:13px 0 0;padding-left:22px;color:var(--ink2)}
.legal li{margin-bottom:9px}
.legal strong{color:var(--ink)}
.legal a{color:var(--court)}
.updated{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dk);
  border-bottom:2px solid var(--bone2);padding-bottom:16px;margin-bottom:36px}
.tbc{border-bottom:1px dotted var(--court);color:var(--court);font-style:italic}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:60px}
.legal-nav a{flex:1 1 150px;background:var(--bone2);padding:15px 14px;text-decoration:none;text-align:center;
  font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2)}
.legal-nav a:hover,.legal-nav a.on{background:var(--navy);color:var(--gold-lt)}

/* footer */
.ftr{background:var(--navy);color:#9AA5B6;padding:66px 0 28px;border-top:2px solid var(--gold)}
.ftr a{color:#9AA5B6;text-decoration:none}
.ftr a:hover{color:var(--gold-lt)}
.ftr-g{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px}
.ftr h4{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-lt);margin:0 0 15px}
.ftr ul{list-style:none;padding:0;margin:0;font-size:15px;line-height:2.05}
.ftr .bn{font-family:var(--fd);font-size:30px;color:var(--bone);letter-spacing:.04em;line-height:1.1}
.ftr .bn i{display:block;font-family:var(--fq);font-style:italic;font-size:15px;letter-spacing:0;
  color:var(--gold-lt);margin-top:10px}
.ftr-b{border-top:1px solid var(--line);margin-top:44px;padding-top:22px;display:flex;
  justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:10px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:#9AA5B6}

@media(max-width:900px){
  .price,.split,.ftr-g{grid-template-columns:1fr}
  .ftr-g{grid-template-columns:1fr 1fr}
  .rw{grid-template-columns:1fr;gap:6px}
  .sec{padding:60px 0}
  .hero-in{padding:60px 0 56px}
  .split{gap:36px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy2);
    flex-direction:column;align-items:stretch;padding:12px 28px 18px;border-bottom:2px solid var(--gold)}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .nav .cta{margin:12px 0 0;text-align:center}
  .burger{display:block}
  .hdr-in{position:relative}
}
