/* AFCEA Space Coast Chapter: design system v1 (static build, Oct 31, 2026)
   System: AFCEA deep navy + chapter gold, signal blue support, slate neutrals.
   Type: Archivo (display), Inter (body), IBM Plex Mono (instrument readouts). */
:root{
  --navy:#051C3F; --navy2:#0A2A5C; --deep:#030F24; --panel:#0A2249;
  --signal:#2F7CD3; --gold:#DFA32C; --gold2:#F0BC4E;
  --white:#FFFFFF; --paper:#F4F5F7; --body:#23272E; --slate:#5A6270;
  --line:#1D3560; --cardline:#DEE1E6;
  --gold-text:#7A5A0E; --muted-text:#5F6875; --signal-text:#1D63B6; --maxw:1180px; --rad:4px;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:92px;overflow-x:clip;}
body{font-family:'Inter',Arial,sans-serif;color:var(--body);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;}
h1,h2,h3,.disp{font-family:'Archivo','Inter',sans-serif;}
a{color:inherit;}
img{max-width:100%;}
::selection{background:var(--gold);color:var(--navy);}
:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;box-shadow:0 0 0 5px var(--navy);}
main{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.kicker{font-family:'Archivo';letter-spacing:4px;font-size:12px;font-weight:700;color:var(--gold-text);text-transform:uppercase;}
.hero .kicker,section.dark .kicker,section.deep .kicker,.ctaband .kicker{color:var(--gold);}
.kicker::before{content:"";display:inline-block;width:26px;height:2px;background:var(--gold);vertical-align:middle;margin-right:12px;}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--gold);color:var(--navy);font-weight:800;padding:14px 30px;border-radius:var(--rad);text-decoration:none;font-size:15px;border:1.5px solid var(--gold);cursor:pointer;font-family:'Inter';transition:transform .18s ease,background .18s ease,border-color .18s ease;}
.btn:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px);}
.btn.ghost{background:rgba(255,255,255,.08);color:var(--white);border-color:#FFFFFF;}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:rgba(223,163,44,.12);}
.btn.wire{background:transparent;color:var(--navy);border-color:var(--navy);}
.btn.wire:hover{background:rgba(5,28,63,.06);border-color:var(--navy);}
.btn.sm{min-height:44px;padding:10px 22px;font-size:14px;}
/* instrument details */
.hud{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;line-height:1.6;}
.hud .g{color:var(--gold);}
.hudbar{display:flex;flex-wrap:wrap;gap:6px 30px;align-items:center;border-top:1px solid rgba(255,255,255,.25);margin-top:48px;padding-top:16px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:#C6CEDA;}
.hudbar .g{color:var(--gold);}
.hudbar .r{margin-left:auto;}
.sectag{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted-text);margin-bottom:16px;display:flex;gap:8px 26px;flex-wrap:wrap;}
.sectag .g{color:var(--gold-text);}
section.dark .sectag,.ctaband .sectag{color:#93A1B8;}
section.dark .sectag .g,.ctaband .sectag .g{color:var(--gold);}
.corners{position:relative;}
.corners::before,.corners::after{content:"";position:absolute;width:20px;height:20px;pointer-events:none;z-index:3;}
.corners::before{top:-2px;left:-2px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);}
.corners::after{bottom:-2px;right:-2px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);}
/* nav */
nav{background:rgba(3,15,36,.97);backdrop-filter:blur(8px);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px;}
nav .brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
nav .brand-mark{width:44px;height:44px;flex:none;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Archivo';font-weight:900;font-size:15px;color:var(--white);letter-spacing:.5px;}
nav .brand-word{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;letter-spacing:2.5px;color:var(--white);line-height:1.05;}
nav .brand-word em{display:block;font-style:normal;font-weight:600;font-size:10.5px;letter-spacing:4.6px;color:var(--gold);}
nav .links{display:flex;align-items:center;gap:26px;}
nav .links a{color:#E8ECF3;text-decoration:none;font-size:14px;font-weight:600;position:relative;padding:12px 0;}
nav .links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .2s ease;}
nav .links a:hover::after{width:100%;}
nav .links a.cur{color:var(--gold);}
nav .links a.cur::after{width:100%;}
nav .links a.cta{color:var(--gold);}
.burger{display:none;background:none;border:1px solid #33507F;border-radius:var(--rad);width:44px;height:44px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.burger span{display:block;width:20px;height:2px;background:#E8ECF3;transition:transform .2s ease,opacity .2s ease;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:1020px){
  .burger{display:flex;}
  nav .wrap{flex-wrap:wrap;height:auto;min-height:74px;padding-top:8px;padding-bottom:8px;}
  nav .links{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:4px 0 10px;}
  html.js nav .wrap{flex-wrap:nowrap;height:74px;padding-top:0;padding-bottom:0;}
  html.js nav .links{position:absolute;top:74px;left:0;right:0;background:var(--navy);padding:8px 28px 18px;border-bottom:1px solid var(--line);display:none;flex-basis:auto;}
  html.js nav .links.open{display:flex;}
  nav .links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;}
  nav .links a:last-child{border-bottom:none;}
  nav .links a::after{display:none;}
}
/* heroes */
.hero{background:var(--deep);color:var(--white);position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;overflow:hidden;background:var(--navy);}
.hero-bg img,.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,36,.92) 0%,rgba(3,15,36,.68) 48%,rgba(3,15,36,.34) 100%),linear-gradient(0deg,rgba(3,15,36,.95) 0%,rgba(3,15,36,0) 46%),linear-gradient(180deg,rgba(3,15,36,.62) 0%,rgba(3,15,36,0) 30%);}
.hero-shade::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 90% 85% at 32% 30%,#000 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 85% at 32% 30%,#000 25%,transparent 78%);}
.hero .wrap{position:relative;z-index:2;padding:72px 28px 64px;}
body.home .hero{min-height:calc(100svh - 74px);display:flex;flex-direction:column;}
body.home .hero .wrap{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:104px 28px 30px;}
.hero-hudtop{display:flex;flex-wrap:wrap;gap:6px 30px;margin-bottom:auto;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:#C6CEDA;}
.hero-hudtop .g{color:var(--gold);}
.hero-hudtop .r{margin-left:auto;}
.hero h1{font-size:clamp(40px,6vw,64px);line-height:1.02;letter-spacing:.2px;max-width:880px;font-weight:800;}
body.home .hero h1{font-size:clamp(46px,8vw,104px);line-height:.99;max-width:1060px;text-shadow:0 2px 34px rgba(0,0,0,.5);}
.hero h1 .g{color:var(--gold);}
.hero p.sub{margin-top:24px;font-size:19px;color:#D8DEE9;max-width:680px;line-height:1.65;}
body.home .hero p.sub{font-size:20.5px;max-width:640px;color:#E6EAF1;text-shadow:0 1px 16px rgba(0,0,0,.55);}
.hero .ctas{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
.hero.small .wrap{padding:96px 28px 44px;}
.hero.small h1{font-size:clamp(40px,5.4vw,62px);max-width:880px;}
.hero.small p.sub{font-size:19px;}
@media(max-width:640px){
  .hero-shade{background:linear-gradient(0deg,rgba(3,15,36,.96) 0%,rgba(3,15,36,.6) 55%,rgba(3,15,36,.4) 100%),linear-gradient(180deg,rgba(3,15,36,.6) 0%,rgba(3,15,36,0) 30%);}
  body.home .hero h1{font-size:clamp(40px,12vw,54px);}
  body.home .hero p.sub{font-size:18px;}
  .hero-hudtop .r{margin-left:0;}
  .hudbar .r{margin-left:0;}
  body.home .hero .wrap{padding:92px 28px 26px;}
  .hero.small .wrap{padding:80px 28px 38px;}
}
/* ticker */
.ticker{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:14px 0;}
.ticker .track{display:flex;width:max-content;animation:tick 50s linear infinite;}
.ticker:hover .track{animation-play-state:paused;}
.ticker span{font-family:'Archivo';font-size:12.5px;font-weight:600;letter-spacing:3px;color:#93A1B8;text-transform:uppercase;white-space:nowrap;padding-right:14px;}
.ticker span i{color:var(--gold);font-style:normal;padding-right:14px;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* sections */
section{padding:88px 0;}
section.dark{background:var(--navy);color:#E8ECF3;}
section.deep{background:var(--deep);color:#E8ECF3;}
section.paper{background:var(--paper);}
h2.title{font-size:clamp(28px,3.8vw,40px);line-height:1.12;color:var(--navy);margin:12px 0 16px;max-width:720px;font-weight:800;}
section.dark h2.title,section.deep h2.title{color:var(--white);}
.lede{font-size:17px;max-width:720px;color:#454C57;line-height:1.7;}
section.dark .lede,section.deep .lede{color:#C6CEDA;}
.grid{display:flex;gap:20px;flex-wrap:wrap;margin-top:42px;}
.card{background:var(--white);border:1px solid var(--cardline);border-top:4px solid var(--gold);padding:28px;flex:1 1 250px;transition:transform .2s ease,box-shadow .2s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(3,15,36,.12);}
section.dark .card,section.deep .card{background:var(--panel);border-color:var(--line);color:#E8ECF3;}
.card h3{font-size:19px;margin-bottom:8px;color:var(--navy);}
section.dark .card h3,section.deep .card h3{color:var(--white);}
.card p{font-size:15px;color:#555B66;}
section.dark .card p,section.deep .card p{color:#B9C2D2;}
.card .num{font-family:var(--mono);color:var(--gold-text);font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px;}
section.dark .num,section.deep .num{color:var(--gold);}
.more{display:inline-block;margin-top:14px;color:var(--navy);font-weight:700;text-decoration:none;font-size:14.5px;border-bottom:2px solid var(--gold);padding-bottom:2px;}
section.dark .more,section.deep .more{color:var(--white);}
.more:hover{color:var(--gold);}
/* next event feature panel */
.nextfeat{margin-top:42px;background:var(--navy);color:#E8ECF3;display:grid;grid-template-columns:200px 1fr;gap:0;border:1px solid var(--line);}
.nextfeat .dateblock{background:var(--gold);color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 18px;text-align:center;}
.dateblock .dow{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;}
.dateblock .dnum{font-family:'Archivo';font-size:74px;font-weight:900;line-height:1;margin:6px 0 2px;}
.dateblock .dmon{font-family:'Archivo';font-size:17px;font-weight:800;letter-spacing:4px;text-transform:uppercase;}
.nextfeat .nf-body{padding:36px 38px;}
.nextfeat h3{font-size:clamp(24px,3vw,31px);color:var(--white);line-height:1.2;margin:10px 0 10px;}
.nextfeat p{font-size:16px;color:#C6CEDA;line-height:1.65;max-width:640px;}
.nf-meta{display:flex;flex-wrap:wrap;gap:8px 30px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:#93A1B8;}
.nf-meta b{color:var(--gold);font-weight:600;}
@media(max-width:760px){.nextfeat{grid-template-columns:1fr;}.nextfeat .dateblock{padding:22px 18px;}.dateblock .dnum{font-size:52px;}.nextfeat .nf-body{padding:28px 24px;}}
/* event cards (rendered from events-data.js) */
.evlist{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;}
@media(max-width:860px){.evlist{grid-template-columns:1fr;}}
.evcard{background:var(--white);border:1px solid var(--cardline);border-left:5px solid var(--gold);padding:26px 28px;display:flex;gap:22px;align-items:flex-start;}
.evcard .ed{flex:none;text-align:center;border:1px solid var(--cardline);padding:12px 10px;min-width:74px;}
.evcard .ed .dnum{font-family:'Archivo';font-size:30px;font-weight:900;color:var(--navy);line-height:1;}
.evcard .ed .dmon{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);margin-top:4px;}
.evcard h3{font-size:20px;color:var(--navy);line-height:1.25;margin-bottom:6px;}
.evcard .ev-venue{font-size:14.5px;font-weight:600;color:#3C434E;}
.evcard p{font-size:14.5px;color:#555B66;line-height:1.6;margin-top:6px;}
.evcard .ev-tag{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--signal-text);}
.evnote{margin-top:22px;font-size:14px;color:var(--muted-text);font-family:var(--mono);letter-spacing:.4px;}
.pastlist{margin-top:36px;border-top:2px solid var(--navy);}
.pastrow{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px 4px;border-bottom:1px solid var(--cardline);align-items:start;}
.pastrow .pdate{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-text);padding-top:4px;}
.pastrow h3{font-size:19px;color:var(--navy);margin-bottom:4px;}
.pastrow p{font-size:14.5px;color:#555B66;line-height:1.6;max-width:720px;}
@media(max-width:640px){.pastrow{grid-template-columns:1fr;gap:6px;}}
/* past event media (rendered when an entry carries cover / spotlights) */
.pastmedia{grid-column:1/-1;margin-top:4px;}
.pastcover{width:100%;max-width:620px;display:block;border:1px solid var(--cardline);}
.spotrow{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;}
.spotrow figure{flex:1 1 230px;max-width:330px;}
.spotrow figure img{width:100%;display:block;border:1px solid var(--cardline);}
.spotrow figcaption{margin-top:8px;font-size:13.5px;color:#555B66;line-height:1.5;}
.spotrow figcaption b{display:block;color:var(--navy);font-size:14.5px;}
/* spotlight */
.spotgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px;}
@media(max-width:860px){.spotgrid{grid-template-columns:1fr;}}
.spot{background:var(--white);border:1px solid var(--cardline);padding:32px;border-top:4px solid var(--navy);}
.spot .mon{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);background:var(--navy);display:inline-block;padding:5px 12px;}
.spot h3{font-size:25px;color:var(--navy);margin:16px 0 4px;}
.spot .org{font-size:14.5px;font-weight:600;color:var(--signal-text);}
.spot p{font-size:15px;color:#555B66;line-height:1.65;margin-top:10px;}
/* partner nameplates */
.plates{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}
.plate{border:1px solid var(--line);background:var(--panel);color:var(--white);font-family:'Archivo';font-weight:700;font-size:16px;letter-spacing:1.2px;padding:20px 26px;flex:1 1 240px;text-align:center;text-transform:uppercase;}
.plate small{display:block;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:2.5px;color:var(--gold);margin-top:6px;text-transform:uppercase;}
.plates.light .plate{background:var(--white);border-color:var(--cardline);color:var(--navy);}
.plates.light .plate small{color:var(--gold-text);}
/* tiers */
.tierband{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:42px;}
@media(max-width:1020px){.tierband{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.tierband{grid-template-columns:1fr;}}
.tier{background:var(--white);border:1px solid var(--cardline);padding:30px 26px;border-top:5px solid var(--navy);}
.tier.head{border-top-color:var(--gold);background:var(--navy);color:#E8ECF3;}
.tier .tname{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-text);}
.tier.head .tname{color:var(--gold);}
.tier .price{font-family:'Archivo';font-size:32px;font-weight:900;color:var(--navy);margin:10px 0 4px;}
.tier.head .price{color:var(--white);}
.tier .per{font-size:13px;color:var(--slate);}
.tier.head .per{color:#93A1B8;}
.tier p{font-size:14.5px;color:#555B66;line-height:1.65;margin-top:12px;}
.tier.head p{color:#C6CEDA;}
.tier ul{list-style:none;margin-top:12px;}
.tier li{font-size:14px;padding:7px 0 7px 22px;position:relative;border-bottom:1px solid var(--cardline);line-height:1.5;color:#3C434E;}
.tier.head li{border-color:var(--line);color:#D8DEE9;}
.tier li:last-child{border-bottom:none;}
.tier li::before{content:'';position:absolute;left:2px;top:14px;width:8px;height:8px;background:var(--gold);}
/* homepage community band photo */
.bandphoto{margin:42px 0 4px;}
.bandphoto img{width:100%;height:clamp(220px,38vw,380px);object-fit:cover;display:block;border:1px solid var(--cardline);}
.bandphoto figcaption{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted-text);margin-top:10px;}
/* partner logo plates (v3: recovered sponsor artwork, contain fit, never recolored) */
.logoplate{background:var(--white);border:1px solid var(--line);flex:1 1 240px;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 24px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;}
.logoplate:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(3,15,36,.22);}
.plates.light .logoplate{border-color:var(--cardline);}
.plates.light .logoplate:hover{box-shadow:0 12px 26px rgba(3,15,36,.12);}
.logoframe{display:flex;align-items:center;justify-content:center;height:54px;width:100%;}
.plates.lg .logoframe{height:74px;}
.plates.md .logoframe{height:64px;}
.plates.sm .logoframe{height:44px;}
.logoplate.fr-lg .logoframe{height:74px;}
.logoplate.fr-md .logoframe{height:64px;}
.logoplate.fr-sm .logoframe{height:44px;}
.logoframe img{max-height:100%;max-width:88%;object-fit:contain;display:block;}
.logoplate small{display:block;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:2.5px;color:var(--gold-text);text-transform:uppercase;text-align:center;}
.logoplate.logo-opt-tall .logoframe{height:92px;}
.logoplate.logo-opt-symbol .logoframe{height:60px;}
.logoplate.logo-opt-symbol .logoframe img{max-width:96%;}
.wallplate{min-height:128px;display:flex;align-items:center;justify-content:center;text-decoration:none;}
/* officers */
.offgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;}
@media(max-width:960px){.offgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.offgrid{grid-template-columns:1fr;}}
.officer{background:var(--white);border:1px solid var(--cardline);border-top:4px solid var(--gold);padding:26px;}
.officer .ophoto{margin:-26px -26px 20px;aspect-ratio:1/1;background:var(--navy);overflow:hidden;}
.officer .ophoto img{width:100%;height:100%;object-fit:cover;display:block;}
.officer .ophoto.initials{display:flex;align-items:center;justify-content:center;background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:52px 52px;}
.officer .ophoto.initials span{font-family:'Archivo';font-weight:900;font-size:64px;letter-spacing:3px;color:var(--gold);}
.officer .role{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold-text);}
.officer .ophoto.mono{aspect-ratio:auto;width:96px;height:96px;border-radius:50%;margin:0 0 18px;display:flex;align-items:center;justify-content:center;background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;}
.officer .ophoto.mono span{font-family:'Archivo';font-weight:900;font-size:30px;letter-spacing:2px;color:var(--gold);}
.officer .clink{margin-top:12px;}
.officer h3{font-size:20px;color:var(--navy);margin:8px 0 4px;}
.officer p{font-size:14px;color:#555B66;line-height:1.6;}
/* dues cards */
.dues{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:42px;}
@media(max-width:1020px){.dues{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.dues{grid-template-columns:1fr;}}
.due{background:var(--navy);color:#E8ECF3;padding:28px;border-top:5px solid var(--gold);}
.due .amt{font-family:'Archivo';font-size:34px;font-weight:900;color:var(--white);}
.due .lbl{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);margin-top:6px;}
.due p{font-size:14px;color:#C6CEDA;line-height:1.6;margin-top:10px;}
/* lanes + forms */
.lanes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px;}
@media(max-width:860px){.lanes{grid-template-columns:1fr;}}
.lane{background:var(--white);border:1px solid var(--cardline);border-left:5px solid var(--gold);padding:26px 28px;}
.lane h3{font-size:19px;color:var(--navy);margin-bottom:4px;}
.lane .who{font-size:14px;font-weight:600;color:var(--signal-text);}
.lane p{font-size:14.5px;color:#555B66;line-height:1.6;margin-top:8px;}
.lane a.mail{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:1px;word-break:break-all;}
form{max-width:640px;margin-top:30px;}
form .row{display:flex;gap:16px;flex-wrap:wrap;}
form .field{display:flex;flex-direction:column;flex:1 1 260px;margin-bottom:16px;}
.flabel{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted-text);margin-bottom:8px;}
section.dark .flabel{color:#93A1B8;}
form input,form textarea,form select{flex:none;width:100%;background:var(--white);border:1.5px solid #C4C9D1;color:var(--body);padding:13px 14px;font-family:'Inter';font-size:15px;border-radius:var(--rad);min-height:48px;}
form textarea{min-height:130px;resize:vertical;}
form input:focus,form textarea:focus,form select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px var(--gold);}
section.dark form input,section.dark form textarea,section.dark form select{background:var(--panel);border-color:var(--line);color:var(--white);}
section.dark form input:focus,section.dark form textarea:focus,section.dark form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,188,78,.55);}
.fineprint{margin-top:14px;font-size:13px;color:var(--muted-text);line-height:1.6;}
section.dark .fineprint{color:#93A1B8;}
.checklist{list-style:none;margin-top:26px;max-width:720px;}
.checklist li{font-size:16px;color:#3C434E;padding:11px 0 11px 30px;position:relative;border-bottom:1px solid var(--cardline);line-height:1.6;}
.checklist li:last-child{border-bottom:none;}
.checklist li::before{content:'';position:absolute;left:2px;top:19px;width:9px;height:9px;background:var(--gold);}
.prose{max-width:760px;font-size:16.5px;line-height:1.75;color:#3C434E;}
.prose p{margin-bottom:18px;}
.prose b{color:var(--navy);}
.callout{margin-top:34px;font-size:16.5px;line-height:1.7;color:var(--navy);max-width:760px;border-left:3px solid var(--gold);padding-left:18px;}
/* cta band */
.ctaband{background:var(--deep);color:var(--white);padding:76px 0;position:relative;overflow:hidden;}
.ctaband h2{font-size:clamp(26px,3.4vw,36px);max-width:660px;line-height:1.18;font-weight:800;}
.ctaband p{color:#C6CEDA;margin-top:12px;max-width:620px;font-size:16.5px;line-height:1.65;}
.ctaband .btn{margin-top:28px;}
/* footer */
footer{background:#02081A;color:#93A1B8;padding:56px 0 40px;font-size:13.5px;}
footer .fwrap{display:grid;grid-template-columns:1.05fr 2fr;gap:26px 56px;align-items:start;}
footer .ftag{margin-top:16px;max-width:330px;line-height:1.65;font-size:13.5px;}
footer .fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
footer .fhead{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
footer .fcol a{display:flex;align-items:center;min-height:44px;color:#C6CEDA;text-decoration:none;font-weight:600;padding:5px 0;font-size:14px;}
footer .fcol a:hover{color:var(--gold);}
footer .fbase{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;line-height:2;}
footer .fbase a.fpriv{color:#C6CEDA;}
a.goldlink{color:var(--gold);}
@media(max-width:860px){footer .fwrap{grid-template-columns:1fr;}footer .fcols{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){footer .fcols{grid-template-columns:1fr;}}
/* reveal: visible by default; JS gates the hidden state */
.rv{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease;}
html.rvjs .rv{opacity:0;transform:translateY(22px);}
html.rvjs .rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .rv,html.rvjs .rv{opacity:1;transform:none;transition:none;}
  .ticker .track{animation:none;}
  .btn:hover,.card:hover{transform:none;}
}
/* footer brand lockup */
footer .brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
footer .brand-mark{width:44px;height:44px;flex:none;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Archivo';font-weight:900;font-size:15px;color:var(--white);letter-spacing:.5px;}
footer .brand-word{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;letter-spacing:2.5px;color:var(--white);line-height:1.05;}
footer .brand-word em{display:block;font-style:normal;font-weight:600;font-size:10.5px;letter-spacing:4.6px;color:var(--gold);}

/* ===== v4 additions (white glove pass, Oct 31, 2026) ===== */
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--gold);color:var(--navy);font-weight:800;font-size:14px;padding:12px 20px;border-radius:var(--rad);text-decoration:none;transition:top .15s ease;}
.skip:focus{top:12px;}
.mt22{margin-top:22px;} .mt26{margin-top:26px;} .mt34{margin-top:34px;}
.ml12{margin-left:12px;}
.ctas-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;}
a.card{text-decoration:none;display:block;}
a.card:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;box-shadow:0 0 0 5px var(--navy);}
.cardlink-note{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);margin-top:14px;display:block;}
section.dark .cardlink-note{color:var(--gold);}
/* hero film toggle */
.filmbar{display:flex;justify-content:flex-end;margin-top:16px;}
.film-toggle{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 18px;background:rgba(3,15,36,.72);color:#E8ECF3;border:1.5px solid var(--gold);border-radius:var(--rad);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;}
.film-toggle:hover{color:var(--gold);}
.film-toggle .dot{width:9px;height:9px;background:var(--gold);flex:none;}
/* event card extras */
.ev-status{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-text);margin-top:12px;}
.ev-access{font-size:13.5px;color:#3C434E;background:var(--paper);border-left:3px solid var(--gold);padding:10px 14px;margin-top:12px;line-height:1.55;}
.ev-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px;}
.ev-actions .more{margin-top:0;}
.pastrow .speakers{font-size:14px;color:#3C434E;line-height:1.6;margin-top:2px;}
.mediacap{grid-column:1/-1;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted-text);margin-top:10px;}
/* benefits matrix */
.matrixwrap{overflow-x:auto;margin-top:42px;border:1px solid var(--cardline);}
table.matrix{border-collapse:collapse;width:100%;min-width:760px;background:var(--white);font-size:14.5px;}
table.matrix th,table.matrix td{padding:13px 16px;border-bottom:1px solid var(--cardline);text-align:left;vertical-align:top;line-height:1.5;}
table.matrix thead th{background:var(--navy);color:var(--white);font-family:'Archivo';font-size:15px;}
table.matrix thead th .mprice{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-top:3px;}
table.matrix tbody th{font-weight:700;color:var(--navy);width:26%;}
table.matrix tbody tr:last-child th,table.matrix tbody tr:last-child td{border-bottom:none;}
.addons{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.addon{flex:1 1 200px;border:1px solid var(--cardline);background:var(--white);padding:18px 20px;border-top:4px solid var(--gold);}
.addon .an{font-weight:700;color:var(--navy);font-size:15px;}
.addon .ap{font-family:'Archivo';font-weight:900;font-size:21px;color:var(--navy);margin-top:4px;}
.doclink{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;}
/* join module (Constant Contact landing page link) */
.joinmod{margin-top:36px;background:var(--navy);color:#E8ECF3;border:1px solid var(--line);border-top:4px solid var(--gold);padding:32px 34px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.joinmod .jm-body{flex:1 1 340px;}
.joinmod h3{color:var(--white);font-size:21px;margin-bottom:6px;}
.joinmod p{color:#C6CEDA;font-size:15px;line-height:1.65;}
.joinmod .fineprint{color:#93A1B8;margin-top:12px;}
.joinmod .fineprint a{color:var(--gold);}
/* scholarship blocks */
.cycleblock{border:1px solid var(--cardline);background:var(--white);padding:28px 30px;margin-top:22px;}
.cycleblock h3{color:var(--navy);font-size:20px;margin-bottom:4px;}
.cycleblock .cyclemeta{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-text);margin-bottom:10px;}
.cycleblock p,.cycleblock li{font-size:15px;color:#3C434E;line-height:1.65;}
.cycleblock ul{list-style:none;margin-top:8px;}
.cycleblock li{padding:6px 0 6px 22px;position:relative;border-bottom:1px solid var(--cardline);}
.cycleblock li:last-child{border-bottom:none;}
.cycleblock li::before{content:'';position:absolute;left:2px;top:14px;width:8px;height:8px;background:var(--gold);}
.statusband{border-left:5px solid var(--gold);background:var(--paper);padding:22px 26px;margin-top:30px;}
.statusband p{font-size:16px;color:#3C434E;line-height:1.7;}
/* contact mini lanes */
.lane .altlink{display:inline-block;margin-top:10px;}
.quicklinks{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:26px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;}
.quicklinks a{color:var(--white);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px;}
.memberpanel{display:flex;gap:26px;flex-wrap:wrap;align-items:center;}
.bounded{max-width:580px;}
.bounded img{height:auto;}

/* print: dark text on white, no navigation or screen-only chrome */
@media print{
  nav,.ticker,.filmbar,.film-toggle,footer .fcols,.burger,.skip{display:none !important;}
  body,.hero,section,.ctaband,footer,.joinmod,.statusband,.cycleblock,.addon,.logoplate{background:#fff !important;color:#111 !important;}
  .hero-bg{display:none !important;}
  h1,h2,h3,h4,p,li,td,th,span,small,.sub,.lede,.ftag,.fineprint,.hero-hudtop,.hudbar{color:#111 !important;}
  a{color:#111 !important;}
  footer a,footer .fpriv{color:#111 !important;}
}

/* ===== v6 additions (mobile + marketing pass, Oct 31, 2026) ===== */
/* M1: 16px form controls, so iOS Safari does not zoom the page on focus */
form input,form textarea,form select{font-size:16px;}
/* M2: 44px touch boxes for the site's working text links (look unchanged) */
.more{display:inline-flex;align-items:center;min-height:44px;}
.lane a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;}
.quicklinks a{display:inline-flex;align-items:center;min-height:44px;}
footer .fbase a{display:inline-flex;align-items:center;min-height:44px;}
/* M2 (rendered pass): links embedded in paragraphs get a 40px+ hit area
   from padding balanced by negative margin, so layout does not move */
a.goldlink,.prose a{display:inline-block;padding:13px 0;margin:-13px 0;}
/* K7: visible routed address line on contact lane cards */
.lane .addr{font-weight:700;color:var(--navy);word-break:break-all;margin-top:10px;}
/* K3: the nav join action is a real gold button, not a text link */
nav .links a.btn{background:var(--gold);color:var(--navy);padding:10px 22px;min-height:44px;border:1.5px solid var(--gold);}
nav .links a.btn::after{display:none;}
nav .links a.btn:hover{background:var(--gold2);border-color:var(--gold2);}
/* M4: sticky header row and first column inside the benefits matrix,
   plus a scroll hint shown on small screens only */
table.matrix thead th{position:sticky;top:0;z-index:2;}
table.matrix thead th:first-child{position:sticky;left:0;z-index:3;}
table.matrix tbody th{position:sticky;left:0;background:var(--white);border-right:1px solid var(--cardline);z-index:1;}
.swipehint{display:none;}
/* M6 + M7: the open mobile menu scrolls within the viewport, and the
   current page is marked by shape as well as color */
@media(max-width:1020px){
  html.js nav .links{max-height:calc(100dvh - 74px);overflow-y:auto;}
  nav .links a.cur{font-weight:800;border-left:4px solid var(--gold);padding-left:12px;}
}
/* M3 + M5: tighter mobile rhythm, and the homepage hero stack fits the
   first screen on short phones (film toggle moves out of flow) */
@media(max-width:640px){
  section{padding:56px 0;}
  .ctaband{padding:56px 0;}
  body.home .hero h1{font-size:clamp(38px,11vw,46px);}
  body.home .hero p.sub{font-size:17px;}
  .hero .ctas{margin-top:26px;}
  .hudbar{margin-top:28px;}
  .filmbar{position:absolute;right:18px;bottom:104px;margin-top:0;z-index:3;}
  .swipehint{display:block;margin-top:10px;font-size:13px;color:var(--muted-text);}
}
/* M3b: short phones (iPhone SE class, 667px tall and under class):
   tighten the hero stack further so the primary call to action sits
   fully inside the first screen. Measured need was about 65px. */
@media(max-width:640px) and (max-height:720px){
  body.home .hero .wrap{padding:64px 28px 22px;}
  body.home .hero h1{font-size:37px;line-height:.97;}
  body.home .hero p.sub{font-size:16px;line-height:1.5;margin-top:16px;}
  .hero .ctas{margin-top:18px;}
  .hero-hudtop{font-size:10.5px;gap:4px 22px;}
}
