/* ============ MPAC ============ */
:root{
  --navy:#011D4C;
  --navy-2:#06224f;
  --bg-dark:#15171b;
  --blue:#0357A0;
  --blue-mid:#036C99;
  --teal:#02B099;
  --green:#04A594;
  --ink:#e7ecf3;
  --paper:#0f1216;
  --paper-2:#191c22;
  --line:#2b303a;
  --muted:#9aa7b8;
  --white:#ffffff;
  --card:#20242c;
  --grad:linear-gradient(110deg,var(--blue) 0%,var(--blue-mid) 38%,var(--teal) 100%);
  --grad-soft:linear-gradient(110deg,#0357A0 0%,#02B099 100%);
  --maxw:1200px;
  --r:14px;
  --ease:cubic-bezier(.16,.84,.44,1);
  --shadow:0 1px 2px rgba(1,29,76,.05),0 12px 30px -18px rgba(1,29,76,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.display{font-family:"Newsreader",Georgia,"Times New Roman",serif;line-height:1.06;letter-spacing:-.015em;font-weight:500}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-family:"Inter",system-ui,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-mid)}
.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,252,253,.82);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:42px;width:auto}
.brand .tag{display:none;font-family:"Inter",system-ui,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{font-size:.92rem;font-weight:500;color:var(--ink);padding:9px 14px;border-radius:9px;transition:background .2s,color .2s}
.nav-links a:hover{background:var(--paper-2);color:var(--navy)}
.nav-links a.active{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;border-radius:10px;padding:10px 18px!important}
.nav-cta:hover{background:var(--blue)!important}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:9px;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span{display:block;width:18px;height:2px;background:var(--navy);position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--navy)}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:.98rem;padding:15px 28px;border-radius:12px;cursor:pointer;border:none;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(3,87,160,.6)}
.btn-grad{background:var(--grad);color:#fff;background-size:160% 100%}
.btn-grad:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 16px 30px -14px rgba(2,176,153,.55)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-arrow svg{transition:transform .25s var(--ease)}
.btn-arrow:hover svg{transform:translateX(4px)}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--bg-dark);color:#fff;overflow:hidden;padding:96px 0 110px}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 88% -10%,rgba(2,176,153,.30),transparent 60%),
  radial-gradient(700px 500px at 8% 120%,rgba(3,87,160,.45),transparent 55%);}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:400;color:#fff}
.hero h1 .grad-head{font-weight:600}
.hero h1 .ai50{display:block}
.hero h1 .grad-head{background:linear-gradient(110deg,#3aa9ff 0%,#27d6b3 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:clamp(1.35rem,2.2vw,1.7rem);color:#c7d4e6;margin:22px 0 14px;max-width:34ch;line-height:1.45}
.fourc{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 34px}
.fourc span{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.02em;padding:8px 16px;border:1px solid rgba(255,255,255,.18);border-radius:30px;background:rgba(255,255,255,.04)}
.fourc span b{color:var(--teal);font-weight:600}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* big 50 motif */
.fifty{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px}
.fifty .num{font-family:"Inter",system-ui,sans-serif;font-weight:700;font-size:clamp(13rem,26vw,22rem);line-height:.8;letter-spacing:-.04em;background:linear-gradient(160deg,#3aa9ff 0%,var(--teal) 60%,#27d6b3 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 20px 50px rgba(2,176,153,.25))}
.fifty .ring{position:absolute;width:min(440px,90%);aspect-ratio:1;border:1.5px solid rgba(255,255,255,.12);border-radius:50%;animation:spin 36s linear infinite}
.fifty .ring.r2{width:min(330px,70%);border-style:dashed;animation-duration:24s;animation-direction:reverse;border-color:rgba(2,176,153,.25)}
@keyframes spin{to{transform:rotate(360deg)}}

/* hero logo */
.hero-logo{display:flex;justify-content:center;align-items:center;min-height:340px}
.hero-logo img{width:min(440px,100%);filter:drop-shadow(0 18px 45px rgba(2,176,153,.35))}

/* ---------- sections ---------- */
section{padding:90px 0}
.section-head{max-width:680px;margin-bottom:52px}
.section-head h2{font-size:clamp(2rem,4vw,3rem);margin:14px 0}
.section-head p{color:var(--muted);font-size:1.1rem}
.alt{background:var(--paper-2)}
.section-dark{background:var(--bg-dark);color:#fff}
.section-dark .section-head h2{color:#fff}
.section-dark .section-head p{color:#c7d4e6}
.section-dark .eyebrow{color:var(--teal)}
.frontiers-head{font-size:1.5rem;color:#fff;margin:0 0 24px}

/* who / frontiers */
.frontiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.frontier{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.frontier::before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:var(--grad)}
.frontier:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.frontier h3{font-size:1.3rem;margin-bottom:10px;color:var(--navy)}
.frontier p{color:var(--muted);font-size:.97rem}
.eligibility{margin-top:26px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:18px 22px;font-size:1rem}
.eligibility b{color:var(--navy)}

/* dates strip */
.dates{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.date-item{padding:22px 24px;border-right:1px solid var(--line)}
.date-item:last-child{border-right:none}
.date-item .k{font-family:"Inter",system-ui,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:6px}
.date-item .v{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1.15rem;color:var(--navy)}

/* beacon */
.beacon{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--bg-dark);color:#fff;border-radius:var(--r);padding:30px 34px;position:relative;overflow:hidden}
.beacon::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(2,176,153,.4),transparent 70%)}
.beacon-txt{position:relative;z-index:2;max-width:60ch}
.beacon-txt h3{font-size:1.35rem;margin-bottom:8px}
.beacon-txt p{color:#bcccdf;font-size:.98rem}
.beacon .btn{position:relative;z-index:2;flex-shrink:0}

/* what you receive */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.benefit{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:transform .3s var(--ease),border-color .3s}
.benefit:hover{transform:translateY(-4px);border-color:var(--teal)}
.benefit .ico{width:46px;height:46px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.benefit .ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8}
.benefit h3{font-size:1.12rem;color:var(--navy);margin-bottom:8px}
.benefit p{color:var(--muted);font-size:.95rem}
.benefit:nth-child(4),.benefit:nth-child(5){grid-column:span 1}
@media(min-width:861px){.benefits{grid-template-columns:repeat(6,1fr)}.benefit{grid-column:span 2}.benefit:nth-child(4){grid-column:2/4}.benefit:nth-child(5){grid-column:4/6}}
@media(max-width:860px){.benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.benefits{grid-template-columns:1fr}}

/* committee preview / cards */
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.person{text-align:left}
.person .pic{aspect-ratio:1;border-radius:14px;background:var(--paper-2);overflow:hidden;margin-bottom:14px;position:relative;border:1px solid var(--line)}
.person .pic img{width:100%;height:100%;object-fit:cover}
.person .pic .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:2rem;color:#fff;background:var(--grad)}
.person .nm{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1.05rem;color:var(--navy)}
.person .fm{color:var(--muted);font-size:.9rem;margin-top:2px}

/* cta band — Bold Index style: bordered, squared, accent top rule */
.band{background:linear-gradient(180deg,rgba(2,176,153,.06),transparent);color:#fff;border:1px solid var(--line);border-radius:4px;padding:64px 48px;text-align:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:3px;background:var(--grad)}
.band h2{font-size:clamp(2rem,4vw,2.8rem);position:relative;color:#fff}
.band p{position:relative;color:var(--muted);font-size:1.2rem;line-height:1.5;margin:16px auto 32px;max-width:48ch}
.band .btn{position:relative;background:var(--grad);color:#fff}
.band .btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(2,176,153,.55)}

/* what you receive — stacked list (Bold Index format) */
.blist{border-top:1px solid rgba(255,255,255,.14)}
.brow{display:grid;grid-template-columns:auto 1fr;gap:28px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:baseline;transition:padding-left .3s var(--ease)}
.brow:hover{padding-left:10px}
.brow .n{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1.3rem;color:var(--teal);min-width:46px}
.brow .m h3{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:4px}
.brow .m p{color:#c7d4e6;font-size:1.02rem;max-width:60ch}
.brow .m h3 .h3-qual{font-family:"Inter",sans-serif;font-size:.92rem;font-weight:600;color:inherit;letter-spacing:0;white-space:nowrap}
@media(max-width:640px){.brow .m h3 .h3-qual{display:block;white-space:normal;margin-top:4px}}
.brow .t{font-family:"Inter",system-ui,sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media(max-width:640px){.brow{gap:18px}}

/* ---------- footer ---------- */
.site-footer{background:var(--bg-dark);color:#cdd9e9;padding:60px 0 34px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-grid img{height:46px;margin-bottom:16px}
.foot-grid p{font-size:.92rem;max-width:36ch;color:#9fb1c9}
.foot-col h4{font-family:"Inter",system-ui,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
.foot-col a{display:block;color:#cdd9e9;font-size:.95rem;padding:5px 0;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;font-size:.85rem;color:#7f93ac}

/* ---------- about page ---------- */
.page-hero{background:var(--bg-dark);color:#fff;padding:80px 0 70px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 90% 0,rgba(2,176,153,.25),transparent 60%)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);margin:14px 0}
.page-hero p{color:#c7d4e6;font-size:1.15rem;max-width:58ch}
.prose{max-width:720px}
.prose p{font-size:1.1rem;color:var(--ink);margin-bottom:20px}
.prose .lead{font-size:1.42rem;color:var(--navy);font-family:"Newsreader",Georgia,serif;font-weight:400;line-height:1.45;letter-spacing:-.005em}
.firmgroup{margin-bottom:14px}
.firm-label{display:flex;align-items:center;gap:14px;margin:46px 0 24px}
.firm-label h3{font-size:1.5rem;color:var(--navy)}
.firm-label .rule{flex:1;height:1px;background:var(--line)}
.partner-logos{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:10px}
.partner-logos .lg{height:54px;min-width:150px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:0 26px;font-family:"Inter",system-ui,sans-serif;font-weight:600;color:var(--blue-mid);background:#fff;font-size:1rem}

/* ---------- the 50 page ---------- */
.cohort-note{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;padding:22px 26px;margin-bottom:44px;display:flex;gap:16px;align-items:flex-start}
.cohort-note .dot{width:10px;height:10px;border-radius:50%;background:var(--teal);margin-top:8px;flex-shrink:0;box-shadow:0 0 0 4px rgba(2,176,153,.2)}
.cohort-note p{color:var(--muted);font-size:.98rem}
.cohort-note b{color:var(--navy)}
.cohort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cohort-card{aspect-ratio:3/2;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;transition:transform .3s var(--ease),box-shadow .3s;position:relative;overflow:hidden}
.cohort-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cohort-card .mark{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:"Inter",system-ui,sans-serif;font-weight:700;font-size:1.5rem;color:#fff}
.cohort-card .cn{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1.1rem;color:var(--navy)}
.cohort-card .placeholder-tag{position:absolute;top:10px;right:10px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);padding:3px 8px;border-radius:20px}
.coming-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:22px}
.coming{aspect-ratio:3/2;border:1.5px dashed var(--line);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:"Inter",system-ui,sans-serif;font-size:.85rem;letter-spacing:.05em}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(min-width:1000px){.brand .tag{display:block}}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:10px}
  .fifty{min-height:240px;order:-1}
  .hero-logo{min-height:auto;order:-1;margin-bottom:8px}
  .frontiers{grid-template-columns:1fr}
  .people{grid-template-columns:repeat(2,1fr)}
  .cohort-grid,.coming-row{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .dates{grid-template-columns:1fr}
  .date-item{border-right:none;border-bottom:1px solid var(--line)}
  .date-item:last-child{border-bottom:none}
}
@media(max-width:640px){
  .nav-links{position:fixed;inset:74px 0 auto 0;background:var(--paper);flex-direction:column;align-items:stretch;padding:14px 20px 22px;border-bottom:1px solid var(--line);gap:4px;transform:translateY(-130%);transition:transform .3s var(--ease);z-index:40}
  .nav-links.open{transform:none}
  .nav-links a{padding:13px 14px}
  .menu-btn{display:flex}
  .people{grid-template-columns:1fr}
  section{padding:64px 0}
  .band{padding:46px 24px}
  .beacon{flex-direction:column;align-items:flex-start}
  .wrap{padding:0 20px}
  .hero{padding:64px 0 72px}
  .page-hero{padding:56px 0 48px}
  .committee-list li,.bullets li{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===================== DARK THEME ===================== */
.site-header{background:rgba(15,18,22,.82);border-bottom:1px solid var(--line)}
.brand img{border-radius:8px}
.menu-btn{border-color:var(--line)}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{background:var(--ink)}
.eyebrow{color:var(--teal)}
.nav-links a:hover{background:var(--paper-2);color:#fff}
.btn-ghost{color:var(--ink);border-color:var(--line)}

/* card surfaces on dark */
.frontier,.eligibility,.dates,.benefit,.cohort-note,.cohort-card,.partner-logos .lg{background:var(--card)}
.frontier h3,.benefit h3,.date-item .v,.eligibility b,.person .nm,.prose .lead,.firm-label h3,.cohort-card .cn,.cohort-note b{color:var(--ink)}
.date-item .k{color:var(--teal)}
.partner-logos .lg{color:#cdd9e9;transition:transform .25s var(--ease),border-color .25s,color .25s}
.partner-logos .lg:hover{transform:translateY(-3px);border-color:rgba(39,214,179,.6);color:#fff}

/* committee bulleted list */
.committee-list{max-width:840px;list-style:disc;padding-left:24px;display:grid;gap:13px}
.committee-list li{font-size:1.08rem;color:#fff;line-height:1.4}
.committee-list li b{font-weight:600}
.committee-list .role{color:var(--muted);font-weight:400}

/* simple bulleted list */
.bullets{max-width:760px;list-style:disc;padding-left:24px;display:grid;gap:10px;margin-top:18px}
.bullets li{font-size:1.05rem;color:var(--ink)}

/* contact form */
.form{max-width:560px;display:grid;gap:18px;margin-top:8px}
.form label{display:grid;gap:7px;font-family:"Inter",system-ui,sans-serif;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:#fff;font-family:"Inter",sans-serif;font-size:1rem;width:100%}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--teal);background:rgba(255,255,255,.06)}
.form textarea{resize:vertical;min-height:120px}
.form button{justify-self:start;margin-top:4px;cursor:pointer;border:none}

/* visual placeholder box (for content/logos to be added) */
.placeholder-box{max-width:760px;margin-top:28px;border:2px dashed var(--line);border-radius:var(--r);padding:46px 24px;text-align:center;color:var(--muted);font-family:"Inter",system-ui,sans-serif;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.02)}

/* ===================== DESIGN REFRESH 2026 ===================== */
/* subtle film grain over everything (kills banding, adds warmth) */
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px}

/* living hero — drifting glow */
.hero::after{content:"";position:absolute;z-index:1;top:-12%;right:-8%;width:60vw;height:60vw;max-width:760px;max-height:760px;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at center,rgba(39,214,179,.22),rgba(58,169,255,.10) 42%,transparent 70%);
  filter:blur(18px);animation:heroDrift 20s var(--ease) infinite alternate}
@keyframes heroDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(-14%,12%) scale(1.2)}}

/* hero headline */
.hero h1{font-size:clamp(3.2rem,7vw,5.6rem);letter-spacing:-.03em;line-height:1.04}

/* stagger the five C's in */
.fourc span{animation:cIn .6s var(--ease) both}
.fourc span:nth-child(1){animation-delay:.1s}
.fourc span:nth-child(2){animation-delay:.2s}
.fourc span:nth-child(3){animation-delay:.3s}
.fourc span:nth-child(4){animation-delay:.4s}
.fourc span:nth-child(5){animation-delay:.5s}
@keyframes cIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* tactile cards — top highlight + hover glow + lit border */
.frontier,.benefit,.cohort-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.frontier:hover,.benefit:hover,.cohort-card:hover{transform:translateY(-6px);border-color:rgba(39,214,179,.55);box-shadow:0 22px 55px -24px rgba(2,176,153,.5),inset 0 1px 0 rgba(255,255,255,.08)}

/* button glow */
.btn-grad:hover{box-shadow:0 18px 44px -12px rgba(2,176,153,.7)}

/* ===================== APPLICATION FORM (one-page) ===================== */
.apply-form{max-width:720px;gap:26px}
.apply-form .hp,.signup-form .hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

.apply-form .fs{border:1px solid var(--line);border-radius:var(--r);padding:24px 22px 26px;display:grid;gap:18px;background:rgba(255,255,255,.02)}
.apply-form .fs legend{font-family:"Inter",system-ui,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);padding:0 10px;margin-left:-4px}

/* applicant-type choice cards */
.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{position:relative;margin:0;text-transform:none;letter-spacing:normal;font-size:1rem}
.choice input{position:absolute;opacity:0;width:0;height:0}
.choice span{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;
  transition:border-color .25s var(--ease),background .25s,box-shadow .25s;background:rgba(255,255,255,.02)}
.choice span b{display:block;font-family:"Inter",system-ui,sans-serif;font-weight:600;color:#fff;font-size:1.02rem}
.choice span em{display:block;font-style:normal;color:var(--muted);font-size:.88rem;margin-top:4px}
.choice input:checked + span{border-color:var(--teal);background:rgba(2,176,153,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.choice input:focus-visible + span{outline:2px solid var(--teal);outline-offset:2px}

/* checkbox rows */
.apply-form .check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;
  text-transform:none;letter-spacing:normal;font-family:"Inter",sans-serif;font-size:1rem;color:var(--ink)}
.apply-form .check input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--teal);cursor:pointer}
.apply-form .check span{line-height:1.5}

/* conditional blocks */
.apply-form [hidden]{display:none !important}
#investors-block,.vc-only{animation:fadeSlide .35s var(--ease) both}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.form-status{font-size:.95rem;margin-top:4px;min-height:1.2em}
.form-status.ok{color:var(--teal)}
.form-status.err{color:#ff8a8a}
.form-note{margin-top:18px;margin-bottom:22px;padding-top:16px;border-top:1px solid var(--line);font-style:italic;font-size:.82rem;line-height:1.65;color:var(--muted);max-width:80ch}
.form-note b{color:#b6c5d8;font-weight:600}

/* investor tiles read a touch larger than partner tiles */
.investor-logos .lg{height:62px;min-width:190px;font-size:1.05rem}

@media(max-width:700px){
  .choice-row{grid-template-columns:1fr}
  .apply-form .fs{padding:20px 16px 22px}
}

/* ===== APPLICATION FORM — lighter, higher-contrast fields ===== */
/* Fields were near-black on a dark section. Lifted to a mid-slate so the
   boxes read as distinct grey panels, with white text at ~10:1 (AAA).
   True light-grey boxes would need dark text — white on light grey is 1.2:1. */
.apply-form input[type=text],
.apply-form input[type=email],
.apply-form input[type=url],
.apply-form textarea{
  background:#3a4150;
  border:1px solid #525b6d;
  color:#fff;
}
.apply-form input::placeholder,
.apply-form textarea::placeholder{color:#b9c2d0;opacity:1}
.apply-form input[type=text]:focus,
.apply-form input[type=email]:focus,
.apply-form input[type=url]:focus,
.apply-form textarea:focus{
  background:#434b5c;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(2,176,153,.25);
}

/* labels and legends lighter than the old muted grey */
.apply-form label{color:#dfe5ee}
.apply-form .fs{background:rgba(255,255,255,.05);border-color:#454d5d}
.apply-form .fs legend{color:#4ee0c6}

/* choice cards and checkbox rows match the lifted fields */
.choice span{background:#3a4150;border-color:#525b6d}
.choice span em{color:#c3ccda}
.choice input:checked + span{background:rgba(2,176,153,.22);border-color:var(--teal)}
.apply-form .check span{color:#eaeff6}
.form-status.err{color:#ffb0b0}
.apply-form .form-note{border-top-color:#454d5d;color:#b9c3d2}
.apply-form .form-note b{color:#dfe5ee}

/* ===== HERO: "access to" band (replaces the floating .fourc chips) ===== */
/* The four C's previously floated as unlabelled pills, reading as decoration.
   Now they sit in one labelled unit so the eye reads
   "the program provides access to -> Customers / Compute / Capital / Coverage". */
.access{margin:28px 0 34px;padding:18px 0 18px 20px;border-left:2px solid var(--teal);max-width:600px}
.access-label{display:block;font-family:"Inter",system-ui,sans-serif;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:#9fb2c9;margin-bottom:12px}
.access-list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0}
.access-list li{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1.12rem;color:#fff;
  padding:0 16px;border-right:1px solid rgba(255,255,255,.22);line-height:1.1;
  animation:cIn .6s var(--ease) both}
.access-list li:first-child{padding-left:0}
.access-list li:last-child{border-right:none;padding-right:0}
.access-list li:nth-child(1){animation-delay:.10s}
.access-list li:nth-child(2){animation-delay:.20s}
.access-list li:nth-child(3){animation-delay:.30s}
.access-list li:nth-child(4){animation-delay:.40s}
.access-list li:nth-child(5){animation-delay:.50s}

@media(max-width:620px){
  .access{padding-left:16px}
  .access-list{gap:8px 0}
  .access-list li{font-size:1rem;padding:0 12px}
}

/* CAIG link in the About copy */
.prose a{color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(2,176,153,.45);
  transition:border-color .2s,color .2s}
.prose a:hover{color:#4ee0c6;border-bottom-color:#4ee0c6}

/* ===== Larger section headers ===== */
/* The eyebrow ("What you receive", "About") was .72rem — too small to read as
   a header. Bumped, with the tracking eased back so it stays legible larger. */
.eyebrow{font-size:.95rem;letter-spacing:.16em}
.section-head h2{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.section-head{margin-bottom:44px}
@media(max-width:640px){.eyebrow{font-size:.86rem;letter-spacing:.14em}}

/* "Learn more" link inside a benefit row */
.brow .m .row-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;
  font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:.92rem;color:var(--teal);
  border-bottom:1px solid rgba(2,176,153,.4);padding-bottom:2px;transition:color .2s,border-color .2s,gap .2s}
.brow .m .row-link[href]:hover{color:#4ee0c6;border-bottom-color:#4ee0c6;gap:11px}

/* lead-in line above a bullet list (e.g. "Investment categories include:") */
.prose .list-intro{margin-bottom:6px;font-weight:600;color:#fff}
.prose + .bullets{margin-top:0}

/* explanatory note under a form checkbox */
.apply-form .field-note{margin:-6px 0 0 32px;font-size:.9rem;line-height:1.5;color:#b9c2d0;max-width:56ch}
.apply-form .field-note-plain{margin-left:0;margin-top:2px}

/* legal disclosure in the footer */
.disclosure{padding-top:22px;font-size:.82rem;line-height:1.65;color:#8ea0b8;max-width:110ch}
.disclosure b{color:#b6c5d8;font-weight:600}
.disclosure + .foot-bottom{margin-top:18px;border-top:1px solid rgba(255,255,255,.1)}

/* funding-track labels in the What You Receive section */
.track-label{font-family:"Inter",system-ui,sans-serif;font-weight:600;font-style:italic;font-size:1.3rem;color:#fff;
  margin:0 0 16px;padding-left:14px;border-left:3px solid var(--teal)}
.blist + .track-label{margin-top:40px}

/* ===== partner logo wall (selection committee section) ===== */
/* Text tiles for now. When real logo files land in assets/logos/, swap the
   div for <img> and the filter below forces any mark to solid white. */
.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:48px}
.logo-wall .lg{display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:82px;padding:14px 12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;
  background:rgba(255,255,255,.05);font-family:"Inter",system-ui,sans-serif;font-weight:600;
  font-size:.9rem;line-height:1.25;color:#fff;
  transition:transform .25s var(--ease),border-color .25s,background .25s}
.logo-wall .lg:hover{transform:translateY(-3px);border-color:rgba(2,176,153,.6);background:rgba(255,255,255,.09)}
.logo-wall img{max-width:100%;max-height:42px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}

@media(max-width:1000px){.logo-wall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.logo-wall{grid-template-columns:repeat(2,1fr);gap:10px}
  .logo-wall .lg{min-height:68px;font-size:.82rem}}

/* committee names link to LinkedIn */
.committee-list a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(2,176,153,.5);
  transition:color .2s,border-color .2s}
.committee-list a:hover{color:var(--teal);border-bottom-color:var(--teal)}

/* tiles still waiting on a logo file — dashed so the gaps are obvious */
.logo-wall .lg.needs-logo{border-style:dashed;border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.02);color:#c3ccda}

/* hero headline is now a full sentence rather than two words, so it needs a
   smaller type size and a wider measure than the old "Built to win." */
.hero h1.hero-h1{font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.08;max-width:19ch;letter-spacing:-.02em}
.hero .access{margin-top:34px}
@media(max-width:900px){.hero h1.hero-h1{max-width:none}}

/* file input inside the application form */
.apply-form input[type=file]{background:#3a4150;border:1px solid #525b6d;border-radius:10px;
  padding:11px 13px;color:#fff;font-family:"Inter",sans-serif;font-size:.95rem;width:100%;cursor:pointer}
.apply-form input[type=file]::file-selector-button{margin-right:12px;padding:7px 14px;border:none;
  border-radius:7px;background:var(--teal);color:#04231f;font-family:"Inter",system-ui,sans-serif;
  font-weight:600;font-size:.85rem;cursor:pointer}
.apply-form input[type=file]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(2,176,153,.25)}

/* ===== events (Customer Council page) ===== */
.event-list{display:grid;gap:20px;margin-top:8px;max-width:900px}
.event-card{border:1px solid var(--line);border-radius:var(--r);background:var(--card);
  padding:28px 30px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
  transition:transform .25s var(--ease),border-color .25s}
.event-card:hover{transform:translateY(-3px);border-color:rgba(2,176,153,.55)}
.event-date{font-family:"Inter",system-ui,sans-serif;text-align:center;min-width:92px;
  border-right:1px solid var(--line);padding-right:26px}
.event-date .mo{display:block;font-size:.72rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--teal)}
.event-date .dy{display:block;font-size:2.4rem;font-weight:600;color:#fff;line-height:1.1}
.event-date .yr{display:block;font-size:.8rem;color:var(--muted)}
.event-body h3{font-size:1.45rem;color:#fff;margin-bottom:8px}
.event-body p{color:#c7d4e6;font-size:1.02rem;max-width:60ch}
.event-tag{display:inline-block;margin-top:14px;padding:5px 12px;border-radius:999px;
  font-family:"Inter",system-ui,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal);border:1px solid rgba(2,176,153,.45);
  background:rgba(2,176,153,.08)}
@media(max-width:640px){
  .event-card{grid-template-columns:1fr;gap:16px;padding:24px 20px}
  .event-date{text-align:left;border-right:none;border-bottom:1px solid var(--line);
    padding-right:0;padding-bottom:14px}
  .event-date .dy{display:inline;font-size:1.6rem}
  .event-date .mo,.event-date .yr{display:inline;margin-right:6px}
}

/* page hero sitting directly on top of its intro copy — close the gap */
.page-hero.hero-tight{padding-bottom:26px}
.section-dark.intro-tight{padding-top:0}
.page-top{padding-top:52px}
/* Leadership: firm reads green, committee roles read grey */
.lead-tier .wg-meta{color:var(--teal)}
.lead-tier .wg-meta .wg-role{color:var(--muted)}
.lead-tier .wg-role-line{color:var(--muted)}
.key-dates{margin-bottom:44px}
.section-dark .bullets li{color:#e6edf6}
.section-dark .bullets li b{color:#fff}
.page-top .section-head{margin-bottom:26px}

/* provisional-roster note above a logo wall */
.cc-provisional{margin:0 0 18px;font-family:"Inter",system-ui,sans-serif;font-size:.78rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#f0b429}

/* label above the partner logo wall */
.wall-label{margin:48px 0 18px;font-family:"Inter",system-ui,sans-serif;font-weight:600;
  font-size:1.05rem;color:#fff}
.wall-label a{color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(2,176,153,.5);
  transition:color .2s,border-color .2s}
.wall-label a:hover{color:#4ee0c6;border-bottom-color:#4ee0c6}

/* the logo wall is a real list now — strip default list styling */
ul.logo-wall{list-style:none;margin:0;padding:0}
ul.logo-wall li.lg{list-style:none}

/* ============================================================
   SECTION HEADINGS = THE EYEBROW LABEL
   The large descriptive h2s were removed; the small label is now
   the heading element itself, so the document outline stays
   h1 -> h2 -> h3 and the labels remain navigable.
   TO REVERT: delete this block and restore the <h2> lines.
   ============================================================ */
.section-head h1.eyebrow,.section-head h2.eyebrow{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:.10em;line-height:1.25;margin:0 0 18px;font-weight:600}
@media(max-width:640px){.section-head h1.eyebrow,.section-head h2.eyebrow{font-size:1.2rem;letter-spacing:.08em}}
.section-head{margin-bottom:34px}

/* .section-dark .section-head h2{color:#fff} was written for the old large
   descriptive headlines. Now that the eyebrow label IS the h2, that rule was
   turning it white on the two dark sections while every other section stayed
   teal. Higher specificity restores the teal everywhere. */
.section-dark .section-head h1.eyebrow,.section-dark .section-head h2.eyebrow{color:var(--teal)}

/* ===== select + money-prefixed input in the application form =====
   The form had no <select> or prefixed-input styling, so a native control
   would render as a light browser default inside the dark panel. These match
   the resolved text-input treatment (#3a4150 on #525b6d, white text). */
.apply-form select{
  appearance:none;-webkit-appearance:none;
  background:#3a4150;
  border:1px solid #525b6d;
  border-radius:10px;
  padding:13px 42px 13px 15px;
  color:#fff;
  font-family:"Inter",system-ui,sans-serif;
  font-size:1rem;
  width:100%;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b9c2d0' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
}
.apply-form select:focus{
  outline:none;
  background-color:#434b5c;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(2,176,153,.25);
}
.apply-form select option{background:#2b313d;color:#fff}
.apply-form select:invalid{color:#b9c2d0}

.apply-form .money{position:relative;display:block}
.apply-form .money::before{
  content:"$";
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  color:#b9c2d0;font-family:"Inter",system-ui,sans-serif;font-size:1rem;
  pointer-events:none;
}
.apply-form .money input[type=text]{padding-left:30px;width:100%}

/* the "two paths to qualify" list is ordered — .bullets is disc by default */
ol.bullets{list-style:decimal}

/* ===== selection committee, grouped by working group =====
   Replaces the flat .committee-list. People who serve on more than one group
   appear in each, with their role in that group. */
.wg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:start}
.wg{border:1px solid var(--line);border-radius:var(--r);padding:24px 24px 22px;background:rgba(255,255,255,.03)}
.wg-lead{margin-top:26px;border-color:rgba(2,176,153,.45);background:rgba(2,176,153,.07)}
.wg-name{margin:0 0 16px;font-family:"Inter",system-ui,sans-serif;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal);font-weight:600;line-height:1.4}
.wg-name .wg-tag{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--line);
  border-radius:999px;font-size:.62rem;letter-spacing:.1em;color:var(--muted)}
.wg-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.wg-list li{display:grid;gap:3px;line-height:1.4}
.wg-list a{color:#fff;font-size:1.05rem;font-weight:600;text-decoration:none;justify-self:start;
  border-bottom:1px solid rgba(2,176,153,.5);transition:color .15s var(--ease),border-color .15s var(--ease)}
.wg-list a:hover,.wg-list a:focus-visible{color:var(--teal);border-bottom-color:var(--teal)}
.wg-meta{font-size:.94rem;color:var(--muted)}
.wg-meta .wg-role{color:var(--teal)}
.wg-stack{margin-top:18px}

/* Leadership tiers — one consolidated box, prominence descends by tier */
.lead-tier{align-items:start}
.lead-tier + .lead-tier{margin-top:22px;padding-top:22px;border-top:1px solid rgba(2,176,153,.28)}
.lead-tier .wg-plain{color:#fff;font-weight:600;font-size:1.05rem}
.wg-role-line{font-size:.94rem;color:var(--teal);line-height:1.4}

.wg-list-2col{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.wg-list-3col{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}

/* Angel investors — a sub-box nested inside the leadership panel */
.wg-sub{margin-top:26px;padding-top:22px;border-top:1px solid rgba(2,176,153,.28)}
.wg-sub-name{margin:0 0 14px;font-family:"Inter",system-ui,sans-serif;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.wg-sub .wg-plain{color:#fff;font-weight:600;font-size:1.02rem}
.wg-sub .wg-meta{color:var(--teal)}
@media(min-width:861px) and (max-width:1040px){.wg-list-3col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
  .wg-grid{grid-template-columns:1fr}
  .wg-list-2col{grid-template-columns:1fr}
  .wg-list-3col{grid-template-columns:1fr}
  .wg{padding:20px 18px}
  .wg-list a{font-size:1rem}
}

/* ===== working groups, collapsed by default =====
   Native <details> so keyboard and screen-reader behaviour comes for free.
   The inner cards deliberately carry no .reveal class — inside a closed
   <details> they never intersect, so the scroll-reveal observer would leave
   them at opacity:0 when the panel opens. .reveal lives on the <details>. */
.wg-disclose{margin-top:18px}
.wg-disclose summary{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none;
  font-family:"Inter",system-ui,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.02em;
  color:var(--teal);padding:9px 2px;border-bottom:1px solid rgba(2,176,153,.5);
  transition:color .15s var(--ease),border-color .15s var(--ease);
}
.wg-disclose summary::-webkit-details-marker{display:none}
.wg-disclose summary:hover{color:#4ee0c6;border-bottom-color:#4ee0c6}
.wg-disclose summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:3px}
.wg-chev{flex:none;transition:transform .25s var(--ease)}
.wg-disclose[open] .wg-chev{transform:rotate(180deg)}
.wg-disclose[open] .wg-disclose-label{font-size:0}
.wg-disclose[open] .wg-disclose-label::after{content:attr(data-open);font-size:.95rem}
.wg-disclose-body{animation:wgOpen .32s var(--ease)}
@keyframes wgOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.wg-disclose .wg-lead{margin-top:20px}
@media(prefers-reduced-motion:reduce){.wg-disclose-body{animation:none}}

/* ===== inline disclosure inside a .brow benefit row =====
   Reuses the .wg-disclose mechanics; only sizing/spacing differs so it sits
   where the old .row-link sat. */
.row-disclose{margin-top:12px}
.row-disclose summary{font-size:.92rem;padding:7px 2px}
.row-disclose[open] .wg-disclose-label::after{font-size:.92rem}
.row-disclose .wg-disclose-body{margin-top:14px}
.row-disclose .wg-disclose-body p{margin:0}

/* extra breathing room between the About lead and the first track label */
.prose + .track-label{margin-top:34px}

/* small "What You Get" subtitle above the first funding-track label */
.track-subtitle{font-family:"Inter",system-ui,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--teal);margin:34px 0 20px}
.track-subtitle + .track-label{margin-top:0}
/* opt-in note between the What You Get subtitle and the first track label */
.opt-in-note{font-size:1.05rem;font-style:italic;color:var(--muted);margin:10px 0 0}
.opt-in-note + .opt-in-note{margin-top:8px}
.opt-in-note a{color:var(--teal);border-bottom:1px solid rgba(2,176,153,.45);
  transition:color .2s var(--ease),border-color .2s var(--ease)}
.opt-in-note a:hover{color:#4ee0c6;border-bottom-color:#4ee0c6}

/* ---------- FAQ accordion (About page) ---------- */
.faq{max-width:820px}
.faq-group{font-family:"Inter",system-ui,sans-serif;font-size:.78rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  margin:34px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line)}
.faq-group:first-child{margin-top:0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
  list-style:none;cursor:pointer;position:relative;
  padding:20px 44px 20px 0;
  font-family:"Newsreader",Georgia,serif;font-size:1.25rem;font-weight:500;
  line-height:1.3;color:var(--ink);
  transition:color .2s var(--ease);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--teal)}
.faq-item summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
/* plus/minus built from two rules so no icon font is needed */
.faq-item summary::before,
.faq-item summary::after{
  content:"";position:absolute;right:8px;top:50%;background:var(--muted);
  transition:transform .28s var(--ease),background .2s}
.faq-item summary::before{width:15px;height:1.5px;margin-top:-.75px}
.faq-item summary::after{width:1.5px;height:15px;right:14.75px;margin-top:-7.5px}
.faq-item[open] summary::after{transform:rotate(90deg);opacity:0}
.faq-item[open] summary{color:var(--teal)}
.faq-item[open] summary::before{background:var(--teal)}
.faq-a{padding:0 44px 24px 0;animation:faqOpen .3s var(--ease)}
.faq-a p{font-size:1.05rem;color:var(--muted);margin:0 0 14px;max-width:68ch}
.faq-a p:last-child{margin-bottom:0}
@keyframes faqOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.faq-a{animation:none}}
@media(max-width:640px){
  .faq-item summary{font-size:1.1rem;padding-right:38px}
  .faq-a{padding-right:0}
}

/* ---------- footer newsletter signup ---------- */
.foot-signup{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;
  margin-top:26px}
.foot-signup-copy h4{font-family:"Inter",system-ui,sans-serif;font-size:.78rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px}
.foot-signup-copy p{font-size:.92rem;max-width:44ch;margin:0}
.signup-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.signup-form input[type=email]{border:1px solid var(--line);border-radius:10px;padding:13px 15px;
  font-family:"Inter",sans-serif;font-size:1rem;width:100%}
.signup-form input[type=email]:focus{outline:none;border-color:var(--teal)}
.signup-form .btn{padding:13px 24px;white-space:nowrap}
.signup-status{grid-column:1/-1;margin:0;font-size:.88rem;min-height:1.2em}
.signup-status.ok{color:var(--teal-bright)}
.signup-status.err{color:#ff6b6b}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:860px){
  .foot-signup{grid-template-columns:1fr;gap:18px}
  .signup-form{grid-template-columns:1fr}
  .signup-form .btn{justify-self:start}
}
