:root{
  --bg:#0a0a0a; --bg2:#121212; --card:#171717; --line:#2a2a2a;
  --gold:#f2b705; --gold2:#ffd54a; --gold-d:#b8860b;
  --text:#f4f1ea; --muted:#a8a29a;
  --head:'Anton',Impact,sans-serif; --cond:'Barlow Condensed',sans-serif; --body:'Inter',system-ui,sans-serif;
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--text);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.gold{color:var(--gold)}
h1,h2,h3{font-family:var(--head);font-weight:400;letter-spacing:.01em;line-height:1.02;text-transform:uppercase}
h2{font-size:clamp(2.3rem,5.5vw,3.8rem)}
h3{font-size:1.45rem}
.kicker,.section .kicker{font:700 .95rem var(--cond);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.lead{font-size:1.15rem;color:#d9d4ca}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--gold2),var(--gold));color:#111;font:700 1.05rem var(--cond);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:14px 26px;border-radius:999px;border:2px solid var(--gold);cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(242,183,5,.7)}
.btn-ghost{background:transparent;color:var(--gold)}
.btn-sm{padding:9px 18px;font-size:.92rem}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(242,183,5,.18)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:52px;height:auto}
.brand span{font:400 1.5rem var(--head);color:var(--gold);line-height:1;display:flex;flex-direction:column}
.brand small{font:700 .7rem var(--cond);letter-spacing:.35em;color:var(--text)}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font:600 1rem var(--cond);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.nav-links a:not(.btn):hover{color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}
.nav-toggle span{width:26px;height:2px;background:var(--gold);transition:.2s}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:68px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse at 72% 45%,rgba(242,183,5,.22),transparent 55%),
  linear-gradient(90deg,var(--bg) 25%,rgba(10,10,10,.75) 60%,rgba(10,10,10,.92)),
  url(img/gear-brower.jpg) center/cover no-repeat;filter:saturate(.6)}
.hero-bg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 119px 120px)}
.hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-top:40px;padding-bottom:40px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .95rem var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(242,183,5,.4);padding:6px 14px;border-radius:999px;margin-bottom:22px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);margin-bottom:22px}
.hero .lead{max-width:540px;margin-bottom:30px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.hero-tags{display:flex;flex-wrap:wrap;list-style:none;gap:0}
.hero-tags li{font:700 1.1rem var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:0 16px;border-left:2px solid var(--gold)}
.hero-tags li:first-child{padding-left:0;border:0}
.hero-logo{position:relative;display:flex;justify-content:center}
.hero-logo::before{content:"";position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(242,183,5,.35),transparent 65%);top:50%;left:50%;transform:translate(-50%,-50%);filter:blur(10px)}
.hero-logo img{position:relative;width:115%;max-width:600px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.8));animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px)}}
.hero-mission{position:relative;border-top:1px solid rgba(242,183,5,.25);background:rgba(0,0,0,.55);padding:16px 0;font:600 1.15rem var(--cond);letter-spacing:.14em;text-transform:uppercase;text-align:center}
.hero-mission strong{color:var(--gold)}

/* veteran strip */
.vet{background:linear-gradient(90deg,var(--gold-d),var(--gold),var(--gold-d));color:#111}
.vet-in{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;text-align:center}
.vet p{font:600 1.15rem var(--cond);letter-spacing:.14em;text-transform:uppercase}
.vet strong{font-weight:700}
.vet-star{font-size:1.1rem}

/* sections */
.section{padding:110px 0}
.section-dark{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:680px;margin-bottom:50px}
.sec-head p:not(.kicker){color:var(--muted);margin-top:14px}

/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.about-photo{position:relative;border-radius:var(--r);overflow:hidden;border:2px solid var(--gold)}
.about-photo img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 20%}
.about-badge{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.about-badge strong{display:block;font:400 1.8rem var(--head);text-transform:uppercase;color:var(--gold)}
.about-badge span{font:600 .95rem var(--cond);letter-spacing:.12em;text-transform:uppercase}
.about-copy h2{margin-bottom:22px}
.about-copy p{color:#d6d1c7;margin-bottom:16px}
.values{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:24px 0}
.values li{font:700 .95rem var(--cond);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:6px 14px;border-radius:999px}
.sig{font-style:italic;color:var(--muted)!important;border-left:3px solid var(--gold);padding-left:14px}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card-num{font:400 2.6rem var(--head);color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.card p{color:var(--muted);flex:1}
.price{font:700 .95rem var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;padding-top:12px;border-top:1px dashed var(--line)}
.card-gold{background:linear-gradient(160deg,#2a2006,var(--card) 60%);border-color:rgba(242,183,5,.5)}
.gear{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:18px}
.gear figure{position:relative;border-radius:var(--r);overflow:hidden}
.gear img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.gear figcaption{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.8);border-left:3px solid var(--gold);padding:6px 12px;font:700 1rem var(--cond);letter-spacing:.08em;text-transform:uppercase}

/* verified */
.verified{background:radial-gradient(ellipse at 85% 50%,rgba(242,183,5,.13),transparent 60%),var(--bg)}
.verified-in{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.verified h2{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:18px}
.steps{list-style:none;counter-reset:s;margin:30px 0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center}
.steps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;width:54px;height:54px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;font:400 1.3rem var(--head);color:var(--gold)}
.steps b{font:700 1.3rem var(--cond);letter-spacing:.12em;text-transform:uppercase}
.steps span{color:var(--muted);font-size:.95rem}
.soon{background:var(--card);border:1px dashed rgba(242,183,5,.5);border-radius:var(--r);padding:16px 18px;color:#d6d1c7;font-size:.95rem}
.report{background:linear-gradient(180deg,#1b1b1b,#101010);border:1px solid rgba(242,183,5,.45);border-radius:20px;padding:26px;box-shadow:0 30px 80px -30px rgba(242,183,5,.35);transform:rotate(1.5deg)}
.report-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.report-head div{flex:1;display:flex;flex-direction:column}
.report-head strong{font:400 1.25rem var(--head);text-transform:uppercase}
.report-head span{color:var(--muted);font-size:.82rem}
.stamp{font:700 .85rem var(--cond);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:2px solid var(--gold);padding:4px 10px;border-radius:6px;transform:rotate(-6deg)}
.row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid #1f1f1f}
.row span{font:600 1rem var(--cond);letter-spacing:.08em;text-transform:uppercase;color:#cfc9bf}
.row b{font:400 1.3rem var(--head);color:var(--gold2)}
.row small{font-size:.7em;color:var(--muted);margin-left:2px}
.row i{grid-column:1/-1;height:5px;border-radius:5px;background:#262626;position:relative;overflow:hidden}
.row i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,var(--gold-d),var(--gold2));border-radius:5px}
.report-foot{margin-top:14px;font-size:.78rem;color:var(--muted);text-align:center;letter-spacing:.05em}

/* athletes */
.athletes{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.athlete{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.athlete img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:50% 30%}
.athlete div{padding:22px 24px 26px}
.athlete h3{font-size:1.8rem;margin-bottom:8px}
.athlete h3 small{font:700 .9rem var(--cond);letter-spacing:.14em;color:var(--gold);margin-left:8px;vertical-align:middle}
.athlete p{color:var(--muted)}

/* events */
.events{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:40px}
.event{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.event h3{font-size:1.7rem;margin:10px 0}
.event p{color:var(--muted)}
.event .when{color:var(--gold);font:700 1rem var(--cond);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.event-next{background:linear-gradient(160deg,#2a2006,var(--card) 65%);border-color:rgba(242,183,5,.5)}
.event-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tag{display:inline-block;font:700 .8rem var(--cond);letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:#111;padding:4px 10px;border-radius:4px}
.tag-past{background:#2b2b2b;color:var(--text)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;grid-auto-flow:dense;gap:12px}
.gallery figure{position:relative;border-radius:10px;overflow:hidden;background:#111}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.85));font:600 .95rem var(--cond);letter-spacing:.06em;text-transform:uppercase}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}

/* contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.contact-copy p{color:var(--muted);margin:16px 0 26px}
.contact-list{list-style:none;display:grid;gap:14px}
.contact-list li{display:flex;flex-direction:column;border-left:3px solid var(--gold);padding-left:14px}
.contact-list span{font:700 .8rem var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.contact-list a{text-decoration:none;font-weight:500;word-break:break-word}
.contact-list a:hover{color:var(--gold)}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:16px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font:700 .85rem var(--cond);letter-spacing:.16em;text-transform:uppercase;color:#cfc9bf}
.form input,.form select,.form textarea{font:16px var(--body);color:var(--text);background:#0e0e0e;border:1px solid #333;border-radius:10px;padding:13px 14px;width:100%;text-transform:none;letter-spacing:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,183,5,.18)}
.form .btn{justify-self:start}
.form-note{color:var(--gold);font-weight:500}

/* footer */
.foot{padding:60px 0 40px;text-align:center;border-top:1px solid rgba(242,183,5,.25)}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:10px}
.foot-mission{font:600 1.1rem var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.foot-vet{font:600 .95rem var(--cond);letter-spacing:.14em;text-transform:uppercase}
.foot-small{color:var(--muted);font-size:.85rem;margin-top:10px}
.foot-small a{text-decoration:none}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-logo img{animation:none}html{scroll-behavior:auto}}

/* responsive */
@media (max-width:960px){
  .hero-in,.about,.verified-in,.contact{grid-template-columns:1fr;gap:40px}
  .hero-logo{order:-1}
  .hero-logo img{max-width:300px}
  .cards{grid-template-columns:1fr 1fr}
  .report{transform:none}
}
@media (max-width:760px){
  .nav-toggle{display:flex}
  .nav-links{position:fixed;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#0a0a0a;border-bottom:1px solid rgba(242,183,5,.3);padding:8px 20px 20px;transform:translateY(-120%);transition:transform .25s;z-index:-1}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.15rem}
  .nav-links .btn{margin-top:14px;border:2px solid var(--gold)}
  .nav.open .nav-links{transform:none}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav.open .nav-toggle span:nth-child(2){opacity:0}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .wrap{padding:0 16px}
  .section{padding:76px 0}
  .hero{min-height:auto}
  .hero-in{padding-top:30px}
  .hero-logo img{max-width:230px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-tags li{font-size:.95rem;padding:0 10px}
  .hero-mission{font-size:.95rem;letter-spacing:.08em}
  .vet p{font-size:.98rem;letter-spacing:.08em}
  .cards,.gear,.athletes,.events,.f2{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}
  .g-wide{grid-column:span 2}
  .form{padding:22px}
  .form .btn{justify-self:stretch}
}
.event .tag{color:#111}.event .tag-past{color:var(--text)}
@media (max-width:760px){
  .hero-logo img{max-width:190px}
  .hero-tags{gap:8px}
  .hero-tags li,.hero-tags li:first-child{border:1px solid rgba(242,183,5,.4);border-radius:999px;padding:4px 12px}
}
.foot-credit{font-size:.75rem;color:#6b665f;margin-top:2px}
.foot-credit a{text-decoration:none;color:inherit;transition:color .2s}
.foot-credit a:hover{color:var(--gold)}
.card h3 small{display:block;font:700 .8rem var(--cond);letter-spacing:.16em;color:var(--gold);margin-top:4px}

/* ===== v2: color variety ===== */
:root{--cream:#f4ecdc;--cream2:#ebe0c9;--ink:#141210;--gold-ink:#8a6200}

/* hero: night stadium */
.hero-bg{background:
  linear-gradient(90deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.82) 38%,rgba(8,8,8,.25) 70%,rgba(8,8,8,.45) 100%),
  linear-gradient(180deg,rgba(8,8,8,.35) 0%,transparent 30%,transparent 70%,rgba(8,8,8,.9) 100%),
  url(img/hero-field.webp) 62% 55%/cover no-repeat;filter:none}
.hero-bg::after{background:radial-gradient(ellipse at 74% 42%,rgba(242,183,5,.18),transparent 55%)}
@media (max-width:760px){.hero-bg{background:
  linear-gradient(180deg,rgba(8,8,8,.55) 0%,rgba(8,8,8,.7) 40%,rgba(8,8,8,.95) 75%),
  url(img/hero-field-sm.webp) 60% 40%/cover no-repeat}}

/* light (cream) sections */
.section-light{background:var(--cream);color:var(--ink);
  background-image:radial-gradient(rgba(138,98,0,.07) 1px,transparent 1px);background-size:22px 22px}
.section-light h2,.section-light h3{color:var(--ink)}
.section-light .kicker{color:var(--gold-ink)}
.section-light .gold{color:var(--gold-ink)}
.section-light .about-copy p{color:#3a352d}
.section-light .values li{border-color:var(--gold-ink);color:var(--gold-ink);background:rgba(242,183,5,.12)}
.section-light .sig{color:#5b544a!important;border-color:var(--gold)}
.section-light .about-photo{box-shadow:0 30px 60px -25px rgba(0,0,0,.45)}
.section-light .event{color:var(--text)}
.section-light .event h3{color:var(--text)}
.section-light .gallery figure{box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}

/* gold section */
.section-gold{background:linear-gradient(135deg,#ffd54a 0%,#f2b705 45%,#c98f00 100%);color:var(--ink);position:relative;overflow:hidden}
.section-gold::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(0,0,0,.035) 0 2px,transparent 2px 22px);pointer-events:none}
.section-gold .wrap{position:relative}
.section-gold .kicker{color:var(--ink)}
.section-gold h2{color:var(--ink)}
.section-gold h2 .gold{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25)}
.section-gold .lead{color:#2a2418}
.section-gold .steps li::before{border-color:var(--ink);color:var(--ink);background:rgba(255,255,255,.25)}
.section-gold .steps span{color:#3a3020}
.section-gold .soon{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.35);color:#2a2418}
.section-gold .report{box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}

/* athletes: dark with gold diagonal band */
.section-stripe{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* contact: field photo */
.section-field{position:relative;background:
  linear-gradient(180deg,rgba(10,10,10,.92),rgba(10,10,10,.86)),
  url(img/field-dash.jpg) center/cover no-repeat}
.section-field .form{background:rgba(23,23,23,.92);backdrop-filter:blur(6px)}
.section-gold .report{color:var(--text)}
.section-light .about-badge span{color:#f4f1ea}


.section-light .gallery figcaption{color:#fff}

/* contact: horizon field at dusk */
.section-field{background:
  linear-gradient(90deg,rgba(8,8,8,.7) 0%,rgba(8,8,8,.35) 45%,rgba(8,8,8,.2) 65%,rgba(8,8,8,.45) 100%),
  url(img/horizon-field.webp) center 58%/cover no-repeat #080808}
.section-field .contact-copy p:not(.kicker){color:#d9d4ca}
.section-field .form{background:rgba(12,12,12,.78);border-color:rgba(242,183,5,.35);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
@media (max-width:760px){.section-field{background:
  linear-gradient(180deg,rgba(8,8,8,.15) 0%,rgba(8,8,8,.25) 18%,rgba(8,8,8,.75) 40%,rgba(8,8,8,.95) 60%),
  url(img/horizon-field-sm.webp) center -40px/200% auto no-repeat #080808}}

/* about: Pine Ridge prairie */
#about.section-light{background:
  linear-gradient(90deg,rgba(244,236,220,.25) 0%,rgba(244,236,220,.55) 42%,rgba(244,236,220,.86) 58%,rgba(244,236,220,.9) 100%),
  linear-gradient(180deg,rgba(244,236,220,.2) 0%,transparent 40%,rgba(244,236,220,.15) 100%),
  url(img/prairie.webp) center 60%/cover no-repeat}
@media (max-width:960px){#about.section-light{background:
  linear-gradient(180deg,rgba(244,236,220,.3) 0%,rgba(244,236,220,.82) 45%,rgba(244,236,220,.9) 100%),
  url(img/prairie-sm.webp) center top/cover no-repeat}}

/* instagram links */
.nav-links a.nav-ig{display:flex;align-items:center;gap:8px}
.nav-ig span{display:none}
.foot-ig{display:inline-flex;align-items:center;gap:8px;font:600 1rem var(--cond);letter-spacing:.1em;text-decoration:none;color:var(--text);transition:color .2s}
.foot-ig:hover{color:var(--gold)}
@media (max-width:960px){.nav-ig span{display:inline}}
