/* ==========================================================================
   Montana Institute of Sport — design tokens
   Brand colors/fonts are fixed (carried over from the live WordPress site).
   Everything else — scale, rhythm, motion — is this build's own system.
   ========================================================================== */
:root{
  --navy:#122049;
  --navy-light:#1B2E63;
  --navy-deep:#0A1330;
  --gold:#F2C230;
  --gold-dark:#D9A800;
  --ink:#1A1A1A;
  --slate:#5B6472;
  --line:#E7E3D8;
  --paper:#F7F6F3;
  --ph-bg:#EDEBE4;
  --ph-line:#C9C4B4;

  --radius:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat', sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
h1,h2,h3,.disp{font-family:'Poppins', sans-serif;}
img{max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}
ul{list-style:none;}
a{color:inherit; transition:opacity 0.15s ease;}

/* Focus states — visible everywhere, on light or dark backgrounds */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px; border-radius:1px;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ---------- Scroll-reveal (progressive enhancement, see js/site.js) ---------- */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal.is-visible{opacity:1; transform:none;}
.reveal-stagger > *{opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal-stagger.is-visible > *{opacity:1; transform:none;}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:0ms;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:80ms;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:160ms;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:240ms;}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:320ms;}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *{opacity:1; transform:none;}
}

/* ---------- DONATE BANNER ---------- */
.topbar{display:block; text-decoration:none; background:var(--gold); text-align:center; padding:11px 0; font-family:'Poppins',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.04em; color:var(--navy);}
.topbar:hover{background:var(--gold-dark);}

/* ---------- NAV ---------- */
.siteheader{background:var(--navy);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:22px 40px; max-width:1180px; margin:0 auto; width:100%; transition:padding .25s var(--ease);}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand img{height:42px; width:auto; display:block;}
.brand-name{font-family:'Poppins',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.045em; color:#fff; line-height:1.4;}
.navlinks{display:flex; align-items:center; gap:32px;}
.navlinks a{white-space:nowrap; color:#fff; font-size:13px; font-weight:600; letter-spacing:0.03em; text-decoration:none; padding-bottom:3px; border-bottom:1px solid transparent; opacity:0.82;}
.navlinks a:hover{opacity:1; border-bottom-color:var(--gold);}
.navlinks a.active{border-bottom-color:var(--gold); opacity:1;}
.nav-ctas{display:flex; align-items:center; gap:14px;}
/* Dropdowns under Our Programs / Partnerships, as on the original site */
.navdrop{position:relative; display:flex; align-items:center;}
.navdrop > a::after{content:""; display:inline-block; width:5px; height:5px; margin-left:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-3px) rotate(45deg); opacity:0.7;}
.navdrop-menu{position:absolute; top:100%; left:-18px; padding-top:14px; min-width:250px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s var(--ease), transform .18s var(--ease), visibility .18s; z-index:60;}
.navdrop-menu::before{content:""; position:absolute; inset:14px 0 0; background:#fff; border-radius:var(--radius); box-shadow:0 18px 40px rgba(8,13,32,0.22); border-top:3px solid var(--gold);}
.navdrop:hover .navdrop-menu, .navdrop:focus-within .navdrop-menu{opacity:1; visibility:visible; transform:none;}
.navlinks .navdrop-menu a{position:relative; display:block; color:var(--navy); opacity:1; padding:11px 18px; border-bottom:1px solid var(--line); font-size:13px; white-space:nowrap;}
.navlinks .navdrop-menu a:first-child{margin-top:6px;}
.navlinks .navdrop-menu a:last-child{border-bottom:0; margin-bottom:6px;}
.navlinks .navdrop-menu a:hover{background:var(--paper); color:var(--navy); border-bottom-color:var(--line);}

/* Hero nav sits transparent over the photo/pattern until the page scrolls */
.hero .nav{padding:28px 40px 0;}

/* ---------- BUTTONS — every CTA is a real link/button with a forward nudge ---------- */
.btn{
  display:inline-flex; align-items:center; gap:9px; font-family:'Poppins',sans-serif; font-weight:600;
  font-size:13px; letter-spacing:0.02em; padding:12px 24px; border-radius:var(--radius); cursor:pointer;
  border:1.5px solid transparent; transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
  text-decoration:none; line-height:1;
}
.btn::after{content:"\2192"; display:inline-block; transition:transform .25s var(--ease); font-size:14px;}
.btn:hover::after{transform:translateX(4px);}
.btn:hover{opacity:1;}
.btn-outline{border-color:rgba(255,255,255,0.65); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,0.08);}
.btn-gold{background:var(--gold); color:var(--navy);}
.btn-gold:hover{background:var(--gold-dark);}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:var(--navy-light);}
.btn-navy-outline{border-color:var(--navy); color:var(--navy);}
.btn-navy-outline:hover{background:var(--navy); color:#fff;}
.btn-ghost{border-color:var(--line); color:var(--ink); background:transparent;}
.btn-ghost:hover{border-color:var(--ink);}

/* ---------- PAGE HERO (interior pages) ---------- */
.pagehero{background:var(--navy); padding:64px 0 84px; position:relative; overflow:hidden;}
.pagehero .eyebrow-white{color:var(--gold); font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px; display:flex; align-items:center; gap:10px;}
.pagehero .eyebrow-white::before{content:""; width:22px; height:1.5px; background:var(--gold);}
.pagehero h1{color:#fff; font-size:clamp(1.9rem, 1.5rem + 1.6vw, 2.9rem); font-weight:800; text-transform:uppercase; letter-spacing:0.005em; line-height:1.12; max-width:820px;}
.pagehero p{color:#B7BFD3; font-size:16px; margin-top:14px; max-width:560px; line-height:1.7;}

/* ---------- HOMEPAGE HERO ---------- */
.hero{position:relative; min-height:560px; background:radial-gradient(120% 90% at 85% 10%, var(--navy) 0%, var(--navy-deep) 60%); overflow:hidden;}
.hero .watermark{position:absolute; right:-40px; bottom:-90px; width:560px; height:560px; opacity:0.07; pointer-events:none; z-index:1;}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%;}
.hero-content{position:relative; z-index:2; display:flex; flex-direction:column; min-height:560px;}
.hero-text{max-width:1180px; margin:0 auto; padding:40px 40px 96px; flex:1; display:flex; flex-direction:column; justify-content:center; width:100%;}
.hero-kicker{display:flex; align-items:center; gap:12px; color:var(--gold); font-family:'Poppins',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:22px;}
.hero-kicker::before{content:""; width:34px; height:1.5px; background:var(--gold);}
.hero-text h1{color:#fff; font-weight:800; text-transform:uppercase; font-size:clamp(2.1rem, 1.5rem + 2.8vw, 3.4rem); line-height:1.08; max-width:720px; letter-spacing:0.005em; text-shadow:0 2px 20px rgba(0,0,0,0.25);}
.hero-ctas{margin-top:32px; display:flex; gap:14px;}
.hero-ctas .btn{padding:15px 30px; font-size:14px;}

/* Stat chip bleeds from the hero into the section below — a deliberate break in the grid */
.hero-stat-chip{
  position:relative; z-index:4; margin:-56px 40px 0; max-width:1100px;
}
.hero-stat-chip .inner{
  display:inline-flex; align-items:center; gap:18px; background:#fff; padding:20px 30px;
  box-shadow:0 20px 50px rgba(10,15,30,0.16); border-radius:var(--radius);
}
.hero-stat-chip .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:30px; color:var(--navy); line-height:1;}
.hero-stat-chip .cap{font-size:13px; color:var(--slate); line-height:1.4; max-width:220px;}
.hero-stat-chip .cap b{color:var(--ink); font-weight:700;}

/* ---------- SECTION SHARED ---------- */
.section{padding:120px 0;}
.section.tight{padding:80px 0;}
.section.roomy{padding:150px 0;}
.section.offwhite{background:var(--paper);}
.section-with-chip{padding-top:150px;}
.eyebrow{font-size:13px; font-weight:700; color:var(--gold-dark); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:""; width:22px; height:1.5px; background:var(--gold-dark);}
.h2{font-size:clamp(1.7rem, 1.4rem + 1.1vw, 2.35rem); font-weight:700; color:var(--ink); line-height:1.22; letter-spacing:-0.015em;}

/* Section intro: split header device, reused across the page as a recurring motif */
.section-intro{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:60px; align-items:end; margin-bottom:64px;}
.section-intro .lede{font-size:16.5px; color:var(--slate); line-height:1.75; max-width:46ch;}

/* ---------- PROBLEM LIST (editorial list, not a card grid) ---------- */
.problem-list{border-top:1px solid var(--line);}
.problem-row{display:grid; grid-template-columns:90px 1fr; gap:32px; padding:38px 0; border-bottom:1px solid var(--line); position:relative;}
.problem-row .ghost-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; line-height:1; width:58px; height:58px; border-radius:50%; background:var(--gold); color:var(--navy); display:flex; align-items:center; justify-content:center; align-self:start; transition:transform .25s var(--ease);}
.problem-row .p-title{font-family:'Poppins',sans-serif; font-weight:600; font-size:19px; color:var(--ink); line-height:1.35; margin-bottom:10px; max-width:32ch;}
.problem-row .p-body{font-size:14.5px; color:var(--slate); line-height:1.75; max-width:56ch;}
.problem-row:hover .ghost-num{transform:scale(1.06);}

/* ---- PLACEHOLDER IMAGE BLOCKS ---- */
.ph{
  background:repeating-linear-gradient(45deg, var(--ph-bg), var(--ph-bg) 10px, #E4E1D6 10px, #E4E1D6 20px);
  border:2px dashed var(--ph-line);
  border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:24px; color:var(--slate);
}
.ph .ph-icon{font-size:26px; margin-bottom:10px; opacity:0.55;}
.ph .ph-label{font-family:'Poppins',sans-serif; font-weight:600; font-size:13px; color:var(--ink); margin-bottom:4px;}
.ph .ph-dims{font-size:11px; color:var(--slate); opacity:0.85;}

/* ---- PLACEHOLDER NOTE TAG (for full-bleed CSS-background photo slots) ---- */
.photo-note-tag{position:absolute; z-index:3; display:flex; align-items:center; gap:7px; background:rgba(247,246,243,0.94); border:2px dashed var(--ph-line); border-radius:var(--radius); padding:9px 14px; font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:var(--slate);}
.photo-note-tag .icon{font-size:15px; opacity:0.6;}
.hero .photo-note-tag{bottom:28px; right:40px;}
.contact-photo .photo-note-tag{top:24px; right:24px;}
@media (max-width:900px){
  .hero .photo-note-tag{right:24px; bottom:16px; font-size:11px;}
}

/* ---------- SPLIT (photo + text) ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center;}
.split-img{width:100%; height:440px; border-radius:var(--radius); overflow:hidden; position:relative; box-shadow:18px 18px 0 var(--gold);}
.split-img img{width:100%; height:100%; object-fit:cover; display:block;}
.stat-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:52px; color:var(--navy); line-height:1; font-variant-numeric:tabular-nums;}
.stat-lab{font-size:13px; font-weight:700; color:var(--gold-dark); letter-spacing:0.06em; text-transform:uppercase; margin-top:8px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--line); display:inline-block;}
.split-title{font-size:26px; font-weight:700; font-family:'Poppins',sans-serif; margin-bottom:16px; color:var(--ink);}
.split-body{font-size:15px; color:var(--slate); line-height:1.8; margin-bottom:24px; max-width:52ch;}
.split-list{margin-bottom:28px;}
.split-list li{font-size:14.5px; color:var(--slate); line-height:1.7; padding-left:26px; position:relative; margin-bottom:12px; max-width:52ch;}
.split-list li::before{content:"\2192"; position:absolute; left:0; top:0; color:var(--gold-dark); font-weight:700; font-size:13px;}

/* ---------- CTA BAND — asymmetric, with a faint mountain watermark ---------- */
.ctaband{background:var(--navy); padding:80px 0; position:relative; overflow:hidden;}
.ctaband .wrap{position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.ctaband .copy{max-width:560px;}
.ctaband .rule{width:40px; height:2px; background:var(--gold); margin-bottom:20px;}
.ctaband h3{color:#fff; font-size:clamp(1.5rem, 1.3rem + .8vw, 1.9rem); font-weight:700; line-height:1.3;}
.ctaband p{color:#B7BFD3; font-size:15px; margin-top:10px;}
.ctaband .watermark{position:absolute; right:-60px; bottom:-80px; width:420px; height:420px; opacity:0.06; z-index:1; pointer-events:none;}

/* ---------- PROGRAMS — one featured card + a compact list, not five identical tiles ---------- */
.prog-grid-wrap{}
.prog-layout{display:grid; grid-template-columns:1.15fr 1fr; gap:2px; background:var(--line); border:1px solid var(--line);}
.prog-feature{position:relative; min-height:460px; overflow:hidden; display:block; text-decoration:none;}
.prog-feature .ph{position:absolute; inset:0; border-radius:0; border-width:0;}
.prog-feature img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease);}
.prog-feature:hover img{transform:scale(1.04);}
.prog-feature-label{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:36px; background:linear-gradient(0deg, rgba(8,13,32,0.9), rgba(8,13,32,0.1) 60%, rgba(8,13,32,0) 80%);}
.prog-feature-label .kicker{color:var(--gold); font-family:'Poppins',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:10px;}
.prog-feature-label .t{color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:26px; margin-bottom:10px;}
.prog-feature-label .d{color:#D7DBE8; font-size:14px; line-height:1.6; max-width:38ch; margin-bottom:16px;}
.prog-feature-label .l{color:var(--gold); font-size:12px; font-weight:700; letter-spacing:0.06em; display:inline-flex; align-items:center; gap:8px;}
.prog-feature-label .l::after{content:"\2192"; transition:transform .25s var(--ease);}
.prog-feature:hover .l::after{transform:translateX(4px);}

.prog-list{display:flex; flex-direction:column; background:var(--line);}
.prog-row{display:flex; align-items:center; gap:20px; padding:22px 26px; background:#fff; text-decoration:none; transition:background .2s var(--ease); flex:1;}
.prog-row:hover{background:var(--paper);}
.prog-row .thumb{width:64px; height:64px; flex-shrink:0; border-radius:var(--radius); overflow:hidden; position:relative;}
.prog-row .thumb .ph{border-width:1px; padding:4px;}
.prog-row .thumb .ph-label, .prog-row .thumb .ph-dims{display:none;}
.prog-row .thumb .ph-icon{font-size:16px; margin:0;}
.prog-row .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.prog-row .txt{flex:1; min-width:0;}
.prog-row .t{font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; color:var(--ink); margin-bottom:3px;}
.prog-row .l{font-size:11px; font-weight:700; letter-spacing:0.06em; color:var(--gold-dark);}
.prog-row .arrow{color:var(--slate); font-size:16px; transition:transform .2s var(--ease);}
.prog-row:hover .arrow{transform:translateX(4px); color:var(--navy);}

/* ---------- PARTNERSHIP TIERS ---------- */
.tier-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); margin-top:50px; border:1px solid var(--line);}
.tier{background:#fff; padding:28px 22px; transition:background .2s var(--ease);}
.tier:hover{background:var(--paper);}
.tier-amt{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; color:var(--navy);}
.tier-name{font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; margin:10px 0 12px;}
.tier-desc{font-size:13px; color:var(--slate); line-height:1.6;}

/* ---------- TESTIMONIAL — a real pull-quote, not a boxed speech bubble ---------- */
.testi{position:relative; max-width:920px; margin:0 auto 26px; background:var(--navy); border-radius:var(--radius); padding:56px 64px 48px; display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:start;}
.testi::after{content:""; position:absolute; left:72px; bottom:-26px; border-width:26px 26px 0 0; border-style:solid; border-color:var(--navy) transparent transparent transparent;}
.testi-mark{font-family:'Poppins',sans-serif; font-weight:800; font-size:96px; line-height:0.6; color:var(--gold); user-select:none;}
.testi-quote{font-family:'Poppins',sans-serif; font-weight:500; font-size:clamp(1.15rem, 1rem + .6vw, 1.45rem); line-height:1.6; color:#fff;}
.testi-attribution{display:flex; align-items:center; gap:14px; margin-top:28px;}
.testi-attribution .rule{width:30px; height:2px; background:var(--gold);}
.testi-name{font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; color:#fff;}
.testi-role{color:#B7BFD3; font-size:13px; margin-top:2px;}
.testi-arrows{margin-top:40px; display:flex; gap:14px;}
.testi-arrows button{width:38px; height:38px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--slate); font-size:15px; cursor:pointer; background:#fff; transition:all .2s var(--ease);}
.testi-arrows button:hover{border-color:var(--navy); color:var(--navy);}

/* ---------- CONTACT — unified underline inputs across both forms ---------- */
.contact-head{margin:0 auto 44px; max-width:820px;}
.contact-head h2{font-size:clamp(1.7rem, 1.4rem + 1.1vw, 2.35rem);}
.contact-head p{color:var(--slate); font-size:15.5px; margin-top:12px; line-height:1.7;}
.field{margin-bottom:24px;}
.field label{display:block; font-size:11.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--slate); margin-bottom:9px;}
.field input, .field select, .field textarea{
  width:100%; border:none; border-bottom:1px solid var(--line); border-radius:0; padding:10px 2px;
  font-family:'Montserrat',sans-serif; font-size:14.5px; color:var(--ink); background:transparent; transition:border-color .2s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-bottom-color:var(--navy);}
.field textarea{min-height:120px; resize:vertical;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 28px; max-width:820px; margin:0 auto;}
.form-grid .full{grid-column:1 / -1;}
.form-submit{grid-column:1 / -1; margin-top:8px;}

/* ---------- FOOTER ---------- */
.footer{background:var(--navy); padding:64px 0 28px; color:#B7BFD3; position:relative; overflow:hidden;}
.footer .watermark{position:absolute; left:-100px; bottom:-140px; width:420px; height:420px; opacity:0.05; pointer-events:none;}
.footer .wrap{position:relative; z-index:2;}
.footer-top{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.footer-brand img{height:34px;}
.footer-brand span{color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:0.02em;}
.footer address{font-style:normal; font-size:13px; line-height:1.8;}
.footer address a{text-decoration:none;}
.footer address a:hover{opacity:0.8;}
.footer h4{color:#fff; font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:600; margin-bottom:18px; letter-spacing:0.04em; text-transform:uppercase;}
.footer ul li{margin-bottom:11px; font-size:13.5px;}
.footer ul li a{color:#B7BFD3; text-decoration:none;}
.footer-bottom{padding-top:24px; font-size:12.5px; color:#8894AC; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
.back-to-top{color:#B7BFD3; font-size:12.5px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:7px;}
.back-to-top span{transition:transform .2s var(--ease);}
.back-to-top:hover span{transform:translateY(-3px);}

/* ---------- ABOUT / BOARD ---------- */
.board-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:56px 50px; margin-top:56px; align-items:start;}
.board-grid.row2{grid-template-columns:repeat(2, calc((100% - 100px) / 3)); justify-content:center;}
.board-photo{position:relative; aspect-ratio:4/5; border-radius:var(--radius); overflow:hidden; background:var(--paper); display:flex; align-items:center; justify-content:center; margin-bottom:22px;}
.board-photo svg.tri{position:absolute; inset:0; width:100%; height:100%;}
.board-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top;}
.board-initials{position:relative; z-index:2; width:96px; height:96px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:30px;}
.board-name{font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; color:var(--ink); line-height:1.3;}
.board-role{font-size:13px; color:var(--gold-dark); font-weight:600; margin-top:3px; margin-bottom:14px; text-transform:uppercase; letter-spacing:0.03em;}
.board-bio{font-size:13.5px; color:var(--slate); line-height:1.75; border-top:1px solid var(--line); padding-top:16px;}
.board-bio p + p, .board-more p{margin-top:12px;}
.board-more summary{margin-top:14px; cursor:pointer; list-style:none; font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--navy); display:inline-flex; align-items:center; gap:8px;}
.board-more summary::-webkit-details-marker{display:none;}
.board-more summary::after{content:"+"; color:var(--gold-dark); font-size:16px; line-height:1;}
.board-more[open] summary::after{content:"\2212";}
.board-more[open] summary{margin-bottom:2px;}
.photo-note{font-size:12px; color:var(--slate); font-style:italic; margin-top:56px; text-align:center;}

/* ---------- CONTACT PAGE (dedicated) ---------- */
.contact-split{display:grid; grid-template-columns:1fr 1fr; min-height:640px;}
.contact-photo{position:relative; background:var(--navy-deep); overflow:hidden;}
.contact-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,13,32,0.55), rgba(8,13,32,0.78));}
.contact-photo-inner{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; padding:60px;}
.contact-photo-inner h1{color:#fff; font-size:38px; font-weight:800; text-transform:uppercase; line-height:1.12;}
.contact-photo-inner p{color:#B7BFD3; font-size:15px; margin-top:16px; max-width:380px;}
.quicklinks{margin-top:40px; display:flex; flex-direction:column; gap:16px;}
.quicklinks a{color:#fff; font-size:15px; font-weight:600; text-decoration:none; display:flex; align-items:center; gap:12px;}
.quicklinks a .circle{width:26px; height:26px; border-radius:50%; border:1px solid rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center; font-size:13px; transition:transform .2s var(--ease);}
.quicklinks a:hover .circle{transform:translateX(3px);}
.contact-form-side{padding:70px 60px; display:flex; flex-direction:column; justify-content:center;}
.contact-form-side h2{font-size:30px; font-weight:700; margin-bottom:32px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:0 20px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) and (min-width: 901px){
  .navlinks{gap:20px;}
  .nav-ctas{gap:10px;}
  .nav-ctas .btn{padding-left:16px; padding-right:16px;}
}
@media (max-width: 900px){
  .wrap{padding:0 24px;}
  .nav{padding:18px 24px; flex-wrap:wrap; gap:16px;}
  .hero .nav{padding:22px 24px 0;}
  .navlinks{order:3; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12);}
  .navlinks a{justify-self:start;}
  .navdrop-menu, .navdrop > a::after{display:none;}
  .section{padding:64px 0;}
  .section.tight{padding:48px 0;}
  .section.roomy{padding:80px 0;}
  .section-with-chip{padding-top:96px;}
  .section-intro{grid-template-columns:1fr; gap:20px; margin-bottom:44px;}
  .pagehero{padding:48px 0 60px;}
  .hero-text{padding:32px 24px 0;}
  .hero{min-height:auto;}
  .hero-text h1{max-width:none;}
  .hero-stat-chip{margin:-32px 16px 0;}
  .hero-stat-chip .inner{padding:16px 20px; gap:14px;}
  .problem-row{grid-template-columns:56px 1fr; gap:18px; padding:28px 0;}
  .problem-row .ghost-num{font-size:17px; width:44px; height:44px;}
  .split{grid-template-columns:1fr; gap:32px;}
  .split-img{height:280px; order:-1; box-shadow:12px 12px 0 var(--gold);}
  .ctaband .wrap{flex-direction:column; align-items:flex-start; text-align:left;}
  .prog-layout{grid-template-columns:1fr;}
  .prog-feature{min-height:320px;}
  .tier-grid{grid-template-columns:repeat(2,1fr);}
  .testi{grid-template-columns:1fr; gap:12px; padding:40px 26px 32px;}
  .testi::after{left:40px;}
  .testi-mark{font-size:64px;}
  .form-grid, .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:32px;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .board-grid, .board-grid.row2{grid-template-columns:1fr; max-width:none;}
  .contact-split{grid-template-columns:1fr;}
  .contact-photo{min-height:340px;}
  .contact-photo-inner, .contact-form-side{padding:40px 24px;}
}

/* Contact form: honeypot + submit status */
.hp-field{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.form-status{margin-top:12px; font-size:14px; font-weight:600; color:var(--slate); min-height:1.4em;}
.form-status.is-ok{color:#1F7A3E;}
.form-status.is-error{color:#B3261E;}
button[disabled]{opacity:0.6; cursor:progress;}
