:root{
  --navy:#16213E;
  --navy-deep:#0E1830;
  --navy-soft:#48547A;
  --gold:#D9A94E;
  --gold-deep:#B8873A;
  --gold-soft:#F3DFAE;
  --off-white:#FAF7EF;
  --white:#FFFFFF;
  --cream:#F2ECDC;
  --muted:#70768C;
  --line:rgba(22,33,62,0.10);
  --line-soft:rgba(22,33,62,0.06);
  --shadow-sm:0 2px 12px rgba(22,33,62,.06);
  --shadow-md:0 10px 30px rgba(22,33,62,.10);
  --shadow-lg:0 24px 60px rgba(22,33,62,.16);
  --r-card:24px;
  --r-card-sm:18px;
  --r-btn:999px;
  --r-input:14px;
  --oxblood-soft:#16213E;
  --ink-70:rgba(22,33,62,.72);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--off-white);color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* Header */
header{position:sticky;top:0;z-index:100;background:rgba(250,247,239,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);}
nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1200px;margin:0 auto;}
.logo{font-family:'Plus Jakarta Sans',sans-serif;font-size:17px;font-weight:800;display:flex;flex-direction:column;line-height:1.05;color:var(--navy);}
.logo span{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--gold-deep);font-weight:600;}
.nav-collapse{display:flex;align-items:center;gap:28px;}
.navlinks{display:flex;gap:8px;font-size:13.5px;font-weight:600;}
.header-ctas{display:flex;gap:10px;}
.navlinks a{opacity:.8;transition:all .2s;padding:9px 16px;border-radius:var(--r-btn);}
.navlinks a:hover{opacity:1;color:var(--navy);background:var(--gold-soft);}
.menu-toggle{display:none;background:none;border:none;color:var(--navy);font-size:20px;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-weight:700;font-size:13px;letter-spacing:.01em;cursor:pointer;border:2px solid transparent;transition:all .2s;font-family:'Plus Jakarta Sans',sans-serif;border-radius:var(--r-btn);}
.btn-brass,.btn-gold{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);box-shadow:var(--shadow-sm);}
.btn-brass:hover,.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-line{border-color:var(--line);color:var(--navy);background:var(--white);}
.btn-line:hover{border-color:var(--navy);background:var(--navy);color:var(--white);}
.btn-dark,.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy);width:100%;justify-content:center;box-shadow:var(--shadow-sm);}
.btn-dark:hover,.btn-navy:hover{background:var(--navy-deep);border-color:var(--navy-deep);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-sm{padding:10px 18px;font-size:11.5px;width:100%;justify-content:center;margin-top:14px;}

/* Hero */
.hero{position:relative;padding:76px 0 0;background:radial-gradient(ellipse at top right, rgba(217,169,78,.14), transparent 60%);}
.hero .wrap{max-width:1200px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding-bottom:64px;}
.eyebrow{color:var(--gold-deep);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-family:'JetBrains Mono',monospace;display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:20px;height:2px;background:var(--gold-deep);display:inline-block;border-radius:2px;}
.hero h1{font-size:clamp(38px,5vw,58px);line-height:1.08;margin-top:16px;color:var(--navy);}
.hero .lede{color:var(--muted);font-size:16.5px;max-width:480px;margin:22px auto 32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

.dossier-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:30px;position:relative;box-shadow:var(--shadow-md);}
.dossier-card::before{content:'';position:absolute;top:0;left:28px;right:28px;height:4px;background:var(--gold);border-radius:0 0 8px 8px;}
.dossier-head{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);letter-spacing:.08em;margin-bottom:20px;padding-bottom:14px;border-bottom:1px dashed var(--line);}
.dossier-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:24px;margin-bottom:10px;color:var(--navy);}
.dossier-card p{color:var(--muted);font-size:14px;margin-bottom:18px;}
.dossier-list{list-style:none;}
.dossier-list li{font-size:13.5px;padding:10px 0;border-top:1px solid var(--line-soft);color:var(--navy-soft);position:relative;padding-left:16px;}
.dossier-list li::before{content:'—';position:absolute;left:0;color:var(--gold-deep);}

/* Ticker */
.ticker{background:var(--gold);color:var(--navy-deep);overflow:hidden;white-space:nowrap;}
.ticker-track{display:inline-flex;gap:48px;padding:10px 0;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;letter-spacing:.06em;animation:ticker 26s linear infinite;}
.ticker-track span{white-space:nowrap;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.stat-strip{background:var(--off-white);padding:20px 0;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:16px;padding:10px 0;}
.stat-row div{background:var(--white);border-radius:var(--r-card-sm);padding:20px 14px;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);}
.stat-row .num{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:28px;color:var(--gold-deep);}
.stat-row .lbl{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-weight:600;}

section{padding:100px 0;}
.bg-panel{background:var(--cream);}
#about-body .wrap{max-width:1400px;}
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head h2{font-size:clamp(30px,3.6vw,44px);margin-top:12px;color:var(--navy);}
.lede-sm{color:var(--muted);margin-top:14px;font-size:15px;}

/* Team dossier cards — horizontal carousel (same pattern as Roster/Pros) */
.team-carousel-wrap{position:relative;}
.team-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.team-grid::-webkit-scrollbar{height:6px;}
.team-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.team-grid-sm{margin-top:34px;}
.team-card{flex:0 0 auto;width:240px;scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);position:relative;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden;box-shadow:var(--shadow-sm);}
.team-card-sm{width:190px;}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.file-no{position:absolute;top:12px;left:12px;background:rgba(22,33,62,.78);color:var(--gold-soft);font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;padding:5px 10px;z-index:2;border-radius:var(--r-btn);}
.team-card img{aspect-ratio:3/4;object-fit:cover;object-position:top;width:100%;transition:transform .3s;}
.team-card:hover img{transform:scale(1.04);}
.team-card-sm img{aspect-ratio:1/1;}
.img-fallback{aspect-ratio:3/4;background:linear-gradient(150deg,var(--cream),var(--gold-soft));display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:44px;color:var(--gold-deep);}
.team-card-sm .img-fallback{aspect-ratio:1/1;}
.team-info{padding:16px;}
.team-info .tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.team-info h3{font-size:17px;margin:6px 0 2px;color:var(--navy);}
.team-info .role{color:var(--muted);font-size:12px;margin-bottom:8px;}
.team-info p{color:var(--muted);font-size:12.5px;}

/* Roster */
.roster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.roster-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;box-shadow:var(--shadow-sm);}
.roster-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.roster-photo{aspect-ratio:3/4;background:linear-gradient(150deg,var(--cream),var(--gold-soft));position:relative;overflow:hidden;}
.roster-photo img{width:100%;height:100%;object-fit:cover;}
.roster-photo::after{content:attr(data-no);position:absolute;right:-6px;bottom:-20px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:80px;color:rgba(22,33,62,.06);}
.roster-info{padding:16px;border-top:1px solid var(--line-soft);}
.roster-info h3{font-size:15.5px;color:var(--navy);}
.roster-info .role{color:var(--muted);font-size:11.5px;margin-top:4px;}

/* Forms */
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:32px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;}
.form-card::before{content:'';position:absolute;top:0;left:28px;right:28px;height:4px;background:var(--gold);border-radius:0 0 8px 8px;}
.form-card-light{max-width:640px;margin:0 auto;background:var(--white);color:var(--navy);}
.form-card-light::before{background:var(--navy);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-card label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px;font-family:'JetBrains Mono',monospace;font-weight:600;}
.form-card input,.form-card textarea{width:100%;padding:12px 16px;background:var(--off-white);border:1px solid var(--line);color:var(--navy);font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;border-radius:var(--r-input);}
.form-card input:focus,.form-card textarea:focus{outline:none;border-color:var(--gold-deep);background:var(--white);}
.form-card-light input,.form-card-light textarea{background:var(--off-white);border:1px solid var(--line);color:var(--navy);}
.form-card textarea{resize:vertical;}
.form-card button{margin-top:20px;}
.form-msg{margin-top:14px;font-size:13px;}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}

.cta-band{background:linear-gradient(180deg,var(--gold-soft),var(--cream));color:var(--navy);}
.cta-band .eyebrow::before{background:var(--navy);}

footer{background:var(--navy-deep);padding:44px 0;}
.foot-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;}
footer .logo{color:var(--white);}
footer .logo span{color:var(--gold);}
.foot-links{display:flex;gap:24px;font-size:13px;color:rgba(250,247,239,.7);}
.foot-links a:hover{color:var(--gold);}
.foot-copy{font-size:12px;color:rgba(250,247,239,.5);}

.nav-collapse.open{display:flex!important;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;align-items:stretch;gap:0;border-radius:0 0 20px 20px;box-shadow:var(--shadow-lg);padding:8px;}
.nav-collapse.open .navlinks{flex-direction:column;gap:0;}
.nav-collapse.open .navlinks a{padding:14px 20px;border-radius:14px;opacity:1;}
.nav-collapse.open .header-ctas{flex-direction:column;gap:8px;padding:10px 8px 4px;margin-top:4px;border-top:1px solid var(--line-soft);}
.nav-collapse.open .header-ctas .btn{width:100%;justify-content:center;}

@media (max-width:960px){
  .nav-collapse{display:none;}
  .menu-toggle{display:block;}
  .stat-row{grid-template-columns:1fr;}
  .roster-grid{grid-template-columns:repeat(2,1fr);}
  .partner-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .roster-grid{grid-template-columns:1fr 1fr;}
  .team-card{width:200px;}
  .team-card-sm{width:150px;}
}

/* ============================================================
   Restored-content sections
   ============================================================ */

.hero-embed{aspect-ratio:3/4;border:1px solid var(--line);background:var(--white);overflow:hidden;border-radius:var(--r-card);box-shadow:var(--shadow-md);}
.hero-embed iframe{width:100%;height:100%;border:none;}

/* Recruits ("Roster") */
.recruit-carousel-wrap{position:relative;}
.recruit-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.recruit-grid::-webkit-scrollbar{height:6px;}
.recruit-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.recruit-card{flex:0 0 auto;width:210px;scroll-snap-align:start;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card-sm);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;}
.recruit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.recruit-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.recruit-card:hover img{transform:scale(1.08);}
.recruit-overlay{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(to top, rgba(14,24,48,.92), transparent 100%);}
.recruit-overlay h4{font-size:14px;margin:0;color:var(--white);}
.recruit-overlay .tag{color:var(--gold);font-family:'JetBrains Mono',monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;}
.recruit-overlay a{display:block;font-size:10px;color:rgba(250,247,239,.75);margin-top:4px;text-decoration:underline;}

/* Pros — search/filter bar */
.pro-filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.pro-filter-bar input[type="text"]{flex:1;min-width:200px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-btn);font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;color:var(--navy);background:var(--white);}
.pro-filter-bar select{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-btn);font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;color:var(--navy);background:var(--white);}
.pro-filter-bar input[type="text"]:focus,.pro-filter-bar select:focus{outline:none;border-color:var(--gold-deep);}
.pro-filter-count{font-size:12px;color:var(--muted);white-space:nowrap;margin-left:auto;}

/* Pros — rich stat cards (horizontal carousel) */
.pro-carousel-wrap{position:relative;}
.pro-grid{display:flex;gap:16px;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.pro-grid::-webkit-scrollbar{height:6px;}
.pro-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.pro-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-lg);font-size:22px;line-height:1;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pro-carousel-arrow:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}
.pro-carousel-arrow.prev{left:-14px;}
.pro-carousel-arrow.next{right:-14px;}
@media(max-width:640px){.pro-carousel-arrow{width:34px;height:34px;font-size:18px;}.pro-carousel-arrow.prev{left:-6px;}.pro-carousel-arrow.next{right:-6px;}}
.pro-card{flex:0 0 auto;width:260px;scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s;overflow:hidden;box-shadow:var(--shadow-sm);}
.pro-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.pro-photo{position:relative;height:190px;overflow:hidden;}
.pro-photo img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s ease;}
.pro-card:hover .pro-photo img{transform:scale(1.06);}
.pro-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(14,24,48,.92), transparent 65%);}
.pro-badge{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--navy-deep);font-size:9px;font-weight:800;padding:5px 10px;text-transform:uppercase;letter-spacing:.05em;z-index:2;border-radius:var(--r-btn);}
.pro-name{position:absolute;bottom:10px;left:12px;right:12px;z-index:2;font-size:16px;line-height:1.05;color:var(--white);font-weight:700;}
.pro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px;background:var(--off-white);}
.pro-stat{background:var(--white);border-radius:10px;padding:7px 6px;box-shadow:var(--shadow-sm);border-top:2px solid var(--gold);}
.pro-stat-lbl{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px;}
.pro-stat-val{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--navy);}
.pro-details{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px 10px;background:var(--off-white);flex:1;}
.pro-resume,.pro-edge{padding:10px;font-size:9.5px;line-height:1.5;border-radius:12px;}
.pro-resume{background:var(--white);border:1px solid var(--line);}
.pro-edge{background:var(--gold-soft);border:1px solid rgba(217,169,78,.4);color:var(--navy);}
.pro-box-title{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid var(--line);}
.pro-resume .pro-box-title{color:var(--navy);}
.pro-edge .pro-box-title{color:var(--gold-deep);border-color:rgba(217,169,78,.3);}
.pro-resume ul{list-style:none;margin:0;padding:0;}
.pro-resume li{margin-bottom:2px;color:var(--muted);}
.pro-btns{display:grid;grid-template-columns:1fr;gap:6px;padding:10px;background:var(--off-white);}
.pro-btn-outline,.pro-btn-fill{display:flex;align-items:center;justify-content:center;height:34px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:1.5px solid var(--line);cursor:pointer;background:var(--white);color:var(--navy);font-family:'Plus Jakarta Sans',sans-serif;border-radius:var(--r-btn);}
.pro-btn-outline:hover{border-color:var(--navy);background:var(--navy);color:var(--white);}
.pro-btn-fill{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}
.pro-btn-fill:hover{background:var(--gold-deep);border-color:var(--gold-deep);}

/* Logic points */
.logic-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.logic-point{position:relative;padding-left:28px;margin-bottom:34px;border-left:3px solid var(--line);transition:border-color .25s;}
.logic-point:hover{border-color:var(--gold);}
.logic-num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:32px;color:var(--gold-deep);display:block;margin-bottom:4px;}
.logic-point h4{font-size:19px;margin-bottom:6px;color:var(--navy);}
.logic-point p{color:var(--muted);font-size:13.5px;}

/* The Edge — 3 col */
.edge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.edge-col{padding:38px 30px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);box-shadow:var(--shadow-sm);transition:box-shadow .25s,transform .25s;}
.edge-col:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.edge-col svg{color:var(--gold-deep);margin-bottom:22px;}
.edge-col h3{font-size:20px;margin-bottom:10px;color:var(--navy);}
.edge-col p{color:var(--muted);font-size:13.5px;margin-bottom:14px;}
.edge-col ul{list-style:none;font-size:12px;color:var(--gold-deep);font-weight:600;}
.edge-col li{padding:4px 0;}

/* Blueprint roadmap */
.blueprint-wrap{position:relative;margin-top:20px;}
.blueprint-line{position:absolute;top:24px;left:0;right:0;height:2px;background:var(--line);z-index:0;}
.blueprint-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;z-index:1;}
.bp-node{text-align:center;}
.bp-dot{width:14px;height:14px;border-radius:50%;background:var(--white);border:3px solid var(--line);margin:0 auto 22px;transition:all .3s;}
.bp-node:hover .bp-dot{background:var(--gold);border-color:var(--gold);transform:scale(1.4);}
.bp-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:26px 22px;text-align:left;transition:box-shadow .3s,transform .3s;box-shadow:var(--shadow-sm);}
.bp-node:hover .bp-card{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.bp-card .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--gold-deep);font-size:24px;opacity:.7;}
.bp-card h4{font-size:18px;margin:10px 0 8px;color:var(--navy);}
.bp-card p{color:var(--muted);font-size:12.5px;}

/* Parents */
.parents-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.protocol-point{border-left:3px solid var(--line);padding-left:26px;margin-bottom:30px;transition:border-color .25s;}
.protocol-point:hover{border-color:var(--gold);}
.protocol-point h4{font-size:18px;margin-bottom:4px;color:var(--navy);}
.protocol-point p{color:var(--muted);font-size:13px;margin-bottom:8px;}
.protocol-point ul{list-style:none;color:var(--gold-deep);font-size:11.5px;font-weight:600;}
.protocol-point li{padding:2px 0;}

/* Trainer spotlight */
.spotlight-card{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line);background:var(--white);overflow:hidden;border-radius:var(--r-card);box-shadow:var(--shadow-md);}
.spotlight-photo{position:relative;min-height:380px;}
.spotlight-photo img{width:100%;height:100%;object-fit:cover;object-position:top;position:absolute;inset:0;}
.spotlight-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(14,24,48,.88), transparent 55%);}
.spotlight-tag{position:relative;z-index:1;background:var(--gold);color:var(--navy-deep);display:inline-block;padding:6px 14px;font-size:10px;font-weight:800;text-transform:uppercase;margin:24px 0 0 24px;border-radius:var(--r-btn);}
.spotlight-name{position:absolute;bottom:24px;left:24px;z-index:1;font-size:32px;line-height:1;color:var(--white);}
.spotlight-body{padding:36px;}
.spotlight-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;}
.spotlight-stats div{background:var(--off-white);border-top:3px solid var(--gold);padding:12px;border-radius:14px;}
.spotlight-stats .lbl{font-size:9px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px;}
.spotlight-stats .val{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--navy);font-weight:700;}
.spotlight-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.spotlight-details .box{background:var(--off-white);border:1px solid var(--line);padding:16px;border-radius:16px;}
.spotlight-details h5{font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;color:var(--gold-deep);}
.spotlight-details ul{list-style:none;color:var(--muted);font-size:12.5px;}
.spotlight-details li{padding:3px 0;}
.spotlight-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}

/* Intel brief */
.intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.intel-card{border-left:4px solid var(--gold);background:var(--white);padding:30px;border-radius:var(--r-card);transition:transform .3s,box-shadow .3s;box-shadow:var(--shadow-sm);}
.intel-card:hover{transform:translateX(6px);box-shadow:var(--shadow-md);}
.intel-tag{color:var(--gold-deep);font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;font-weight:700;}
.intel-card h4{font-size:19px;margin-bottom:10px;color:var(--navy);}
.intel-card p{color:var(--muted);font-size:14px;}

/* Pricing (Recruitment Tech + Vendors) */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.price-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:32px;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-sm);transition:box-shadow .25s,transform .25s;}
.price-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.price-card.featured{border-color:var(--gold);background:var(--gold-soft);}
.price-card.elite{border-color:var(--navy);box-shadow:0 0 40px rgba(22,33,62,.10);}
.price-flag{position:absolute;top:16px;right:16px;background:var(--gold);color:var(--navy-deep);font-size:9px;font-weight:800;padding:5px 12px;text-transform:uppercase;border-radius:var(--r-btn);}
.price-flag.oxblood{background:var(--navy);color:var(--white);}
.price-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.price-head h4{font-size:19px;color:var(--navy);}
.price-amt{font-family:'JetBrains Mono',monospace;font-size:22px;text-align:right;color:var(--navy);font-weight:700;}
.price-period{font-size:9px;color:var(--muted);text-transform:uppercase;text-align:right;}
.price-desc{color:var(--muted);font-size:12px;border-left:3px solid var(--gold);padding-left:12px;margin-bottom:20px;}
.price-list{list-style:none;font-size:12px;color:var(--navy-soft);margin-bottom:24px;flex:1;}
.price-list li{padding:5px 0;}
.price-list li span{color:var(--gold-deep);margin-right:8px;font-weight:700;}

/* Media & Merch grids */
.media-carousel-wrap{position:relative;}
.media-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.media-grid::-webkit-scrollbar{height:6px;}
.media-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.media-card{flex:0 0 auto;width:240px;scroll-snap-align:start;background:var(--white);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;border-radius:var(--r-card);box-shadow:var(--shadow-sm);transition:box-shadow .25s,transform .25s;}
.media-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.media-card .thumb{aspect-ratio:3/4;overflow:hidden;background:var(--cream);}
.media-card .thumb img,.media-card .thumb iframe{width:100%;height:100%;object-fit:cover;border:none;}
.media-card-body{padding:16px;text-align:center;display:flex;flex-direction:column;flex:1;}
.media-card-body h3{font-size:15px;margin-bottom:12px;color:var(--navy);}
.media-card-body .btn{margin-top:auto;}

.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.merch-card{aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm);transition:box-shadow .25s;}
.merch-card:hover{box-shadow:var(--shadow-lg);}
.merch-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.merch-card:hover img{transform:scale(1.06);}

/* Vendor application reveal */
#vendorApplication{display:none;max-width:720px;margin:40px auto 0;}
#vendorApplication.open{display:block;}

/* Rich contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.contact-grid .form-card{max-width:none;}

/* Modals */
.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(14,24,48,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal-box{background:var(--white);border:1px solid var(--line);border-radius:28px;max-width:920px;width:100%;max-height:88vh;overflow-y:auto;overflow-x:hidden;padding:40px;position:relative;transform:scale(.96);transition:transform .3s;box-shadow:var(--shadow-lg);}
.modal-overlay.open .modal-box{transform:scale(1);}
/* Reel modal is exempt from the scale transform: a CSS transform on any
   ancestor of a <video>/<iframe> breaks iOS Safari's native fullscreen
   positioning (a well-documented WebKit quirk), which is why reels could
   fail to play specifically on mobile. Opacity-only entrance instead. */
#reelModal .modal-box{transform:none!important;}
.modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;background:var(--off-white);border:1px solid var(--line);color:var(--navy);cursor:pointer;font-size:16px;border-radius:50%;}
.modal-close:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}
.bio-modal-grid{display:grid;grid-template-columns:280px 1fr;gap:36px;}
.bio-modal-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-card-sm);}
.bio-modal-grid .tag{color:var(--gold-deep);font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;}
.bio-modal-grid h3{font-size:30px;margin:10px 0 4px;color:var(--navy);}
.bio-modal-grid .role{color:var(--muted);font-size:13px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.bio-modal-grid .bio-text{color:var(--muted);font-size:14.5px;line-height:1.7;}

.reel-box{width:100%;max-width:380px;aspect-ratio:9/16;margin:0 auto;background:var(--navy-deep);border-radius:var(--r-card-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.reel-box iframe{width:100%;height:100%;border:none;}
.reel-placeholder{color:rgba(250,247,239,.6);font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;}

.comparison-table{width:100%;border-collapse:collapse;font-size:12px;}
.comparison-table th{background:var(--off-white);text-transform:uppercase;padding:14px 10px;letter-spacing:.06em;border-bottom:1px solid var(--line);font-size:10.5px;color:var(--navy);}
.comparison-table td{padding:10px;border-bottom:1px solid var(--line-soft);text-align:center;}
.comparison-table .feature-name{text-align:left;font-weight:600;color:var(--muted);}
.comparison-table .check{color:var(--gold-deep);font-weight:700;}
.comparison-table .dash{opacity:.3;}
.comparison-table .cat-row{background:var(--gold-soft);text-align:left;font-weight:700;color:var(--gold-deep);text-transform:uppercase;font-size:9.5px;letter-spacing:.1em;padding:8px 10px;}

@media (max-width:960px){
  .logic-grid,.parents-grid,.contact-grid,.hero-grid{grid-template-columns:1fr;}
  .recruit-card{width:180px;}
  .pro-card{width:230px;}
  .edge-grid{grid-template-columns:1fr;}
  .blueprint-grid,.pricing-grid,.merch-grid{grid-template-columns:repeat(2,1fr);}
  .media-card{width:210px;}
  .blueprint-line{display:none;}
  .spotlight-card{grid-template-columns:1fr;}
  .intel-grid{grid-template-columns:1fr;}
  .bio-modal-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .blueprint-grid,.pricing-grid,.merch-grid{grid-template-columns:1fr;}
  .media-card{width:72vw;}
  .recruit-card{width:68vw;}
  .pro-card{width:82vw;}
  .pro-stats{grid-template-columns:repeat(2,1fr);}
  .pro-details{grid-template-columns:1fr;}
  .modal-box{padding:26px 20px;}
  .modal-overlay{padding:12px;}
}
