/* ============================================================
   SABARMATI MUN  ·  shared stylesheet
   Display: Playfair Display   Body: Space Grotesk
   ============================================================ */

:root{
  --heritage:#8E2E26;
  --terracotta:#B5422A;
  --sandstone:#D4A373;
  --ivory:#F3EDE1;
  --brown:#3B1F1A;
  --ink:#2B2521;
  --paper:#FAF6EE;
  --rule:rgba(59,31,26,.15);
  --rule-light:rgba(243,237,225,.18);
  --display:'Playfair Display',Georgia,'Times New Roman',serif;
  --body:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --pad:clamp(20px,5vw,76px);
  --nav-h:72px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-weight:400;line-height:1.68;
  font-size:16px;overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--heritage);color:var(--ivory)}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:500;line-height:1.1;letter-spacing:-.005em}
h1{font-size:clamp(38px,6.4vw,78px)}
h2{font-size:clamp(31px,4.8vw,60px)}
h3{font-size:clamp(21px,2.3vw,29px)}
p{margin:0 0 1.15em}
.eyebrow{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  font-weight:600;color:var(--terracotta);margin:0 0 16px;
}
.eyebrow.pale{color:var(--sandstone)}
.lede{font-size:clamp(16.5px,1.6vw,20px);line-height:1.74;font-weight:300}
.pull{
  font-family:var(--display);font-weight:400;font-style:italic;
  font-size:clamp(23px,2.9vw,35px);line-height:1.3;
  color:var(--heritage);border-left:2px solid var(--terracotta);
  padding-left:26px;margin:8px 0 26px;
}
strong{font-weight:600}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:13px var(--pad);transition:background .4s,box-shadow .4s,padding .4s;
}
.nav.solid,body.lightnav .nav{
  background:rgba(250,246,238,.95);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--rule);padding:9px var(--pad);
}
.navmark{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none;position:relative;z-index:210}
.navmark img{height:36px;width:auto;transition:height .4s}
.nav.solid .navmark img,body.lightnav .navmark img{height:31px}
.navmark span{
  font-family:var(--display);font-size:15.5px;font-weight:600;letter-spacing:.1em;
  color:var(--ivory);transition:color .4s;white-space:nowrap;
}
.nav.solid .navmark span,body.lightnav .navmark span{color:var(--heritage)}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks a{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  text-decoration:none;color:rgba(243,237,225,.86);transition:color .3s;white-space:nowrap;
}
.nav.solid .navlinks a,body.lightnav .navlinks a{color:var(--brown)}
.navlinks a:hover{color:var(--sandstone)}
.nav.solid .navlinks a:hover,body.lightnav .navlinks a:hover{color:var(--terracotta)}
.navlinks a[aria-current="page"]{color:var(--sandstone)}
.nav.solid .navlinks a[aria-current="page"],body.lightnav .navlinks a[aria-current="page"]{color:var(--terracotta)}
.navcta{
  border:1px solid rgba(243,237,225,.5);border-radius:2px;padding:9px 17px !important;
  color:var(--ivory) !important;
}
.nav.solid .navcta,body.lightnav .navcta{border-color:var(--heritage);color:var(--heritage) !important}
.navcta:hover{background:var(--ivory);color:var(--heritage) !important;border-color:var(--ivory)}
.nav.solid .navcta:hover,body.lightnav .navcta:hover{background:var(--heritage);color:var(--ivory) !important}

.burger{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
  width:42px;height:42px;position:relative;z-index:210;
}
.burger span{
  display:block;height:1.5px;width:22px;background:var(--ivory);margin:5px auto;
  transition:transform .35s,opacity .25s,background .4s;
}
.nav.solid .burger span,body.lightnav .burger span{background:var(--brown)}
.burger[aria-expanded="true"] span,
.nav.solid .burger[aria-expanded="true"] span,
body.lightnav .burger[aria-expanded="true"] span{background:var(--ivory)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media(max-width:1180px){
  .burger{display:block}
  .navlinks{
    position:fixed;top:0;left:0;right:0;bottom:0;
    width:100%;height:100svh;background:var(--heritage);z-index:205;
    flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;
    transform:translateY(-101%);transition:transform .55s cubic-bezier(.2,.7,.2,1);
    padding:0 var(--pad);overflow-y:auto;
  }
  .navlinks::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:url('jali.jpg') center/300px repeat;opacity:.06;mix-blend-mode:luminosity;
  }
  .navlinks a{position:relative;z-index:2;width:100%;border-bottom:1px solid rgba(243,237,225,.14)}
  .navlinks a:last-child{border-bottom:0}
  .navlinks.open{transform:none}
  .navlinks a,.nav.solid .navlinks a,body.lightnav .navlinks a{
    color:var(--ivory);font-size:15px;letter-spacing:.14em;padding:13px 0;
  }
  .navcta,.nav.solid .navcta,body.lightnav .navcta{
    margin-top:22px;border-color:var(--sandstone);color:var(--sandstone) !important;
    width:auto;padding:13px 30px !important;
  }
  body.menuopen .nav{background:none !important;box-shadow:none !important}
  body.menuopen .navmark span{color:var(--ivory) !important}
}

/* ---------- layout ---------- */
section{position:relative;padding:clamp(70px,9.5vw,138px) var(--pad);scroll-margin-top:80px}
.wrap{max-width:1180px;margin:0 auto;position:relative;z-index:2}
.narrow{max-width:740px;margin:0 auto;position:relative;z-index:2}
.dark{background:var(--brown);color:var(--ivory)}
.dark h1,.dark h2,.dark h3{color:var(--ivory)}
.dark p{color:rgba(243,237,225,.78)}
.dark .pull{color:var(--sandstone);border-color:var(--sandstone)}
.deep{background:var(--heritage);color:var(--ivory)}
.deep h1,.deep h2,.deep h3{color:var(--ivory)}
.deep p{color:rgba(243,237,225,.84)}
.ivory{background:var(--ivory)}
.jalibg::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:url('jali.jpg') center/380px repeat;opacity:.06;mix-blend-mode:luminosity;
}

/* ---------- page header (inner pages) ---------- */
.phead{
  background:var(--heritage);color:var(--ivory);position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + clamp(56px,7vw,96px)) var(--pad) clamp(52px,6.5vw,84px);
}
.phead::after{
  content:'';position:absolute;inset:0;
  background:url('river-hero.jpg') center 60%/cover no-repeat;opacity:.16;
}
.phead .wrap{position:relative;z-index:3}
.phead h1{color:var(--ivory);max-width:17ch}
.phead .eyebrow{color:var(--sandstone)}
.phead .sub{color:rgba(243,237,225,.8);max-width:60ch;margin-top:20px;font-weight:300}
.crumb{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:rgba(243,237,225,.55);margin-bottom:18px;
}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--sandstone)}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--heritage);text-align:center;
  padding:calc(var(--nav-h) + 40px) var(--pad) 92px;
}
.hero-img{
  position:absolute;inset:0;background:url('river-hero.jpg') center 62%/cover no-repeat;
  transform:scale(1.1);opacity:.6;filter:saturate(.9);will-change:transform;
}
.hero-wash{
  position:absolute;inset:0;
  background:
    radial-gradient(120% 92% at 50% 88%,rgba(43,37,33,.7) 0%,rgba(142,46,38,.32) 48%,rgba(142,46,38,0) 78%),
    linear-gradient(180deg,rgba(59,31,26,.8) 0%,rgba(142,46,38,.34) 30%,rgba(142,46,38,.3) 58%,rgba(43,37,33,.86) 100%);
}
.hero-jali{position:absolute;inset:0;width:100%;height:100%;opacity:.16;pointer-events:none}
.hero-light{
  position:absolute;width:780px;height:780px;left:0;top:0;margin:-390px 0 0 -390px;
  background:radial-gradient(circle,rgba(255,214,150,.5) 0%,rgba(212,163,115,.18) 34%,rgba(212,163,115,0) 66%);
  mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .6s;will-change:transform;
}
.hero-inner{position:relative;z-index:3;max-width:900px;width:100%}
.hero-logo{width:clamp(150px,18vw,214px);margin:0 auto 26px}
.hero h1{
  color:var(--ivory);font-size:clamp(40px,8vw,92px);line-height:1.03;
  font-weight:500;letter-spacing:-.01em;
}
.hero h1 em{font-style:italic;color:var(--sandstone)}
.hero-rule{width:54px;height:1px;background:var(--sandstone);margin:26px auto;transform:scaleX(0);transform-origin:center}
.hero-sub{
  color:rgba(243,237,225,.9);font-size:clamp(15px,1.6vw,18.5px);
  max-width:580px;margin:0 auto;line-height:1.72;font-weight:300;
}

/* fact ribbon (replaces the old boxes) */
.ribbon{
  position:relative;z-index:3;margin:44px auto 0;
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0 clamp(14px,2.4vw,30px);
}
.ribbon b{
  font-family:var(--display);font-weight:500;font-size:clamp(14px,1.55vw,19px);
  color:var(--ivory);letter-spacing:.01em;white-space:nowrap;
}
.ribbon .dot{
  width:7px;height:7px;flex:none;transform:rotate(45deg);
  border:1px solid var(--sandstone);opacity:.85;
}
@media(max-width:640px){
  .ribbon{gap:0 10px}
  .ribbon b{font-size:13px}
  .ribbon .dot{width:5px;height:5px}
}
.scrollcue{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:4;
  width:1px;height:54px;background:linear-gradient(180deg,rgba(212,163,115,0),var(--sandstone));
}
.scrollcue::after{
  content:'';position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;
  background:var(--sandstone);animation:drip 2.6s ease-in-out infinite;
}
@keyframes drip{0%{top:0;opacity:0}25%{opacity:1}100%{top:54px;opacity:0}}
@media(max-width:760px){.scrollcue{display:none}}

/* ---------- the rising river ---------- */
.rise{
  position:relative;min-height:265svh;background:var(--brown);
  color:var(--ivory);padding:0;
}
.rise-sticky{
  position:sticky;top:0;height:100svh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.rise-bed{position:absolute;inset:0;background:url('river-dry.jpg') center/cover no-repeat;filter:saturate(.5)}
.rise-water{
  position:absolute;left:0;right:0;bottom:0;height:0%;
  background:url('river-hero.jpg') center bottom/cover no-repeat;
  will-change:height;
}
.rise-water::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(181,66,42,.34),rgba(59,31,26,.5));
}
.rise-crest{
  position:absolute;left:0;right:0;bottom:0;height:26px;width:100%;
  transform:translateY(-1px);will-change:bottom;
}
.rise-crest path{fill:rgba(243,237,225,.42)}
.rise-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,37,33,.7),rgba(43,37,33,.2) 46%,rgba(43,37,33,.74))}
.rise-copy{position:relative;z-index:5;text-align:center;max-width:820px;padding:var(--nav-h) var(--pad) 0}
.rise-copy h2{color:var(--ivory);margin-bottom:20px}
.rise-copy p{color:rgba(243,237,225,.86);max-width:52ch;margin:0 auto}
.rise-meter{
  position:absolute;right:clamp(16px,3vw,44px);top:50%;transform:translateY(-50%);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.rise-meter .bar{width:1px;height:150px;background:rgba(243,237,225,.24);position:relative}
.rise-meter .fill{position:absolute;left:-1px;bottom:0;width:3px;background:var(--sandstone);height:0%}
.rise-meter .pct{
  font-family:var(--display);font-size:13px;color:var(--sandstone);
  font-variant-numeric:tabular-nums;
}
@media(max-width:700px){.rise-meter{display:none}}
@media(max-width:760px){.rise{min-height:230svh}}

/* ---------- commitment ---------- */
.vow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-light);border:1px solid var(--rule-light);margin-top:44px}
@media(max-width:900px){.vow-grid{grid-template-columns:1fr}}
.vow{background:var(--heritage);padding:32px 28px;display:flex;flex-direction:column}
.vow .n{font-family:var(--display);font-size:13px;color:var(--sandstone);letter-spacing:.2em;margin-bottom:16px}
.vow h3{color:var(--ivory);margin-bottom:12px;font-size:22px}
.vow p{color:rgba(243,237,225,.8);font-size:14.5px;line-height:1.65;margin:0}
.vow .stake{
  margin-top:auto;padding-top:18px;border-top:1px solid var(--rule-light);
  font-size:12px;letter-spacing:.02em;color:var(--sandstone);line-height:1.6;
}
.standards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:40px}
@media(max-width:820px){.standards{grid-template-columns:1fr}}
.std{background:var(--paper);padding:28px 26px}
.std h3{font-size:19px;color:var(--heritage);margin-bottom:9px}
.std p{font-size:14.5px;color:rgba(43,37,33,.78);margin:0;line-height:1.66}

/* ---------- committees ---------- */
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(max-width:840px){.cgrid{grid-template-columns:1fr}}
.ccard{background:var(--paper);padding:34px 30px 30px;display:flex;flex-direction:column;position:relative;transition:background .4s}
.ccard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--terracotta);transform:scaleY(0);transform-origin:top;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.ccard:hover::before{transform:scaleY(1)}
.ccard:hover{background:#fff}
.cbadge{
  width:74px;height:74px;margin-bottom:20px;display:grid;place-items:center;flex:none;
  border:1px solid var(--rule);border-radius:50%;background:rgba(212,163,115,.08);
}
.cbadge img{width:52px;height:52px;object-fit:contain}
.ccard .abbr{font-family:var(--display);font-size:clamp(24px,2.7vw,33px);font-weight:600;color:var(--heritage);line-height:1.05}
.ccard .full{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--sandstone);margin-top:11px;line-height:1.6}
.ccard .agenda{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--rule)}
.ccard .agenda .k{display:block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--terracotta);margin-bottom:10px}
.ccard .agenda .v{font-family:var(--display);font-size:clamp(17px,1.75vw,21px);line-height:1.36;color:var(--brown);font-weight:500}
.ccard .blurb{font-size:14px;line-height:1.66;color:rgba(43,37,33,.76);margin:16px 0 0}
.ccard .foot{margin-top:auto;padding-top:24px}
.sg{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  border:1px solid var(--rule);color:rgba(43,37,33,.45);
  padding:12px 17px;border-radius:2px;font-family:var(--body);
  background:none;cursor:not-allowed;white-space:nowrap;
}
.sg svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sg em{font-style:normal;font-size:9px;letter-spacing:.12em;color:var(--terracotta);font-weight:700;
  border-left:1px solid var(--rule);padding-left:10px;margin-left:2px}
.sg.live{border-color:var(--heritage);color:var(--heritage);cursor:pointer;text-decoration:none;transition:all .3s}
.sg.live:hover{background:var(--heritage);color:var(--ivory)}

/* ---------- awards ---------- */
.salt{border-left:3px solid var(--sandstone)}
.salt{
  background:var(--brown);color:var(--ivory);position:relative;overflow:hidden;
  border:1px solid rgba(212,163,115,.3);padding:clamp(34px,5vw,60px);margin-bottom:1px;
}
.salt::after{content:'';position:absolute;inset:0;background:url('jali.jpg') center/300px repeat;opacity:.05;mix-blend-mode:luminosity;pointer-events:none}
.salt .in{position:relative;z-index:2;max-width:760px}
.salt .tag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--sandstone);font-weight:700;margin-bottom:16px}
.salt h3{color:var(--sandstone);font-size:clamp(26px,3.4vw,40px);margin-bottom:18px;font-family:var(--display);font-weight:500}
.salt p{color:rgba(243,237,225,.88);margin:0 0 1em;font-size:15.5px;line-height:1.7}
.salt p:last-child{margin:0}
.awgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:36px}
@media(max-width:980px){.awgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.awgrid{grid-template-columns:1fr}}
.aw{background:var(--paper);padding:26px 22px}
.aw .h{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--terracotta);margin-bottom:14px}
.aw ul{list-style:none;margin:0;padding:0}
.aw li{font-family:var(--display);font-size:16.5px;color:var(--brown);padding:7px 0;border-bottom:1px solid var(--rule)}
.aw li:last-child{border-bottom:0}

/* ---------- apply ---------- */
.applygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule-light);border:1px solid var(--rule-light);margin-top:40px}
@media(max-width:760px){.applygrid{grid-template-columns:1fr}}
.apply{
  background:var(--heritage);padding:30px 28px;text-decoration:none;display:flex;
  flex-direction:column;gap:8px;transition:background .35s;position:relative;
}
.apply:hover{background:var(--terracotta)}
.apply .t{font-family:var(--display);font-size:23px;color:var(--ivory);font-weight:500;display:flex;align-items:center;gap:12px}
.apply .t svg{width:17px;height:17px;stroke:var(--sandstone);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}
.apply:hover .t svg{transform:translate(4px,-4px)}
.apply .d{font-size:12.5px;color:rgba(243,237,225,.75);letter-spacing:.02em}
.apply.locked{background:rgba(59,31,26,.55);cursor:not-allowed}
.apply.locked:hover{background:rgba(59,31,26,.55)}
.apply.locked .t{color:rgba(243,237,225,.6)}
.apply.locked .d{color:var(--sandstone)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  background:var(--heritage);color:var(--ivory);
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  padding:17px 38px;border-radius:2px;border:1px solid var(--heritage);transition:all .35s;
}
.btn:hover{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 12px 30px rgba(142,46,38,.26)}
.btn.ghost{background:none;color:var(--heritage)}
.btn.ghost:hover{background:var(--heritage);color:var(--ivory);box-shadow:none}
.btn.pale{background:var(--ivory);color:var(--heritage);border-color:var(--ivory)}
.btn.pale:hover{background:var(--sandstone);border-color:var(--sandstone);color:var(--brown)}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* ---------- mosaic ---------- */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(112px,14vw,182px);gap:10px}
.mosaic figure{margin:0;position:relative;overflow:hidden;background:var(--sandstone)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:saturate(.88)}
.mosaic figure:hover img{transform:scale(1.07)}
.mosaic figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(43,37,33,.62));opacity:0;transition:opacity .45s}
.mosaic figure:hover::after{opacity:1}
.mosaic figcaption{
  position:absolute;left:12px;bottom:11px;z-index:2;color:var(--ivory);
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  text-shadow:0 1px 10px rgba(0,0,0,.85);opacity:0;transform:translateY(6px);transition:all .45s;
}
.mosaic figure:hover figcaption{opacity:1;transform:none}
.m-wide{grid-column:span 2}
.m-tall{grid-row:span 2}
@media(max-width:760px){.mosaic{grid-template-columns:repeat(2,1fr)}.m-tall{grid-row:span 1}}

/* ---------- countdown ---------- */
.count{display:flex;gap:clamp(20px,4vw,52px);flex-wrap:wrap;margin:22px 0 0}
.count div{min-width:66px}
.count b{display:block;font-family:var(--display);font-size:clamp(32px,4.6vw,52px);font-weight:600;color:var(--heritage);line-height:1;font-variant-numeric:tabular-nums}
.dark .count b,.deep .count b{color:var(--ivory)}
.count i{display:block;font-style:normal;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sandstone);margin-top:10px;font-weight:700}

/* ---------- info rows ---------- */
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding-top:30px;border-top:1px solid var(--rule)}
.dark .meta,.deep .meta{border-color:var(--rule-light)}
@media(max-width:680px){.meta{grid-template-columns:1fr;gap:20px}}
.meta i{display:block;font-style:normal;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sandstone);font-weight:700;margin-bottom:9px}
.meta b{display:block;font-family:var(--display);font-size:21px;font-weight:500;color:var(--brown)}
.dark .meta b,.deep .meta b{color:var(--ivory)}
.meta b.tba{font-style:italic;color:var(--terracotta)}
.deep .meta b.tba,.dark .meta b.tba{color:var(--sandstone)}

/* ---------- prose (terms page) ---------- */
.prose{max-width:760px}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin:28px 0 8px;color:var(--heritage)}
.prose p,.prose li{font-size:15px;line-height:1.75;color:rgba(43,37,33,.82)}
.prose ul,.prose ol{padding-left:20px;margin:0 0 1.15em}
.prose li{margin-bottom:8px}
.prose .updated{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sandstone);font-weight:700}

/* ---------- coming soon ---------- */
.soon{text-align:center;padding:clamp(70px,12vw,150px) var(--pad)}
.soon .mark{width:96px;margin:0 auto 30px;opacity:.5}
.soon h2{max-width:20ch;margin:0 auto 18px}
.soon p{max-width:48ch;margin:0 auto 30px;color:rgba(43,37,33,.72)}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:900px;margin:52px auto 0}
@media(max-width:800px){.slots{grid-template-columns:repeat(2,1fr)}}
.slot{aspect-ratio:3/4;border:1px dashed var(--rule);background:rgba(212,163,115,.07);display:grid;place-items:center}
.slot span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sandstone);font-weight:700}

/* ---------- footer ---------- */
footer{background:var(--ink);color:rgba(243,237,225,.6);padding:clamp(56px,7vw,86px) var(--pad) 32px}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;max-width:1180px;margin:0 auto}
@media(max-width:900px){.foot{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:560px){.foot{grid-template-columns:1fr}}
.foot img.fl{width:118px;margin-bottom:18px}
.foot p{font-size:13.5px;line-height:1.75;max-width:32ch}
.foot h4{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sandstone);margin:0 0 16px;font-weight:700;font-family:var(--body)}
.foot ul{list-style:none;padding:0;margin:0;font-size:13.5px;line-height:2.05}
.foot a{text-decoration:none;transition:color .3s}
.foot a:hover{color:var(--sandstone)}
.foot .ph{color:rgba(243,237,225,.34)}
.social{display:flex;gap:12px;margin-top:20px}
.social a{
  width:38px;height:38px;border:1px solid rgba(243,237,225,.22);border-radius:2px;
  display:grid;place-items:center;transition:all .3s;
}
.social a:hover{background:var(--heritage);border-color:var(--heritage)}
.social svg{width:16px;height:16px;fill:rgba(243,237,225,.72);transition:fill .3s}
.social a:hover svg{fill:var(--ivory)}
.legal{
  max-width:1180px;margin:50px auto 0;padding-top:22px;border-top:1px solid rgba(243,237,225,.12);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,237,225,.4);
}
.legal a{text-decoration:none}
.legal a:hover{color:var(--sandstone)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),background .4s}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
  .hero-rule{transform:scaleX(1)}
  html{scroll-behavior:auto}
  .rise{min-height:auto}
  .rise-sticky{position:relative;height:auto;min-height:70svh}
  .rise-water{height:60% !important}
}

/* ---------- fees ---------- */
.fees{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:42px}
@media(max-width:900px){.fees{grid-template-columns:1fr}}
.fee{background:var(--paper);padding:32px 28px 28px;position:relative;display:flex;flex-direction:column}
.fee.hot{background:var(--heritage)}
.fee.hot .tier,.fee.hot .until,.fee.hot .note{color:rgba(243,237,225,.78)}
.fee.hot .amt{color:var(--ivory)}
.fee.hot .grp{border-color:var(--rule-light)}
.fee.hot .grp span{color:var(--sandstone)}
.fee.hot .grp b{color:var(--ivory)}
.best{
  position:absolute;top:0;right:0;background:var(--sandstone);color:var(--brown);
  font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:6px 12px;
}
.fee .tier{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--terracotta);margin-bottom:18px}
.fee .amt{font-family:var(--display);font-size:clamp(34px,4vw,46px);font-weight:600;color:var(--heritage);line-height:1;letter-spacing:-.01em}
.fee .until{font-size:12.5px;color:rgba(43,37,33,.62);margin-top:12px;letter-spacing:.01em}
.fee .grp{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}
.fee .grp span{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--sandstone);margin-bottom:7px}
.fee .grp b{font-family:var(--display);font-size:21px;font-weight:600;color:var(--brown)}
.fee .grp b i{font-style:normal;font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.06em;opacity:.7}
.fee .grp b.na{font-size:16px;font-style:italic;font-weight:400;opacity:.75}
.fee .note{margin:auto 0 0;padding-top:20px;font-size:13px;line-height:1.6;color:rgba(43,37,33,.66)}

.feenote{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px;padding-top:28px;border-top:1px solid var(--rule)}
@media(max-width:820px){.feenote{grid-template-columns:1fr;gap:20px}}
.feenote i{display:block;font-style:normal;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sandstone);font-weight:700;margin-bottom:9px}
.feenote b{display:block;font-weight:400;font-size:14px;line-height:1.65;color:rgba(43,37,33,.82)}
.feenote a{color:var(--heritage)}

/* ---------- ways to work with us ---------- */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:40px}
@media(max-width:940px){.ways{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ways{grid-template-columns:1fr}}
.way{background:var(--paper);padding:30px 26px;text-decoration:none;display:block;transition:background .35s;position:relative}
.way::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--terracotta);transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.way:hover::before{transform:scaleY(1)}
.way:hover{background:#fff}
.way h3{font-size:20px;color:var(--heritage);margin-bottom:11px;display:flex;align-items:center;gap:10px}
.way h3 svg{width:14px;height:14px;stroke:var(--sandstone);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s;flex:none}
.way:hover h3 svg{transform:translate(4px,-4px)}
.way p{font-size:13.5px;line-height:1.66;color:rgba(43,37,33,.74);margin:0}
.apply .d{line-height:1.55}

/* ---------- nav dropdown ---------- */
.navdrop{position:relative}
.navdrop > button{
  background:none;border:0;cursor:pointer;font-family:var(--body);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:rgba(243,237,225,.86);transition:color .3s;display:inline-flex;align-items:center;gap:7px;
  padding:0;white-space:nowrap;
}
.nav.solid .navdrop > button,body.lightnav .navdrop > button{color:var(--brown)}
.navdrop > button:hover{color:var(--sandstone)}
.nav.solid .navdrop > button:hover,body.lightnav .navdrop > button:hover{color:var(--terracotta)}
.navdrop > button svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}
.navdrop:hover > button svg,.navdrop:focus-within > button svg{transform:rotate(180deg)}
.navdrop[data-active="1"] > button{color:var(--sandstone)}
.nav.solid .navdrop[data-active="1"] > button,body.lightnav .navdrop[data-active="1"] > button{color:var(--terracotta)}
.dropmenu{
  position:absolute;top:100%;left:50%;transform:translate(-50%,8px);
  min-width:232px;background:var(--paper);border:1px solid var(--rule);
  box-shadow:0 18px 44px rgba(43,37,33,.16);padding:7px 0;margin-top:14px;
  opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s;
}
.navdrop:hover .dropmenu,.navdrop:focus-within .dropmenu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dropmenu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.dropmenu a{
  display:block;padding:11px 20px;color:var(--brown) !important;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:background .25s,color .25s;
}
.dropmenu a:hover{background:var(--heritage);color:var(--ivory) !important}
.dropmenu a[aria-current="page"]{color:var(--terracotta) !important}
@media(max-width:1180px){
  .navdrop{width:100%}
  .navdrop > button{
    width:100%;justify-content:flex-start;color:var(--sandstone) !important;
    font-size:10px;letter-spacing:.24em;padding:18px 0 8px;pointer-events:none;
  }
  .navdrop > button svg{display:none}
  .dropmenu{
    position:static;transform:none;opacity:1;visibility:visible;
    background:none;border:0;box-shadow:none;padding:0;margin:0;min-width:0;width:100%;
  }
  .dropmenu a{
    padding:13px 0 13px 16px;color:var(--ivory) !important;font-size:14px;letter-spacing:.12em;
    border-bottom:1px solid rgba(243,237,225,.14);border-left:1px solid rgba(243,237,225,.2);
  }
  .dropmenu a:hover{background:none;color:var(--sandstone) !important}
}

/* ---------- partners strip ---------- */
.partners{background:var(--ivory);padding:clamp(48px,6vw,78px) var(--pad)}
.partners .head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.partners .head p{margin:0;font-size:13px;color:rgba(43,37,33,.6);max-width:40ch}
.plogos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(max-width:900px){.plogos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.plogos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plogo{
  background:var(--paper);aspect-ratio:2/1;display:grid;place-items:center;padding:16px;
  transition:background .35s;
}
.plogo:hover{background:#fff}
.plogo img{
  width:auto;max-width:82%;max-height:70%;object-fit:contain;
  filter:grayscale(1) opacity(.55);transition:filter .4s,transform .4s;
}
.plogo:hover img{filter:grayscale(0) opacity(1);transform:scale(1.04)}

/* ---------- committee rows ---------- */
.crow{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}
.crow:last-child{border-bottom:0}
.crow .inner{
  max-width:1180px;margin:0 auto;padding:clamp(46px,6vw,80px) var(--pad);
  display:grid;grid-template-columns:250px 1fr;gap:clamp(28px,5vw,64px);align-items:center;
}
.crow:nth-child(even) .inner{grid-template-columns:1fr 250px}
.crow:nth-child(even) .cmark{order:2}
.crow.alt{background:var(--ivory)}
@media(max-width:860px){
  .crow .inner,.crow:nth-child(even) .inner{grid-template-columns:1fr;gap:24px}
  .crow:nth-child(even) .cmark{order:0}
}
.cmark{position:relative;display:grid;place-items:center;min-height:190px}
.cmark .num{
  position:absolute;font-family:var(--display);font-weight:700;
  font-size:clamp(120px,15vw,190px);color:var(--heritage);opacity:.07;line-height:1;
  letter-spacing:-.04em;pointer-events:none;user-select:none;
}
.cmark img{
  position:relative;width:clamp(94px,11vw,132px);height:auto;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.crow:hover .cmark img{transform:scale(1.07) translateY(-3px)}
.cbody .kicker{
  font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
  color:var(--sandstone);margin-bottom:14px;
}
.cbody h2{font-size:clamp(27px,3.4vw,42px);color:var(--heritage);margin-bottom:6px}
.cbody .full{
  font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;
  color:var(--sandstone);margin-bottom:22px;
}
.cbody .ag{
  border-left:2px solid var(--terracotta);padding-left:22px;margin:0 0 20px;
}
.cbody .ag span{
  display:block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;color:var(--terracotta);margin-bottom:10px;
}
.cbody .ag b{
  font-family:var(--display);font-weight:500;font-size:clamp(18px,2.05vw,25px);
  line-height:1.34;color:var(--brown);display:block;
}
.cbody .blurb{font-size:14.5px;line-height:1.7;color:rgba(43,37,33,.76);max-width:62ch;margin:0 0 22px}

/* ---------- leadership ---------- */
.roles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:40px}
@media(max-width:760px){.roles{grid-template-columns:1fr}}
.role{background:var(--paper);padding:30px 28px;display:flex;flex-direction:column}
.role .pic{
  aspect-ratio:1/1;width:88px;border:1px dashed var(--rule);background:rgba(212,163,115,.09);
  display:grid;place-items:center;margin-bottom:20px;border-radius:50%;
}
.role .pic span{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sandstone);font-weight:700;text-align:center;line-height:1.4;padding:6px}
.role h3{font-size:21px;color:var(--heritage);margin-bottom:8px}
.role .name{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--sandstone);margin-bottom:14px}
.role p{font-size:14px;line-height:1.66;color:rgba(43,37,33,.76);margin:0}
.cabar{
  margin-top:1px;background:var(--brown);color:var(--ivory);padding:clamp(30px,4.5vw,52px);
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;
}
@media(max-width:760px){.cabar{grid-template-columns:1fr}}
.cabar h3{color:var(--ivory);font-size:clamp(22px,2.6vw,30px);margin-bottom:10px}
.cabar p{color:rgba(243,237,225,.78);margin:0;max-width:56ch;font-size:14.5px}

/* ============================================================
   REBALANCE: less serif, tighter controls, more rhythm
   ============================================================ */

/* sans headings where serif was doing no work */
.std h3,.way h3,.vow h3,.role h3,.aw .h,.cbar h3,.seal h3,
.partners .head h2,.soon h3{
  font-family:var(--body);font-weight:600;letter-spacing:-.01em;
}
.std h3{font-size:17px;line-height:1.32}
.way h3{font-size:17px;line-height:1.32}
.vow h3{font-size:18px;line-height:1.34}
.role h3{font-size:17.5px;line-height:1.32}
.aw li{font-family:var(--body);font-size:14.5px;font-weight:500;letter-spacing:-.005em}
.meta b{font-family:var(--body);font-size:17px;font-weight:600;letter-spacing:-.01em}
.feenote b{font-size:13.5px}
.fee .grp b{font-family:var(--body);font-size:18px;font-weight:600}
.fee .grp b.na{font-size:14px;font-weight:400;font-style:normal;opacity:.7}
.ribbon b{font-family:var(--body);font-weight:500;letter-spacing:.01em}
.foot p{font-size:13px}

/* buttons: tighter, legible, less padded */
.btn{
  font-size:11px;letter-spacing:.14em;padding:14px 26px;border-radius:3px;
  font-weight:600;gap:9px;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(142,46,38,.2)}
.sg{
  padding:10px 14px;font-size:10px;letter-spacing:.12em;gap:8px;border-radius:3px;
  font-weight:600;
}
.sg em{font-size:9px;padding-left:9px}

/* application tiles: readable sans, half the air, clearer state */
.applygrid{gap:1px}
.apply{padding:22px 24px;gap:6px}
.apply .t{
  font-family:var(--body);font-size:16px;font-weight:600;letter-spacing:-.01em;
  gap:9px;line-height:1.3;
}
.apply .t svg{width:14px;height:14px}
.apply .d{font-size:12px;letter-spacing:0;line-height:1.5;color:rgba(243,237,225,.68)}
.apply.locked{background:rgba(59,31,26,.5)}
.apply.locked .t{color:rgba(243,237,225,.55)}
.apply.locked .d{color:var(--sandstone);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:10px}

/* countdown with seconds */
.count{gap:clamp(14px,3vw,38px)}
.count div{min-width:58px}
.count b{font-size:clamp(28px,3.8vw,44px)}
.count i{font-size:9px;letter-spacing:.2em}
.count .sec b{color:var(--terracotta)}
.deep .count .sec b,.dark .count .sec b{color:var(--sandstone)}

/* ---------- committee picker ---------- */
.cpicker{background:var(--ivory);border-bottom:1px solid var(--rule);padding:clamp(26px,3.4vw,44px) var(--pad);scroll-margin-top:70px}
.cpicker .lab{
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
  color:var(--sandstone);text-align:center;margin-bottom:22px;
}
.cstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);max-width:1180px;margin:0 auto}
@media(max-width:900px){.cstrip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.cstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chip{
  background:var(--paper);padding:20px 12px 16px;text-decoration:none;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;transition:background .3s;
}
.chip:hover{background:var(--heritage)}
.chip img{width:40px;height:40px;object-fit:contain;transition:filter .3s,transform .35s}
.chip:hover img{filter:brightness(0) invert(1);transform:translateY(-2px)}
.chip .ab{font-family:var(--body);font-size:12px;font-weight:700;color:var(--heritage);letter-spacing:-.01em;line-height:1.2;transition:color .3s}
.chip:hover .ab{color:var(--ivory)}
.chip .go{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--sandstone);transition:color .3s}
.chip:hover .go{color:var(--sandstone)}

.crow{scroll-margin-top:64px}
.backtop{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;margin-top:20px;
  font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sandstone);
  transition:color .3s;
}
.backtop:hover{color:var(--terracotta)}
.backtop svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.backtop:hover svg{transform:translateY(-3px)}
.cbody .foot-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* ---------- seals (commitment) ---------- */
.seals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule-light);border:1px solid var(--rule-light);margin-top:40px}
@media(max-width:880px){.seals{grid-template-columns:1fr}}
.seal{background:var(--heritage);padding:30px 26px;display:flex;flex-direction:column}
.seal .ico{
  width:46px;height:46px;border:1px solid rgba(212,163,115,.5);border-radius:50%;
  display:grid;place-items:center;margin-bottom:18px;
}
.seal .ico svg{width:20px;height:20px;stroke:var(--sandstone);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.seal .n{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--sandstone);font-weight:700;margin-bottom:12px}
.seal h3{color:var(--ivory);margin-bottom:11px}
.seal p{color:rgba(243,237,225,.78);font-size:14px;line-height:1.64;margin:0}
.seal .stake{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--rule-light);
  font-size:11.5px;color:var(--sandstone);line-height:1.55;
}

/* photo divider band */
.band{
  height:clamp(150px,20vw,260px);background:url('water.jpg') center/cover no-repeat;
  position:relative;
}
.band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,31,26,.55),rgba(142,46,38,.4))}
.band .line{
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:0 var(--pad);
}
.band .line span{
  font-family:var(--display);font-style:italic;font-size:clamp(19px,2.6vw,31px);
  color:var(--ivory);max-width:24ch;line-height:1.35;
}

/* section number rail */
.snum{
  font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--sandstone);
  font-weight:600;margin-bottom:14px;display:block;
}

/* awards */
.awnote{
  margin-top:36px;padding:26px 28px;background:var(--ivory);border-left:2px solid var(--terracotta);
}
.awnote p{margin:0;font-size:14.5px;line-height:1.7;color:rgba(43,37,33,.8)}
.awnote p + p{margin-top:12px}

/* ============================================================
   COLOUR CORRECTION: deeper reds, readable labels
   ============================================================ */
:root{
  --deep:#6E241C;     /* text-facing red, replaces bright terracotta */
  --label:#96683F;    /* small-caps labels on light grounds */
}

/* bright terracotta is now for rules, fills and hovers only, never body text */
.eyebrow{color:var(--deep)}
.agenda .k,.cbody .ag span,.fee .tier,.aw .h,.awnote{color:var(--deep)}
.cbody h2,.ccard .abbr,.chip .ab,.fee .amt,.std h3,.way h3,.role h3,
.prose h3,.salt .in h3,.soon h3{color:var(--deep)}
.pull{color:var(--deep);border-left-color:var(--deep)}
.btn{background:var(--deep);border-color:var(--deep)}
.btn:hover{background:var(--heritage);border-color:var(--heritage);box-shadow:0 8px 22px rgba(110,36,28,.22)}
.btn.ghost{background:none;color:var(--deep);border-color:var(--deep)}
.btn.ghost:hover{background:var(--deep);color:var(--ivory)}
.sg.live{border-color:var(--deep);color:var(--deep)}
.sg.live:hover{background:var(--deep);color:var(--ivory)}
.sg em{color:var(--deep)}
.cbody .ag{border-left-color:var(--deep)}
.awnote{border-left-color:var(--deep)}
.feenote a,.prose a,.partners .head a,.way h3{color:var(--deep)}
.ccard::before,.way::before,.card::before{background:var(--deep)}
.hero h1 em{color:#E8C79B}

/* labels: sandstone is too pale on cream, keep it for dark grounds only */
.ccard .full,.cbody .full,.card .full,.fee .grp span,.feenote i,.meta i,
.mosaic figcaption,.comm-note,.role .name,.aw li,.chip .go,.snum,
.partners .head .eyebrow,.cpicker .lab,.backtop,.prose .updated,
.city-head .eyebrow,.role .pic span,.slot span{color:var(--label)}
.dark .meta i,.deep .meta i,.dark .eyebrow,.deep .eyebrow,
.phead .eyebrow,.phead .crumb,.band .line span,.seal .n,.seal .stake,
.vow .n,.vow .stake,.salt .tag,.foot h4,.count i,.cabar p{color:var(--sandstone)}
.dark .eyebrow.pale,.deep .eyebrow.pale{color:var(--sandstone)}
.mosaic figcaption{color:var(--ivory)}
.backtop:hover{color:var(--deep)}
.chip:hover .ab,.chip:hover .go{color:var(--ivory)}

/* headings sit a touch softer than pure ink */
h1,h2{color:#33231F}
.dark h1,.dark h2,.dark h3,.deep h1,.deep h2,.deep h3,.phead h1{color:var(--ivory)}

/* ============================================================
   SPLIT-FLAP COUNTDOWN
   ============================================================ */
.boardwrap{margin:34px 0 0;display:flex;flex-direction:column;align-items:center;gap:14px}
.board{display:flex;gap:clamp(10px,2vw,22px);justify-content:center;flex-wrap:wrap}
.bunit{display:flex;flex-direction:column;align-items:center;gap:11px}
.flaps{display:flex;gap:4px}
.flap{
  position:relative;display:grid;place-items:center;
  width:clamp(30px,4.4vw,46px);height:clamp(44px,6.4vw,66px);
  background:linear-gradient(180deg,#42251E 0 50%,#2B1712 50% 100%);
  color:var(--ivory);border-radius:5px;
  font-family:var(--body);font-weight:700;
  font-size:clamp(21px,3.2vw,34px);line-height:1;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1px rgba(212,163,115,.22),0 8px 20px rgba(0,0,0,.3);
  transform-style:preserve-3d;backface-visibility:hidden;
}
.flap::after{
  content:'';position:absolute;left:0;right:0;top:50%;height:1px;
  background:rgba(0,0,0,.55);box-shadow:0 1px 0 rgba(212,163,115,.09);
}
.flap.turn{animation:flapturn .44s cubic-bezier(.35,.7,.3,1)}
@keyframes flapturn{
  0%{transform:rotateX(0deg)}
  48%{transform:rotateX(-84deg)}
  52%{transform:rotateX(-84deg)}
  100%{transform:rotateX(0deg)}
}
.bunit .cap{
  font-size:9px;letter-spacing:.24em;text-transform:uppercase;
  font-weight:700;color:var(--sandstone);
}
.boardnote{
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  font-weight:700;color:var(--sandstone);opacity:.7;
}
@media(prefers-reduced-motion:reduce){.flap.turn{animation:none}}

/* centred apply block */
.apply-centre{text-align:center}
.apply-centre .eyebrow{color:var(--sandstone)}
.apply-centre h2,
.apply-centre .wrap > p{margin-left:auto;margin-right:auto}
.apply-centre .applygrid{text-align:left}
.apply-centre .meta{text-align:center}

/* ============================================================
   LOGO THAT SURVIVES EVERY BACKGROUND
   ============================================================ */
.navmark .lg{position:relative;display:block;height:36px;width:36px;flex:none;transition:height .4s,width .4s}
.nav.solid .navmark .lg,body.lightnav .navmark .lg{height:31px;width:31px}
.navmark .lg img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transition:opacity .35s ease;
}
.navmark .lg .on-dark{opacity:1}
.navmark .lg .on-light{opacity:0}
.nav.solid .navmark .lg .on-dark,body.lightnav .navmark .lg .on-dark{opacity:0}
.nav.solid .navmark .lg .on-light,body.lightnav .navmark .lg .on-light{opacity:1}
body.menuopen .navmark .lg .on-dark{opacity:1 !important}
body.menuopen .navmark .lg .on-light{opacity:0 !important}

/* stay page */
.staygrid{margin-top:40px}
@media(max-width:820px){.staygrid{grid-template-columns:1fr !important}}
.feenote{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.feenote{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.feenote{grid-template-columns:1fr}}
.fee.hot ul li{border-bottom-color:var(--rule-light) !important;color:rgba(243,237,225,.85)}

/* hero countdown + dual CTA */
.hero{padding-bottom:64px}
.hero-board{margin:26px auto 0}
.hero-board .flap{
  width:clamp(26px,3.6vw,40px);height:clamp(38px,5.2vw,56px);
  font-size:clamp(18px,2.6vw,28px);
}
.hero-board .board{gap:clamp(8px,1.6vw,18px)}
.hero-board .cap{font-size:8px;letter-spacing:.2em}
.hero-board .boardnote{font-size:8.5px;letter-spacing:.24em;opacity:.62}
.herocta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.btn.hollow{
  background:none;color:var(--ivory);border-color:rgba(243,237,225,.55);
}
.btn.hollow:hover{background:rgba(243,237,225,.12);border-color:var(--ivory);color:var(--ivory);box-shadow:none}
.hero .ribbon{margin-top:26px}
@media(max-height:780px) and (min-width:760px){
  .hero-logo{width:clamp(120px,13vw,158px);margin-bottom:16px}
  .hero h1{font-size:clamp(34px,5.4vw,62px)}
  .hero-rule{margin:16px auto}
  .hero-board{margin-top:18px}
  .herocta{margin-top:18px}
  .hero .ribbon{margin-top:18px}
}
@media(max-width:760px){
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 34px);padding-bottom:52px}
  .hero-logo{width:132px;margin-bottom:18px}
  .herocta .btn{width:100%;justify-content:center}
  .hero-board .flap{width:30px;height:42px;font-size:20px}
}

/* fees page sections */
.pkg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:38px}
@media(max-width:820px){.pkg{grid-template-columns:1fr}}
.pkgcard{background:var(--paper);padding:32px 28px;display:flex;flex-direction:column}
.pkgcard.dark{background:var(--heritage)}
.pkgcard.dark .tier,.pkgcard.dark .until,.pkgcard.dark .note{color:rgba(243,237,225,.8)}
.pkgcard.dark .amt{color:var(--ivory)}
.pkgcard ul{list-style:none;padding:0;margin:16px 0 0}
.pkgcard li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:14.5px;color:rgba(43,37,33,.82)}
.pkgcard.dark li{border-bottom-color:var(--rule-light);color:rgba(243,237,225,.86)}
.pkgcard li:last-child{border-bottom:0}

/* sponsorship tiers */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:38px}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
.tier-c{background:var(--paper);padding:30px 26px;display:flex;flex-direction:column}
.tier-c.lead{background:var(--heritage)}
.tier-c.lead h3,.tier-c.lead .amt{color:var(--ivory)}
.tier-c.lead p,.tier-c.lead li{color:rgba(243,237,225,.82)}
.tier-c.lead li{border-bottom-color:var(--rule-light)}
.tier-c .k{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--label);margin-bottom:14px}
.tier-c.lead .k{color:var(--sandstone)}
.tier-c h3{font-size:20px;margin-bottom:10px}
.tier-c p{font-size:14px;line-height:1.65;color:rgba(43,37,33,.76);margin:0 0 14px}
.tier-c ul{list-style:none;padding:0;margin:auto 0 0}
.tier-c li{padding:9px 0;border-bottom:1px solid var(--rule);font-size:13.5px;color:rgba(43,37,33,.8)}
.tier-c li:last-child{border-bottom:0}

/* partner wall */
.wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:34px}
@media(max-width:900px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wall .plogo{aspect-ratio:2/1}

/* ============================================================
   HERO FIT: everything above the fold, scaled off viewport height
   ============================================================ */
.btn svg{
  width:13px;height:13px;flex:none;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.btn{white-space:nowrap}

.hero{padding-top:calc(var(--nav-h) + 2.4vh);padding-bottom:3.4vh;min-height:100svh}
.hero-logo{width:clamp(92px,13.5vh,168px);margin:0 auto clamp(10px,1.8vh,22px)}
.hero h1{font-size:clamp(30px,7.2vh,74px);line-height:1.05}
.hero-rule{margin:clamp(12px,2vh,24px) auto}
.hero-sub{
  font-size:clamp(13.5px,1.75vh,17.5px);line-height:1.62;max-width:54ch;
}
.hero-board{margin-top:clamp(16px,2.6vh,30px)}
.hero-board .flap{
  width:clamp(24px,4.4vh,42px);height:clamp(34px,6.2vh,58px);
  font-size:clamp(17px,3.4vh,29px);border-radius:4px;
}
.hero-board .board{gap:clamp(7px,1.4vh,16px)}
.hero-board .bunit{gap:clamp(6px,1vh,10px)}
.hero-board .boardnote{margin-top:clamp(4px,.8vh,10px)}
.herocta{margin-top:clamp(14px,2.4vh,28px);gap:10px}
.herocta .btn{padding:clamp(10px,1.55vh,15px) clamp(18px,2.4vw,30px);font-size:clamp(9.5px,1.25vh,11px)}
.hero .ribbon{margin-top:clamp(14px,2.2vh,26px)}
.hero .ribbon b{font-size:clamp(12px,1.6vh,16px)}
.scrollcue{display:none}

@media(max-width:760px){
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 26px);padding-bottom:44px}
  .hero-logo{width:120px}
  .hero h1{font-size:clamp(31px,8.6vw,44px)}
  .hero-sub{font-size:14px}
  .herocta{flex-direction:column;align-items:stretch}
  .herocta .btn{width:100%;justify-content:center;padding:14px 18px;font-size:10.5px;white-space:normal}
  .hero-board .flap{width:28px;height:40px;font-size:19px}
}

/* package cards inherit the fee card type scale */
.pkgcard .tier,.tier-c .tier{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--deep);margin-bottom:16px}
.pkgcard.dark .tier{color:var(--sandstone)}
.pkgcard .amt{font-family:var(--display);font-size:clamp(30px,3.6vw,42px);font-weight:600;color:var(--deep);line-height:1;letter-spacing:-.01em}
.pkgcard.dark .amt{color:var(--ivory)}
.pkgcard .until{font-size:12.5px;color:rgba(43,37,33,.62);margin-top:12px}
.pkgcard.dark .until{color:rgba(243,237,225,.72)}
.pkgcard .best{position:static;align-self:flex-start;margin-bottom:14px}
.pkgcard li strong{color:var(--deep);font-weight:600}
.pkgcard.dark li strong{color:var(--sandstone)}

/* ============================================================
   BUILD 6: control sizing, people cards, popup, tier table
   ============================================================ */

/* buttons: shorter, wider, larger type */
.btn{
  font-size:12.5px;letter-spacing:.1em;padding:13px 30px;font-weight:600;
  text-transform:none;
}
.hero .herocta .btn,.herocta .btn{
  font-size:14px;letter-spacing:.03em;padding:14px 34px;font-weight:600;
}
@media(max-width:760px){.herocta .btn{font-size:14px;padding:15px 20px}}
.sg{font-size:11.5px;letter-spacing:.06em;padding:11px 16px;text-transform:none}
.sg em{font-size:10.5px;letter-spacing:.04em;text-transform:none}
.apply{padding:20px 24px}
.apply .t{font-size:17px}
.apply .d{font-size:13px}
.apply.locked .d{font-size:11px}

/* body copy inside cards, one to two points up */
.fee .until,.pkgcard .until{font-size:13.5px}
.fee .note,.pkgcard li,.tier-c li{font-size:15px;line-height:1.6}
.feenote b{font-size:15px;line-height:1.62}
.std p,.way p,.role p,.vow p,.seal p{font-size:15px;line-height:1.65}
.aw li{font-size:15.5px}
.ccard .blurb,.cbody .blurb{font-size:15px}
.foot ul{font-size:14px}

/* package boxes: stop the content hugging the wall */
.pkgcard{padding:34px 34px 32px}
.pkgcard ul{margin-top:18px}
.pkgcard li{padding:12px 0}
.pkgcard li:first-child{padding-top:0}
.fee{padding:34px 32px 30px}
.tier-c{padding:32px 28px}
@media(max-width:600px){.pkgcard,.fee{padding:26px 22px}}

/* bold label inside the fee notes */
.feenote i{font-size:10.5px;letter-spacing:.2em;color:var(--deep);font-weight:700}
.feenote .strong b{font-weight:600;color:var(--ink)}

/* committee picker: bigger marks */
.chip{padding:24px 12px 18px;gap:12px}
.chip img{width:60px;height:60px}
.chip .ab{font-size:13.5px}
.chip .go{font-size:9.5px;letter-spacing:.12em;text-transform:none}
@media(max-width:480px){.chip img{width:50px;height:50px}}

/* ---------- people grid ---------- */
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:38px}
@media(max-width:1000px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.people{grid-template-columns:1fr}}
.people.two{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.people.two{grid-template-columns:1fr}}
.people.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.people.three{grid-template-columns:1fr}}
.person{background:var(--paper);display:flex;flex-direction:column}
.pface{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--heritage)}
.pface img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pface .b{opacity:0}
.person:hover .pface .a{opacity:0;transform:scale(1.03)}
.person:hover .pface .b{opacity:1;transform:scale(1.03)}
.pface .tagpill{
  position:absolute;left:12px;top:12px;z-index:3;background:rgba(43,37,33,.68);
  color:var(--sandstone);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;padding:5px 10px;border-radius:2px;backdrop-filter:blur(4px);
}
.pbody{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.pbody .role-t{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--label);margin-bottom:9px}
.pbody h3{font-family:var(--body);font-weight:600;font-size:19px;color:var(--deep);letter-spacing:-.01em;margin-bottom:10px}
.pbody h3.tbd{color:var(--label);font-style:italic;font-weight:500}
.pbody p{font-size:14px;line-height:1.6;color:rgba(43,37,33,.76);margin:0}
.limited{
  display:inline-block;margin-top:14px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:var(--deep);border:1px solid var(--rule);padding:5px 10px;border-radius:2px;
}

/* ---------- sponsorship comparison table ---------- */
.ttable{width:100%;border-collapse:collapse;margin-top:38px;border:1px solid var(--rule);background:var(--paper)}
.ttable th,.ttable td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--rule);font-size:14.5px;vertical-align:top}
.ttable thead th{background:var(--heritage);color:var(--ivory);border-bottom:0}
.ttable thead th:first-child{background:var(--brown)}
.ttable thead .tn{display:block;font-family:var(--body);font-weight:700;font-size:17px;letter-spacing:-.01em}
.ttable thead .ts{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sandstone);font-weight:700;margin-top:7px}
.ttable tbody th{font-weight:600;color:var(--deep);width:30%;background:rgba(212,163,115,.08)}
.ttable td{color:rgba(43,37,33,.82)}
.ttable .yes{color:var(--deep);font-weight:700}
.ttable .no{color:rgba(43,37,33,.32)}
.ttable tr:last-child th,.ttable tr:last-child td{border-bottom:0}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:820px){
  .ttable{min-width:660px}
  .tscroll::after{content:'Scroll to compare';display:block;padding:10px 2px 0;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label);font-weight:700}
}

/* ---------- rate comparison ---------- */
.rates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-light);border:1px solid var(--rule-light);margin-top:34px}
@media(max-width:760px){.rates{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rate{background:rgba(43,37,33,.28);padding:24px 20px;text-align:center}
.rate.ours{background:var(--sandstone)}
.rate .pc{font-family:var(--display);font-size:clamp(28px,4vw,40px);font-weight:600;color:var(--ivory);line-height:1}
.rate.ours .pc{color:var(--brown)}
.rate .wh{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sandstone);margin-top:11px;line-height:1.5}
.rate.ours .wh{color:var(--brown)}

/* ---------- recourse switch ---------- */
.recourse{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-light);border:1px solid var(--rule-light);margin-top:36px}
@media(max-width:760px){.recourse{grid-template-columns:1fr}}
.rc{padding:30px 28px}
.rc.them{background:rgba(43,37,33,.42)}
.rc.us{background:var(--heritage)}
.rc .k{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.rc.them .k{color:rgba(243,237,225,.5)}
.rc.us .k{color:var(--sandstone)}
.rc ol{list-style:none;counter-reset:s;padding:0;margin:0}
.rc li{counter-increment:s;padding:11px 0 11px 34px;position:relative;font-size:14.5px;line-height:1.55}
.rc.them li{color:rgba(243,237,225,.6)}
.rc.us li{color:var(--ivory)}
.rc li::before{
  content:counter(s);position:absolute;left:0;top:11px;width:21px;height:21px;
  border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;
}
.rc.them li::before{background:rgba(243,237,225,.12);color:rgba(243,237,225,.55)}
.rc.us li::before{background:var(--sandstone);color:var(--brown)}
.rc .end{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule-light);font-size:14px;line-height:1.6}
.rc.them .end{color:rgba(243,237,225,.45);font-style:italic}
.rc.us .end{color:var(--sandstone);font-weight:600}

/* ---------- evening ---------- */
.evening{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:34px}
@media(max-width:820px){.evening{grid-template-columns:1fr}}
.ev{background:var(--paper);padding:30px 26px}
.ev .ic{font-size:26px;line-height:1;margin-bottom:16px;display:block;filter:saturate(.85)}
.ev h3{font-family:var(--body);font-weight:600;font-size:18px;color:var(--deep);margin-bottom:10px}
.ev p{font-size:14.5px;line-height:1.62;color:rgba(43,37,33,.78);margin:0}

/* ---------- entry popup ---------- */
.pop-scrim{
  position:fixed;inset:0;z-index:400;background:rgba(43,37,33,.72);
  backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease;
}
.pop-scrim.on{opacity:1;visibility:visible}
.pop{
  position:relative;max-width:520px;width:100%;background:var(--heritage);
  color:var(--ivory);border:1px solid rgba(212,163,115,.35);
  padding:clamp(28px,4.4vw,44px);border-radius:3px;overflow:hidden;
  transform:translateY(18px) scale(.98);transition:transform .5s cubic-bezier(.2,.7,.2,1);
  max-height:92svh;overflow-y:auto;
}
.pop-scrim.on .pop{transform:none}
.pop::after{content:'';position:absolute;inset:0;background:url('jali.jpg') center/280px repeat;opacity:.06;mix-blend-mode:luminosity;pointer-events:none}
.pop > *{position:relative;z-index:2}
.pop .x{
  position:absolute;top:12px;right:12px;z-index:5;background:none;border:0;cursor:pointer;
  width:34px;height:34px;display:grid;place-items:center;color:rgba(243,237,225,.6);
}
.pop .x:hover{color:var(--ivory)}
.pop .x svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.pop .kick{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--sandstone);margin-bottom:14px}
.pop h2{color:var(--ivory);font-size:clamp(26px,3.6vw,36px);margin-bottom:12px;line-height:1.12}
.pop .lede{color:rgba(243,237,225,.84);font-size:15px;margin-bottom:20px}
.pop .lines{border-top:1px solid var(--rule-light);margin-bottom:22px}
.pop .ln{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--rule-light);font-size:14px}
.pop .ln span{color:rgba(243,237,225,.72)}
.pop .ln b{color:var(--ivory);font-weight:600;text-align:right}
.pop .acts{display:flex;gap:10px;flex-wrap:wrap}
.pop .acts .btn{flex:1;justify-content:center;min-width:150px}

/* people cards must not become billboards on wide grids */
@media(max-width:520px){.pface{max-height:340px}}
.pbody{padding:20px 22px 22px}
.pbody p{font-size:13.5px}

/* logo aspect: width/height attributes were forcing a square, squeezing the mark */
.hero-logo,.foot img.fl,.soon .mark,.navmark img{height:auto !important}
.hero-logo{aspect-ratio:auto}
.navmark .lg img{height:100% !important}

/* salt award heading must read on the dark panel */
.salt h3,.salt .in h3{
  color:var(--ivory) !important;font-weight:700 !important;
  font-family:var(--display);letter-spacing:.01em;
}
.salt .tag{color:var(--sandstone)}

/* "this could be you" callout */
.callout{
  background:var(--heritage);color:var(--ivory);position:relative;overflow:hidden;
  padding:clamp(30px,4.4vw,52px);margin-top:34px;border:1px solid rgba(212,163,115,.3);
}
.callout::after{content:'';position:absolute;inset:0;background:url('jali.jpg') center/300px repeat;opacity:.06;mix-blend-mode:luminosity;pointer-events:none}
.co-in{position:relative;z-index:2;max-width:64ch}
.co-in .k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--sandstone);margin-bottom:14px}
.co-in h3{font-family:var(--display);font-weight:600;font-size:clamp(26px,3.4vw,40px);color:var(--ivory);margin-bottom:14px}
.co-in p{color:rgba(243,237,225,.84);font-size:15.5px;line-height:1.66;margin-bottom:24px}
.co-in .btn{margin-top:2px}

/* hero mark back to a confident size */
.hero-logo{width:clamp(118px,18.5vh,206px)}
@media(max-width:760px){.hero-logo{width:150px}}

/* ---------- supporters and collaborators ---------- */
.srow{margin-top:26px}
.srow.pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:860px){.srow.pair{grid-template-columns:1fr;gap:26px}}
.sgroup{border:1px solid var(--rule);background:var(--paper)}
.slabel{
  margin:0;padding:13px 20px;border-bottom:1px solid var(--rule);
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  font-weight:700;color:var(--label);background:rgba(212,163,115,.09);
}
.stiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule)}
.sgroup.half .stiles{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .stiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sgroup.half .stiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.slogo{
  background:var(--paper);height:clamp(92px,9.5vw,124px);
  display:grid;place-items:center;padding:14px 18px;transition:background .35s;
}
.slogo:hover{background:#fff}
.slogo img{
  max-width:88%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:saturate(.4) opacity(.78);transition:filter .45s,transform .45s;
}
.slogo:hover img{filter:none;transform:scale(1.04)}
@media(max-width:560px){.slogo{padding:12px;height:84px}}

/* advisor grouping */
.agroup{margin-top:40px}
.agroup .glabel{
  font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
  color:var(--deep);margin-bottom:16px;display:flex;align-items:center;gap:14px;
}
.agroup .glabel::after{content:'';flex:1;height:1px;background:var(--rule)}
.people.solo{grid-template-columns:repeat(3,minmax(0,1fr))}
.people.solo .person:only-child{grid-column:1 / 2}
@media(max-width:900px){.people.solo{grid-template-columns:1fr}}
.pbody .cred{margin:10px 0 0;padding:0;list-style:none}
.pbody .cred li{
  font-size:13px;line-height:1.5;color:rgba(43,37,33,.74);
  padding:5px 0 5px 14px;position:relative;
}
.pbody .cred li::before{
  content:'';position:absolute;left:0;top:12px;width:5px;height:5px;
  transform:rotate(45deg);border:1px solid var(--sandstone);
}

/* empty cell so the two-up row keeps the same column width as the three-up row */
.person.ghost{background:var(--paper)}
@media(max-width:900px){.person.ghost{display:none}}

/* ============================================================
   BUILD 7: READABILITY
   Space Grotesk runs small and light. Nothing that carries
   meaning sits below 12px; reading text sits at 16px to 17px.
   Uppercase labels lose some tracking as they grow, which is
   what keeps them legible rather than just larger.
   ============================================================ */

/* ---------- base reading size ---------- */
body{font-size:17px;line-height:1.66}
.lede{font-size:clamp(18px,1.75vw,21px);font-weight:400;line-height:1.66}
.phead .sub{font-weight:400;color:rgba(243,237,225,.88)}
.deep p{color:rgba(243,237,225,.9)}
.dark p{color:rgba(243,237,225,.86)}

/* ---------- navigation ---------- */
.navlinks{gap:24px}
.navlinks a,.navdrop > button{font-size:15px;letter-spacing:.06em;font-weight:600}
.navdrop > button svg{width:11px;height:11px}
.navcta{padding:10px 18px !important}
.navmark span{font-size:17px}
.dropmenu{min-width:250px;padding:8px 0}
.dropmenu a{font-size:14.5px;letter-spacing:.04em;text-transform:none;padding:12px 22px;font-weight:500}
.dropmenu a[aria-current="page"]{font-weight:600}

/* ---------- uppercase labels: one size, less tracking ---------- */
.eyebrow,.crumb,.cbody .kicker,.cbody .ag span,.cpicker .lab,.backtop,.slabel,
.meta i,.feenote i,.foot h4,.pbody .role-t,.agroup .glabel,.co-in .k,
.fee .tier,.pkgcard .tier,.tier-c .k,.aw .h,.salt .tag,.seal .n,.rc .k,
.fee .grp span,.rate .wh,.ttable thead .ts,.prose .updated,.count i,.pop .kick{
  font-size:12.5px;letter-spacing:.14em;
}
.cbody .full,.ccard .full{font-size:13px;letter-spacing:.1em}
.vow .n,.snum{font-size:13px;letter-spacing:.18em}
.legal{font-size:12px;letter-spacing:.08em}

/* tags that sit on top of photos and cards */
.pface .tagpill,.best,.limited{font-size:11px;letter-spacing:.12em;padding:6px 11px}
.mosaic figcaption{font-size:11.5px;letter-spacing:.12em}

/* countdown captions */
.bunit .cap,.hero-board .cap{font-size:11px;letter-spacing:.16em}
.boardnote,.hero-board .boardnote{font-size:11.5px;letter-spacing:.16em;opacity:.8}

/* ---------- buttons and small controls ---------- */
.btn{font-size:14.5px;letter-spacing:.04em;padding:14px 30px}
.hero .herocta .btn,.herocta .btn{font-size:15px}
.sg{font-size:14px;letter-spacing:.02em;padding:12px 18px}
.sg em{font-size:13px;letter-spacing:.02em}
.apply .t{font-size:18px}
.apply .d{font-size:15px;line-height:1.55}
.apply.locked .d{font-size:12.5px}

/* ---------- committee picker ---------- */
.chip{gap:12px;padding:26px 12px 20px}
.chip .ab{font-size:17px;letter-spacing:0}
.chip .go{font-size:13px;letter-spacing:.02em}

/* ---------- committee rows ---------- */
.cbody .blurb,.ccard .blurb{font-size:17px;line-height:1.7;color:rgba(43,37,33,.86)}
.cbody .ag span{margin-bottom:10px}

/* ---------- card and panel copy ---------- */
.pbody p{font-size:16px;line-height:1.62;color:rgba(43,37,33,.84)}
.pbody h3{font-size:21px}
.pbody .cred li{font-size:15px;line-height:1.5;color:rgba(43,37,33,.84)}
.pbody .cred li::before{top:13px}
.std p,.way p,.role p,.vow p,.seal p,.ev p,.tier-c p{font-size:16px;line-height:1.64}
.std p,.way p,.role p,.ev p,.tier-c p{color:rgba(43,37,33,.84)}
.std h3,.way h3,.role h3{font-size:19px}
.fee .note,.pkgcard li,.tier-c li{font-size:16px}
.pkgcard .note{font-size:16px}
.fee .until,.pkgcard .until{font-size:15px}
.fee .grp b i{font-size:13px}
.fee .grp b.na{font-size:16px}
.feenote b{font-size:16px}
.aw li{font-size:16.5px}
.awnote p{font-size:16.5px}
.salt p{font-size:17px}
.co-in p{font-size:17px}
.seal .stake,.vow .stake{font-size:14px}
.rc li{font-size:16px}
.rc .end{font-size:15.5px}
.meta b{font-size:18.5px}
.ttable th,.ttable td{font-size:16px}
.ttable thead .tn{font-size:18px}
.prose p,.prose li{font-size:17px;line-height:1.72;color:rgba(43,37,33,.86)}
.partners .head p{font-size:15.5px;color:rgba(43,37,33,.74)}
.pop .lede{font-size:16.5px}
.pop .ln{font-size:15px}
.hero-sub{font-size:clamp(15.5px,2vh,19px)}

/* ---------- footer ---------- */
.foot p{font-size:15px}
.foot ul{font-size:15.5px;line-height:2}
.foot{color:rgba(243,237,225,.72)}
footer{color:rgba(243,237,225,.72)}
.legal{color:rgba(243,237,225,.55)}

/* ---------- small screens ---------- */
@media(max-width:1180px){
  .navlinks{gap:6px;justify-content:flex-start;padding-top:calc(var(--nav-h) + 18px);padding-bottom:48px}
  .navlinks > a:not(.navcta){text-transform:none}
  body.menuopen .nav::before{
    content:'';position:fixed;top:0;left:0;right:0;height:calc(var(--nav-h) - 6px);
    background:var(--heritage);box-shadow:0 1px 0 rgba(243,237,225,.14);z-index:206;
  }
  .dropmenu a[aria-current="page"],.navlinks > a[aria-current="page"]{color:var(--sandstone) !important}
  .dropmenu{min-width:0;padding:0}
  .navlinks a,.nav.solid .navlinks a,body.lightnav .navlinks a{
    font-size:18px;letter-spacing:.05em;padding:14px 0;
  }
  .navdrop > button{font-size:12.5px;letter-spacing:.16em;padding:20px 0 8px}
  .dropmenu a{font-size:17px;letter-spacing:.02em;padding:13px 0 13px 18px}
  .navcta,.nav.solid .navcta,body.lightnav .navcta{font-size:15px;padding:14px 30px !important}
}
@media(max-width:760px){
  .herocta .btn{font-size:15px}
  .cbody .blurb{font-size:16.5px}
}

/* ============================================================
   STUDY GUIDE BUTTONS
   ============================================================ */
.sg.live{background:var(--paper)}
.sg.live em{color:inherit;opacity:.7}
.sg.live:hover em{opacity:.85}
.sg.waiting{border-style:dashed;color:rgba(43,37,33,.6);cursor:default}
.sg.waiting em{color:var(--deep)}

/* ============================================================
   COLLABORATOR TILES: named and pending
   ============================================================ */
.slogo.named .sname{
  font-family:var(--body);font-weight:600;font-size:16px;line-height:1.3;
  color:rgba(43,37,33,.72);text-align:center;max-width:15ch;transition:color .35s;
}
.slogo.named:hover .sname{color:var(--deep)}
.slogo.pending,.slogo.pending:hover{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(212,163,115,.11) 10px 20px),var(--paper)}
.slogo.pending .soon{
  font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--label);
  border:1px dashed rgba(150,104,63,.45);border-radius:999px;padding:7px 16px;background:var(--paper);
}

/* ============================================================
   ADVISOR FULL PROFILE
   ============================================================ */
.pbody .bio{margin-top:auto;padding-top:18px}
.bio summary{
  list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  font-size:14.5px;font-weight:600;color:var(--deep);
  padding:9px 0;border-top:1px solid var(--rule);width:100%;
}
.bio summary::-webkit-details-marker{display:none}
.bio summary svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}
.bio[open] summary svg{transform:rotate(180deg)}
.bio summary:hover .open-t,.bio summary:hover .close-t{text-decoration:underline;text-underline-offset:3px}
.bio .close-t{display:none}
.bio[open] .open-t{display:none}
.bio[open] .close-t{display:inline}
.bio-in{padding:6px 0 4px}
.bio-in p{font-size:16px;line-height:1.66;color:rgba(43,37,33,.86);margin:0 0 .9em}
.bio-in p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:no-preference){
  .bio[open] .bio-in{animation:bioin .4s cubic-bezier(.2,.7,.2,1)}
  @keyframes bioin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}

/* ---------- tiles that go live when their logo is uploaded ---------- */
.slogo.await{position:relative}
.slogo.await img{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.slogo.await.has-logo img{position:static;width:auto;height:auto;opacity:1;pointer-events:auto}
.slogo.await.has-logo .soon,.slogo.await.has-logo .sname{display:none}
.slogo.pending.has-logo,.slogo.pending.has-logo:hover{background:var(--paper)}
.slogo.pending.has-logo:hover{background:#fff}


/* nav: plain links and dropdown buttons share one baseline */
.navlinks > a,.navdrop > button{display:inline-flex;align-items:center;line-height:1.2}
.navdrop{display:flex;align-items:center}
@media(max-width:1180px){.navdrop{display:block}}
/* committee number label must read on cream */
.cbody .kicker{color:var(--label)}
/* mobile menu: larger type, slightly tighter rhythm so less of it needs scrolling */
@media(max-width:1180px){
  .navlinks a,.nav.solid .navlinks a,body.lightnav .navlinks a{padding:11px 0}
  .navdrop > button{padding:16px 0 6px}
  .dropmenu a{padding:11px 0 11px 18px}
  .navlinks{justify-content:safe center}
}

/* hero line under the headline: regular weight, the light cut was too faint */
.hero-sub{font-weight:400;color:rgba(243,237,225,.94)}

/* ============================================================
   BUILD 8: ROOMIER LOGO STRIPS, TIGHTER COMMITTEE ROWS
   ============================================================ */

/* logo tiles: taller, with real breathing room. Flex (not grid) so the
   image's max-height resolves against the tile and logos never overrun it. */
.slogo{
  display:flex;align-items:center;justify-content:center;
  height:clamp(118px,11.5vw,150px);padding:16px 24px;
}
.slogo img{max-width:92%;max-height:100%}
.slabel{padding:15px 22px}
@media(max-width:560px){.slogo{height:108px;padding:14px}}

/* committee rows: less air above and below each committee */
.crow .inner{padding:clamp(30px,3.6vw,50px) var(--pad)}
.cbody .full{margin-bottom:18px}
.cbody .ag{margin-bottom:16px}
.cbody .blurb{margin-bottom:18px}
.cbody .foot-row .backtop{margin-top:0}
@media(max-width:860px){
  .crow .inner,.crow:nth-child(even) .inner{gap:14px}
  .cmark{min-height:112px}
  .cmark .num{font-size:104px}
  .cmark img{width:80px}
}
@media(max-width:560px){
  .slogo{padding:12px 8px}
  .slogo img{max-width:100%}
  .slogo.pending .soon{padding:6px 11px;font-size:12.5px;white-space:nowrap}
}

/* ============================================================
   BUILD 9: ADVISORY BOARD AS A TWO-WIDE GRID
   ============================================================ */
/* Two across, three down. The grid is held in from the full column width so
   the square portraits stay portrait sized rather than becoming billboards,
   and every face keeps the framing it was cropped for. */
.people.pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
.people.pair .pbody{padding:26px 28px 28px}
@media(max-width:820px){.people.pair{grid-template-columns:1fr;max-width:none}}

/* a logo strip can set its own column count, so a group can run four across
   on one row and five on the next without leaving an orphan tile */
.stiles{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
.stiles + .stiles{margin-top:1px}
@media(max-width:760px){.stiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============================================================
   BUILD 9: CONDUCT PAGES AS A TWO COLUMN DOCUMENT
   The clause number and title hold the left column and stay put while
   you read the clause beside them. Nothing reflows into newspaper
   columns, so you never have to scroll back up to find the next line.
   ============================================================ */
.doc{max-width:1040px}
.doc .updated{margin-bottom:30px}
.docsec{
  display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:clamp(20px,3.4vw,48px);
  padding:clamp(26px,3vw,40px) 0;border-top:1px solid var(--rule);
}
.docsec:first-of-type{border-top:0;padding-top:0}
.docsec-h{align-self:start;position:sticky;top:96px}
.docsec-h h2{
  font-size:clamp(20px,2vw,26px);margin:0;color:#33231F;
  line-height:1.2;letter-spacing:-.005em;
}
.docsec-b > *:first-child{margin-top:0}
.docsec-b > *:last-child{margin-bottom:0}
.docsec-b p,.docsec-b li{font-size:17px;line-height:1.72;color:rgba(43,37,33,.86);max-width:62ch}
.docsec-b ul,.docsec-b ol{padding-left:20px;margin:0 0 1.15em}
.docsec-b li{margin-bottom:8px}
.docsec-b h3{font-size:18px;margin:26px 0 8px;color:var(--deep);font-family:var(--body);font-weight:600}
.docsec-b h3:first-child{margin-top:0}
@media(max-width:860px){
  .docsec{grid-template-columns:1fr;gap:14px;padding:26px 0}
  .docsec-h{position:static}
  .docsec-b p,.docsec-b li{max-width:none}
}
@media(prefers-reduced-motion:reduce){.docsec-h{position:static}}

/* ============================================================
   BUILD 9: FAQ
   ============================================================ */
.faq{margin-top:38px;border-top:1px solid var(--rule);max-width:900px}
.qa{border-bottom:1px solid var(--rule)}
.qa summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:18px;
  justify-content:space-between;padding:20px 0;
  font-size:19px;font-weight:600;color:var(--deep);line-height:1.4;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover span{text-decoration:underline;text-underline-offset:4px}
.qa summary svg{
  width:15px;height:15px;flex:none;margin-top:5px;stroke:var(--label);fill:none;
  stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s;
}
.qa[open] summary svg{transform:rotate(180deg)}
.qa-a{padding:0 0 22px}
.qa-a p{margin:0;font-size:17px;line-height:1.72;color:rgba(43,37,33,.86);max-width:68ch}
@media(prefers-reduced-motion:no-preference){
  .qa[open] .qa-a{animation:qain .38s cubic-bezier(.2,.7,.2,1)}
  @keyframes qain{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}
@media(max-width:600px){.qa summary{font-size:17px;padding:18px 0;gap:12px}}
/* popup: keep a price on one line, let the long venue line wrap */
.pop .ln b{white-space:nowrap}
.pop .ln b.wrapok{white-space:normal}

/* ============================================================
   BUILD 10: ADVISORY BOARD AS THREE ACROSS, TWO DOWN
   Six advisors in two even rows. Drops to two across on tablets and
   one on phones, so no row is ever left with a single orphan card.
   ============================================================ */
.people.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
.people.trio .pbody{padding:24px 24px 26px}
.people.trio .bio-in p{font-size:15px}
@media(max-width:1000px){.people.trio{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.people.trio{grid-template-columns:1fr}}

/* the hero ribbon now carries the full venue name: let it wrap cleanly on phones */
@media(max-width:640px){
  .hero .ribbon{gap:6px 10px;max-width:92vw}
  .hero .ribbon b:first-child{flex-basis:100%;text-align:center}
  .hero .ribbon b:first-child + .dot{display:none}
}

/* a hairline between logo rows, so a two-row group reads as one even grid */
.stiles + .stiles{margin-top:0;border-top:1px solid var(--rule)}

/* ported 06 Oct: four-person team, four-up facts, facts on the dark page header */
.people.duo{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.people.duo{grid-template-columns:1fr}}
.meta.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.meta.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.meta.four{grid-template-columns:1fr}}
.phead .meta{border-color:var(--rule-light)}
.phead .meta b{color:var(--ivory)}
