/* ═══════════════════════════════════════════════════════════
   softerbread — 2026 redesign
   light, editorial, quiet. one accent. real whitespace.
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{
  /* palette — dark brown base, taupe, and soft cream */
  --paper:#242220;
  --paper-2:#342E2A;
  --paper-deep:#171513;
  --ink:#E5D8CF;
  --ink-2:#C9B8AD;
  --mute:#B99F90;
  --line:#5C4C43;
  --accent:#B99F90;
  --accent-soft:#493C36;
  --ok:#B99F90;

  --serif:'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  --sans:'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;

  /* legacy variable aliases — lets not-yet-rewritten pages inherit the
     new palette automatically instead of falling back to unset/black */
  --bg:var(--paper);
  --card:var(--paper-2);
  --ink-soft:var(--mute);
  --green:var(--ink);
  --green-2:var(--ink-2);
  --clay:var(--accent);
  --clay-2:#5C4C43;
  --olive:var(--mute);
  --warm:var(--ink);
  --warm-2:var(--ink-2);
  --c-start:#B99F90;
  --c-sell:var(--accent);
  --c-fund:var(--ok);
  --pv-line:var(--line); --pv-mut:var(--mute); --pv-ink:var(--ink);
  --pv-clay:var(--accent); --pv-gold:#D4C0B1; --pv-olive:var(--mute); --pv-fund:var(--ok);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper-deep);
  color:var(--ink);
  font-family:var(--sans);
  text-transform:lowercase;
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ── elevated site shell ────────────────────────────────────
   The Birthright frame, translated into Softerbread's olive forest palette.
   Every public page inherits the same floating navigation and inset panels. */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:url('img/softerbread-fellows.jpg') center 35%/cover no-repeat fixed;
}
@media(max-width:760px){
  body::before{background-image:url('img/softerbread-fellows-mobile.jpg');background-position:center;}
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;}

/* ── type — scale copied 1:1 from birthright-site-2026 (lede-tuning.css /
   site-shell.css, the rules that actually win the cascade there):
   h1 clamp(1.4rem,2.25vw,1.85rem)/500/1.14/-.02em,
   h2 clamp(1.2rem,2.1vw,1.7rem)/400/1.16,
   eyebrow 10px/500/1.25/.18em. Only color is softerbread's own. ── */
h1,h2,h3,h4{margin:0;font-family:var(--serif);color:var(--ink);font-weight:400;}
body *{text-transform:lowercase;}
h1,h1 *,h2,h2 *,h3,h3 *,h4,h4 *,h5,h5 *,h6,h6 *,.eyebrow,.eyebrow *{text-transform:none;}
input,textarea,select,option{ text-transform:none; }
h1{font-size:clamp(2.2rem,5.5vw,4.6rem);font-weight:500;line-height:1.06;letter-spacing:-.035em;}
h2{font-size:clamp(1.65rem,3.5vw,3rem);font-weight:400;line-height:1.1;letter-spacing:-.025em;}
h3{font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:400;line-height:1.2;letter-spacing:-.01em;}
h4{font-size:15px;line-height:1.35;font-family:var(--sans);font-weight:600;letter-spacing:0;}
em,i{font-style:normal!important;color:var(--accent);}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

.eyebrow{
  font-family:var(--sans);
  font-size:10px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
}

.lead{
  font-family:var(--serif);
  font-size:13px;
  line-height:1.9;
  color:var(--ink-2);
  max-width:56ch;
}

/* ── layout ── */
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(24px,5vw,48px);}
.narrow{max-width:640px;margin-left:auto;margin-right:auto;}
.center{text-align:center;}

section{padding:clamp(48px,8vw,88px) 0;}

.stack > * + *{margin-top:1.25em;}
.stack-lg > * + *{margin-top:2em;}

/* ── nav ── */
.nav{
  position:sticky;top:12px;z-index:50;
  width:min(1120px,calc(100% - 42px));margin:12px auto 0;
  background:none;
  border:0;
}
.nav-in{
  max-width:none;margin:0 auto;
  padding:16px clamp(16px,3vw,24px);
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  position:relative;
}
.nav-brand{
  display:inline-block;
  width:132px;height:22px;
  background:url('img/softerbread-wordmark.png') left center / contain no-repeat;
  overflow:hidden;
  text-indent:-9999px;
  white-space:nowrap;
}
.nav-menu-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--ink);
  padding:6px 4px;
}
.nav-menu-btn svg{width:10px;height:8px;transition:transform .2s;stroke:currentColor;}
.nav-menu-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.nav-links{
  display:none;
  position:absolute;top:100%;right:clamp(24px,5vw,48px);
  margin-top:8px;
  flex-direction:column;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
  min-width:180px;
  box-shadow:0 12px 28px rgba(28,26,23,.08);
}
.nav-links.open{display:flex;}
.nav-links a{
  padding:9px 12px;
  border-radius:6px;
  font-size:14px;
  color:var(--ink-2);
  transition:background .15s,color .15s;
}
.nav-links a:hover{background:var(--paper-2);color:var(--ink);}

/* ── hero (homepage) ── */
/* .hero-frame = backdrop (black). .hero = the elevated panel — radius,
   shadow and margin copied 1:1 from birthright-site-2026's .site-frame
   (width:min(1480px,calc(100% - 112px)); margin:56px auto; radius:24px;
   shadow:0 30px 76px rgba(0,0,0,.34); mobile: margin 16px auto, radius 16px,
   shadow 0 18px 42px rgba(0,0,0,.3)). Panel fill = softerbread's deeper
   green (--paper-2); text/accent = softerbread's own. */
.hero-frame{
  width:min(1480px,calc(100% - 112px));margin:16px auto 0;
  border-radius:24px;background:var(--paper);
  box-shadow:0 30px 76px rgba(0,0,0,.34);overflow:hidden;
}
.hero{
  position:relative;
  width:100%;
  margin:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:clamp(56px,10vw,120px) clamp(24px,5vw,64px) clamp(48px,8vw,90px);
}
@media(max-width:760px){
  .nav{width:calc(100% - 24px);top:8px;margin-top:8px;border-radius:12px;}
  .hero-frame{width:calc(100% - 32px);margin:16px auto 0;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.3);}
}

main{
  width:min(1480px,calc(100% - 112px));margin:16px auto 56px;
  border-radius:24px;overflow:visible;background:transparent;
  box-shadow:none;display:flex;flex-direction:column;gap:clamp(18px,2.2vw,30px);
}
main > section{padding-left:clamp(16px,3vw,48px);padding-right:clamp(16px,3vw,48px);background:var(--paper);border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.22);}
.brl-wrap{
  width:min(1480px,calc(100% - 112px));margin:16px auto 56px;
  border:0!important;border-radius:24px;background:var(--paper);
  box-shadow:0 30px 76px rgba(0,0,0,.34);
}
@media(max-width:760px){
  main{width:calc(100% - 32px);margin:16px auto 32px;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.3);}
  .brl-wrap{width:calc(100% - 32px);margin:16px auto 32px;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.3);}
}
@media(max-width:520px){
  .hero-frame{width:calc(100% - 16px);margin:8px auto 0;}
  main,.brl-wrap{width:calc(100% - 16px);margin:8px auto 24px;}
  main > section{padding-left:8px;padding-right:8px;}
  .wrap{padding-left:16px;padding-right:16px;}
}

/* ── softerbread home: open rooms ─────────────────────────── */
body.open-rooms-home{background:#242220;color:#f3eee9;font-size:12px;}
body.open-rooms-home::before{display:none;}
.open-rooms-home .nav{width:auto;margin:0;position:relative;top:auto;border-radius:0;}
.open-rooms-home .nav-in{padding:25px clamp(22px,4vw,64px);border-bottom:1px solid rgba(243,238,233,.22);}
.open-rooms-home .nav-brand{width:auto;height:auto;background:none;text-indent:0;color:#f3eee9;font:400 clamp(1.45rem,2.3vw,2.15rem)/1 'IBM Plex Mono',monospace;letter-spacing:-.08em;}
.open-rooms-home .nav-menu-btn{font-size:.72rem;color:#f3eee9;text-transform:lowercase;}
.open-rooms-home .nav-links{right:clamp(22px,4vw,64px);background:#242220;border-color:rgba(243,238,233,.22);border-radius:0;}
.open-rooms-home .nav-links a{color:#f3eee9;text-transform:lowercase;}
.open-rooms-home .nav-links a:hover{background:#342e2a;color:#f3eee9;}
.open-rooms-main{width:auto;min-height:calc(100vh - 73px);margin:0;padding:clamp(64px,10vw,140px) clamp(22px,7vw,110px) clamp(110px,15vw,200px);border-radius:0;background:none;box-shadow:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(38px,7vw,120px);align-content:start;}
.open-rooms-label{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:0 0 clamp(40px,5vw,72px);font:300 1rem/1.35 'IBM Plex Mono',monospace;color:#f3eee9;text-transform:lowercase;letter-spacing:0;}
.open-rooms-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#b65b43;animation:softer-open-dot 1.8s ease-in-out infinite;}
@keyframes softer-open-dot{0%,100%{opacity:.38;transform:scale(.78)}50%{opacity:1;transform:scale(1)}}
.open-rooms-group{padding:24px 0 clamp(76px,9vw,130px);border-top:1px solid rgba(243,238,233,.22);background:none!important;box-shadow:none!important;border-radius:0!important;}
.open-rooms-group h2{margin:0 0 clamp(42px,6vw,82px);font:400 .9rem/1.5 'IBM Plex Mono',monospace;color:#f3eee9;text-transform:lowercase;letter-spacing:0;}
.open-rooms-group a{display:flex;flex-direction:column;gap:8px;color:#f3eee9;text-decoration:none;}
.open-room-name{font-size:1rem;line-height:1.45;}
.open-room-note{opacity:0;transform:translateY(3px);font-size:.85rem;line-height:1.6;transition:opacity .35s ease,transform .35s ease;}
.open-rooms-group a:hover .open-room-note,.open-rooms-group a:focus-visible .open-room-note{opacity:.62;transform:none;}
.open-rooms-home .brl-wrap{display:none;}
@media(max-width:760px){.open-rooms-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:60px 18px 90px;}.open-rooms-label{margin-bottom:38px;}.open-rooms-group{padding:20px 0 70px;}.open-rooms-group h2{font-size:.72rem;margin-bottom:32px;}.open-room-name{font-size:.78rem;overflow-wrap:anywhere;}.open-room-note{font-size:.65rem;opacity:.55;transform:none;}}

/* ── bouncing stress ball ── */
.hero{overflow:visible;}
.hero-in{
  display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,64px);
  align-items:center;
}
.hero-text{min-width:0;}
.hero-ball-wrap{
  display:flex;justify-content:center;align-items:center;
}
.stress-ball-container{display:flex;align-items:center;justify-content:center;min-height:clamp(120px,24vw,195px);padding:12px;}
.ball-stage{position:relative;width:clamp(120px,24vw,195px);height:clamp(120px,24vw,195px);display:flex;align-items:center;justify-content:center;}
@media(max-width:900px){
  .hero-in{grid-template-columns:1fr;}
  .hero-ball-wrap{order:-1;}
}
.stress-ball{
  --ball-color-primary:var(--accent);
  --ball-color-dark:#4A3D37;
  --ball-highlight:#F7E2A0;
  width:clamp(92px,19vw,151px);height:clamp(92px,19vw,151px);border-radius:50%;
  background:radial-gradient(circle at 32% 28%,var(--ball-highlight) 0%,var(--ball-color-primary) 38%,var(--ball-color-dark) 82%);
  box-shadow:inset -8px -12px 24px rgba(0,0,0,.35),inset 6px 8px 16px rgba(255,255,255,.35);
  transform-origin:bottom center;cursor:pointer;user-select:none;touch-action:none;opacity:0;pointer-events:auto;
}
.stress-ball::before{
  content:'';position:absolute;top:15%;left:20%;width:32%;height:22%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 70%);
  border-radius:50%;transform:rotate(-25deg);pointer-events:none;
}
.ground-shadow{position:absolute;bottom:5px;width:clamp(78px,16vw,130px);height:clamp(12px,2.4vw,20px);background:rgba(0,0,0,.22);border-radius:50%;filter:blur(5px);z-index:-1;opacity:0;}

.stress-ball.is-dropping{opacity:1;animation:ballDropIn 1.9s cubic-bezier(.25,.1,.25,1) forwards;}
.ground-shadow.is-dropping{opacity:.6;animation:shadowDropIn 1.9s cubic-bezier(.25,.1,.25,1) forwards;}
.stress-ball.is-idle{opacity:1;animation:squishCycle 9.5s cubic-bezier(.45,.05,.55,.95) infinite;}
.ground-shadow.is-idle{opacity:.6;animation:shadowCycle 9.5s cubic-bezier(.45,.05,.55,.95) infinite;}
.stress-ball.is-pressing{opacity:1;animation:ballPress .26s cubic-bezier(.45,.05,.55,.95) forwards;}
.ground-shadow.is-pressing{opacity:.6;animation:shadowPress .26s cubic-bezier(.45,.05,.55,.95) forwards;}
.stress-ball.is-release{opacity:1;animation:ballRelease .7s cubic-bezier(.34,1.56,.64,1) forwards;}
.ground-shadow.is-release{opacity:.6;animation:shadowRelease .7s cubic-bezier(.34,1.56,.64,1) forwards;}

@keyframes ballDropIn{
  0%{transform:translateY(-380px) scale(1,1);opacity:0;}
  3%{opacity:1;}
  38%{transform:translateY(0) scale(1,1);}
  42%{transform:translateY(10px) scale(1.18,.78);}
  58%{transform:translateY(-170px) scale(.95,1.06);}
  72%{transform:translateY(6px) scale(1.1,.86);}
  84%{transform:translateY(-55px) scale(.97,1.03);}
  92%{transform:translateY(3px) scale(1.03,.98);}
  96%{transform:translateY(-12px) scale(.99,1.01);}
  100%{transform:translateY(0) scale(1,1);}
}
@keyframes shadowDropIn{
  0%,38%{transform:scale(.4,.4);opacity:0;}
  42%{transform:scale(1.4,1.45);opacity:.85;}
  58%{transform:scale(.55,.55);opacity:.25;}
  72%{transform:scale(1.2,1.25);opacity:.7;}
  84%{transform:scale(.8,.8);opacity:.4;}
  100%{transform:scale(1,1);opacity:.6;}
}
@keyframes squishCycle{
  0%,100%{transform:translateY(0) scale(1,1);}
  42%{transform:translateY(46px) scale(1.14,.78);}
  54%{transform:translateY(-16px) scale(.94,1.06);}
  64%{transform:translateY(4px) scale(1.02,.98);}
  74%{transform:translateY(0) scale(1,1);}
}
@keyframes shadowCycle{
  0%,100%{transform:scale(1,1);opacity:.6;}
  42%{transform:scale(1.4,1.44) translateY(6px);opacity:.85;}
  54%{transform:scale(.86,.78) translateY(-3px);opacity:.4;}
  74%{transform:scale(1,1);opacity:.6;}
}
@keyframes ballPress{
  0%{transform:translateY(0) scale(1,1);}
  100%{transform:translateY(23px) scale(1.14,.82);}
}
@keyframes shadowPress{
  0%{transform:scale(1,1);opacity:.6;}
  100%{transform:scale(1.3,1.35);opacity:.8;}
}
@keyframes ballRelease{
  0%{transform:translateY(23px) scale(1.14,.82);}
  40%{transform:translateY(-13px) scale(.94,1.08);}
  65%{transform:translateY(5px) scale(1.04,.97);}
  85%{transform:translateY(-3px) scale(.99,1.01);}
  100%{transform:translateY(0) scale(1,1);}
}
@keyframes shadowRelease{
  0%{transform:scale(1.3,1.35);opacity:.8;}
  40%{transform:scale(.85,.8);opacity:.45;}
  100%{transform:scale(1,1);opacity:.6;}
}
@media(prefers-reduced-motion:reduce){
  .stress-ball,.ground-shadow{animation:none!important;opacity:1!important;transform:none!important;}
}
.hero .eyebrow{margin-bottom:28px;}
.hero h1{max-width:26ch;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;}
.hero-rotate{display:inline-block;transition:opacity .28s ease,transform .28s ease;}
.hero-rotate.is-out{opacity:0;transform:translateY(6px);}

/* home hero — quiet background float, never a bouncing side object */
.hero-in{display:block;position:relative;isolation:isolate;}
.hero-text{position:relative;z-index:1;}
.hero-ball-wrap{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;opacity:.22;pointer-events:none;}
.stress-ball-container{min-height:0;padding:0;}
.ball-stage{width:clamp(260px,42vw,440px);height:clamp(260px,42vw,440px);}
.stress-ball{width:clamp(180px,30vw,310px);height:clamp(180px,30vw,310px);opacity:1!important;pointer-events:none;animation:ballFloat 14s ease-in-out infinite!important;}
.ground-shadow{display:none;}
@keyframes ballFloat{0%,100%{transform:translate3d(-5%,5%,0) scale(.96);}50%{transform:translate3d(6%,-7%,0) scale(1.04);}}
@media(prefers-reduced-motion:reduce){.stress-ball{animation:none!important;transform:translate3d(0,0,0)!important;}}

.hero-ctas-lg{display:flex;gap:9px;flex-wrap:wrap;margin-top:34px;}
.cta-lg{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.03em;
  padding:11px 18px;border-radius:999px;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  transition:background .15s,color .15s,border-color .15s,transform .15s;
}
.cta-lg:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px);}
@media(max-width:560px){.hero-ctas-lg{flex-direction:column;}.cta-lg{width:100%;}}
.hero .sub{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.9;
  color:var(--ink-2);
  max-width:56ch;
  margin-top:28px;
}

/* ── page header (interior pages) ── */
.phead,.fund-hero{
  width:min(1480px,calc(100% - 112px));
  margin:16px auto 0;
  border-radius:24px;
  background:var(--paper);
  box-shadow:0 30px 76px rgba(0,0,0,.34);
  overflow:hidden;
}
.phead{padding:clamp(64px,10vw,120px) 0 clamp(40px,7vw,80px);}
.phead .eyebrow{margin-bottom:20px;}
.phead h1{max-width:24ch;}
.phead .sub{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.9;
  color:var(--ink-2);
  max-width:56ch;
  margin-top:24px;
}
@media(max-width:760px){
  .phead,.fund-hero{width:calc(100% - 32px);margin:16px auto 0;border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.3);}
}
.crumbs{
  font-size:12px;color:var(--mute);
  margin-bottom:20px;letter-spacing:.02em;
}
.crumbs a{border-bottom:1px solid transparent;transition:border-color .15s;}
.crumbs a:hover{border-color:var(--mute);}

/* ── ctas — geometry copied from birthright-site-2026's .btn/.nav-cta ── */
.cta,.b-cta,.submit{
  display:inline-flex;align-items:center;gap:8px;min-height:38px;
  font-family:var(--sans);
  font-size:13px;font-weight:500;letter-spacing:.03em;
  padding:10px 18px;
  border-radius:999px;
  transition:background .15s,color .15s,border-color .15s,transform .15s;
  text-transform:none;
  cursor:pointer;
}
.cta:hover,.b-cta:hover,.submit:hover{transform:translateY(-1px);}
.cta.primary,.b-cta.primary,.submit{
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
}
.cta.primary:hover,.b-cta.primary:hover,.submit:hover{
  background:var(--accent);border-color:var(--accent);
}
.cta.ghost,.b-cta.ghost{
  background:transparent;color:var(--ink);
  border:1px solid var(--line);
}
.cta.ghost:hover,.b-cta.ghost:hover{border-color:var(--ink);}
.ctas,.warm-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px;}

/* inline arrow link */
.link{
  color:var(--ink);
  border-bottom:1px solid var(--line);
  padding-bottom:2px;
  transition:border-color .15s,color .15s;
}
.link:hover{color:var(--accent);border-color:var(--accent);}
.link-clay{color:var(--accent);border-bottom:1px solid transparent;transition:border-color .15s;}
.link-clay:hover{border-color:var(--accent);}

/* ── impact strip ── */
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,4vw,48px);
  padding:clamp(32px,5vw,56px) 0;
}
.stat{text-align:left;}
.stat .num{
  font-family:var(--serif);
  font-size:clamp(26px,3.2vw,34px);
  line-height:1;color:var(--ink);
}
.stat .lbl{
  font-size:12px;color:var(--mute);
  margin-top:6px;letter-spacing:.02em;
}
@media(max-width:680px){.stats{grid-template-columns:repeat(2,1fr);row-gap:32px;}}

/* ── two-column feature cards ── */
.pair{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-top:48px;
}
.card{
  padding:32px 30px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
  display:flex;flex-direction:column;
  transition:border-color .18s,background .18s;
}
.card:hover{border-color:var(--ink);background:var(--paper-2);}
.card .k{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);margin-bottom:16px;
}
.card h3{margin-bottom:10px;}
.card p{color:var(--ink-2);font-size:15px;flex:1;}
.card .arr{
  margin-top:20px;font-size:13px;
  color:var(--accent);font-weight:500;
}
@media(max-width:680px){.pair{grid-template-columns:1fr;}}

/* ── philosophy row ── */
.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:48px;
}
.step{padding-top:24px;border-top:1px solid var(--line);}
.step .n{
  font-family:var(--serif);font-size:20px;
  color:var(--accent);margin-bottom:8px;
}
.step h3{font-size:18px;margin-bottom:8px;}
.step p{font-size:14px;color:var(--ink-2);}
@media(max-width:680px){.steps{grid-template-columns:1fr;}}

.steps-5{grid-template-columns:repeat(5,1fr);}
@media(max-width:480px){.steps-5{grid-template-columns:1fr;}}
@media(min-width:481px) and (max-width:900px){.steps-5{grid-template-columns:repeat(2,1fr);}}

.vmeta{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;}
@media(max-width:520px){.vmeta{grid-template-columns:1fr;}}

/* ── venture grid ── */
.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:40px;
}
.grid .card h3{font-family:var(--serif);font-size:18px;}
.grid .card .meta{
  font-size:11px;color:var(--mute);
  letter-spacing:.06em;margin-top:12px;
}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.grid{grid-template-columns:1fr;}}

/* ── legacy component shims (so unmodified interior pages don't break) ── */
.sec{padding:clamp(72px,10vw,120px) 0;}
.kicker{
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;display:inline-block;
}
.sec h2{font-family:var(--serif);font-weight:400;}
.sec .lead{margin:20px 0 32px;}
.sec .body{font-size:15px;color:var(--ink-2);max-width:62ch;line-height:1.7;}

.cards3,.mq-track,.feat,.shelf,.provides,.tracks,.factbar,.split{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;
}
.tracks,.split,.factbar{grid-template-columns:repeat(2,1fr);}
.fcard,.mq-card,.fitem,.item,.board-card,.pcell,.track,.panel,.fact{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px 26px;
  transition:border-color .18s,background .18s;
  animation:none;box-shadow:none;
  color:var(--ink);
}
.fcard:hover,.mq-card:hover,.fitem:hover,.item:hover,.board-card:hover,.pcell:hover,.track:hover{
  border-color:var(--ink);background:var(--paper-2);
}
.fcard h3,.mq-card h4,.fitem h4,.item h4,.board-card h4,.pcell h4,.track h4,.panel h3{
  font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.25;color:var(--ink);margin:0 0 10px;
}
.fcard p,.mq-card p,.fitem p,.item .desc,.pcell p,.fact p{
  font-size:14px;color:var(--ink-2);line-height:1.6;margin:0 0 20px;
}
.fcard .fn,.mq-card .meta,.fitem .ftag,.item-tag,.board-card .loc,
.pcell .lbl,.track .role,.fact .k,.panel .plbl{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px;display:block;
}
.fcard .fcta,.fitem .farr,.item .arr{
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin-top:auto;
  border:0;padding-top:16px;
}

.iicon{width:22px;height:22px;color:var(--accent);margin-bottom:16px;stroke-width:1.3;}
.mute{color:var(--mute);}

.tiernav{display:flex;gap:10px;flex-wrap:wrap;margin:40px 0 8px;}
.tiernav a{
  padding:10px 18px;border-radius:999px;
  background:transparent;border:1px solid var(--line);color:var(--ink-2);
  font-size:13px;transition:border-color .15s,color .15s;
}
.tiernav a:hover{border-color:var(--ink);color:var(--ink);}
.tiernav a b{color:var(--accent);font-weight:500;margin-right:6px;}

.tier{padding:56px 0 8px;}
.tier-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  margin-bottom:32px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:20px;
}
.tier-head h3{font-family:var(--serif);font-weight:400;font-size:clamp(19px,2.2vw,24px);}
.tier-head h3 em{font-style:italic;color:var(--accent);}
.tier-head .meta{font-size:12px;color:var(--mute);text-align:right;line-height:1.7;}
.tier-head .meta b{color:var(--ink);font-weight:500;}
@media(max-width:700px){.tier-head{flex-direction:column;align-items:flex-start;}.tier-head .meta{text-align:left;}}
.item .foot{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:16px;border-top:1px solid var(--line);gap:10px;
}
.item .price,.fitem .fprice{
  font-family:var(--serif);font-size:18px;color:var(--ink);font-style:normal;font-weight:400;
}
.item .price.free,.fitem .fprice.free{color:var(--ok);}
.panel{background:var(--card);}
.panel li{
  font-size:14px;line-height:1.6;color:var(--ink-2);
  padding:8px 0 8px 18px;position:relative;
  border-top:1px solid var(--line);list-style:none;
}
.panel li:first-child{border-top:none;}
.panel li::before{
  content:"";position:absolute;left:0;top:16px;width:5px;height:5px;border-radius:50%;background:var(--accent);
}
.panel ul{padding:0;margin:0;}

/* forms */
.formsec{padding:clamp(64px,9vw,110px) 0;background:var(--paper-2);}
.form-warm,.form-clay{background:var(--paper-2);color:var(--ink);}
.formsec .kicker,.formsec h2 em,.form-clay .kicker,.form-clay h2 em{color:var(--accent);}
.the-form{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:14px;
  padding:32px 30px;
  margin-top:28px;
  max-width:720px;
}
.field{margin-top:18px;}
.field:first-child{margin-top:0;}
.field label{
  display:block;font-size:12px;font-weight:500;
  letter-spacing:.04em;color:var(--ink-2);
  margin-bottom:6px;text-transform:none;
}
.field input,.field select,.field textarea{
  width:100%;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.4;
  transition:border-color .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--ink);
}
.field input::placeholder,.field textarea::placeholder{color:var(--mute);}
.field textarea{resize:vertical;min-height:96px;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.two:first-child{margin-top:0;}
.two>.field{margin-top:0;}
@media(max-width:640px){.two{grid-template-columns:1fr;}}
.mcheck{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.mcheck label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);border:1px solid var(--line);padding:9px 13px;border-radius:999px;cursor:pointer;background:var(--paper);transition:border-color .15s,background .15s;}
.mcheck label:hover{border-color:var(--accent);}
.mcheck input{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;}
.mcheck label:has(input:checked){border-color:var(--accent);background:var(--paper-2);color:var(--ink);}
.mcheck label:has(input:disabled){opacity:.4;cursor:not-allowed;}
.submit-row{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);}
.helper{font-size:12px;color:var(--mute);margin:8px 0 0;line-height:1.6;}
.msg{margin-top:14px;font-size:13px;color:var(--ink-2);}
.msg.err{color:#8B2F2F;}

/* accordion */
.acc{
  background:transparent;
  border:1px solid var(--line);
  border-radius:10px;margin-top:12px;overflow:hidden;
}
.acc[open]{border-color:var(--ink);}
.acc>summary{
  list-style:none;display:flex;align-items:center;gap:14px;
  padding:18px 20px;cursor:pointer;user-select:none;
}
.acc>summary::-webkit-details-marker{display:none;}
.acc .acc-num{font-size:12px;color:var(--accent);font-weight:500;flex-shrink:0;}
.acc .acc-title{font-family:var(--serif);font-size:16px;flex:1;color:var(--ink);}
.acc .acc-hint{font-size:12px;color:var(--mute);}
.acc .acc-arrow{font-size:20px;color:var(--accent);transition:transform .2s;}
.acc[open]>summary .acc-arrow{transform:rotate(45deg);}
.acc .acc-body{padding:6px 20px 22px;border-top:1px solid var(--line);}

/* prose (about, terms, privacy) */
.prose{max-width:640px;}
.prose h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(19px,2.2vw,24px);
  margin:40px 0 14px;letter-spacing:-.005em;
}
.prose h2:first-child{margin-top:0;}
.prose p{
  font-size:15px;line-height:1.65;color:var(--ink-2);
  margin:0 0 16px;font-family:var(--sans);
}
.prose strong{color:var(--ink);font-weight:600;}
.prose a.inline,.prose a.link{
  color:var(--ink);border-bottom:1px solid var(--line);
}
.prose a.inline:hover,.prose a.link:hover{color:var(--accent);border-color:var(--accent);}

.qa{border-top:1px solid var(--line);padding:20px 0;}
.qa .q{font-family:var(--serif);font-size:16px;color:var(--ink);margin-bottom:6px;}
.qa .a{font-size:14px;line-height:1.65;color:var(--ink-2);}

/* buy sidebar */
.prod-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:start;margin-top:12px;}
@media(max-width:800px){.prod-grid{grid-template-columns:1fr;}}
.pbuy{
  position:sticky;top:100px;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:14px;padding:26px 24px;
}
.pbuy .ptier{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px;}
.pbuy .pprice{font-family:var(--serif);font-size:30px;color:var(--ink);line-height:1;margin-bottom:4px;}
.pbuy .pprice small{font-size:12px;color:var(--mute);letter-spacing:.06em;text-transform:uppercase;margin-left:6px;font-family:var(--sans);}
.pbuy .psub{font-family:var(--serif);font-size:16px;color:var(--ink-2);margin-bottom:18px;}
.pbuy .buy{
  display:block;text-align:center;width:100%;
  padding:14px 22px;border-radius:999px;
  background:var(--ink);color:var(--paper);
  font-size:14px;font-weight:500;
  transition:background .15s;
}
.pbuy .buy:hover{background:var(--accent);}
.pbuy .pmeta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}
.pbuy .pmeta div{
  font-size:12px;color:var(--mute);
  display:flex;justify-content:space-between;padding:4px 0;
}
.pbuy .pmeta div b{color:var(--ink);font-weight:500;}

/* footer */
.brl-wrap{background:var(--paper-2);border-top:1px solid var(--line);padding:clamp(56px,7vw,84px) 0;}
.brl-inner{max-width:1100px;margin:0 auto;padding:0 clamp(24px,5vw,48px);}
.brl-belief{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(18px,2vw,22px);color:var(--ink);
  margin:0 0 32px;max-width:32ch;line-height:1.3;
}
.ftr-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  margin-bottom:36px;padding-bottom:32px;border-bottom:1px solid var(--line);
}
@media(max-width:700px){.ftr-grid{grid-template-columns:repeat(2,1fr);}}
.ftr-col{display:flex;flex-direction:column;gap:10px;}
.ftr-col .ftr-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px;}
.ftr-col a{font-size:13px;color:var(--ink-2);transition:color .15s;}
.ftr-col a:hover{color:var(--accent);}
.brl-id{
  display:flex;align-items:center;gap:14px;
  padding-bottom:24px;margin-bottom:24px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.brl-pill{
  display:inline-flex;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 10px;border-radius:99px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);
}
.brl-id .brl-sub{font-size:12px;color:var(--mute);}
.brl-id .brl-link-tag{
  font-size:12px;color:var(--ink);
  border-bottom:1px solid var(--line);padding-bottom:2px;
  margin-left:auto;font-weight:500;
}
.brl-id .brl-link-tag:hover{border-color:var(--accent);color:var(--accent);}
.brl-identity{
  font-family:var(--serif);font-style:italic;font-size:17px;
  line-height:1.5;color:var(--ink-2);margin:0 0 24px;max-width:60ch;
}
.brl-legal{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.brl-legal p{font-size:11px;color:var(--mute);margin:0;line-height:1.7;}
.brl-legal a{color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:1px;}
.brl-legal a:hover{border-color:var(--accent);color:var(--accent);}

/* reveal (kept as no-op so old .reveal classes still show) */
.reveal{opacity:1;transform:none;}
.reveal.in{opacity:1;transform:none;}

/* focus */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* misc responsive fallbacks */
@media(max-width:900px){
  .pair,.cards3,.mq-track,.feat,.shelf,.provides,.tracks,.factbar,.split{grid-template-columns:1fr;}
  .pbuy{position:static;}
  .brl-legal{flex-direction:column;gap:6px;}
  .brl-id .brl-link-tag{margin-left:0;}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}

/* Site copy is lower-case by default; display headings and eyebrows as authored. */
body *{text-transform:lowercase!important;}
input,textarea,select,option{ text-transform:none!important; }
.softer-name,.softer-name *{text-transform:none!important;}
.eyebrow,.eyebrow *{text-transform:uppercase!important;}
.eyebrow .softer-name,.eyebrow .softer-name *{text-transform:none!important;}

/* Cleanup pass: one quiet, elevated surface system. */
.card,.fcard,.mq-card,.fitem,.item,.board-card,.pcell,.track,.panel,.fact,.the-form,.pbuy,
.mcheck label,.tiernav a,.acc,.brl-pill,.nav-links{
  border:0!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.card:hover,.fcard:hover,.mq-card:hover,.fitem:hover,.item:hover,.board-card:hover,.pcell:hover,.track:hover{
  border:0!important;box-shadow:0 16px 34px rgba(0,0,0,.25);
}
.cta,.cta-lg,.b-cta,.submit,.cta.primary,.cta.ghost,.b-cta.primary,.b-cta.ghost{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
}
.lead,.sub{font-size:clamp(1rem,1.5vw,1.15rem)!important;line-height:1.65;}
@media(max-width:520px){
  .nav-in{padding:12px 14px;gap:12px;}
  .nav-links{right:0;min-width:min(260px,calc(100vw - 32px));}
  .ftr-grid{grid-template-columns:1fr;gap:24px;}
  .ftr-col{gap:8px;}
  .card,.fcard,.mq-card,.fitem,.item,.board-card,.pcell,.track,.panel,.fact{padding:22px 20px;}
}

/* Home dark panels: legacy rules used --paper as a light text token after
   the palette changed it to a dark surface. Keep every interactive label and
   display heading bright against the deep green backgrounds. */
.fellow-support,.fellow-support h2,.insights-section .insight-title{color:var(--ink)!important;}
.fellow-support .support-copy,.insights-section .insight-copy{color:rgba(246,242,235,.88)!important;}
.fellow-support .support-category,.fellow-support .support-select,.fellow-support .support-add,
.fellow-support .support-item strong,.fellow-support .support-remove,.fellow-support .support-total strong,
.fellow-support .support-actions .cta,.insights-section .cta{color:var(--ink)!important;}
.fellow-support .support-select option{color:var(--ink)!important;}
.fellow-support .support-category[aria-pressed="true"]{color:var(--paper-deep)!important;}

/* Mobile legibility and touch targets. */
.nav-menu-btn{min-height:44px;min-width:44px;font-size:13px;}
.support-category{min-height:44px;font-size:13px!important;}
.field label{font-size:13px;}
@media(max-width:520px){
  .crumbs,.crumbs a{font-size:13px;}
  .ftr-col a{font-size:13px;}
  .support-note{font-size:13px;}
}

/* High-contrast controls on dark surfaces. One outlined CTA system. */
.cta,.cta-lg,.b-cta,.submit,.cta.primary,.cta.ghost,.b-cta.primary,.b-cta.ghost,
.nav-menu-btn{
  color:var(--ink)!important;
  border:2px solid var(--ink)!important;
  background:rgba(243,240,230,.08)!important;
  font-weight:600;
}
.cta:hover,.cta-lg:hover,.b-cta:hover,.submit:hover,.cta.primary:hover,.cta.ghost:hover,
.b-cta.primary:hover,.b-cta.ghost:hover,.nav-menu-btn:hover{
  color:var(--paper-deep)!important;
  border-color:var(--accent)!important;
  background:var(--accent)!important;
}
.support-category{border:1px solid rgba(243,240,230,.55)!important;}
.support-category[aria-pressed="true"]{border-color:var(--accent)!important;}
body .insights-section .cta{
  color:var(--ink)!important;
  border-color:var(--ink)!important;
  background:rgba(243,240,230,.08)!important;
}
body .insights-section .cta:hover,body .insights-section .cta:focus-visible{
  color:var(--paper-deep)!important;
  border-color:var(--accent)!important;
  background:var(--accent)!important;
}

/* Financial literacy → financial autonomy */
.autonomy-section{background:var(--paper);}
.autonomy-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,110px);align-items:start;}
.autonomy-intro h2{margin-top:14px;max-width:13ch;}
.autonomy-intro .lead{margin-top:22px;max-width:32ch;}
.autonomy-shifts{border-top:1px solid var(--line);}
.autonomy-shifts>p:not(.autonomy-program):not(.autonomy-progress){display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.15fr);gap:12px;align-items:center;margin:0;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;}
.autonomy-shifts span{color:var(--mute);}.autonomy-shifts b{color:var(--accent);font-size:18px;font-weight:400;text-align:center;}.autonomy-shifts strong{color:var(--ink);font-weight:500;}
.autonomy-program{margin:26px 0 0;font-size:15px;line-height:1.65;color:var(--ink-2);max-width:54ch;}
.autonomy-progress{margin:24px 0!important;font-size:14px;letter-spacing:.04em;color:var(--ink);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.autonomy-shifts .cta{margin-top:0;}
@media(max-width:760px){.autonomy-grid{grid-template-columns:1fr;gap:34px;}.autonomy-intro h2{max-width:16ch;}.autonomy-shifts>p:not(.autonomy-program):not(.autonomy-progress){grid-template-columns:1fr 20px 1fr;gap:8px;font-size:13px;padding:15px 0;}.autonomy-program{font-size:14px;}.autonomy-progress{font-size:13px;}}

/* One CTA system: every action is the same outlined control. */
.cta,.cta-lg,.b-cta,.submit,
.cta.primary,.cta.ghost,.b-cta.primary,.b-cta.ghost,.submit{
  background:transparent!important;
  color:var(--ink)!important;
  border:1px solid var(--line)!important;
}
.cta:hover,.cta-lg:hover,.b-cta:hover,.submit:hover,
.cta.primary:hover,.cta.ghost:hover,.b-cta.primary:hover,.b-cta.ghost:hover,.submit:hover{
  background:transparent!important;
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}

/* Public-site cleanup: one readable, mobile-first page rhythm. */
.clean-hero{padding:clamp(110px,17vw,190px) 0 clamp(64px,10vw,120px);}
.clean-hero{position:relative;isolation:isolate;}
.clean-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(36,34,32,.74) 0%,rgba(36,34,32,.54) 48%,rgba(36,34,32,.24) 100%);}
.clean-hero h1{max-width:11ch;font-size:clamp(4rem,8vw,6.9rem);line-height:.96;font-weight:400!important;}
.clean-hero .lead,.phead .sub{max-width:42ch;}
.clean-hero .lead{max-width:42ch;}
.clean-hero .lead{color:var(--ink)!important;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.clean-hero .eyebrow{color:var(--accent)!important;text-shadow:0 2px 8px rgba(0,0,0,.45);}
.hero-status{display:flex;align-items:center;gap:8px;}
.status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#b24d46;animation:status-cycle 4s steps(1,end) infinite;}
@keyframes status-cycle{0%,24%{background:#b24d46;}25%,49%{background:#c9a05b;}50%,74%{background:#b24d46;}75%,100%{background:#8d9b7d;}}
.good-word{display:inline;white-space:nowrap;}
.good-word span{color:var(--accent);font-size:.86em;letter-spacing:-.1em;}
/* Shared public-page card and spacing system. */
.grid,.pair{align-items:stretch;}
.grid .card,.pair .card,main>section>.wrap>.card{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:100%;
  margin:0;
}
.grid .card>.eyebrow,.pair .card>.eyebrow,main>section>.wrap>.card>.eyebrow{margin:0 0 14px;flex:0 0 auto;}
.grid .card>h2,.grid .card>h3,.pair .card>h2,.pair .card>h3,main>section>.wrap>.card>h2{margin:0 0 12px;}
.grid .card>p:not(.eyebrow),.pair .card>p:not(.eyebrow),main>section>.wrap>.card>p:not(.eyebrow){margin:0 0 22px;}
.grid .card>.cta,.pair .card>.cta,main>section>.wrap>.card>.cta{align-self:flex-start;margin-top:auto;}
html,body{overflow-x:hidden;}
main>section{padding:clamp(56px,8vw,108px) 0;background:rgba(36,34,32,.98);}
main>section:nth-of-type(even){background:rgba(73,60,54,.96);}
.final-cta{text-align:center;background:var(--paper-deep)!important;color:var(--paper);}
.final-cta,.final-cta *{color:var(--ink)!important;}
.final-cta h2,.final-cta p{color:var(--ink)!important;margin-left:auto;margin-right:auto;max-width:28ch;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.final-cta .ctas{justify-content:center;}
.final-cta .cta{color:var(--ink)!important;border-color:var(--ink)!important;background:transparent!important;}
.final-cta .cta:hover{color:var(--paper-deep)!important;background:var(--accent)!important;border-color:var(--accent)!important;}
.phead{padding:clamp(108px,15vw,170px) 0 clamp(48px,7vw,82px);}
.phead .helper{margin-top:18px;}
.grid{gap:18px;}
.grid .card,.pair .card{padding:clamp(22px,3vw,34px);border:0!important;box-shadow:0 14px 32px rgba(36,34,32,.18)!important;}
.grid .card h2,.pair .card h2{font-size:clamp(1.45rem,2.4vw,2.15rem);}
.school-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,6vw,84px);margin-top:24px;}
.school-room{display:block;padding:20px 0 0;border-top:1px solid var(--line);color:var(--ink);}
.school-room .eyebrow{margin:0 0 18px;color:var(--mute);}
.school-room h2{font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.15;}
.school-room:hover h2,.school-room:focus-visible h2{color:var(--accent);}
.card p,.plist{line-height:1.65;}
.ctas{gap:12px;flex-wrap:wrap;}
.cta .softer-name{display:contents!important;white-space:nowrap;}
.membership-table{margin-top:28px;overflow:hidden;border-radius:22px;box-shadow:0 14px 32px rgba(36,34,32,.18);}
.membership-row{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.15fr) minmax(0,1.15fr);gap:18px;align-items:start;padding:18px 22px;background:var(--paper);font-size:15px;line-height:1.48;}
.membership-row:nth-child(even){background:rgba(73,60,54,.72);}
.membership-row>span:first-child{color:var(--mute);}
.membership-row strong{font-weight:500;color:var(--ink);}
.membership-head{background:var(--paper-deep)!important;color:var(--paper);font-size:13px;letter-spacing:.08em;}
.membership-head strong,.membership-head span{color:var(--paper)!important;}
@media(max-width:520px){
  .clean-hero{padding-top:104px;}.clean-hero h1{font-size:clamp(4rem,20vw,5.75rem);}
  .clean-hero::before{background:linear-gradient(180deg,rgba(36,34,32,.48) 0%,rgba(36,34,32,.76) 46%,rgba(36,34,32,.72) 100%);}
  .phead{padding-top:100px;}main>section{padding:54px 0;}
  .grid,.pair{gap:14px;}.grid .card,.pair .card{padding:22px 20px;}
  .school-list{grid-template-columns:1fr;gap:26px;margin-top:0;}
  .ctas{align-items:stretch;}.ctas .cta{width:100%;}
  .membership-table{margin-top:22px;border-radius:18px;}
  .membership-head{display:none;}
  .membership-row{display:grid;grid-template-columns:1fr;gap:7px;padding:18px;}
  .membership-row strong:before,.membership-row>span:last-child:before{display:block;margin-bottom:2px;color:var(--mute);font-size:10px;letter-spacing:.1em;}
  .membership-row strong:before{content:'CO-OP';}
  .membership-row>span:last-child:before{content:'& CO.';}
  .grid,.pair{margin-top:24px;}
  .grid .card,.pair .card,main>section>.wrap>.card{min-height:0;}
  .grid .card>.cta,.pair .card>.cta,main>section>.wrap>.card>.cta{width:100%;text-align:center;}
}

/* ── softerbread home: open rooms ── */
body.open-rooms-home{background:#242220!important;color:#f3eee9!important;font-size:12px;}
body.open-rooms-home::before{display:none!important;background:none!important;}
body.open-rooms-home .nav{position:relative!important;background:none!important;border:0!important;box-shadow:none!important;}
body.open-rooms-home .nav{top:0!important;width:100%!important;margin:0!important;}
body.open-rooms-home .nav-in{max-width:none!important;height:64px!important;padding:0 24px!important;}
body.open-rooms-home .nav-brand{width:132px!important;height:22px!important;background:url('img/softerbread-wordmark.png') left center / contain no-repeat!important;text-indent:-9999px!important;color:transparent!important;font-size:0!important;line-height:1!important;}
body.open-rooms-home .brand-addendum{color:#c96a48!important;font-style:italic!important;letter-spacing:-.075em!important;}
body.open-rooms-home .nav-links{display:flex!important;align-items:center!important;gap:0!important;}
body.open-rooms-home .nav-links a{border:0!important;border-radius:0!important;background:none!important;color:#f3eee9!important;padding:0!important;font-size:10px!important;letter-spacing:.03em!important;text-decoration:none!important;}
body.open-rooms-home .nav-links a:not(:last-child){display:none!important;}
body.open-rooms-home .nav-links a:last-child{font-size:0!important;}
body.open-rooms-home .nav-links a:last-child::after{content:'menu';font-size:10px!important;}
body.open-rooms-home .nav-links{display:none!important;}
body.open-rooms-home main.open-rooms-main{width:auto!important;min-height:calc(100vh - 64px)!important;margin:0!important;padding:clamp(52px,10vw,132px) 24px 64px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(24px,6vw,96px)!important;align-content:start!important;}
body.open-rooms-home .open-rooms-label{grid-column:1/-1!important;margin:0 0 clamp(6px,1.6vw,24px)!important;padding:0!important;border:0!important;background:none!important;color:#f3eee9!important;font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;font-weight:400!important;letter-spacing:.04em!important;line-height:1!important;text-transform:lowercase!important;}
body.open-rooms-home .open-rooms-dot{display:inline-block!important;width:7px!important;height:7px!important;margin-right:7px!important;border-radius:50%!important;background:#b95c3c!important;vertical-align:0!important;animation:softer-room-pulse 2.8s ease-in-out infinite!important;}
body.open-rooms-home .open-rooms-group{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-home .open-rooms-group h2{margin:0 0 14px!important;padding:0!important;color:#9d9791!important;font-family:'IBM Plex Mono',monospace!important;font-size:9px!important;font-weight:400!important;letter-spacing:.08em!important;line-height:1!important;text-transform:lowercase!important;}
body.open-rooms-home .open-rooms-group a{display:block!important;color:#f3eee9!important;text-decoration:none!important;}
body.open-rooms-home .open-room-name{display:block!important;font-size:clamp(16px,2.1vw,27px)!important;font-weight:400!important;letter-spacing:-.055em!important;line-height:1.05!important;text-transform:lowercase!important;transition:color .28s ease!important;}
body.open-rooms-home .open-room-note{display:block!important;max-width:24ch!important;max-height:0!important;margin-top:0!important;overflow:hidden!important;color:#c8c0b9!important;font-size:10px!important;letter-spacing:0!important;line-height:1.45!important;opacity:0!important;transform:translateY(-5px)!important;transition:max-height .35s ease,margin-top .35s ease,opacity .25s ease,transform .35s ease!important;}
body.open-rooms-home .open-rooms-group a:hover .open-room-name,body.open-rooms-home .open-rooms-group a:focus-visible .open-room-name{color:#c96a48!important;}
body.open-rooms-home .open-rooms-group a:hover .open-room-note,body.open-rooms-home .open-rooms-group a:focus-visible .open-room-note{max-height:4em!important;margin-top:9px!important;opacity:1!important;transform:translateY(0)!important;}
body.open-rooms-home footer{display:none!important;}
@keyframes softer-room-pulse{0%,100%{opacity:.42;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
@media(max-width:720px){
  body.open-rooms-home .nav-in{padding:0 18px!important;}
  body.open-rooms-home main.open-rooms-main{min-height:calc(100vh - 64px)!important;padding:64px 18px 48px!important;grid-template-columns:1fr!important;gap:38px!important;}
  body.open-rooms-home .open-rooms-label{margin-bottom:0!important;}
  body.open-rooms-home .open-rooms-group h2{margin-bottom:10px!important;}
  body.open-rooms-home .open-room-name{font-size:20px!important;}
  body.open-rooms-home .open-room-note{max-height:4em!important;margin-top:8px!important;opacity:1!important;transform:none!important;}
}

/* ── SofterBread: open-room system for every public page ── */
body.open-rooms-site:not(.open-rooms-home){background:#242220!important;color:#f3eee9!important;font-size:12px!important;}
body.open-rooms-site:not(.open-rooms-home)::before{display:none!important;background:none!important;}
body.open-rooms-site:not(.open-rooms-home) .nav{position:relative!important;background:none!important;border:0!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .nav{top:0!important;width:100%!important;margin:0!important;}

/* Shared gallery gutter: keep the work away from every edge. */
body.open-rooms-home .nav-in,body.open-rooms-site:not(.open-rooms-home) .nav-in{padding-left:clamp(28px,5vw,72px)!important;padding-right:clamp(28px,5vw,72px)!important;}
body.open-rooms-home main.open-rooms-main,body.open-rooms-site:not(.open-rooms-home) main{padding-left:clamp(28px,5vw,72px)!important;padding-right:clamp(28px,5vw,72px)!important;}

/* SofterSociety membership paths: two clear choices, not a comparison spreadsheet. */
body.open-rooms-site:not(.open-rooms-home) .membership-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(36px,9vw,140px)!important;max-width:900px!important;margin:0!important;padding:0!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path{margin:0!important;padding:0!important;border:0!important;border-top:1px solid #625a55!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path .eyebrow{margin-top:17px!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path h3{margin:0!important;color:#f3eee9!important;font-size:clamp(18px,2vw,27px)!important;font-weight:400!important;letter-spacing:-.06em!important;line-height:1.08!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-contribution{margin:12px 0 24px!important;color:#c96a48!important;font-size:10px!important;line-height:1.5!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path ul{display:grid!important;gap:11px!important;margin:0!important;padding:0!important;list-style:none!important;color:#c8c0b9!important;font-size:10px!important;line-height:1.5!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path li{margin:0!important;padding:0!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-path li::before{content:'— ';color:#9d9791!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-switch{margin:30px 0 0!important;color:#9d9791!important;font-size:9px!important;letter-spacing:.04em!important;line-height:1.5!important;}
@media(max-width:720px){body.open-rooms-site:not(.open-rooms-home) .membership-options{grid-template-columns:1fr!important;gap:48px!important;}}

body.open-rooms-site:not(.open-rooms-home) .final-cta{background:none!important;text-align:left!important;}
body.open-rooms-site:not(.open-rooms-home) .final-cta .wrap{margin:0!important;}
body.open-rooms-site:not(.open-rooms-home) .final-cta .cta{display:inline-block!important;margin:0!important;}
body.open-rooms-site:not(.open-rooms-home) .nav-in{height:64px!important;max-width:none!important;padding:0 24px!important;}
body.open-rooms-site:not(.open-rooms-home) .nav-brand{width:132px!important;height:22px!important;background:url('img/softerbread-wordmark.png') left center / contain no-repeat!important;color:transparent!important;font-size:0!important;line-height:1!important;text-indent:-9999px!important;}
body.open-rooms-site:not(.open-rooms-home) .softer-name{display:inline!important;white-space:nowrap!important;}
body.open-rooms-site:not(.open-rooms-home) .softer-addendum{color:#c96a48!important;font-style:italic!important;letter-spacing:-.075em!important;}
body.open-rooms-site:not(.open-rooms-home) .nav-links{background:#242220!important;border:1px solid #514b47!important;border-radius:0!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .nav-links a{border:0!important;border-radius:0!important;background:none!important;color:#f3eee9!important;font-size:10px!important;letter-spacing:.02em!important;}
body.open-rooms-site:not(.open-rooms-home) .nav-menu-btn{border:1px solid #b6ada5!important;border-radius:0!important;background:none!important;color:#f3eee9!important;font-size:10px!important;box-shadow:none!important;}
/* Two-line menu icon. */
.nav-menu-btn{
  width:32px; height:28px; min-width:32px; min-height:28px;
  padding:0; border:0!important; background:none!important;
  justify-content:center;
}
.nav-menu-btn:hover{border:0!important;background:none!important;color:var(--accent)!important;}
.menu-icon{position:relative;display:block;width:22px;height:12px;}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .2s ease,top .2s ease;}
.menu-icon::before{top:2px;}
.menu-icon::after{top:10px;}
.nav-menu-btn[aria-expanded="true"] .menu-icon::before{top:6px;transform:rotate(45deg);}
.nav-menu-btn[aria-expanded="true"] .menu-icon::after{top:6px;transform:rotate(-45deg);}
/* Restore the actual dropdown on the open-rooms home page. */
body.open-rooms-home .nav-links.open{display:flex!important;}
body.open-rooms-home .nav-links.open a{display:block!important;font-size:10px!important;padding:10px 12px!important;}
body.open-rooms-home .nav-links.open a:last-child{font-size:10px!important;}
body.open-rooms-home .nav-links.open a:last-child::after{content:none!important;}
body.open-rooms-site:not(.open-rooms-home) main{width:auto!important;min-height:calc(100vh - 64px)!important;margin:0!important;padding:clamp(52px,9vw,120px) 24px 88px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .wrap{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;}
body.open-rooms-site:not(.open-rooms-home) .phead,body.open-rooms-site:not(.open-rooms-home) .clean-hero{max-width:56rem!important;margin:0 0 clamp(54px,10vw,132px)!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;min-height:0!important;}
body.open-rooms-site:not(.open-rooms-home) .phead.compact-phead{margin-bottom:34px!important;}
body.open-rooms-site:not(.open-rooms-home) .phead.school-hero{margin-bottom:clamp(92px,15vw,190px)!important;}
body.open-rooms-site:not(.open-rooms-home) .phead::before,body.open-rooms-site:not(.open-rooms-home) .clean-hero::before{display:none!important;background:none!important;}
body.open-rooms-site:not(.open-rooms-home) .eyebrow{margin:0 0 14px!important;color:#a29b94!important;font-size:9px!important;font-weight:400!important;letter-spacing:.09em!important;line-height:1!important;}
body.open-rooms-site:not(.open-rooms-home) .session-eyebrow{display:flex!important;align-items:center!important;gap:7px!important;color:#c8c0b9!important;}
body.open-rooms-site:not(.open-rooms-home) .session-dot{display:inline-block!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#bd5440!important;animation:session-colour 5.6s steps(1,end) infinite!important;}
body.open-rooms-site:not(.open-rooms-home) .room-identity{margin:0 0 13px!important;color:#a29b94!important;font-size:9px!important;letter-spacing:.075em!important;line-height:1!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) h1,body.open-rooms-site:not(.open-rooms-home) .clean-hero h1{max-width:27ch!important;margin:0!important;color:#f3eee9!important;font-family:'IBM Plex Mono',monospace!important;font-size:clamp(24px,3.5vw,48px)!important;font-weight:400!important;letter-spacing:-.065em!important;line-height:1.04!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) h1 em,body.open-rooms-site:not(.open-rooms-home) h2 em{color:#c96a48!important;font-style:italic!important;}
body.open-rooms-site:not(.open-rooms-home) .sub,body.open-rooms-site:not(.open-rooms-home) .lead{max-width:48ch!important;margin:20px 0 0!important;color:#c8c0b9!important;font-size:12px!important;line-height:1.55!important;}
body.open-rooms-site:not(.open-rooms-home) .programs-header{max-width:56rem!important;margin:0 0 clamp(44px,7vw,88px)!important;padding:0!important;background:none!important;}
body.open-rooms-site:not(.open-rooms-home) .programs-header h1{margin:0!important;}
body.open-rooms-site:not(.open-rooms-home) .programs-header h2{max-width:32ch!important;margin:0!important;color:#f3eee9!important;font-size:clamp(20px,2.8vw,38px)!important;font-weight:400!important;letter-spacing:-.065em!important;line-height:1.08!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) section{margin:0!important;padding:0 0 clamp(58px,10vw,132px)!important;border:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) section:last-child{padding-bottom:0!important;}
body.open-rooms-site:not(.open-rooms-home) section>.wrap>h2,body.open-rooms-site:not(.open-rooms-home) .final-cta h2{max-width:32ch!important;margin:0 0 32px!important;color:#f3eee9!important;font-size:clamp(18px,2.2vw,29px)!important;font-weight:400!important;letter-spacing:-.06em!important;line-height:1.13!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) .grid,body.open-rooms-site:not(.open-rooms-home) .pair{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(22px,5vw,76px)!important;margin:0!important;}
body.open-rooms-site:not(.open-rooms-home) .pair{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body.open-rooms-site:not(.open-rooms-home) .card,body.open-rooms-site:not(.open-rooms-home) .grid .card,body.open-rooms-site:not(.open-rooms-home) .pair .card,body.open-rooms-site:not(.open-rooms-home) main>section>.wrap>.card{min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .card h2{margin:0!important;color:#f3eee9!important;font-size:clamp(15px,1.75vw,23px)!important;font-weight:400!important;letter-spacing:-.06em!important;line-height:1.12!important;text-transform:lowercase!important;transition:color .25s ease!important;}
body.open-rooms-site:not(.open-rooms-home) .card p:not(.eyebrow),body.open-rooms-site:not(.open-rooms-home) .card .helper{max-height:0!important;margin:0!important;overflow:hidden!important;color:#c8c0b9!important;font-size:10px!important;line-height:1.5!important;opacity:0!important;transform:translateY(-4px)!important;transition:max-height .32s ease,margin-top .32s ease,opacity .22s ease,transform .32s ease!important;}
body.open-rooms-site:not(.open-rooms-home) .card:hover h2,body.open-rooms-site:not(.open-rooms-home) .card:focus-within h2{color:#c96a48!important;}
body.open-rooms-site:not(.open-rooms-home) .card:hover p:not(.eyebrow),body.open-rooms-site:not(.open-rooms-home) .card:focus-within p:not(.eyebrow),body.open-rooms-site:not(.open-rooms-home) .card:hover .helper,body.open-rooms-site:not(.open-rooms-home) .card:focus-within .helper{max-height:12em!important;margin-top:9px!important;opacity:1!important;transform:none!important;}
body.open-rooms-site:not(.open-rooms-home) .cta,body.open-rooms-site:not(.open-rooms-home) button.cta{display:inline-block!important;width:auto!important;margin-top:18px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#c96a48!important;font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;font-weight:400!important;letter-spacing:.02em!important;line-height:1.25!important;text-align:left!important;text-decoration:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .cta::after{content:' ↗';}
body.open-rooms-site:not(.open-rooms-home) .ctas{display:flex!important;flex-wrap:wrap!important;gap:22px!important;margin-top:24px!important;}
body.open-rooms-site:not(.open-rooms-home) .ctas .cta{margin-top:0!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-table{margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-row{padding:17px 0!important;border-color:#4c4642!important;background:none!important;color:#d8d1ca!important;font-size:10px!important;}
body.open-rooms-site:not(.open-rooms-home) .membership-head{color:#c96a48!important;}
body.open-rooms-site:not(.open-rooms-home) img,body.open-rooms-site:not(.open-rooms-home) picture,body.open-rooms-site:not(.open-rooms-home) video{display:none!important;}
body.open-rooms-site:not(.open-rooms-home) .brl-wrap{margin:0!important;padding:48px 24px!important;border:0!important;border-top:1px solid #4c4642!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) .brl-inner{max-width:none!important;margin:0!important;}
body.open-rooms-site:not(.open-rooms-home) .ftr-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;}
body.open-rooms-site:not(.open-rooms-home) .ftr-col,body.open-rooms-site:not(.open-rooms-home) .ftr-col a{color:#c8c0b9!important;font-size:10px!important;line-height:1.75!important;}
body.open-rooms-site:not(.open-rooms-home) .ftr-h{color:#c96a48!important;font-size:9px!important;letter-spacing:.09em!important;}
body.open-rooms-site:not(.open-rooms-home) .brl-legal{margin-top:36px!important;color:#918981!important;font-size:9px!important;}
@keyframes session-colour{0%,24%{background:#bd5440;box-shadow:0 0 0 0 rgba(189,84,64,.45)}25%,49%{background:#d4ae42;box-shadow:0 0 0 3px rgba(212,174,66,0)}50%,74%{background:#7a9e69;box-shadow:0 0 0 0 rgba(122,158,105,.45)}75%,100%{background:#5f85b3;box-shadow:0 0 0 3px rgba(95,133,179,0)}}
@media(max-width:720px){
  body.open-rooms-site:not(.open-rooms-home) .nav-in{padding:0 18px!important;}
  body.open-rooms-site:not(.open-rooms-home) main{padding:64px 18px!important;}
  body.open-rooms-site:not(.open-rooms-home) .phead,body.open-rooms-site:not(.open-rooms-home) .clean-hero{margin-bottom:68px!important;}
  body.open-rooms-site:not(.open-rooms-home) .grid,body.open-rooms-site:not(.open-rooms-home) .pair{grid-template-columns:1fr!important;gap:38px!important;}
  body.open-rooms-site:not(.open-rooms-home) .card p:not(.eyebrow),body.open-rooms-site:not(.open-rooms-home) .card .helper{max-height:12em!important;margin-top:9px!important;opacity:1!important;transform:none!important;}
  body.open-rooms-site:not(.open-rooms-home) .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Internal tools, forms, and legacy program pages inherit the same restrained room. */
body.open-rooms-site:not(.open-rooms-home) main *,body.open-rooms-site:not(.open-rooms-home) footer *{border-radius:0!important;box-shadow:none!important;text-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(.card,.step,.page,.pagehead,.wb-card,.wb-notice,.match-grid,.venture-list,.tablewrap,.form-card,.formsec,.hero-card){background-image:none!important;}

/* SofterSchool: enterprise building without mission drift. */
.softer-school-page{background:#242220;color:#f3eee9}.school-main{padding:0!important;overflow:hidden}.school-wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}.school-kicker,.school-index{margin:0;color:#c96a48;font-size:10px;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.school-hero-new{min-height:calc(100vh - 64px);display:flex;align-items:flex-end;padding:clamp(64px,10vw,150px) 0 clamp(76px,10vw,132px)}.school-hero-new h1,.school-intro h2,.school-cohort h2,.school-build h2,.school-close h2{margin:16px 0 0;color:#f3eee9;font-size:clamp(48px,9vw,126px);font-weight:400;letter-spacing:-.08em;line-height:.88;text-transform:lowercase}.school-hero-new h1 span,.school-close h2 span{color:#c96a48;font-style:normal}.school-lede{max-width:370px;margin:34px 0 0;color:#c8c0b9;font-size:clamp(15px,1.6vw,20px);line-height:1.45}.school-intro,.school-cohort,.school-paths,.school-build,.school-close{padding:clamp(72px,11vw,150px) 0;border-top:1px solid rgba(243,238,233,.18)}.school-split{display:grid;grid-template-columns:1fr 3fr;gap:clamp(30px,8vw,120px)}.school-intro h2,.school-cohort h2,.school-build h2,.school-close h2{font-size:clamp(34px,5.4vw,72px);line-height:.94}.school-copy{max-width:610px;margin:24px 0 0;color:#c8c0b9;font-size:clamp(15px,1.55vw,19px);line-height:1.58}.school-copy strong{color:#f3eee9;font-weight:500}.school-cohort{background:#1c1a18}.school-cohort-grid{display:grid;grid-template-columns:1.1fr .55fr 1fr;align-items:end;gap:clamp(25px,5vw,72px);margin-top:16px}.school-team{display:flex;gap:8px;align-items:center;justify-content:center;padding-bottom:8px}.school-team span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c96a48;border-radius:50%;color:#c96a48;font-size:10px}.school-path-grid,.school-build-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;background:rgba(243,238,233,.18);border:1px solid rgba(243,238,233,.18)}.school-path-grid article{min-height:270px;padding:clamp(28px,4vw,52px);background:#242220}.school-path-grid h2{margin:38px 0 14px;font-size:clamp(28px,3.3vw,46px)}.school-path-grid p:not(.school-index),.school-build-grid p{margin:0;max-width:34ch;color:#c8c0b9;font-size:14px;line-height:1.6}.school-build h2{margin-bottom:42px}.school-build-grid{grid-template-columns:repeat(3,1fr);background:transparent;border:0;gap:clamp(26px,5vw,76px)}.school-build-grid article{padding-top:16px;border-top:1px solid rgba(243,238,233,.28)}.school-build-grid span{color:#c96a48;font-size:10px;letter-spacing:.12em}.school-build-grid h3{margin:42px 0 12px;color:#f3eee9;font-size:clamp(20px,2vw,29px);font-weight:400;letter-spacing:-.055em;line-height:1}.school-close{text-align:center;background:#1c1a18}.school-close h2{font-size:clamp(48px,7vw,96px)}.school-link{display:inline-flex;gap:16px;align-items:center;margin-top:36px;padding-bottom:8px;border-bottom:1px solid #c96a48;color:#f3eee9;font-size:14px;text-decoration:none}.school-link span{color:#c96a48;font-size:20px}@media(max-width:720px){.school-wrap{width:min(100% - 40px,1120px)}.school-hero-new{min-height:580px}.school-split,.school-cohort-grid,.school-path-grid,.school-build-grid{grid-template-columns:1fr}.school-team{justify-content:flex-start}.school-cohort-grid{gap:26px}.school-path-grid article{min-height:0}.school-build-grid{gap:36px}.school-build-grid h3{margin-top:28px}}
body.open-rooms-site:not(.open-rooms-home) main :is(.steps,.match-grid,.venture-list,.wb-grid,.ftr-grid){display:grid!important;gap:clamp(22px,5vw,76px)!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(.steps,.match-grid,.venture-list,.wb-grid){grid-template-columns:repeat(3,minmax(0,1fr))!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(.step,.wb-card,.wb-notice,.form-card,.formsec,.page,.pagehead){margin:0!important;padding:0!important;border:0!important;background:none!important;color:#f3eee9!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(form,label,fieldset,details,summary,table,thead,tbody,tr,td,th){border-color:#4c4642!important;background:none!important;color:inherit!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(input,textarea,select){border:0!important;border-bottom:1px solid #625a55!important;border-radius:0!important;background:none!important;color:#f3eee9!important;box-shadow:none!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(input,textarea,select):focus{border-bottom-color:#c96a48!important;outline:0!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(hr,.rule){height:1px!important;border:0!important;background:#4c4642!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(.kicker,.k,.lab,.crumbs,.helper,.mute){color:#9d9791!important;font-family:'IBM Plex Mono',monospace!important;font-size:9px!important;letter-spacing:.07em!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(h3,h4){margin:0!important;color:#f3eee9!important;font-size:clamp(14px,1.55vw,20px)!important;font-weight:400!important;letter-spacing:-.045em!important;line-height:1.18!important;text-transform:lowercase!important;}
body.open-rooms-site:not(.open-rooms-home) main :is(.pill,.tag,.status){border:1px solid #625a55!important;border-radius:999px!important;background:none!important;color:#c8c0b9!important;box-shadow:none!important;}
@media(max-width:720px){
  body.open-rooms-site:not(.open-rooms-home) main :is(.steps,.match-grid,.venture-list,.wb-grid){grid-template-columns:1fr!important;}
}

/* Final shared page gutter. */
body.open-rooms-home .nav-in,body.open-rooms-site:not(.open-rooms-home) .nav-in{padding-left:clamp(28px,5vw,72px)!important;padding-right:clamp(28px,5vw,72px)!important;}
body.open-rooms-home main.open-rooms-main,body.open-rooms-site:not(.open-rooms-home) main{padding-left:clamp(28px,5vw,72px)!important;padding-right:clamp(28px,5vw,72px)!important;}
