:root{
  --ink:#0B1B33; --navy:#16365E; --navy-line:#2A4C7A;
  --gold:#C9A227; --gold-pale:#E8D9A8; --gold-deep:#A8861C;
  --paper:#F2F1EC; --paper-2:#E7E5DD; --slate:#5B6472; --white:#FFFFFF;
  --ok:#2E6B45; --line:rgba(11,27,51,.14);
  --display:'Archivo',system-ui,sans-serif;
  --body:'Spectral',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --gut:clamp(1.25rem,4vw,3.5rem);
  --spine:180px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
h1,h2,h3,h4,.display{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.04;margin:0;text-wrap:balance}
p{margin:0 0 1.1em}
.lede{font-size:clamp(1.125rem,1.9vw,1.375rem);line-height:1.5;color:var(--slate)}
.maxread{max-width:60ch}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem;display:block}
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--white);text-decoration:none;padding:.8rem 1.3rem;text-align:center;border:1px solid var(--ink);cursor:pointer;line-height:1.3}
.btn:hover{background:var(--navy);border-color:var(--navy)}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-pale);border-color:var(--gold-pale)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(232,217,168,.5)}
.btn-ghost:hover{background:rgba(232,217,168,.12);border-color:var(--gold)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--white)}
.btn-sm{padding:.55rem .9rem;font-size:.6875rem}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,27,51,.94);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(232,217,168,.16)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;color:var(--white)}
.brand b{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:-.01em}
.brand span{font-family:var(--mono);font-size:.6875rem;color:var(--gold-pale);letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.nav-links a{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72);text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--white);border-bottom-color:var(--gold)}
.nav-links a.members{color:var(--gold-pale)}
.nav-right{display:flex;gap:.6rem;align-items:center}
.nav-cta{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--ink);text-decoration:none;padding:.55rem .95rem;font-weight:500}
.nav-cta:hover{background:var(--gold-pale)}
.nav-login{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-pale);text-decoration:none;padding:.55rem .95rem;border:1px solid rgba(232,217,168,.4)}
.nav-login:hover{border-color:var(--gold);color:var(--white)}
@media(max-width:900px){.nav-links{gap:1rem}.nav-links a{font-size:.6875rem}}

/* ---------- member sub-nav ---------- */
.subnav{background:var(--navy);border-bottom:1px solid rgba(232,217,168,.2)}
.subnav .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.subnav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.subnav a{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;display:block;padding:.9rem .7rem;border-bottom:2px solid transparent}
.subnav a:hover,.subnav a.active{color:var(--white);border-color:var(--gold)}
.who{font-family:var(--mono);font-size:.6875rem;color:var(--gold-pale);display:flex;gap:.8rem;align-items:center;letter-spacing:.04em}
.who button{background:none;border:1px solid rgba(232,217,168,.4);color:var(--gold-pale);font:inherit;padding:.3rem .7rem;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.who button:hover{border-color:var(--gold);color:var(--white)}
.pill{display:inline-block;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid currentColor}
.pill.silver{color:#6B7280}
.pill.gold{color:var(--gold-deep)}
.pill.platinum{color:var(--ink);background:var(--gold);border-color:var(--gold)}
.subnav .pill.platinum{color:var(--ink)}
.subnav .pill.gold{color:var(--gold)}
.subnav .pill.silver{color:#C7CCD6}
.pill.ok{color:var(--ok)}
.pill.lock{color:var(--slate);border-style:dashed}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:var(--white);padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3rem,6vw,5rem)}
.hero.short{padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3rem)}
.hero h1{font-size:clamp(2.4rem,6.2vw,4.5rem);max-width:16ch}
.hero.short h1{font-size:clamp(2rem,4.5vw,3.25rem);max-width:20ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{margin-top:1.6rem;max-width:52ch;color:rgba(255,255,255,.74);font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.55}
.hero.short .hero-sub{margin-top:1rem;font-size:1.05rem}
.hero .eyebrow a{color:var(--gold);text-decoration:none}
.hero .eyebrow a:hover{text-decoration:underline}

/* attrition ledger */
.ledger{margin-top:clamp(2.75rem,6vw,4.25rem);border-top:1px solid var(--navy-line);padding-top:1.5rem}
.ledger-cap{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,217,168,.7);margin-bottom:1.75rem}
.gen{display:grid;grid-template-columns:minmax(120px,150px) 1fr auto;align-items:center;gap:1.25rem;padding:.7rem 0;border-bottom:1px solid rgba(42,76,122,.55)}
.gen-name{font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em;color:rgba(255,255,255,.62)}
.gen-track{position:relative;height:10px;background:rgba(42,76,122,.4)}
.gen-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--gold);transition:width 1.1s cubic-bezier(.22,.75,.3,1)}
.gen:nth-child(3) .gen-fill{transition-delay:.14s}
.gen:nth-child(4) .gen-fill{transition-delay:.28s}
.gen:nth-child(5) .gen-fill{transition-delay:.42s}
.gen-num{font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,3vw,2rem);min-width:3.4ch;text-align:right;font-variant-numeric:tabular-nums}
.gen-num sup{font-size:.5em;font-weight:600;margin-left:.1em;color:var(--gold-pale)}
.ledger-note{margin-top:1.25rem;font-family:var(--mono);font-size:.6875rem;line-height:1.6;color:rgba(255,255,255,.42);max-width:60ch}
@media(max-width:620px){.gen{grid-template-columns:1fr auto;gap:.5rem 1rem}.gen-track{grid-column:1/-1;order:3}}

/* ---------- bands with lineage spine ---------- */
.band{padding:clamp(3rem,6vw,5rem) 0}
.band-alt{background:var(--paper-2)}
.band-ink{background:var(--ink);color:var(--white)}
.grid{display:grid;grid-template-columns:var(--spine) 1fr;gap:0 clamp(1.5rem,4vw,3.5rem)}
.marker{position:sticky;top:5rem;align-self:start}
.marker-label{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);display:block}
.band-ink .marker-label{color:var(--gold-pale)}
.marker-rule{display:block;width:28px;height:2px;background:var(--gold);margin-bottom:.7rem}
.col{border-left:1px solid var(--line);padding-left:clamp(1.25rem,3vw,2.5rem);min-width:0}
.band-ink .col{border-left-color:rgba(232,217,168,.2)}
@media(max-width:860px){.grid{grid-template-columns:1fr;gap:1.25rem}.marker{position:static}.col{border-left:0;padding-left:0}}
.band h2{font-size:clamp(1.75rem,3.6vw,2.75rem);max-width:20ch;margin-bottom:1.25rem}
.band h3{font-size:1.25rem}
.band-ink h2{color:var(--white)}
.band-ink p{color:rgba(255,255,255,.74)}
.sub-h{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:2.5rem 0 1rem;font-weight:500}
.band-ink .sub-h{color:var(--gold)}

/* ---------- sessions (workshops) ---------- */
.session{display:grid;grid-template-columns:auto 1fr;gap:0 1.5rem;padding:1.6rem 0;border-top:1px solid var(--line)}
.session:last-of-type{border-bottom:1px solid var(--line)}
.session-q{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--gold);padding-top:.35rem;min-width:4ch}
.session h3{font-size:1.25rem;margin-bottom:.4rem}
.session p{font-size:.9375rem;color:var(--slate);margin:0;max-width:56ch}
.session-meta{font-family:var(--mono);font-size:.6875rem;color:var(--slate);margin-top:.6rem;letter-spacing:.03em}
.session .act{margin-top:.8rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
@media(max-width:620px){.session{grid-template-columns:1fr;gap:.35rem}}

/* ---------- tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:.5rem}
@media(max-width:860px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.75rem 1.5rem;display:flex;flex-direction:column}
.tier-feature{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.tier-name{font-family:var(--display);font-weight:800;font-size:1.375rem;letter-spacing:-.01em}
.tier-rule{width:100%;height:3px;background:var(--paper-2);margin:1rem 0 1.25rem}
.tier-silver .tier-rule{background:#A9AEB5}
.tier-gold .tier-rule{background:var(--gold)}
.tier-plat .tier-rule{background:var(--navy)}
.tier ul{list-style:none;margin:0 0 1.5rem;padding:0;flex:1}
.tier li{font-size:.9375rem;line-height:1.5;padding:.5rem 0 .5rem 1.15rem;position:relative;border-bottom:1px solid rgba(11,27,51,.07)}
.tier li::before{content:'—';position:absolute;left:0;color:var(--gold);font-family:var(--mono);font-size:.75rem;top:.65rem}
.tier li.no{color:var(--slate)}
.tier li.no::before{color:#C7CCD6}
.tier-price{font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;color:var(--slate);margin-bottom:1rem}
.tier-price b{font-family:var(--display);font-size:1.5rem;color:var(--ink);letter-spacing:-.02em;margin-right:.4rem;font-variant-numeric:tabular-nums}

/* ---------- sponsors / partners ---------- */
.spon{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2.5rem}
@media(max-width:720px){.spon{grid-template-columns:1fr}}
.spon-card{border:1px solid rgba(232,217,168,.22);padding:1.6rem 1.4rem}
.spon-card h3{font-size:1.25rem;color:var(--white);margin-bottom:.5rem}
.spon-card .tier-price{color:var(--gold-pale)}
.spon-card .tier-price b{color:var(--white)}
.spon-card p{font-size:.9375rem;margin:0}
.spon-card ul{list-style:none;margin:.6rem 0 0;padding:0;font-size:.9rem;color:rgba(255,255,255,.74)}
.spon-card li{padding:.35rem 0 .35rem 1.1rem;position:relative;border-bottom:1px solid rgba(232,217,168,.12)}
.spon-card li::before{content:'—';position:absolute;left:0;color:var(--gold);font-family:var(--mono);font-size:.75rem}
.partners{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.partner{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;border:1px solid rgba(232,217,168,.28);padding:.55rem .9rem;color:rgba(255,255,255,.8)}

/* ---------- director ---------- */
.dir{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:860px){.dir{grid-template-columns:1fr}}
.dir-card{background:var(--ink);color:var(--white);padding:1.75rem 1.5rem}
.dir-card .name{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.1;margin-bottom:.5rem}
.dir-card .role{font-family:var(--mono);font-size:.75rem;line-height:1.7;color:var(--gold-pale);letter-spacing:.02em}
.dir-card .role a{color:var(--gold-pale);text-decoration:none}
.dir-card .role a:hover{text-decoration:underline}
.arc{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(232,217,168,.22)}
.arc span{font-family:var(--mono);font-size:.75rem;color:rgba(255,255,255,.72);display:inline-block}
.arc span::after{content:' → ';color:var(--gold)}
.arc span:last-child::after{content:''}
blockquote{margin:0;font-size:clamp(1.125rem,2.2vw,1.5rem);line-height:1.45;font-style:italic;border-left:2px solid var(--gold);padding-left:1.25rem;max-width:40ch}

/* ---------- services list ---------- */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem}
@media(max-width:720px){.svc{grid-template-columns:1fr}}
.svc div{padding:1.1rem 0;border-top:1px solid var(--line)}
.svc h3{font-size:1.1rem;margin-bottom:.3rem}
.svc p{font-size:.9375rem;color:var(--slate);margin:0}
.svc .mono{color:var(--gold-deep);display:block;margin-bottom:.3rem;font-size:.6875rem}

/* ---------- research ---------- */
.study{border-top:1px solid var(--line);padding:1.5rem 0}
.study:last-child{border-bottom:1px solid var(--line)}
.study .stat{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;margin:.3rem 0 .5rem}
.study p{font-size:.9375rem;color:var(--slate);margin:0;max-width:60ch}

/* ---------- roadmap ---------- */
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:860px){.road{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.road{grid-template-columns:1fr}}
.road div{border-top:2px solid var(--gold);padding-top:.8rem}
.road .mono{color:var(--slate);display:block;margin-bottom:.3rem;font-size:.6875rem}
.road h3{font-size:1.1rem;margin-bottom:.4rem}
.road p{font-size:.9rem;color:var(--slate);margin:0}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:.9375rem}
th{text-align:left;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--slate);border-bottom:1px solid var(--ink);padding:.6rem .6rem .6rem 0}
td{padding:.9rem .6rem .9rem 0;border-bottom:1px solid var(--line);vertical-align:top}
td:first-child{font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.table-scroll{overflow-x:auto}

/* ---------- cta band / forms ---------- */
.cta-band{background:var(--gold);color:var(--ink);padding:clamp(3rem,6vw,4.5rem) 0}
.cta-band h2{font-size:clamp(1.75rem,4vw,3rem);max-width:18ch;margin-bottom:1rem}
.cta-band p{max-width:48ch;font-size:1.0625rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.form{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.75rem 1.5rem;display:grid;gap:1rem}
.form h3{font-size:1.25rem}
.form label{display:grid;gap:.35rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.form input,.form select,.form textarea{font-family:var(--body);font-size:1rem;padding:.6rem .7rem;border:1px solid rgba(11,27,51,.25);background:var(--paper);width:100%;color:var(--ink)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.form .row{grid-template-columns:1fr}}
.form .btn{justify-self:start}
.form .note{font-family:var(--body);font-size:.875rem;color:var(--slate);margin:0;text-transform:none;letter-spacing:0}
.form .check{display:flex;align-items:center;gap:.6rem;text-transform:none;letter-spacing:0;font-family:var(--body);font-size:.95rem;color:var(--ink)}
.form .check input{width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:860px){.two{grid-template-columns:1fr}}
.demo{border:1px dashed var(--gold-deep);padding:1.1rem 1.25rem;font-size:.9375rem;margin-top:1.5rem}
.demo .mono{color:var(--gold-deep);display:block;margin-bottom:.4rem}
.demo .opts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}

/* ---------- portal ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}}
.stat-tile{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.1rem 1.2rem}
.stat-tile .n{font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.stat-tile .l{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-top:.5rem}
.card{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.4rem 1.4rem}
.card h3{font-size:1.1rem;margin-bottom:.6rem}
.card p{font-size:.9375rem}
.card-gold{border-top:3px solid var(--gold)}
.side{display:grid;gap:1rem}
.portal{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
@media(max-width:860px){.portal{grid-template-columns:1fr}}
.list{display:grid;gap:0}
.row-item{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 0;border-top:1px solid var(--line)}
.row-item:last-child{border-bottom:1px solid var(--line)}
.row-item .date{font-family:var(--mono);text-align:center;min-width:3.5rem;line-height:1.1}
.row-item .date b{display:block;font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em}
.row-item .date span{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.row-item h4{font-size:1.05rem;margin-bottom:.15rem}
.row-item p{margin:0;font-size:.875rem;color:var(--slate)}
@media(max-width:520px){.row-item{grid-template-columns:1fr;gap:.5rem}}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:860px){.res-grid{grid-template-columns:1fr}}
.res{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.2rem 1.25rem;display:grid;gap:.5rem;align-content:start}
.res .type{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.res h4{font-size:1.05rem}
.res p{margin:0;font-size:.875rem;color:var(--slate)}
.res .foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}
.res.locked{background:repeating-linear-gradient(135deg,var(--white) 0 10px,var(--paper) 10px 20px)}
.res.locked h4,.res.locked p{color:var(--slate)}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--gold-pale);display:grid;place-items:center;font-family:var(--display);font-weight:800;flex-shrink:0;font-size:.9rem}
.dirgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:860px){.dirgrid{grid-template-columns:1fr}}
.member{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.1rem;display:flex;gap:.9rem;align-items:flex-start}
.member h4{font-size:1rem}
.member p{margin:.15rem 0 0;font-size:.85rem;color:var(--slate)}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}
.filters input,.filters select{font-family:var(--body);font-size:.95rem;padding:.55rem .7rem;border:1px solid rgba(11,27,51,.25);background:var(--white);color:var(--ink)}
.progress{height:6px;background:var(--paper-2);margin:.6rem 0}
.progress i{display:block;height:100%;background:var(--gold)}
.banner{background:var(--white);border-left:3px solid var(--gold);padding:1rem 1.25rem;margin-bottom:2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.banner p{margin:0;font-size:.95rem}
.upgrade{border:1px solid var(--gold);background:var(--white);padding:1.4rem}
.upgrade h3{font-size:1.15rem;margin-bottom:.5rem}
.upgrade p{font-size:.9375rem}
.gate{border:1px dashed rgba(11,27,51,.3);padding:1.5rem;font-size:.95rem;color:var(--slate);text-align:center}
.gate b{color:var(--ink)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:.8rem 1.2rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;border-left:3px solid var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:60}

/* ---------- podcasts ---------- */
.ep{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.25rem 0;border-top:1px solid var(--line);align-items:start}
.ep:last-child{border-bottom:1px solid var(--line)}
.ep .num{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--gold-deep);padding-top:.3rem;min-width:4ch}
.ep h4{font-size:1.1rem;margin-bottom:.25rem}
.ep p{margin:0 0 .6rem;font-size:.9rem;color:var(--slate);max-width:60ch}
.ep .meta{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:.6rem}
.player{display:flex;align-items:center;gap:.8rem;background:var(--white);border:1px solid rgba(11,27,51,.12);padding:.6rem .8rem;max-width:520px}
.player button{width:36px;height:36px;border-radius:50%;border:0;background:var(--ink);color:var(--gold);font-size:.8rem;cursor:pointer;flex-shrink:0}
.player .bar{flex:1;height:4px;background:var(--paper-2);position:relative}
.player .bar i{position:absolute;left:0;top:0;height:100%;background:var(--gold);width:0}
.player .t{font-family:var(--mono);font-size:.6875rem;color:var(--slate);font-variant-numeric:tabular-nums}
.ep .acts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
/* ---------- feedback / qr ---------- */
.qr{background:var(--white);border:1px solid rgba(11,27,51,.12);padding:1.25rem;display:grid;gap:.9rem;justify-items:center;text-align:center}
.qr svg{width:220px;height:220px;max-width:100%}
.qr .mono{color:var(--slate);font-size:.625rem}
.qr .url{font-family:var(--mono);font-size:.6875rem;color:var(--ink);word-break:break-all}
.scale{display:flex;gap:.4rem;flex-wrap:wrap}
.scale label{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.04em;text-transform:none;color:var(--slate);cursor:pointer}
.scale input{width:auto;margin:0}
/* ---------- people ---------- */
.people{display:grid;gap:2rem}
.person{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:860px){.person{grid-template-columns:1fr}}
.person .dir-card.alt{background:var(--navy)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.6);padding:3rem 0 2.5rem;font-size:.875rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;gap:1.75rem}}
footer h4{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .85rem;font-weight:500}
footer a{color:rgba(255,255,255,.72);text-decoration:none;display:block;padding:.2rem 0}
footer a:hover{color:var(--gold-pale)}
.colophon{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(232,217,168,.18);font-family:var(--mono);font-size:.6875rem;color:rgba(255,255,255,.38);line-height:1.7}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}



/* ==========================================================================
   2. Public site components v2 (Sep 2026): category cards, comparison table,
   Morning Meetup formats, steps, people index, forms. Overrides earlier rules
   of the same name above; portal-only components above are untouched.
   ========================================================================== */

/* Family Business Center — site styles (CBU navy / gold) */
:root{
  --ink:#0B1B33; --navy:#16365E; --navy-line:#2A4C7A;
  --gold:#C9A227; --gold-pale:#E8D9A8; --gold-deep:#A8861C;
  --paper:#F2F1EC; --paper-2:#E7E5DD; --slate:#5B6472; --white:#FFFFFF;
  --ok:#2E6B45; --line:rgba(11,27,51,.14);
  --display:'Archivo',system-ui,sans-serif;
  --body:'Spectral',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --gut:clamp(1.25rem,4vw,3.5rem);
}
.fbc,.fbc *{box-sizing:border-box}
.fbc{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
.fbc a{color:inherit}
.fbc img,.fbc svg{max-width:100%}
.fbc [hidden]{display:none!important}
.fbc h1,.fbc h2,.fbc h3,.fbc h4{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance;color:inherit}
.fbc p{margin:0 0 1.1em}
.fbc ul,.fbc ol{margin:0 0 1.1em;padding-left:1.25rem}
.fbc li{margin:.3em 0}
.lede{font-size:clamp(1.125rem,1.9vw,1.375rem);line-height:1.5;color:var(--slate)}
.maxread{max-width:62ch}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block}
.eyebrow a{color:var(--gold);text-decoration:none}
.eyebrow a:hover{text-decoration:underline}
.fbc a:focus-visible,.fbc button:focus-visible,.fbc input:focus-visible,.fbc select:focus-visible,.fbc textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* buttons */
.btn{display:inline-block;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--white);text-decoration:none;padding:.8rem 1.3rem;text-align:center;border:1px solid var(--ink);cursor:pointer;line-height:1.3}
.btn:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-pale);border-color:var(--gold-pale);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(232,217,168,.5)}
.btn-ghost:hover{background:rgba(232,217,168,.12);border-color:var(--gold)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--white)}
.btn-sm{padding:.55rem .9rem;font-size:.6875rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

/* hero */
.hero{background:var(--ink);color:var(--white);padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem)}
.hero.short{padding:clamp(2.25rem,5vw,3.5rem) 0 clamp(1.75rem,4vw,2.75rem)}
.hero h1{font-size:clamp(2.3rem,6vw,4.25rem);max-width:17ch;color:var(--white)}
.hero.short h1{font-size:clamp(1.9rem,4.5vw,3.1rem);max-width:22ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{margin-top:1.4rem;max-width:56ch;color:rgba(255,255,255,.76);font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.55}
.hero.short .hero-sub{margin-top:.9rem;font-size:1.05rem}
.hero .cta-row{margin-top:1.9rem}

/* stat strip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(232,217,168,.22);border:1px solid rgba(232,217,168,.22);margin-top:2.75rem}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--ink);padding:1.1rem 1.2rem}
.stat .n{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--gold)}
.stat .l{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:.55rem;line-height:1.5}

/* bands with spine */
.band{padding:clamp(2.75rem,6vw,4.75rem) 0}
.band-alt{background:var(--paper-2)}
.band-ink{background:var(--ink);color:var(--white)}
.band-ink h2,.band-ink h3{color:var(--white)}
.band-ink p,.band-ink li{color:rgba(255,255,255,.78)}
.grid{display:grid;grid-template-columns:180px 1fr;gap:0 clamp(1.5rem,4vw,3.5rem)}
.marker{position:sticky;top:5rem;align-self:start}
.marker-label{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);display:block}
.band-ink .marker-label{color:var(--gold-pale)}
.marker-rule{display:block;width:28px;height:2px;background:var(--gold);margin-bottom:.7rem}
.col{border-left:1px solid var(--line);padding-left:clamp(1.25rem,3vw,2.5rem);min-width:0}
.band-ink .col{border-left-color:rgba(232,217,168,.2)}
@media(max-width:860px){.grid{grid-template-columns:1fr;gap:1rem}.marker{position:static}.col{border-left:0;padding-left:0}}
.band h2{font-size:clamp(1.7rem,3.4vw,2.6rem);max-width:22ch;margin-bottom:1.15rem}
.band h3{font-size:1.25rem;margin-bottom:.4rem}
.sub-h{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:2.25rem 0 .9rem;font-weight:500}
.band-ink .sub-h{color:var(--gold)}
.sub-h:first-child{margin-top:0}

/* two-column feature list */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem}
@media(max-width:720px){.svc{grid-template-columns:1fr}}
.svc>div{padding:1.1rem 0;border-top:1px solid var(--line)}
.svc h3{font-size:1.1rem;margin-bottom:.3rem}
.svc h3 a{text-decoration:none}
.svc h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.svc p{font-size:.9375rem;color:var(--slate);margin:0}
.svc .mono{color:var(--gold-deep);display:block;margin-bottom:.3rem;font-size:.6875rem}
.band-ink .svc>div{border-top-color:rgba(232,217,168,.2)}
.band-ink .svc p{color:rgba(255,255,255,.72)}

/* category cards (services index) */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:960px){.cats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cats{grid-template-columns:1fr}}
.cat{background:var(--white);border:1px solid var(--line);padding:1.25rem 1.25rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;text-decoration:none;min-width:0}
.cat:hover{border-color:var(--gold)}
.cat .num{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;color:var(--gold-deep)}
.cat h3{font-size:1.05rem;margin:0}
.cat p{font-size:.9rem;color:var(--slate);margin:0;flex:1}
.cat .tier{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);border-top:1px solid var(--line);padding-top:.6rem;margin-top:.3rem}

/* workshop sessions */
.session{display:grid;grid-template-columns:auto 1fr;gap:0 1.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}
.session:last-of-type{border-bottom:1px solid var(--line)}
.session-q{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--gold-deep);padding-top:.35rem;min-width:4ch}
.session h3{font-size:1.25rem;margin-bottom:.3rem}
.session p{font-size:.9375rem;color:var(--slate);margin:0 0 .5rem;max-width:60ch}
.session-meta{font-family:var(--mono);font-size:.6875rem;color:var(--slate);margin-top:.4rem;letter-spacing:.03em;line-height:1.7}
@media(max-width:620px){.session{grid-template-columns:1fr;gap:.35rem}}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:.5rem}
@media(max-width:860px){.tiers{grid-template-columns:1fr}}
.tiers.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:720px){.tiers.two{grid-template-columns:1fr}}
.tier{background:var(--white);border:1px solid var(--line);padding:1.75rem 1.5rem;display:flex;flex-direction:column;color:var(--ink)}
.tier-feature{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.tier-name{font-family:var(--display);font-weight:800;font-size:1.375rem;letter-spacing:-.01em}
.tier-tag{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-top:.3rem}
.tier-rule{width:100%;height:3px;background:var(--paper-2);margin:1rem 0 1.25rem}
.tier-silver .tier-rule{background:#A9AEB5}
.tier-gold .tier-rule{background:var(--gold)}
.tier-plat .tier-rule{background:var(--navy)}
.tier ul{list-style:none;margin:0 0 1.5rem;padding:0;flex:1}
.tier li{font-size:.9375rem;line-height:1.5;padding:.5rem 0 .5rem 1.15rem;position:relative;border-bottom:1px solid rgba(11,27,51,.07);margin:0}
.tier li::before{content:'—';position:absolute;left:0;color:var(--gold);font-family:var(--mono);font-size:.75rem;top:.65rem}
.tier-price{font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;color:var(--slate);margin-bottom:1rem}
.tier-price b{font-family:var(--display);font-size:1.5rem;color:var(--ink);letter-spacing:-.02em;margin-right:.4rem;font-variant-numeric:tabular-nums}
.band-ink .tier{background:transparent;border-color:rgba(232,217,168,.25);color:var(--white)}
.band-ink .tier-price,.band-ink .tier-tag{color:var(--gold-pale)}
.band-ink .tier-price b{color:var(--white)}
.band-ink .tier li{border-bottom-color:rgba(232,217,168,.12);color:rgba(255,255,255,.8)}

/* people */
.person{display:grid;grid-template-columns:minmax(240px,1fr) 1.5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:860px){.person{grid-template-columns:1fr}}
.card-ink{background:var(--ink);color:var(--white);padding:1.75rem 1.5rem}
.card-ink.alt{background:var(--navy)}
.card-ink .name{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.1;margin-bottom:.5rem;color:var(--white)}
.card-ink .role{font-family:var(--mono);font-size:.75rem;line-height:1.7;color:var(--gold-pale);letter-spacing:.02em}
.card-ink .role a{color:var(--gold-pale);text-decoration:none}
.card-ink .role a:hover{text-decoration:underline}
.card-ink p{color:rgba(255,255,255,.8)}
.arc{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(232,217,168,.22)}
.arc span{font-family:var(--mono);font-size:.75rem;color:rgba(255,255,255,.75);display:inline-block}
.arc span::after{content:' → ';color:var(--gold)}
.arc span:last-child::after{content:''}
.fbc blockquote{margin:0 0 1.25rem;font-size:clamp(1.125rem,2.2vw,1.4rem);line-height:1.45;font-style:italic;border-left:2px solid var(--gold);padding-left:1.25rem;max-width:44ch}
.people-index{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:860px){.people-index{grid-template-columns:1fr}}
.people-index .card-ink{display:flex;flex-direction:column;gap:.4rem}
.people-index .card-ink p{font-size:.9375rem;margin:.5rem 0 0;flex:1}
.people-index .btn{align-self:flex-start;margin-top:1rem}

/* tables */
.fbc table{width:100%;border-collapse:collapse;font-size:.9375rem;margin:0}
.fbc th{text-align:left;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--slate);border-bottom:1px solid var(--ink);padding:.6rem .6rem .6rem 0;vertical-align:bottom}
.fbc td{padding:.75rem .6rem .75rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.fbc td:first-child{font-family:var(--display);font-weight:600;letter-spacing:-.01em;font-size:.9375rem}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-scroll table{min-width:640px}
.compare th:not(:first-child),.compare td:not(:first-child){text-align:center;font-variant-numeric:tabular-nums}
.compare th.gold,.compare td.gold{background:rgba(201,162,39,.09)}
.compare tr.group td{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;background:var(--paper-2);padding:.55rem .6rem;border-bottom:0}
.compare td.y{color:var(--ok);font-weight:600}
.compare td.n{color:#B8BDC6}
.compare tr.total td{font-family:var(--display);font-weight:800;font-size:1.05rem;border-top:2px solid var(--ink);border-bottom:0}
.band-ink th{color:var(--gold-pale);border-bottom-color:var(--gold-pale)}
.band-ink td{border-bottom-color:rgba(232,217,168,.2);color:rgba(255,255,255,.85)}
.band-ink tr.total td{border-top-color:var(--gold-pale);color:var(--white)}

/* forms */
.form{background:var(--white);border:1px solid var(--line);padding:1.75rem 1.5rem;display:grid;gap:1rem;color:var(--ink)}
.form h3{font-size:1.25rem}
.form label{display:grid;gap:.35rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.form input,.form select,.form textarea{font-family:var(--body);font-size:1rem;padding:.6rem .7rem;border:1px solid rgba(11,27,51,.25);background:var(--paper);width:100%;color:var(--ink);border-radius:0}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.form .row{grid-template-columns:1fr}}
.form .btn{justify-self:start}
.form .note{font-family:var(--body);font-size:.875rem;color:var(--slate);margin:0;text-transform:none;letter-spacing:0}
.form .check{display:flex;align-items:center;gap:.6rem;text-transform:none;letter-spacing:0;font-family:var(--body);font-size:.95rem;color:var(--ink)}
.form .check input{width:auto;margin:0}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:.45rem}
.form legend{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);padding:0;margin-bottom:.3rem}
.form .scale{display:flex;gap:.5rem;flex-wrap:wrap}
.form .scale label{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-transform:none}
.form .scale input{width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:860px){.two{grid-template-columns:1fr}}

/* misc */
.cta-band{background:var(--gold);color:var(--ink);padding:clamp(2.75rem,6vw,4.25rem) 0}
.cta-band h2{font-size:clamp(1.7rem,4vw,2.8rem);max-width:20ch;margin-bottom:.9rem}
.cta-band p{max-width:52ch;font-size:1.0625rem}
.callout{background:var(--white);border-left:3px solid var(--gold);padding:1rem 1.25rem;margin:1.5rem 0}
.callout p{margin:0;font-size:.95rem}
.band-ink .callout{background:rgba(255,255,255,.06)}
.tip{border:1px dashed var(--gold-deep);padding:1rem 1.25rem;font-size:.95rem;margin:1.25rem 0;background:rgba(201,162,39,.06)}
.tip b{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:.35rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.steps>div{border-top:2px solid var(--gold);padding-top:.9rem}
.steps h3{font-size:1.1rem;margin-bottom:.5rem}
.steps ul{padding-left:1.1rem;font-size:.9375rem;color:var(--slate)}
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:860px){.road{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.road{grid-template-columns:1fr}}
.road>div{border-top:2px solid var(--gold);padding-top:.8rem}
.road .mono{color:var(--slate);display:block;margin-bottom:.3rem;font-size:.6875rem}
.road h3{font-size:1.1rem;margin-bottom:.4rem}
.road p{font-size:.9rem;color:var(--slate);margin:0}
.list{display:grid}
.row-item{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 0;border-top:1px solid var(--line)}
.row-item:last-child{border-bottom:1px solid var(--line)}
.row-item .date{font-family:var(--mono);text-align:center;min-width:3.5rem;line-height:1.1}
.row-item .date b{display:block;font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em}
.row-item .date span{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.row-item h4{font-size:1.05rem;margin-bottom:.15rem}
.row-item p{margin:0;font-size:.875rem;color:var(--slate)}
@media(max-width:520px){.row-item{grid-template-columns:1fr;gap:.5rem}}
.formats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
@media(max-width:1000px){.formats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.formats{grid-template-columns:1fr}}
.formats>div{background:var(--white);border:1px solid var(--line);padding:1.1rem 1.1rem}
.formats h3{font-size:1rem;margin-bottom:.35rem}
.formats p{font-size:.875rem;color:var(--slate);margin:0}
.formats .mono{color:var(--gold-deep);display:block;margin-bottom:.35rem;font-size:.625rem}
.meta{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1rem 0 1.5rem}
.band-ink .meta{color:var(--gold-pale)}
.pill{display:inline-block;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid currentColor;margin-left:.4rem;vertical-align:middle}
.pill.soon{color:var(--gold-deep)}
.qr{background:var(--white);border:1px solid var(--line);padding:1.25rem;display:grid;gap:.9rem;justify-items:center;text-align:center}
.qr svg{width:220px;height:220px;max-width:100%}
.qr .mono{color:var(--slate);font-size:.625rem}
.qr .url{font-family:var(--mono);font-size:.6875rem;color:var(--ink);word-break:break-all}
.ep{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.25rem 0;border-top:1px solid var(--line);align-items:start}
.ep:last-child{border-bottom:1px solid var(--line)}
.ep .num{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--gold-deep);padding-top:.3rem;min-width:4ch}
.ep h4{font-size:1.1rem;margin-bottom:.25rem}
.ep p{margin:0 0 .6rem;font-size:.9rem;color:var(--slate);max-width:60ch}
.ep .meta{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:.5rem}
.player{display:flex;align-items:center;gap:.8rem;background:var(--white);border:1px solid var(--line);padding:.6rem .8rem;max-width:520px}
.player span.play{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--gold);font-size:.8rem;display:grid;place-items:center;flex-shrink:0}
.player .bar{flex:1;height:4px;background:var(--paper-2);position:relative}
.player .t{font-family:var(--mono);font-size:.6875rem;color:var(--slate);font-variant-numeric:tabular-nums}
.partners{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.partner{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;border:1px solid rgba(232,217,168,.28);padding:.55rem .9rem;color:rgba(255,255,255,.85)}
.band:not(.band-ink) .partner{border-color:var(--line);color:var(--ink)}
.fine{font-size:.875rem;color:var(--slate)}
.band-ink .fine{color:rgba(255,255,255,.6)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:.8rem 1.2rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;border-left:3px solid var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:60;max-width:90vw}

@media(prefers-reduced-motion:reduce){.fbc *{transition-duration:.01ms!important;scroll-behavior:auto!important}}


* ==========================================================================
   3. Layout fixes (Sep 2026)
   a) Menu links: GeneratePress's customizer rule (.main-navigation .main-nav ul li a) outranked
      the child theme's nav color, leaving dark text on the dark header.
   b) Pages whose content is wrapped in <div class="fbc"> render edge-to-edge with no sidebar and
      no theme title (the hero carries its own h1). Pages without .fbc are unaffected.
   ========================================================================== */
.main-navigation .main-nav ul li a,.main-navigation .menu-toggle,.main-navigation .menu-bar-items,.main-navigation .menu-bar-item > a{color:rgba(255,255,255,.78)}
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li.current-menu-item > a,.main-navigation .main-nav ul li.current-menu-ancestor > a{color:#fff}
.main-navigation .main-nav ul ul li a{color:#fff}
body:has(.entry-content > .fbc) .sidebar{display:none}
body:has(.entry-content > .fbc) .entry-header{display:none}
body:has(.entry-content > .fbc) .site,
body:has(.entry-content > .fbc) .site-content,
body:has(.entry-content > .fbc) .content-area,
body:has(.entry-content > .fbc) .site-main,
body:has(.entry-content > .fbc) .inside-article,
body:has(.entry-content > .fbc) .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;float:none!important}
body:has(.entry-content > .fbc) .entry-content > .fbc{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}



/* 4. WPForms submit buttons match the site's button style */
.fbc .form .wpforms-form button[type=submit].wpforms-submit{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--white);border:1px solid var(--ink);padding:.8rem 1.3rem;border-radius:0;box-shadow:none;line-height:1.3}
.fbc .form .wpforms-form button[type=submit].wpforms-submit:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.fbc .form .wpforms-form .wpforms-field-label{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-weight:500}
.fbc .form .wpforms-form input[type=text],.fbc .form .wpforms-form input[type=email],.fbc .form .wpforms-form input[type=tel],.fbc .form .wpforms-form input[type=url],.fbc .form .wpforms-form input[type=number],.fbc .form .wpforms-form select,.fbc .form .wpforms-form textarea{font-family:var(--body);font-size:1rem;border:1px solid rgba(11,27,51,.25);background:var(--paper);color:var(--ink);border-radius:0;box-shadow:none}


/* ==========================================================================
   5. v2.1 enhancements (Sep 2026)
   ========================================================================== */

/* ==========================================================================
   v2.1 (Sep 2026) — readable buttons at rest / accent on hover, hero atmosphere,
   survival ledger, accented category cards, motion on cards and rows
   ========================================================================== */
/* buttons */
.fbc a.brand,.fbc a.brand b{color:var(--white)!important}
.fbc a.nav-cta{color:var(--ink)!important}
.fbc a.btn,.fbc button.btn,.fbc .btn{color:var(--white)!important;background:var(--ink);border-color:var(--ink);transition:background .18s,color .18s,transform .18s,box-shadow .18s,border-color .18s}
.fbc a.btn:hover,.fbc button.btn:hover{background:var(--navy);border-color:var(--navy);color:var(--gold-pale)!important;transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,27,51,.2)}
.fbc a.btn-gold,.fbc button.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}
.fbc a.btn-gold:hover,.fbc button.btn-gold:hover{background:var(--ink);border-color:var(--ink);color:var(--gold)!important}
.fbc a.btn-line,.fbc button.btn-line{background:transparent;border-color:var(--ink);color:var(--ink)!important}
.fbc a.btn-line:hover,.fbc button.btn-line:hover{background:var(--ink);color:var(--gold-pale)!important}
.fbc a.btn-ghost{background:transparent;border-color:rgba(232,217,168,.65);color:var(--white)!important}
.fbc a.btn-ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}
.fbc .band-ink a.btn-line,.fbc .hero a.btn-line,.fbc .card-ink a.btn-line{color:var(--white)!important;border-color:rgba(255,255,255,.65)}
.fbc .band-ink a.btn-line:hover,.fbc .hero a.btn-line:hover,.fbc .card-ink a.btn-line:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}
.fbc .cta-band a.btn-line{color:var(--ink)!important;border-color:var(--ink);background:transparent}
.fbc .cta-band a.btn-line:hover{background:var(--ink);color:var(--gold)!important}
.fbc .cta-band a.btn{background:var(--ink);color:var(--white)!important}
.fbc .cta-band a.btn:hover{background:var(--navy);color:var(--gold-pale)!important}
/* hero atmosphere */
.fbc .hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 55% 70% at 88% 12%,rgba(201,162,39,.26),transparent 62%),linear-gradient(160deg,#0B1B33 0%,#12294B 55%,#16365E 100%)}
.fbc .hero::after{content:'';position:absolute;right:-12vw;bottom:-38vw;width:64vw;height:64vw;max-width:820px;max-height:820px;border-radius:50%;border:1px solid rgba(232,217,168,.14);box-shadow:inset 0 0 0 40px rgba(232,217,168,.03);pointer-events:none}
.fbc .hero .wrap{position:relative;z-index:1}
.fbc .hero h1 em{text-shadow:0 0 48px rgba(201,162,39,.35)}
.fbc .eyebrow::before{content:'';display:inline-block;width:22px;height:2px;background:var(--gold);vertical-align:middle;margin-right:.65rem}
.fbc .band h2::after{content:'';display:block;width:56px;height:3px;background:var(--gold);margin-top:.95rem}
.fbc .cta-band h2::after{background:var(--ink)}
.fbc .band-alt{background:linear-gradient(180deg,var(--paper-2) 0%,#EDEBE2 100%)}
.fbc .cta-band{background:linear-gradient(135deg,var(--gold) 0%,#D8B64C 60%,var(--gold-pale) 100%)}
.fbc blockquote{border-left:0;position:relative;padding-left:2.4rem;font-size:clamp(1.25rem,2.4vw,1.6rem)}
.fbc blockquote::before{content:'\201C';position:absolute;left:0;top:-.3em;font-family:var(--display);font-weight:800;font-size:3.4em;line-height:1;color:var(--gold)}
/* stats + survival ledger */
.fbc .stats{background:rgba(232,217,168,.22);border-color:rgba(232,217,168,.35)}
.fbc .stat{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0)),var(--ink)}
.fbc .stat .n{color:var(--gold);white-space:nowrap}
.fbc .ledger{margin-top:2.75rem;border-top:1px solid rgba(232,217,168,.28);padding-top:1.5rem}
.fbc .ledger-cap{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-pale);margin-bottom:1.5rem}
.fbc .gen{display:grid;grid-template-columns:minmax(120px,170px) 1fr auto;align-items:center;gap:1.25rem;padding:.7rem 0;border-bottom:1px solid rgba(42,76,122,.6)}
.fbc .gen-name{font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em;color:rgba(255,255,255,.72)}
.fbc .gen-track{position:relative;display:block;height:10px;background:rgba(42,76,122,.5)}
.fbc .gen-fill{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:linear-gradient(90deg,var(--gold-deep),var(--gold));animation:fbcGrow 1.1s cubic-bezier(.22,.75,.3,1) both}
.fbc .gen:nth-of-type(2) .gen-fill{animation-delay:.15s}
.fbc .gen:nth-of-type(3) .gen-fill{animation-delay:.3s}
.fbc .gen:nth-of-type(4) .gen-fill{animation-delay:.45s}
@keyframes fbcGrow{from{width:0}}
.fbc .gen-num{font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,3vw,2rem);min-width:3.6ch;text-align:right;color:var(--white);font-variant-numeric:tabular-nums;line-height:1}
.fbc .gen-num sup{font-size:.5em;font-weight:600;margin-left:.1em;color:var(--gold-pale)}
.fbc .ledger-note{margin:1.25rem 0 0;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.62);max-width:66ch}
@media(max-width:620px){.fbc .gen{grid-template-columns:1fr auto;gap:.5rem 1rem}.fbc .gen-track{grid-column:1/-1;order:3}}
@media(prefers-reduced-motion:reduce){.fbc .gen-fill{animation:none}}
/* category cards */
.fbc .cats{counter-reset:fbccat}
.fbc .cat{counter-increment:fbccat;position:relative;overflow:hidden;border:1px solid var(--line);border-top:4px solid var(--gold);background:linear-gradient(180deg,#FFFFFF 0%,#FBFAF5 100%);padding:1.4rem 1.35rem 1.15rem;box-shadow:0 1px 0 rgba(11,27,51,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
.fbc .cat::before{content:counter(fbccat,decimal-leading-zero);position:absolute;right:.55rem;top:-.35rem;font-family:var(--display);font-weight:800;font-size:4.6rem;line-height:1;letter-spacing:-.05em;color:rgba(201,162,39,.16);pointer-events:none;transition:color .2s}
.fbc .cat .num{display:inline-block;align-self:flex-start;background:var(--ink);color:var(--gold);padding:.28rem .6rem;font-size:.625rem;letter-spacing:.14em}
.fbc .cat h3{font-size:1.15rem;color:var(--ink);position:relative}
.fbc .cat p{color:var(--slate);position:relative}
.fbc .cat .tier{color:var(--gold-deep);font-weight:500;border-top-color:rgba(201,162,39,.35)}
.fbc .cat .tier::before{content:'\25C6';color:var(--gold);margin-right:.45rem;font-size:.6rem;vertical-align:middle}
.fbc .cat:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(11,27,51,.14);border-color:var(--navy);border-top-color:var(--gold)}
.fbc .cat:hover::before{color:rgba(201,162,39,.32)}
.fbc .cat:hover h3{color:var(--navy)}
/* other cards and rows */
.fbc .tier{transition:transform .2s,box-shadow .2s}
.fbc .tier:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(11,27,51,.12)}
.fbc .tier-feature{background:linear-gradient(180deg,#FFFDF5 0%,#FFFFFF 100%)}
.fbc .formats>div{border-left:3px solid var(--gold);transition:transform .2s,box-shadow .2s}
.fbc .formats>div:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(11,27,51,.12)}
.fbc .steps{counter-reset:fbcstep}
.fbc .steps>div{counter-increment:fbcstep;position:relative;padding-top:1.1rem}
.fbc .steps>div::before{content:counter(fbcstep,decimal-leading-zero);position:absolute;right:0;top:.6rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--gold-deep)}
.fbc .session-q{font-size:1.1rem;color:var(--gold);font-weight:500}
.fbc .row-item{transition:background .15s;padding-left:.5rem;padding-right:.5rem}
.fbc .row-item:hover{background:rgba(255,255,255,.7)}
.fbc .svc>div{transition:padding-left .2s;border-top-color:rgba(11,27,51,.12)}
.fbc .svc>div:hover{padding-left:.5rem;border-top-color:var(--gold)}
.fbc .people-index .card-ink{border-top:3px solid var(--gold);transition:transform .2s}
.fbc .people-index .card-ink:hover{transform:translateY(-3px)}
.fbc .card-ink{background:linear-gradient(160deg,#0B1B33,#16365E)}
.fbc .card-ink.alt{background:linear-gradient(160deg,#16365E,#1E4A80)}
.fbc .tip{background:linear-gradient(90deg,rgba(201,162,39,.12),rgba(201,162,39,.03))}

/* nav: readable at rest, gold on hover; dropdown on navy */
.main-navigation .main-nav ul li > a,.main-navigation .main-nav ul li a,.main-navigation .menu-toggle{color:rgba(255,255,255,.88)!important;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;transition:color .15s}
.main-navigation .main-nav ul li > a:hover,.main-navigation .main-nav ul li a:focus,.main-navigation .main-nav ul li.current-menu-item > a,.main-navigation .main-nav ul li.current-menu-ancestor > a,.main-navigation .main-nav ul li:hover > a{color:var(--gold)!important}
.main-navigation .main-nav ul ul{background:var(--navy)!important;border-top:2px solid var(--gold)}
.main-navigation .main-nav ul ul li a{color:#fff!important;background:transparent!important}
.main-navigation .main-nav ul ul li a:hover,.main-navigation .main-nav ul ul li:hover > a{color:var(--gold)!important;background:rgba(255,255,255,.06)!important}
.main-navigation .menu-bar-items a,.fbc-nav-buttons a.fbc-login{color:var(--gold-pale)!important}
.main-navigation .menu-bar-items a:hover,.fbc-nav-buttons a.fbc-login:hover{color:#fff!important;border-color:var(--gold)}
.fbc-nav-buttons a.fbc-join{color:var(--ink)!important;background:var(--gold)}
.fbc-nav-buttons a.fbc-join:hover{background:var(--gold-pale);color:var(--ink)!important}
