﻿
:root{
  --red:   #B50F27;
  --red-h: #8F0B1E;
  --red-l: #FFF5F6;
  --red-b: #F2C4CB;
  --ink:   #1A1A28;
  --body:  #2D2D42;
  --sub:   #484860;
  --cap:   #5A5A75;
  --white: #FFFFFF;
  --off:   #F8F7F4;
  --bdr:   #E0DDD8;
  --bdr2:  #EBEBEB;
  --serif: "Cormorant Garamond",Georgia,serif;
  --sans:  "Plus Jakarta Sans",-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--white);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.7;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--sans);cursor:pointer;}

/* ── ANNOUNCEMENT ── */
.ann{background:var(--red);padding:10px 40px;text-align:center;}
.ann p{font-size:.82rem;font-weight:600;color:#fff;letter-spacing:.02em;line-height:1.5;}
.ann a{color:#fff;text-decoration:underline;}

/* ── NAV — two rows ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.98);
  border-bottom:2px solid var(--red);
}
/* Row 1: logo + name + tagline centred */
.nav-top{
  display:flex;align-items:center;justify-content:center;
  padding:14px 40px 8px;gap:14px;
  border-bottom:1px solid var(--bdr2);
}
.nav-logo-img{height:44px;width:44px;object-fit:contain;}
.nav-brand{text-align:left;}
.nav-name{font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:.01em;line-height:1.1;}
.nav-name em{color:var(--red);font-style:normal;}
.nav-tag{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cap);margin-top:2px;display:block;}
.nav-tag span{display:block;font-size:.55rem;color:var(--cap);letter-spacing:.08em;}
/* Row 2: links */
.nav-bottom{
  display:flex;align-items:center;justify-content:center;
  padding:8px 40px 10px;gap:32px;
}
.nav-links{display:flex;align-items:center;gap:14px;}
.nav-links a{font-size:.68rem;font-weight:500;color:var(--sub);letter-spacing:.005em;transition:color .15s;border-bottom:2px solid transparent;padding-bottom:2px;}
.nav-links a:hover{color:var(--ink);border-bottom-color:var(--red);}
.nav-btns{display:flex;gap:10px;align-items:center;margin-left:20px;}
.nav-bell-btn{
  font-size:.75rem;font-weight:700;letter-spacing:.04em;
  background:var(--red-l);border:1px solid var(--red-b);
  color:var(--red);padding:7px 14px;transition:all .15s;
}
.nav-bell-btn:hover{background:var(--red);color:#fff;}
.btn-nav{background:var(--red);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:7px 16px;border:none;transition:background .15s;}
.btn-nav:hover{background:var(--red-h);}

/* ── HERO ── */
.hero{background:var(--white);padding:160px 40px 80px;border-bottom:1px solid var(--bdr2);}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;}
.hero-inst{
  font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cap);margin-bottom:4px;
}
.hero-inst-est{
  font-size:.68rem;font-weight:600;letter-spacing:.08em;
  color:var(--cap);margin-bottom:20px;display:block;
}
.hero-title{
  font-family:var(--sans);font-size:clamp(2.4rem,4.5vw,4.2rem);
  font-weight:800;line-height:1.08;color:var(--ink);
  letter-spacing:-.02em;margin-bottom:28px;
}
.hero-title span{color:var(--red);}
.hero-p1{font-size:1.05rem;color:var(--sub);line-height:1.75;max-width:500px;margin-bottom:20px;}
.hero-p2{font-size:1.05rem;color:var(--sub);line-height:1.75;max-width:500px;margin-bottom:32px;}
.hero-tagline{margin-bottom:36px;}
.hero-tagline p{
  font-size:1.2rem;font-weight:800;color:var(--ink);
  line-height:1.5;letter-spacing:-.01em;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--red);color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.03em;padding:14px 28px;border:none;transition:background .15s;display:inline-block;}
.btn-primary:hover{background:var(--red-h);}
.btn-outline{background:transparent;color:var(--ink);font-size:.9rem;font-weight:600;padding:13px 28px;border:2px solid var(--ink);transition:all .15s;display:inline-block;}
.btn-outline:hover{background:var(--ink);color:#fff;}
.hero-visual{background:var(--off);border:2px solid var(--bdr2);display:flex;align-items:center;justify-content:center;padding:48px;min-height:360px;position:relative;overflow:hidden;}
.hero-visual::before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;border:2px solid var(--red-b);opacity:.4;}
.hero-visual img{width:240px;height:240px;object-fit:contain;position:relative;z-index:1;}

/* ── EVENTS STRIP — clean, white bg ── */
.events{background:var(--white);border-top:1px solid var(--bdr2);border-bottom:3px solid var(--red);padding:0 40px;}
.events-inner{max-width:1200px;margin:0 auto;display:flex;align-items:stretch;}
.events-lbl{
  background:var(--red);padding:16px 22px;
  display:flex;align-items:center;flex-shrink:0;
}
.events-lbl span{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;}
.events-row{display:flex;gap:0;overflow-x:auto;flex:1;}
.ev{padding:14px 26px;border-right:1px solid var(--bdr2);flex-shrink:0;min-width:240px;}
.ev:hover{background:var(--off);}
.ev-date{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:3px;display:block;}
.ev-name{font-size:.88rem;font-weight:700;color:var(--ink);display:block;margin-bottom:2px;}
.ev-loc{font-size:.72rem;color:var(--cap);}
.events-all{padding:14px 22px;display:flex;align-items:center;flex-shrink:0;}
.events-all a{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);white-space:nowrap;border-bottom:1px solid var(--red-b);padding-bottom:1px;}

/* ── STATS — white background, red numbers ── */
.stats{background:var(--white);padding:56px 40px;border-bottom:1px solid var(--bdr2);}
.stats-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr2);border:1px solid var(--bdr2);}
.stat-box{background:var(--white);padding:32px 24px;}
.stat-num{font-size:2.4rem;font-weight:800;color:var(--red);display:block;line-height:1;margin-bottom:10px;}
.stat-label{font-size:.85rem;color:var(--body);display:block;line-height:1.5;margin-bottom:6px;}
.stat-src{font-size:.68rem;color:var(--cap);display:block;}

/* ── PARTNERS ── */
.partners{background:var(--off);padding:48px 40px;border-bottom:1px solid var(--bdr2);}
.partners-inner{max-width:1200px;margin:0 auto;}
.partners-lbl{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cap);text-align:center;margin-bottom:22px;}
.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;}
.partner-card{background:var(--white);border:1px solid var(--bdr2);padding:16px 12px;text-align:center;border-top:3px solid var(--red);}
.p-status{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;margin-bottom:6px;}
.p-status.live{background:#E8F5EE;color:#1B7A3E;}
.p-status.warm{background:var(--red-l);color:var(--red);}
.p-status.prog{background:#EEF3FB;color:#2B5FA0;}
.p-name{font-size:.75rem;font-weight:700;color:var(--ink);line-height:1.3;}

/* ── SHARED ── */
.section{padding:88px 40px;background:var(--white);}
.section-alt{padding:88px 40px;background:var(--off);}
.inner{max-width:1200px;margin:0 auto;}
.lbl{display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:18px;}
.lbl::before{content:"";width:22px;height:2px;background:var(--red);}
.sec-title{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;color:var(--ink);line-height:1.15;letter-spacing:-.02em;margin-bottom:14px;}
.sec-title span{color:var(--red);}
.sec-sub{font-size:1rem;color:var(--sub);line-height:1.72;max-width:640px;margin-bottom:48px;}

/* ── STORY — old design, two-column ── */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.story-quote{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:300;font-style:italic;color:var(--ink);line-height:1.45;border-left:4px solid var(--red);padding-left:24px;margin-bottom:16px;}
.story-attr{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-left:28px;margin-bottom:24px;}
.story-body{font-size:.96rem;color:var(--body);line-height:1.75;margin-bottom:14px;}
.story-body strong{color:var(--ink);font-weight:700;}
.story-hl{background:var(--red-l);border-left:4px solid var(--red);padding:16px 20px;margin-top:18px;}
.story-hl p{font-size:.93rem;color:var(--ink);font-weight:600;line-height:1.6;}
/* Right col — problem/opportunity/solution cards */
.story-cards{display:flex;flex-direction:column;gap:14px;}
.sc{background:var(--white);border:1px solid var(--bdr2);padding:22px 20px;}
.sc-pill{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;margin-bottom:10px;}
.sc-pill.prob{background:var(--red);color:#fff;}
.sc-pill.opp{background:var(--ink);color:#fff;}
.sc-pill.sol{background:var(--red-l);color:var(--red);border:1px solid var(--red-b);}
.sc-t{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:6px;line-height:1.3;}
.sc-b{font-size:.82rem;color:var(--sub);line-height:1.6;}

/* ── AFTER THE BELL ── */
.atb{background:var(--white);padding:96px 40px;border-top:3px solid var(--red);}
.atb-inner{max-width:1200px;margin:0 auto;}
.atb-header{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;margin-bottom:56px;}
.atb-logo{width:120px;height:120px;object-fit:contain;}
.atb-header-text{}
.atb-tm{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:var(--ink);line-height:1;margin-bottom:4px;}
.atb-tm sup{font-size:.4em;vertical-align:super;}
.atb-subtitle{font-family:var(--serif);font-size:1.1rem;font-style:italic;color:var(--sub);margin-bottom:4px;}
.atb-inst{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}
.atb-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.atb-badge{display:inline-block;background:var(--red);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;margin-bottom:18px;}
.atb-desc{
  background:var(--off);border-left:4px solid var(--red);
  padding:20px 24px;margin-bottom:24px;
  font-size:.95rem;color:var(--body);line-height:1.75;
}
.atb-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:24px;background:var(--bdr2);border:1px solid var(--bdr2);}
.atb-d{background:var(--white);padding:14px 16px;}
.atb-d-lbl{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:3px;}
.atb-d-val{font-size:.88rem;font-weight:700;color:var(--ink);}
.atb-why{display:flex;flex-direction:column;gap:2px;}
.atb-why-item{border:1px solid var(--bdr2);border-left:3px solid var(--red);padding:14px 16px;}
.atb-why-t{font-size:.88rem;font-weight:700;color:var(--ink);margin-bottom:3px;}
.atb-why-b{font-size:.78rem;color:var(--sub);line-height:1.55;}
.atb-prog{display:flex;flex-direction:column;gap:2px;margin-top:24px;}
.atb-prog-lbl{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cap);margin-bottom:10px;}
.atb-prog-item{display:grid;grid-template-columns:72px 1fr;gap:0;border:1px solid var(--bdr2);}
.atb-prog-date{background:var(--red);padding:10px 12px;display:flex;align-items:center;justify-content:center;}
.atb-prog-date span{font-size:.72rem;font-weight:800;color:#fff;text-align:center;line-height:1.3;}
.atb-prog-info{padding:10px 14px;}
.atb-prog-ev{font-size:.83rem;font-weight:700;color:var(--ink);display:block;margin-bottom:1px;}
.atb-prog-loc{font-size:.7rem;color:var(--cap);}

/* ── TWO SIDES ── */
.sides{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.side{background:var(--off);border:1px solid var(--bdr2);padding:32px 28px;border-top:3px solid var(--red);}
.side-lbl{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:block;}
.side-t{font-size:1.2rem;font-weight:800;color:var(--ink);margin-bottom:10px;line-height:1.2;}
.side-b{font-size:.88rem;color:var(--sub);line-height:1.7;margin-bottom:18px;}
.prod-list{display:flex;flex-direction:column;gap:2px;}
.prod-item{background:var(--white);border:1px solid var(--bdr2);padding:12px 14px;border-left:3px solid var(--red);}
.pi-n{font-size:.83rem;font-weight:700;color:var(--ink);display:block;margin-bottom:2px;}
.pi-d{font-size:.77rem;color:var(--sub);line-height:1.5;}

/* ── RESEARCH ── */
.research{background:var(--off);padding:64px 40px;border-top:1px solid var(--bdr2);border-bottom:1px solid var(--bdr2);}
.research-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:center;}
.r-badge{display:inline-block;background:var(--red);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;margin-bottom:14px;}
.r-title{font-size:1.7rem;font-weight:800;color:var(--ink);line-height:1.15;margin-bottom:10px;letter-spacing:-.01em;}
.r-title span{color:var(--red);}
.r-body{font-size:.88rem;color:var(--sub);line-height:1.7;margin-bottom:18px;}
.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.r-card{background:var(--white);border:1px solid var(--bdr2);padding:20px 18px;border-top:3px solid var(--red);}
.r-card-t{font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:5px;}
.r-card-b{font-size:.78rem;color:var(--sub);line-height:1.6;}
.r-card-lnk{font-size:.72rem;font-weight:700;color:var(--red);margin-top:8px;display:block;}

/* ── CURRICULUM ── */
/* curriculum CSS removed — section replaced by Cultural Finance Institute */

/* ── FELLOWSHIP / CMC FUND ── */
.fell-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.fell-t{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:var(--ink);line-height:1.1;margin-bottom:12px;}
.fell-t span{color:var(--red);}
.fell-b{font-size:.93rem;color:var(--sub);line-height:1.72;margin-bottom:14px;}
.fell-open{font-size:.88rem;font-style:italic;color:var(--red);font-weight:600;margin-bottom:20px;}
.fell-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bdr2);border:1px solid var(--bdr2);margin-bottom:24px;}
.fs{background:var(--white);padding:18px 16px;border-top:3px solid var(--red);}
.fs-n{font-size:1.7rem;font-weight:800;color:var(--red);display:block;line-height:1;margin-bottom:4px;}
.fs-l{font-size:.75rem;color:var(--sub);}
/* Fund involvement */
.fund-section{background:var(--off);border:1px solid var(--bdr2);border-top:3px solid var(--red);padding:24px 22px;}
.fund-t{font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:14px;}
.fund-list{display:flex;flex-direction:column;gap:8px;}
.fund-item{display:flex;gap:10px;font-size:.82rem;color:var(--body);line-height:1.5;}
.fund-dot{width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:7px;}

/* ── PODCAST ── */
.pod-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.pod-logo{height:120px;object-fit:contain;margin-bottom:16px;}
.pod-by{font-size:.78rem;font-weight:600;color:var(--cap);margin-bottom:14px;letter-spacing:.02em;}
.pod-b{font-size:.88rem;color:var(--sub);line-height:1.72;margin-bottom:24px;}
.ep-list{display:flex;flex-direction:column;gap:2px;}
.ep{display:flex;gap:12px;align-items:center;padding:11px 13px;background:var(--off);border:1px solid var(--bdr2);border-left:3px solid var(--red);}
.ep-n{font-size:.65rem;font-weight:800;letter-spacing:.1em;color:var(--red);min-width:20px;}
.ep-t{font-size:.82rem;font-weight:500;color:var(--body);line-height:1.35;flex:1;}
.ep-d{font-size:.68rem;color:var(--cap);}
.pod-card{background:var(--off);border:1px solid var(--bdr2);padding:28px 24px;border-top:3px solid var(--red);}
.pod-card-t{font-size:1rem;font-weight:800;color:var(--ink);margin-bottom:6px;}
.pod-card-b{font-size:.83rem;color:var(--sub);line-height:1.65;margin-bottom:18px;}
.plat-list{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
.plat-item{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--white);border:1px solid var(--bdr2);}
.plat-dot{width:6px;height:6px;border-radius:50%;background:var(--red);}
.plat-n{font-size:.82rem;font-weight:600;color:var(--ink);}
.plat-nt{font-size:.68rem;color:var(--cap);margin-left:auto;}

/* ── CITY ── */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;}
.city-card{background:var(--off);border:1px solid var(--bdr2);padding:20px 18px;border-top:3px solid var(--red);}
.city-pol{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:7px;}
.city-t{font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:6px;line-height:1.3;}
.city-b{font-size:.78rem;color:var(--sub);line-height:1.6;}

/* ── TEAM ── */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
.team-card{background:var(--off);border:1px solid var(--bdr2);padding:32px 28px;border-top:4px solid var(--red);}
.t-name{font-size:1.7rem;font-weight:800;color:var(--ink);margin-bottom:3px;}
.t-role{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:18px;display:block;}
.t-div{width:32px;height:2px;background:var(--red);margin-bottom:18px;opacity:.5;}
.cred-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.cred-item{display:flex;gap:9px;font-size:.82rem;color:var(--body);line-height:1.5;}
.cred-dot{width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:7px;}
.music-t{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cap);margin-bottom:8px;margin-top:4px;}
.music-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.music-item{background:var(--white);border:1px solid var(--bdr2);border-left:2px solid var(--red);padding:9px 11px;}
.music-item-t{font-size:.76rem;font-weight:700;color:var(--ink);display:block;line-height:1.3;margin-bottom:2px;}
.music-item-s{font-size:.67rem;color:var(--cap);}
.founder-note{padding:16px 18px;background:var(--red-l);border-left:4px solid var(--red);margin-top:14px;}
.founder-note p{font-size:.84rem;color:var(--ink);font-weight:600;font-style:italic;line-height:1.65;}
/* Team heading replacement */
.team-heading{margin-bottom:4px;}

/* ── CTA ── */
.cta{background:var(--red);padding:80px 40px;text-align:center;}
.cta-inner{max-width:720px;margin:0 auto;}
.cta-ey{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:14px;}
.cta-t{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:400;font-style:italic;color:#fff;margin-bottom:6px;line-height:1.4;}
.cta-t2{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:700;font-style:italic;color:#fff;margin-bottom:28px;line-height:1.4;}
.cta-acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-wh{background:#fff;color:var(--red);font-size:.9rem;font-weight:800;letter-spacing:.03em;padding:13px 28px;border:none;display:inline-block;}
.btn-wh:hover{background:rgba(255,255,255,.9);}
.btn-wh-o{background:transparent;color:#fff;font-size:.9rem;font-weight:600;padding:12px 28px;border:2px solid rgba(255,255,255,.55);display:inline-block;}
.btn-wh-o:hover{background:rgba(255,255,255,.1);}

/* ── CONTACT ── */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.ct-b{font-size:.92rem;color:var(--sub);line-height:1.72;margin-bottom:24px;}
.cd-list{display:flex;flex-direction:column;gap:13px;}
.cd-row{display:flex;gap:14px;align-items:flex-start;}
.cd-lbl{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red);min-width:90px;padding-top:2px;}
.cd-v{font-size:.87rem;color:var(--body);}
.form{background:var(--white);border:1px solid var(--bdr2);padding:28px;border-top:4px solid var(--red);}
.form-title{font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:16px;}
.form-row{margin-bottom:11px;}
.form-lbl{display:block;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--body);margin-bottom:5px;}
.form-in,.form-sel,.form-ta{width:100%;padding:10px 13px;border:1.5px solid var(--bdr);font-family:var(--sans);font-size:.87rem;color:var(--ink);background:var(--white);outline:none;transition:border-color .15s;}
.form-in:focus,.form-sel:focus,.form-ta:focus{border-color:var(--red);}
.form-ta{min-height:80px;resize:vertical;}
.form-sub{width:100%;background:var(--red);color:#fff;font-family:var(--sans);font-size:.87rem;font-weight:700;letter-spacing:.04em;padding:12px;border:none;cursor:pointer;}
.form-sub:hover{background:var(--red-h);}
.form-sub:disabled{background:#999;cursor:wait;}
.form-response{font-size:.82rem;margin:8px 0 12px;min-height:1em;}
.form-response--ok{color:#0a7a2e;}
.form-response--err{color:var(--red);}

/* ── THE CULTURAL FINANCE INSTITUTE ── */
.cfi{background:var(--off);padding:96px 40px;border-top:3px solid var(--red);}
.cfi-inner{max-width:1200px;margin:0 auto;}
.cfi-hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:48px;}
.cfi-inst{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.cfi-name{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:var(--ink);line-height:1.05;letter-spacing:-.02em;margin-bottom:6px;}
.cfi-sub{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.1rem;font-style:italic;color:var(--sub);margin-bottom:20px;}
.cfi-body{font-size:.95rem;color:var(--sub);line-height:1.75;margin-bottom:14px;}
.cfi-body strong{color:var(--ink);font-weight:700;}
.cfi-charter{background:var(--white);border:1px solid var(--bdr2);border-top:3px solid var(--red);padding:22px 20px;margin-bottom:22px;}
.cfi-charter-t{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.cfi-charter-b{font-size:.84rem;color:var(--sub);line-height:1.65;}
.cfi-charter-b strong{color:var(--ink);}
/* Register panel */
.cfi-register{background:var(--white);border:1px solid var(--bdr2);border-top:4px solid var(--red);padding:32px 28px;}
.cfi-reg-badge{display:inline-block;background:var(--red-l);border:1px solid var(--red-b);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding:4px 12px;margin-bottom:14px;}
.cfi-reg-title{font-size:1.1rem;font-weight:800;color:var(--ink);margin-bottom:8px;line-height:1.2;}
.cfi-reg-body{font-size:.84rem;color:var(--sub);line-height:1.65;margin-bottom:18px;}
.cfi-reg-form{display:flex;flex-direction:column;gap:9px;}
.cfi-reg-input,.cfi-reg-select{width:100%;padding:11px 14px;border:1.5px solid var(--bdr);font-family:var(--sans);font-size:.88rem;color:var(--ink);background:var(--white);outline:none;transition:border-color .15s;}
.cfi-reg-input:focus,.cfi-reg-select:focus{border-color:var(--red);}
.cfi-reg-btn{width:100%;background:var(--red);color:#fff;font-family:var(--sans);font-size:.88rem;font-weight:700;letter-spacing:.04em;padding:13px;border:none;cursor:pointer;transition:background .15s;}
.cfi-reg-btn:hover{background:var(--red-h);}
.cfi-reg-note{font-size:.7rem;color:var(--cap);text-align:center;margin-top:4px;}
/* Six course titles only */
.cfi-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:44px;background:var(--bdr2);border:1px solid var(--bdr2);}
.cfi-tile{background:var(--white);padding:22px 20px;}
.cfi-tile.cfi-tile-soon{background:var(--off);}
.cfi-tile-track{font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:4px;}
.cfi-tile-track.muted{color:var(--cap);}
.cfi-tile-num{font-size:.68rem;color:var(--cap);display:block;margin-bottom:4px;}
.cfi-tile-title{font-size:.95rem;font-weight:800;color:var(--ink);margin-bottom:8px;line-height:1.25;}
.cfi-tile-title.muted{color:var(--cap);}
.cfi-tile-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 9px;}
.cfi-tile-tag.open{background:var(--red-l);color:var(--red);}
.cfi-tile-tag.soon{background:var(--off);color:var(--cap);border:1px solid var(--bdr2);}
.cfi-bottom{margin-top:36px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.cfi-bottom-note{font-size:.84rem;color:var(--sub);flex:1;line-height:1.55;font-style:italic;}

/* ── THE CRUCIBLE ── */
.crucible{background:var(--white);padding:96px 40px;border-top:3px solid var(--red);}
.crucible-inner{max-width:1200px;margin:0 auto;}
/* Masthead — white background, red accents only */
.cruc-masthead{
  border:2px solid var(--bdr2);border-top:5px solid var(--red);
  padding:56px 48px;margin-bottom:56px;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.cruc-eyebrow{font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:12px;}
.cruc-name{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.02em;margin-bottom:8px;}
.cruc-sub{font-size:1rem;font-weight:600;color:var(--sub);letter-spacing:.02em;margin-bottom:4px;}
.cruc-family{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cap);margin-bottom:28px;}
.cruc-hero{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:300;font-style:italic;
  color:var(--ink);line-height:1.4;margin-bottom:28px;
}
.cruc-body{font-size:.95rem;color:var(--sub);line-height:1.72;margin-bottom:0;}
.cruc-cta{display:inline-block;background:var(--red);color:#fff;font-size:.88rem;font-weight:700;letter-spacing:.04em;padding:12px 26px;border:none;margin-top:24px;}
.cruc-cta:hover{background:var(--red-h);}
/* Right side of masthead — why panel */
.cruc-why{background:var(--off);border:1px solid var(--bdr2);padding:32px 28px;border-left:4px solid var(--red);}
.cruc-why-t{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:16px;}
.cruc-why-list{display:flex;flex-direction:column;gap:10px;}
.cruc-why-item{font-size:.86rem;color:var(--body);line-height:1.55;display:flex;gap:10px;}
.cruc-why-dot{width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:7px;}
/* Three programmes */
.cruc-progs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;}
.cruc-prog{background:var(--off);border:1px solid var(--bdr2);padding:28px 24px;border-top:4px solid var(--red);}
.cruc-prog-n{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:8px;}
.cruc-prog-t{font-size:1.05rem;font-weight:800;color:var(--ink);margin-bottom:10px;line-height:1.2;}
.cruc-prog-b{font-size:.82rem;color:var(--sub);line-height:1.6;margin-bottom:14px;}
.cruc-prog-detail{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;}
.cruc-prog-row{display:flex;gap:8px;font-size:.75rem;}
.cruc-prog-lbl{font-weight:700;color:var(--red);min-width:70px;}
.cruc-prog-val{color:var(--cap);}
.cruc-prog-lnk{font-size:.78rem;font-weight:700;color:var(--red);border-bottom:1px solid var(--red-b);display:inline-block;padding-bottom:1px;}
/* Distinction pull */
.cruc-pull{background:var(--red-l);border-left:4px solid var(--red);padding:36px 28px;margin-top:44px;text-align:center;}
.cruc-pull p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;font-style:italic;color:var(--ink);line-height:1.8;margin-bottom:0;}
/* Homepage teaser (in capital-side product list) */
.cruc-teaser{background:var(--white);border:1px solid var(--bdr2);padding:12px 14px;border-left:3px solid var(--red);}
.cruc-teaser-n{font-size:.83rem;font-weight:700;color:var(--ink);display:block;margin-bottom:2px;}
.cruc-teaser-d{font-size:.77rem;color:var(--sub);line-height:1.5;}
.cruc-teaser-lnk{font-size:.74rem;font-weight:700;color:var(--red);margin-top:4px;display:inline-block;}

/* ── FOOTER ── */
footer{background:var(--white);padding:52px 40px 26px;border-top:3px solid var(--red);}
.ft-inner{max-width:1200px;margin:0 auto;}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:36px;}
.ft-logo{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
.ft-logo img{height:28px;width:28px;object-fit:contain;}
.ft-logo-t{font-size:.88rem;font-weight:700;color:var(--ink);}
.ft-inst{font-size:.62rem;color:var(--cap);letter-spacing:.06em;margin-bottom:8px;}
.ft-tag{font-size:.78rem;color:var(--sub);line-height:1.7;margin-bottom:4px;}
.ft-legal{font-size:.65rem;color:var(--cap);line-height:1.5;}
.ft-col h4{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:13px;}
.ft-col ul{list-style:none;}
.ft-col ul li{margin-bottom:9px;}
.ft-col ul li a{font-size:.8rem;color:var(--sub);transition:color .15s;}
.ft-col ul li a:hover{color:var(--ink);}
.ft-bottom{border-top:1px solid var(--bdr2);padding-top:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.ft-copy{font-size:.65rem;color:var(--cap);letter-spacing:.04em;}
.ft-links{display:flex;gap:16px;}
.ft-links a{font-size:.7rem;color:var(--cap);transition:color .15s;}
.ft-links a:hover{color:var(--ink);}
/* ═══════════════════════════════════════════════
   SCROLL OFFSET — fixed nav approx 110px
═══════════════════════════════════════════════ */
section[id],div[id]{scroll-margin-top:120px;}

/* Touch — all interactive elements */
a,button,input,select,textarea{
  -webkit-tap-highlight-color:rgba(181,15,39,.15);
  touch-action:manipulation;
}
.ft-col ul li a{display:block;padding:8px 0;min-height:44px;}
.ft-links a{min-height:44px;display:inline-flex;align-items:center;}
.nav-links a{min-height:36px;display:inline-flex;align-items:center;}

/* ═══════════════════════════════════════════════
   TABLET (≤1024px)
═══════════════════════════════════════════════ */
@media (max-width:1024px){
  section[id],div[id]{scroll-margin-top:110px;}
  .nav-top{padding:12px 24px 8px;}
  .nav-bottom{padding:6px 24px 10px;gap:12px;flex-wrap:wrap;justify-content:center;}
  .nav-links{gap:10px;flex-wrap:wrap;justify-content:center;}
  .nav-btns{margin-left:0;}
  .hero{padding:140px 24px 64px;}
  .hero-inner{grid-template-columns:1fr;gap:40px;}
  .hero-visual{min-height:280px;padding:32px;}
  .hero-visual img{width:180px;height:180px;}
  .hero-civic{flex-wrap:wrap;}
  .events{padding:0 24px;}
  .stats{padding:40px 24px;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .partners{padding:40px 24px;}
  .partners-grid{grid-template-columns:repeat(3,1fr);}
  .section,.section-alt{padding:64px 24px;}
  .story-grid{grid-template-columns:1fr;gap:36px;}
  .atb{padding:64px 24px;}
  .atb-header{grid-template-columns:1fr;gap:20px;}
  .atb-logo{width:80px;height:80px;}
  .atb-grid{grid-template-columns:1fr;gap:36px;}
  .sides{grid-template-columns:1fr;}
  .research{padding:48px 24px;}
  .research-inner{grid-template-columns:1fr;gap:36px;}
  .r-grid{grid-template-columns:1fr 1fr;}
  .cfi{padding:64px 24px;}
  .cfi-hero-panel{grid-template-columns:1fr;gap:32px;}
  .cfi-courses-grid{grid-template-columns:repeat(2,1fr);}
  .crucible{padding:64px 24px;}
  .cruc-masthead{grid-template-columns:1fr;gap:24px;}
  .cruc-progs{grid-template-columns:1fr;}
  .fell-grid{grid-template-columns:1fr;gap:36px;}
  .fell-stats{grid-template-columns:repeat(2,1fr);}
  .pod-grid{grid-template-columns:1fr;gap:36px;}
  .city-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:1fr;gap:20px;}
  .music-grid{grid-template-columns:1fr 1fr;}
  .cta{padding:56px 24px;}
  .contact-grid,.ct-grid{grid-template-columns:1fr;gap:36px;}
  footer{padding:40px 24px 24px;}
  .ft-top{grid-template-columns:1fr 1fr;gap:32px;}
}

/* ═══════════════════════════════════════════════
   LARGE MOBILE (≤768px)
═══════════════════════════════════════════════ */
@media (max-width:768px){
  section[id],div[id]{scroll-margin-top:100px;}
  .ann{padding:10px 16px;}
  .nav-top{padding:10px 16px 6px;}
  .nav-bottom{padding:6px 16px 8px;gap:8px;}
  .nav-links{gap:8px;}
  .nav-links a{font-size:.65rem;}
  .nav-bell-btn{display:none;}
  .btn-nav{font-size:.7rem;padding:6px 12px;}
  .hero{padding:130px 16px 48px;}
  .hero-title{font-size:2.2rem;}
  .hero-civic{display:none;}
  .hero-actions{flex-direction:column;gap:10px;}
  .hero-actions .btn-primary,.hero-actions .btn-outline{width:100%;text-align:center;display:block;}
  .events-lbl,.events-all{display:none;}
  .ev{min-width:200px;padding:12px 16px;}
  .stats{padding:32px 16px;}
  .stats-inner{grid-template-columns:1fr 1fr;gap:1px;}
  .stat-num{font-size:1.8rem;}
  .partners{padding:32px 16px;}
  .partners-grid{grid-template-columns:repeat(2,1fr);}
  .section,.section-alt{padding:48px 16px;}
  .sec-title{font-size:1.6rem;}
  .atb{padding:48px 16px;}
  .atb-detail-grid{grid-template-columns:1fr 1fr;}
  .cfi{padding:48px 16px;}
  .cfi-courses-grid{grid-template-columns:1fr;}
  .cfi-hero-panel{grid-template-columns:1fr;}
  .crucible{padding:48px 16px;}
  .cruc-masthead{grid-template-columns:1fr;padding:28px 20px;}
  .cruc-name{font-size:2rem;}
  .cruc-progs{grid-template-columns:1fr;}
  .fell-grid{grid-template-columns:1fr;}
  .fell-stats{grid-template-columns:1fr 1fr;}
  .pod-grid{grid-template-columns:1fr;}
  .city-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .music-grid{grid-template-columns:1fr;}
  .research-inner{grid-template-columns:1fr;}
  .r-grid{grid-template-columns:1fr;}
  .research{padding:40px 16px;}
  .cta{padding:48px 16px;}
  .cta-t{font-size:1.3rem;}
  .cta-acts{flex-direction:column;align-items:center;gap:10px;}
  .btn-wh,.btn-wh-o{width:100%;text-align:center;display:block;}
  .contact-grid,.ct-grid{grid-template-columns:1fr;}
  footer{padding:32px 16px 20px;}
  .ft-top{grid-template-columns:1fr;gap:24px;}
  .ft-bottom{flex-direction:column;align-items:flex-start;gap:8px;}
  .ft-col ul li a{min-height:48px;font-size:.9rem;padding:10px 0;}
}

/* ═══════════════════════════════════════════════
   SMALL MOBILE (≤480px)
═══════════════════════════════════════════════ */
@media (max-width:480px){
  section[id],div[id]{scroll-margin-top:90px;}
  /* Nav — horizontal scroll instead of hiding */
  .nav-top{padding:8px 14px 5px;gap:10px;}
  .nav-bottom{
    padding:4px 0 8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    flex-wrap:nowrap;
    justify-content:flex-start;
  }
  .nav-bottom::-webkit-scrollbar{display:none;}
  .nav-links{flex-wrap:nowrap;gap:0;overflow-x:auto;}
  .nav-links a{
    font-size:.62rem;white-space:nowrap;
    padding:4px 10px;min-height:36px;
    border-bottom:2px solid transparent;
  }
  .nav-btns{display:none;}
  /* Announcement */
  .ann{padding:8px 14px;}
  .ann p{font-size:.75rem;}
  /* Hero */
  .hero{padding:95px 14px 36px;}
  .hero-title{font-size:1.85rem;}
  .hero-visual{display:none;}
  .hero-civic{display:none;}
  /* Stats */
  .stats-inner{grid-template-columns:1fr;}
  .stat-box{padding:20px 16px;}
  /* Partners */
  .partners-grid{grid-template-columns:1fr 1fr;}
  .partner-card{padding:12px 10px;}
  /* ATB */
  .atb-hosts{flex-direction:column;}
  /* Impact Fund */
  .fell-stats{grid-template-columns:1fr 1fr;}
  /* Sections */
  .section,.section-alt,.cfi,.crucible,.atb,.research{padding:36px 14px;}
  /* City */
  .city-grid,.cruc-progs,.cfi-courses-grid,.r-grid,.research-inner{grid-template-columns:1fr;}
  /* Forms */
  .form,.cfi-register{padding:20px 14px;}
  .cfi-reg-form{gap:8px;}
  /* Footer */
  .ft-top{grid-template-columns:1fr;}
  .ft-col ul li a{min-height:48px;font-size:.9rem;padding:10px 0;}
  .ft-links a{min-height:48px;}
}

