/* ============================================================
   RAHUL AWADE — Official Website
   Design system: "Leadership in Motion"
   Palette: Deep institutional green / warm ivory / copper
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Greens — primary institutional family */
  --ink:        #08120E;
  --forest:     #0E3628;
  --forest-2:   #0A2C21;
  --moss:       #2C6B55;
  --sage:       #859F93;
  --sage-soft:  #B7C7BE;

  /* Warm neutrals */
  --paper:      #FCFAF4;
  --ivory:      #F4F0E6;
  --stone:      #E4DCCC;
  --stone-2:    #D3C9B5;

  /* Accent — controlled copper */
  --copper:     #A9552A;
  --copper-lt:  #CE8A5C;
  --copper-pale:#EDD9C8;
  --copper-bleed:#D79E78;  /* emphasis over full-bleed photography */

  /* Type colours */
  --graphite:   #1E2421;
  --body:       #3B4541;
  --muted:      #5F6A66;
  --muted-lt:   #8B9691;

  /* Layout */
  --maxw: 1280px;
  --gut: clamp(20px, 5vw, 64px);
  --rule: rgba(30,36,33,.14);
  --rule-dk: rgba(244,240,230,.18);

  /* Type scale */
  --f-display: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --f-body: 'IBM Plex Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --f-meta: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  --t-hero:  clamp(2.6rem, 7.4vw, 5.6rem);
  --t-h1:    clamp(2.2rem, 5.6vw, 4.1rem);
  --t-h2:    clamp(1.75rem, 3.7vw, 2.85rem);
  --t-h3:    clamp(1.2rem, 2vw, 1.55rem);
  --t-lead:  clamp(1.02rem, 1.45vw, 1.24rem);
  --t-body:  clamp(.975rem, 1.02vw, 1.055rem);
  --t-meta:  clamp(.7rem, .82vw, .78rem);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. RESET / BASE ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--body);
  font-family:var(--f-body); font-size:var(--t-body); line-height:1.72;
  font-weight:400; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; }
button{ font:inherit; color:inherit; }
h1,h2,h3,h4,h5{
  font-family:var(--f-display); color:var(--graphite);
  margin:0; font-weight:700; letter-spacing:-.028em; line-height:1.08;
}
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--copper); color:#fff; }

/* Focus — visible everywhere */
:focus-visible{
  outline:2.5px solid var(--copper);
  outline-offset:3px; border-radius:2px;
}
.on-dark :focus-visible, .is-dark :focus-visible{ outline-color:var(--copper-lt); }

.skip{
  position:absolute; left:12px; top:12px; z-index:9999;
  transform:translateY(-260%); transition:transform .25s var(--ease);
  background:var(--forest); color:var(--paper); padding:14px 22px; text-decoration:none;
  font-family:var(--f-meta); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
}
.skip:focus{ transform:translateY(0); }

/* ---------- 3. LAYOUT PRIMITIVES ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.wrap--wide{ max-width:1560px; }
.sec{ padding-block:clamp(56px, 8.5vw, 128px); position:relative; }
.sec--tight{ padding-block:clamp(44px, 6vw, 84px); }
.sec--dark{ background:var(--forest); color:var(--sage-soft); }
.sec--ink{ background:var(--ink); color:var(--sage-soft); }
.sec--ivory{ background:var(--ivory); }
.sec--dark h1,.sec--dark h2,.sec--dark h3,.sec--dark h4,
.sec--ink h1,.sec--ink h2,.sec--ink h3,.sec--ink h4{ color:var(--paper); }
.rule-top{ border-top:1px solid var(--rule); }
.sec--dark.rule-top,.sec--ink.rule-top{ border-top-color:var(--rule-dk); }

/* ---------- 4. SECTION INDEX LABEL (signature) ---------- */
.idx{
  display:flex; align-items:baseline; gap:14px;
  font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.19em; text-transform:uppercase; color:var(--muted);
  margin-bottom:clamp(20px,2.6vw,34px);
}
.idx b{ color:var(--copper); font-weight:500; }
.idx span{ color:inherit; font-weight:400; }
.idx::after{
  content:""; flex:1 1 auto; height:1px; background:var(--rule);
  transform-origin:left; transform:scaleX(var(--draw,1));
  transition:transform 1.1s var(--ease) .15s;
}
.sec--dark .idx,.sec--ink .idx{ color:var(--sage); }
.sec--dark .idx b,.sec--ink .idx b{ color:var(--copper-lt); }
.sec--dark .idx::after,.sec--ink .idx::after{ background:var(--rule-dk); }

/* ---------- 5. TYPE HELPERS ---------- */
.eyebrow{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.19em;
  text-transform:uppercase; color:var(--copper); font-weight:500; margin:0 0 14px;
}
.sec--dark .eyebrow,.sec--ink .eyebrow{ color:var(--copper-lt); }
.h-display{ font-size:var(--t-h1); }
.h-sec{ font-size:var(--t-h2); }
.h-sub{ font-size:var(--t-h3); letter-spacing:-.018em; }
.lead{ font-size:var(--t-lead); line-height:1.62; color:var(--graphite); }
.sec--dark .lead,.sec--ink .lead{ color:var(--stone); }
.dim{ color:var(--muted); }
.sec--dark .dim,.sec--ink .dim{ color:var(--sage); }
.accent{ color:var(--copper); }
.sec--dark .accent,.sec--ink .accent{ color:var(--copper-lt); }
.prose{ max-width:66ch; }
.prose p + p{ margin-top:0; }
.measure{ max-width:58ch; }

/* Statement type — large editorial pull */
.statement{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.45rem, 3.1vw, 2.5rem); line-height:1.2;
  letter-spacing:-.03em; color:var(--graphite);
}
.sec--dark .statement,.sec--ink .statement{ color:var(--paper); }
.statement em{ font-style:normal; color:var(--copper); font-weight:500; }
.sec--dark .statement em,.sec--ink .statement em{ color:var(--copper-lt); }

/* ---------- 6. IMAGE PLATES (ratios match sources exactly) ---------- */
.plate{ position:relative; background:var(--stone); overflow:hidden; }
.plate img{ width:100%; height:100%; object-fit:cover; display:block; }
.plate--3x2{ aspect-ratio:3/2; }
.plate--3x4{ aspect-ratio:3/4; }
.plate--1x1{ aspect-ratio:1/1; }
.plate--4x3{ aspect-ratio:4/3; }
.plate--free img{ height:auto; object-fit:contain; }
.sec--dark .plate,.sec--ink .plate{ background:var(--forest-2); }

/* Offset copper hairline frame — signature detail */
.framed{ position:relative; }
.framed::before{
  content:""; position:absolute; inset:0;
  border:1px solid var(--copper);
  transform:translate(16px,16px); pointer-events:none; z-index:0;
  transition:transform .7s var(--ease);
}
.framed > .plate{ position:relative; z-index:1; }
.framed:hover::before{ transform:translate(10px,10px); }
@media (max-width:640px){ .framed::before{ transform:translate(9px,9px); } }

.cap{
  margin-top:12px; font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.055em; line-height:1.65; color:var(--muted); text-transform:none;
}
.sec--dark .cap,.sec--ink .cap{ color:var(--sage); }

/* Zoom-on-hover for interactive image cards */
.zoom img{ transition:transform 1.1s var(--ease); }
.zoom:hover img,.zoom:focus-visible img{ transform:scale(1.035); }

/* ---------- 7. BUTTONS / LINKS ---------- */
.btn{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  text-transform:uppercase; font-weight:500; text-decoration:none;
  padding:15px 26px; border:1px solid var(--forest); color:var(--forest);
  background:transparent; cursor:pointer; position:relative; overflow:hidden;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.btn::before{
  content:""; position:absolute; inset:0; background:var(--forest);
  transform:scaleX(0); transform-origin:right; transition:transform .5s var(--ease); z-index:0;
}
.btn > *{ position:relative; z-index:1; }
.btn:hover,.btn:focus-visible{ color:var(--paper); }
.btn:hover::before,.btn:focus-visible::before{ transform:scaleX(1); transform-origin:left; }
.btn--solid{ background:var(--forest); color:var(--paper); }
.btn--solid::before{ background:var(--copper); }
.btn--solid:hover,.btn--solid:focus-visible{ border-color:var(--copper); color:#fff; }
.btn--light{ border-color:var(--sage-soft); color:var(--paper); }
.btn--light::before{ background:var(--copper); }
.btn--light:hover,.btn--light:focus-visible{ border-color:var(--copper); }
.btn .arw{ width:1em; height:1em; flex:none; }

/* Understated text link with animated rule */
.tlink{
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.15em;
  text-transform:uppercase; color:var(--copper); font-weight:500;
  padding-bottom:5px; border-bottom:1px solid var(--copper-pale);
  transition:border-color .4s var(--ease), color .4s var(--ease);
}
.tlink:hover,.tlink:focus-visible{ border-bottom-color:var(--copper); color:var(--graphite); }
.sec--dark .tlink,.sec--ink .tlink{ color:var(--copper-lt); border-bottom-color:rgba(198,117,64,.35); }
.sec--dark .tlink:hover,.sec--ink .tlink:hover{ color:var(--paper); border-bottom-color:var(--copper-lt); }

/* ---------- 8. HEADER ---------- */
.hdr{
  position:sticky; top:0; z-index:120; background:var(--paper);
  border-bottom:1px solid var(--rule);
  transition:box-shadow .4s var(--ease), background .4s var(--ease);
}
.hdr.is-stuck{ box-shadow:0 1px 22px rgba(8,18,14,.09); }
.hdr__in{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  min-height:76px; padding-block:12px;
}
.brand{ display:flex; align-items:center; gap:14px; text-decoration:none; flex:none; }
.brand__mark{
  width:42px; height:42px; flex:none; background:var(--forest);
  display:grid; place-items:center; color:var(--paper);
  font-family:var(--f-display); font-weight:700; font-size:.86rem; letter-spacing:.02em;
  position:relative;
}
.brand__mark::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--copper);
}
.brand__txt{ display:flex; flex-direction:column; gap:3px; line-height:1; }
.brand__name{
  font-family:var(--f-display); font-weight:700; font-size:1.02rem;
  letter-spacing:-.012em; color:var(--graphite);
}
.brand__role{
  font-family:var(--f-meta); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.nav{ display:none; }
.nav ul{ display:flex; align-items:center; gap:clamp(14px,1.75vw,26px); }
.nav a{
  text-decoration:none; font-family:var(--f-meta); font-size:.685rem;
  letter-spacing:.115em; text-transform:uppercase; color:var(--body);
  padding:9px 0; position:relative; white-space:nowrap; display:block;
  transition:color .35s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:2px; width:100%; height:1.5px;
  background:var(--copper); transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav a:hover,.nav a:focus-visible{ color:var(--graphite); }
.nav a:hover::after,.nav a:focus-visible::after{ transform:scaleX(1); transform-origin:left; }
.nav a[aria-current="page"]{ color:var(--forest); font-weight:500; }
.nav a[aria-current="page"]::after{ transform:scaleX(1); }

.burger{
  display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
  width:46px; height:46px; padding:0 11px; background:transparent;
  border:1px solid var(--rule); cursor:pointer; flex:none;
}
.burger span{ display:block; height:1.5px; background:var(--graphite); transition:transform .4s var(--ease), opacity .3s; }
.burger span:nth-child(2){ width:70%; }
.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); }

/* Mobile drawer */
.drawer{
  position:fixed; inset:0; z-index:200; background:var(--forest);
  display:flex; flex-direction:column; padding:0;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .42s var(--ease), transform .42s var(--ease), visibility .42s;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.drawer.is-open{ opacity:1; visibility:visible; transform:none; }
.drawer__top{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:76px; padding:12px var(--gut); border-bottom:1px solid var(--rule-dk);
}
.drawer__top .brand__name{ color:var(--paper); }
.drawer__top .brand__role{ color:var(--sage); }
.drawer__top .brand__mark{ background:var(--paper); color:var(--forest); }
.drawer__close{
  width:46px; height:46px; border:1px solid var(--rule-dk); background:transparent;
  color:var(--paper); cursor:pointer; display:grid; place-items:center; flex:none;
}
.drawer__close svg{ width:17px; height:17px; }
.drawer nav{ padding:clamp(18px,4vw,40px) var(--gut) 0; }
.drawer nav ol{ margin:0; padding:0; list-style:none; counter-reset:d; }
.drawer nav li{ border-bottom:1px solid var(--rule-dk); counter-increment:d; }
.drawer nav a{
  display:flex; align-items:baseline; gap:16px; text-decoration:none;
  padding:clamp(13px,2.1vw,19px) 0; color:var(--paper);
  font-family:var(--f-display); font-weight:600; letter-spacing:-.02em;
  font-size:clamp(1.15rem,4.4vw,1.7rem); transition:color .3s var(--ease), padding-left .4s var(--ease);
}
.drawer nav a::before{
  content:counter(d,decimal-leading-zero); font-family:var(--f-meta);
  font-size:.7rem; letter-spacing:.14em; color:var(--copper-lt); font-weight:400;
  flex:none; width:26px;
}
.drawer nav a:hover,.drawer nav a:focus-visible{ color:var(--copper-lt); padding-left:8px; }
.drawer nav a[aria-current="page"]{ color:var(--copper-lt); }
.drawer__foot{
  margin-top:auto; padding:clamp(22px,4vw,38px) var(--gut) clamp(26px,5vw,44px);
  font-family:var(--f-meta); font-size:.75rem; letter-spacing:.06em;
  color:var(--sage); line-height:1.9;
}
.drawer__foot a{ color:var(--paper); text-decoration:none; border-bottom:1px solid rgba(244,240,230,.28); }
.drawer__foot a:hover{ border-bottom-color:var(--copper-lt); color:var(--copper-lt); }
body.nav-lock{ overflow:hidden; }

@media (min-width:1200px){
  .nav{ display:block; }
  .burger{ display:none; }
}

/* ---------- 9. PAGE MASTHEAD (interior pages) ---------- */
.mast{ background:var(--forest); color:var(--sage-soft); position:relative; overflow:hidden; }
.mast::after{
  content:""; position:absolute; right:-8%; top:-30%; width:52%; height:170%;
  background:
    repeating-linear-gradient(115deg, rgba(244,240,230,.055) 0 1px, transparent 1px 17px);
  pointer-events:none;
}
.mast__in{ padding-block:clamp(52px,8vw,104px); position:relative; z-index:1; }
.mast h1{ color:var(--paper); font-size:var(--t-h1); max-width:20ch; }
.mast .lead{ color:var(--stone); margin-top:20px; max-width:58ch; }
.crumb{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:22px;
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  text-transform:uppercase; color:var(--sage);
}
.crumb a{ text-decoration:none; color:var(--sage); transition:color .3s; }
.crumb a:hover,.crumb a:focus-visible{ color:var(--copper-lt); }
.crumb span[aria-current]{ color:var(--copper-lt); }

/* ---------- 10. DATA PANELS / FACT ROWS ---------- */
.facts{ display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
.sec--dark .facts,.sec--ink .facts{ background:var(--rule-dk); border-color:var(--rule-dk); }
.facts > div{ background:var(--paper); padding:clamp(20px,2.6vw,32px); min-width:0; }
.sec--ivory .facts > div{ background:var(--ivory); }
.sec--dark .facts > div{ background:var(--forest); }
.sec--ink .facts > div{ background:var(--ink); }
.facts dt,.facts .k{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin:0 0 10px;
}
.sec--dark .facts .k,.sec--ink .facts .k,
.sec--dark .facts dt,.sec--ink .facts dt{ color:var(--sage); }
.facts dd,.facts .v{
  margin:0; font-family:var(--f-display); font-weight:600; letter-spacing:-.022em;
  font-size:clamp(1.02rem,1.75vw,1.35rem); color:var(--graphite); line-height:1.3;
  overflow-wrap:break-word; min-width:0;
}
.sec--dark .facts .v,.sec--ink .facts .v,
.sec--dark .facts dd,.sec--ink .facts dd{ color:var(--paper); }
.facts .v small{ display:block; font-family:var(--f-body); font-weight:400; font-size:.8rem;
  letter-spacing:0; color:var(--muted); margin-top:8px; line-height:1.6; }
.sec--dark .facts .v small,.sec--ink .facts .v small{ color:var(--sage); }
.facts--2{ grid-template-columns:1fr; }
.facts--3{ grid-template-columns:1fr; }
.facts--4{ grid-template-columns:1fr; }
@media (min-width:560px){ .facts--2,.facts--4{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:860px){
  .facts--3{ grid-template-columns:repeat(3,1fr); }
  .facts--4{ grid-template-columns:repeat(4,1fr); }
}

/* Big metric block */
.metric{ display:block; }
.metric{ min-width:0; }
.metric__n{
  font-family:var(--f-display); font-weight:700; letter-spacing:-.045em;
  font-size:clamp(1.5rem,2.6vw,2.6rem); line-height:1.04; color:var(--forest);
  white-space:nowrap;
}
.sec--dark .metric__n,.sec--ink .metric__n{ color:var(--paper); }
.metric__n sup{ font-size:.42em; font-weight:600; letter-spacing:0; top:-.9em; color:var(--copper); }
.metric__l{
  margin-top:12px; font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.15em; text-transform:uppercase; color:var(--muted); line-height:1.7;
}
.sec--dark .metric__l,.sec--ink .metric__l{ color:var(--sage); }

/* ---------- 11. LEDGER ROWS (initiatives / media index) ---------- */
.ledger{ border-top:1px solid var(--rule); }
.sec--dark .ledger,.sec--ink .ledger{ border-top-color:var(--rule-dk); }
.ledger > li{ border-bottom:1px solid var(--rule); }
.sec--dark .ledger > li,.sec--ink .ledger > li{ border-bottom-color:var(--rule-dk); }
.row{
  display:grid; grid-template-columns:1fr; gap:10px 28px; align-items:start;
  padding:clamp(20px,2.7vw,32px) 0; position:relative;
  transition:padding-left .5s var(--ease);
}
.ledger > li:hover .row{ padding-left:clamp(0px,1.2vw,16px); }
.row__no{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  color:var(--copper); text-transform:uppercase;
}
.row__title{ font-size:clamp(1.06rem,1.85vw,1.42rem); letter-spacing:-.022em; }
.row__meta{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); line-height:1.9;
}
.sec--dark .row__meta,.sec--ink .row__meta{ color:var(--sage); }
.row__body{ color:var(--body); max-width:62ch; }
.sec--dark .row__body,.sec--ink .row__body{ color:var(--stone); }
@media (min-width:860px){
  .row{ grid-template-columns:56px minmax(0,1fr) 210px; }
  .row--wide{ grid-template-columns:56px minmax(0,1fr) 250px; }
}

/* Status chips */
.chip{
  display:inline-flex; align-items:center; gap:8px; padding:5px 11px;
  font-family:var(--f-meta); font-size:.7rem; letter-spacing:.13em;
  text-transform:uppercase; font-weight:500; border:1px solid currentColor;
  border-radius:2px; white-space:nowrap;
}
.chip::before{ content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none; }
.chip--done{ color:#1E6A4C; }
.chip--live{ color:#8A5A12; }
.chip--appr{ color:#2C5AA0; }
.chip--anno{ color:var(--copper); }
.sec--dark .chip--done,.sec--ink .chip--done{ color:#6FC49F; }
.sec--dark .chip--live,.sec--ink .chip--live{ color:#DDB55E; }
.sec--dark .chip--appr,.sec--ink .chip--appr{ color:#8FB6EE; }
.sec--dark .chip--anno,.sec--ink .chip--anno{ color:var(--copper-lt); }

/* ---------- 12. GRIDS ---------- */
.split{ display:grid; gap:clamp(30px,4.5vw,64px); align-items:start; }
@media (min-width:920px){
  .split--7-5{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
  .split--5-7{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
  .split--6-6{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .split--4-8{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); }
  .split--8-4{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); }
  .split--center{ align-items:center; }
}
.stack-lg{ display:grid; gap:clamp(30px,4vw,56px); }
.stack-md{ display:grid; gap:clamp(20px,2.6vw,32px); }
.stack-sm{ display:grid; gap:14px; }
.cluster{ display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; }

/* ---------- 13. FULL-BLEED MOMENT ---------- */
.bleed{ position:relative; overflow:hidden; background:var(--ink); }
.bleed__img{ position:absolute; inset:0; }
.bleed__img img{ width:100%; height:100%; object-fit:cover; object-position:center 32%; }
.bleed__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,18,14,.88) 0%, rgba(8,18,14,.80) 45%, rgba(8,18,14,.93) 100%);
}
.bleed__in{ position:relative; z-index:2; padding-block:clamp(80px,13vw,190px); color:var(--stone); }
.bleed__in h2,.bleed__in h3{ color:var(--paper); }
.bleed__in .statement em{ color:var(--copper-bleed); }
.bleed__in .eyebrow{ color:var(--copper-bleed); }

/* ---------- 14. NEWS ---------- */
.feature{ display:grid; gap:clamp(24px,3.4vw,48px); }
@media (min-width:920px){ .feature{ grid-template-columns:minmax(0,6fr) minmax(0,6fr); align-items:center; } }
.newslist > li{ border-bottom:1px solid var(--rule); }
.newslist > li:first-child{ border-top:1px solid var(--rule); }
.news-item{ display:block; text-decoration:none; padding:clamp(20px,2.6vw,30px) 0; transition:padding-left .5s var(--ease); }
.news-item:hover,.news-item:focus-visible{ padding-left:clamp(0px,1.2vw,16px); }
.news-item .row__title{ transition:color .35s var(--ease); }
.news-item:hover .row__title,.news-item:focus-visible .row__title{ color:var(--copper); }
.tag{
  font-family:var(--f-meta); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--copper); border:1px solid var(--copper-pale); padding:4px 9px; display:inline-block;
}

/* ---------- 15. GALLERY ---------- */
.journal{ display:grid; gap:clamp(46px,7vw,110px); }
.jitem{ display:grid; gap:clamp(20px,3vw,42px); align-items:center; }
@media (min-width:920px){
  .jitem--l{ grid-template-columns:minmax(0,7fr) minmax(0,4fr); }
  .jitem--r{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); }
  .jitem--r .jitem__txt{ order:-1; }
  .jitem--tall{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); }
}
.gbtn{
  display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in;
  position:relative;
}
.gbtn::after{
  content:""; position:absolute; inset:0; background:rgba(14,54,40,0);
  transition:background .45s var(--ease);
}
.gbtn:hover::after,.gbtn:focus-visible::after{ background:rgba(14,54,40,.14); }

/* Lightbox */
.lb{
  position:fixed; inset:0; z-index:300; background:rgba(8,18,14,.965);
  display:flex; align-items:center; justify-content:center; padding:clamp(14px,4vw,56px);
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s;
}
.lb.is-open{ opacity:1; visibility:visible; }
.lb figure{ margin:0; max-width:min(1180px,100%); max-height:100%; display:flex; flex-direction:column; gap:16px; }
.lb img{
  max-width:100%; max-height:calc(100vh - 190px); width:auto; height:auto;
  object-fit:contain; margin-inline:auto;
}
.lb figcaption{
  font-family:var(--f-meta); font-size:.78rem; letter-spacing:.08em; line-height:1.75;
  color:var(--sage-soft); text-align:center; max-width:72ch; margin-inline:auto;
}
.lb__btn{
  position:absolute; width:52px; height:52px; border:1px solid var(--rule-dk);
  background:rgba(8,18,14,.6); color:var(--paper); cursor:pointer;
  display:grid; place-items:center; transition:background .3s, border-color .3s;
}
.lb__btn:hover,.lb__btn:focus-visible{ background:var(--copper); border-color:var(--copper); }
.lb__btn svg{ width:18px; height:18px; }
.lb__x{ top:clamp(12px,2.4vw,26px); right:clamp(12px,2.4vw,26px); }
.lb__p{ left:clamp(8px,2vw,26px); top:50%; transform:translateY(-50%); }
.lb__n{ right:clamp(8px,2vw,26px); top:50%; transform:translateY(-50%); }
@media (max-width:640px){
  .lb__p{ left:12px; top:auto; bottom:16px; transform:none; }
  .lb__n{ right:12px; top:auto; bottom:16px; transform:none; }
  .lb img{ max-height:calc(100vh - 230px); }
}

/* ---------- 16. CONTACT ---------- */
.ccard{
  border:1px solid var(--rule); padding:clamp(26px,3.6vw,46px); background:var(--paper);
  display:grid; gap:22px;
}
.ccard dt{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.17em;
  text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}
.ccard dd{ margin:0; }
.ccard a{
  font-family:var(--f-display); font-weight:600; letter-spacing:-.02em;
  font-size:clamp(1.1rem,2.1vw,1.5rem); color:var(--graphite); text-decoration:none;
  border-bottom:1px solid var(--stone-2); padding-bottom:3px;
  transition:color .35s var(--ease), border-color .35s var(--ease);
  overflow-wrap:anywhere;
}
.ccard a:hover,.ccard a:focus-visible{ color:var(--copper); border-bottom-color:var(--copper); }
.ccard .plain{
  font-family:var(--f-display); font-weight:600; letter-spacing:-.02em;
  font-size:clamp(1.1rem,2.1vw,1.5rem); color:var(--graphite);
}

/* ---------- 17. FOOTER ---------- */
.ftr{ background:var(--ink); color:var(--sage); }
.ftr__top{ padding-block:clamp(48px,6.5vw,86px); }
.ftr__grid{ display:grid; gap:clamp(32px,4vw,54px); }
@media (min-width:820px){ .ftr__grid{ grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr); } }
.ftr h2,.ftr h3{ color:var(--paper); }
.ftr__word{
  font-family:var(--f-display); font-weight:700; letter-spacing:-.035em; line-height:1;
  font-size:clamp(1.9rem,4.4vw,3rem); color:var(--paper); margin:0 0 16px;
}
.ftr__role{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.17em;
  text-transform:uppercase; color:var(--copper-lt); line-height:1.9;
}
.ftr__h{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.18em;
  text-transform:uppercase; color:var(--sage); margin:0 0 18px; font-weight:500;
}
.ftr__nav li + li{ margin-top:11px; }
.ftr__nav a{
  text-decoration:none; color:var(--stone); font-size:.925rem;
  transition:color .3s var(--ease), padding-left .35s var(--ease); display:inline-block;
}
.ftr__nav a:hover,.ftr__nav a:focus-visible{ color:var(--copper-lt); padding-left:5px; }
.ftr__contact dt{
  font-family:var(--f-meta); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--sage); margin-bottom:6px;
}
.ftr__contact dd{ margin:0 0 16px; }
.ftr__contact a,.ftr__contact .plain{
  color:var(--paper); text-decoration:none; font-size:.955rem; overflow-wrap:anywhere;
  border-bottom:1px solid transparent; transition:color .3s, border-color .3s;
}
.ftr__contact a:hover,.ftr__contact a:focus-visible{ color:var(--copper-lt); border-bottom-color:var(--copper-lt); }
.social{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.social a{
  width:44px; height:44px; border:1px solid var(--rule-dk); display:grid; place-items:center;
  color:var(--stone); transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.social a:hover,.social a:focus-visible{ background:var(--copper); border-color:var(--copper); color:#fff; }
.social svg{ width:17px; height:17px; }
.ftr__bar{
  border-top:1px solid var(--rule-dk); padding-block:24px; min-width:0;
  display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; justify-content:space-between;
  font-family:var(--f-meta); font-size:.72rem; letter-spacing:.07em; color:var(--sage); line-height:1.9;
}
.ftr__bar a{ color:var(--stone); text-decoration:none; border-bottom:1px solid rgba(244,240,230,.25); }
.ftr__bar a:hover,.ftr__bar a:focus-visible{ color:var(--copper-lt); border-bottom-color:var(--copper-lt); }

/* Sources note */
.srcnote{
  border-left:2px solid var(--copper); padding:2px 0 2px 18px;
  font-size:.86rem; line-height:1.75; color:var(--muted);
}
.srcnote a{ color:var(--muted); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--stone-2); }
.srcnote a:hover,.srcnote a:focus-visible{ color:var(--copper); text-decoration-color:var(--copper); }
.sec--dark .srcnote,.sec--ink .srcnote{ color:var(--sage); }
.sec--dark .srcnote a,.sec--ink .srcnote a{ color:var(--sage-soft); text-decoration-color:var(--moss); }

/* ---------- 18. SCROLL REVEAL ---------- */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.rv.in{ opacity:1; transform:none; }
.rv-d1{ transition-delay:.09s; } .rv-d2{ transition-delay:.18s; }
.rv-d3{ transition-delay:.27s; } .rv-d4{ transition-delay:.36s; }
.rv-line{ transform:scaleX(0); transform-origin:left; transition:transform 1s var(--ease); }
.rv-line.in{ transform:scaleX(1); }
/* Image reveal — curtain wipe */
.rv-img{ clip-path:inset(0 0 100% 0); transition:clip-path 1.05s var(--ease); }
.rv-img.in{ clip-path:inset(0 0 0 0); }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .rv,.rv-line,.rv-img{ opacity:1 !important; transform:none !important; clip-path:none !important; }
  .framed::before{ transform:translate(12px,12px) !important; }
}

/* ---------- 19. UTILITIES ---------- */
.vh{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.hr{ height:1px; background:var(--rule); border:0; margin:0; }
.sec--dark .hr,.sec--ink .hr{ background:var(--rule-dk); }
.mt-s{ margin-top:16px; } .mt-m{ margin-top:clamp(22px,3vw,36px); }
.mt-l{ margin-top:clamp(32px,4.5vw,58px); }
.nowrap{ white-space:nowrap; }

/* ---------- 20. NO-JAVASCRIPT GATE NOTICE ---------- */
.nojs{ display:none; min-height:100vh; place-items:center; padding:40px 24px; background:var(--forest); }
.nojs__box{ max-width:44ch; text-align:center; color:var(--stone); }
.nojs__box h1{ color:var(--paper); font-size:1.35rem; margin-bottom:14px; letter-spacing:-.02em; }
.nojs__box p{ font-size:.95rem; line-height:1.75; }

/* ============================================================
   21. PAGE COMPONENTS
   ============================================================ */

/* ---------- Home hero ---------- */
.hero{ padding-block:clamp(40px,6vw,90px) clamp(44px,6vw,96px); }
.hero__name{
  font-size:var(--t-hero); line-height:.92; letter-spacing:-.045em;
  font-weight:800; color:var(--graphite); margin:0;
}
.hero__line{
  margin:clamp(20px,2.6vw,32px) 0 0; font-family:var(--f-display);
  font-weight:600; letter-spacing:-.024em; line-height:1.28;
  font-size:clamp(1.08rem,1.95vw,1.5rem); color:var(--forest);
}
.hero__line em{ font-style:normal; color:var(--copper); }
.hero__strip{
  display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule);
  margin:clamp(38px,5.5vw,74px) 0 0;
}
.hero__strip > div{ background:var(--paper); padding:clamp(16px,2vw,24px); }
.hero__strip dt{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.17em;
  text-transform:uppercase; color:var(--muted); margin:0 0 9px;
}
.hero__strip dd{
  margin:0; font-family:var(--f-display); font-weight:600; letter-spacing:-.018em;
  font-size:clamp(.95rem,1.35vw,1.1rem); color:var(--graphite); line-height:1.35;
}
@media (min-width:560px){ .hero__strip{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .hero__strip{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:919px){ .hero__img{ max-width:420px; } }

/* ---------- Big word ---------- */
.bigword{
  font-family:var(--f-display); font-weight:800; letter-spacing:-.05em; line-height:.9;
  font-size:clamp(2.6rem,10.5vw,7.6rem); color:var(--forest); margin:0;
  overflow-wrap:anywhere;
}

/* ---------- Agenda cells ---------- */
.agenda{ display:grid; gap:1px; background:var(--rule-dk); border:1px solid var(--rule-dk); }
.agenda__c{ background:var(--ink); padding:clamp(24px,3vw,38px); }
.agenda__n{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.2em;
  color:var(--copper-lt); margin:0 0 18px;
}
.agenda__c h3{ color:var(--paper); }
.agenda__c p{ color:var(--sage-soft); font-size:.94rem; }
@media (min-width:680px){ .agenda{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .agenda{ grid-template-columns:repeat(4,1fr); } }

/* ---------- Underlined links inside dark data panels ---------- */
.ulink{
  color:inherit; text-decoration:none; border-bottom:1px solid rgba(198,117,64,.5);
  padding-bottom:2px; transition:color .3s var(--ease), border-color .3s var(--ease);
  overflow-wrap:anywhere;
}
.ulink:hover,.ulink:focus-visible{ color:var(--copper-lt); border-bottom-color:var(--copper-lt); }
.ilink{
  color:var(--copper); text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--copper-pale); transition:text-decoration-color .3s var(--ease);
}
.ilink:hover,.ilink:focus-visible{ text-decoration-color:var(--copper); }

/* ---------- Timeline ---------- */
.tl{ margin:0; padding:0; list-style:none; border-top:1px solid var(--rule-dk); }
.tl--light{ border-top-color:var(--rule); }
.tl__i{
  display:grid; grid-template-columns:1fr; gap:8px 30px;
  padding:clamp(20px,2.6vw,30px) 0; border-bottom:1px solid var(--rule-dk);
  position:relative;
}
.tl--light .tl__i{ border-bottom-color:var(--rule); }
.tl__d{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.14em;
  text-transform:uppercase; color:var(--copper-lt); margin:0; padding-top:.35em;
}
.tl--light .tl__d{ color:var(--copper); }
.tl__b h3{ color:var(--paper); }
.tl--light .tl__b h3{ color:var(--graphite); }
.tl__b p{ color:var(--sage-soft); font-size:.94rem; max-width:60ch; }
.tl--light .tl__b p{ color:var(--body); }
@media (min-width:640px){ .tl__i{ grid-template-columns:160px minmax(0,1fr); } }

/* ---------- Steps ---------- */
.steps{ margin:0; padding:0; list-style:none; display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
.step{ background:var(--paper); padding:clamp(22px,2.8vw,34px); display:grid; gap:6px 28px; }
.step__n{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.17em;
  text-transform:uppercase; color:var(--copper); margin:0;
}
.step__eg{
  margin-top:14px; padding-left:16px; border-left:2px solid var(--copper-pale);
  font-size:.885rem; line-height:1.7; color:var(--muted);
}
@media (min-width:700px){ .step{ grid-template-columns:120px minmax(0,1fr); } }

/* ---------- Legend ---------- */
.legend{ display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
.sec--dark .legend,.sec--ink .legend{ background:var(--rule-dk); border-color:var(--rule-dk); }
.legend > li{
  background:var(--paper); padding:clamp(16px,2vw,22px);
  display:grid; gap:10px 22px; align-items:baseline;
}
.sec--ivory .legend > li{ background:var(--ivory); }
.sec--dark .legend > li{ background:var(--forest); }
.sec--ink .legend > li{ background:var(--ink); }
.legend p{ margin:0; font-size:.9rem; line-height:1.65; }
.sec--dark .legend p,.sec--ink .legend p{ color:var(--sage-soft); }
@media (min-width:520px){
  .legend:not(.legend--tight) > li{ grid-template-columns:150px minmax(0,1fr); }
}
@media (min-width:1000px){
  .legend--tight{ grid-template-columns:repeat(2,1fr); }
  .legend--tight > li{ grid-template-columns:minmax(0,1fr); align-content:start; }
}

/* ---------- Record entries (initiatives) ---------- */
.recs{ display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); }
.rec{
  background:var(--ivory); padding:clamp(24px,3.2vw,42px);
  display:grid; gap:14px 32px; align-items:start;
}
.rec__no{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.18em;
  color:var(--copper); margin:0;
}
.rec__cat{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin:0 0 10px;
}
.rec__t{ font-size:clamp(1.15rem,2.1vw,1.6rem); letter-spacing:-.024em; }
.rec__body{ margin:0; }
.rec__body dt{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.16em;
  text-transform:uppercase; color:var(--copper); margin:22px 0 7px;
}
.rec__body dd{ margin:0; max-width:70ch; }
.rec__meta{ display:grid; gap:12px; align-content:start; }
.rec__meta p{ margin:0; }
.rec__date{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted);
}
@media (min-width:900px){
  .rec{ grid-template-columns:48px minmax(0,1fr) 190px; }
  .rec__head{ grid-column:2; }
  .rec__body{ grid-column:2; }
  .rec__meta{ grid-column:3; grid-row:1 / span 2; }
}

/* ---------- Duties (three figures) ---------- */
.duties{ display:grid; gap:clamp(20px,2.6vw,30px); }
.duties figure{ margin:0; }
@media (min-width:640px){ .duties{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .duties{ grid-template-columns:repeat(3,1fr); } }

/* ---------- Development board ---------- */
.board{ display:grid; gap:1px; background:var(--rule-dk); border:1px solid var(--rule-dk); }
.board__t{ background:var(--ink); padding:clamp(24px,3vw,38px); display:grid; gap:22px 36px; align-items:start; }
.board__k{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.18em;
  text-transform:uppercase; color:var(--copper-lt); margin:0 0 12px;
}
.board__hd h3{ color:var(--paper); }
.board__d{ margin:12px 0 0; color:var(--sage); font-size:.9rem; line-height:1.7; max-width:44ch; }
.board__rows{ display:grid; gap:1px; background:var(--rule-dk); }
.board__rows > li{
  background:var(--ink); padding:16px 0;
  display:grid; gap:8px 24px; align-items:start;
}
.board__date{
  margin:0; font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.13em; text-transform:uppercase; color:var(--sage);
}
.board__item{ margin:0; color:var(--stone); font-size:.945rem; line-height:1.65; }
.board__rows p:last-child{ margin:0; }
@media (min-width:820px){
  .board__t{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); }
  .board__rows > li{ grid-template-columns:110px minmax(0,1fr) 132px; padding:14px 0; }
}

/* ---------- What is not claimed ---------- */
.nots{ display:grid; gap:0; }
.nots > li{
  padding:clamp(15px,2vw,20px) 0 clamp(15px,2vw,20px) 30px;
  border-bottom:1px solid var(--rule-dk); position:relative;
  color:var(--stone); font-size:.955rem; line-height:1.7; max-width:66ch;
}
.nots > li:first-child{ border-top:1px solid var(--rule-dk); }
.nots > li::before{
  content:"\2014"; position:absolute; left:0; top:clamp(15px,2vw,20px);
  color:var(--copper-lt); font-family:var(--f-meta);
}

/* ---------- Representation table ---------- */
.tblwrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); }
.tbl{ width:100%; border-collapse:collapse; min-width:520px; background:var(--paper); }
.tbl th,.tbl td{
  text-align:left; padding:clamp(13px,1.6vw,17px) clamp(14px,2vw,22px);
  border-bottom:1px solid var(--rule); font-size:.945rem; vertical-align:top;
}
.tbl thead th{
  font-family:var(--f-meta); font-size:var(--t-meta); letter-spacing:.17em;
  text-transform:uppercase; color:var(--muted); font-weight:500;
  background:var(--ivory);
}
.tbl tbody th{
  font-family:var(--f-meta); font-weight:500; letter-spacing:.08em;
  color:var(--copper); width:104px; white-space:nowrap;
}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{ border-bottom:0; }
.tbl tbody td:first-of-type{ font-family:var(--f-display); font-weight:600; letter-spacing:-.015em; color:var(--graphite); }
.tbl tbody tr:hover{ background:var(--ivory); }
.tbl tr.is-now{ background:rgba(169,85,42,.07); }
.tbl tr.is-now:hover{ background:rgba(169,85,42,.11); }
.tbl tr.is-now td:first-of-type::after{
  content:"Incumbent"; display:inline-block; margin-left:11px;
  font-family:var(--f-meta); font-size:.58rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--copper); border:1px solid var(--copper-pale); padding:3px 8px; vertical-align:middle;
  font-weight:400;
}

/* ---------- Channel list ---------- */
.chan{ display:grid; gap:1px; background:var(--rule-dk); border:1px solid var(--rule-dk); }
.chan > li{ background:var(--forest); }
.chan a{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 20px; align-items:center;
  padding:clamp(16px,2vw,22px); text-decoration:none; color:var(--paper);
  transition:background .35s var(--ease), padding-left .4s var(--ease);
}
.chan a:hover,.chan a:focus-visible{ background:var(--forest-2); }
.chan__k{
  display:block; font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.17em; text-transform:uppercase; color:var(--sage); margin-bottom:6px;
}
.chan__v{ display:block; font-family:var(--f-display); font-weight:600; letter-spacing:-.018em; font-size:1.02rem; overflow-wrap:anywhere; }
.chan__a{ color:var(--copper-lt); font-size:1.1rem; grid-row:1 / span 2; }
@media (min-width:560px){
  .chan a{ grid-template-columns:150px minmax(0,1fr) auto; }
  .chan__k{ margin-bottom:0; }
  .chan__a{ grid-row:auto; }
}

/* ---------- Gallery journal ---------- */
.gbtn > .plate{ display:block; }
.jitem{ margin:0; align-items:end; }
.jitem__txt{ padding-bottom:4px; }
.jitem__txt{ display:block; }
.jitem__n{
  display:block; font-family:var(--f-meta); font-size:var(--t-meta);
  letter-spacing:.2em; color:var(--copper); margin-bottom:14px;
}
.jitem__c{
  display:block; font-family:var(--f-display); font-weight:500; letter-spacing:-.018em;
  font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.45; color:var(--graphite); max-width:34ch;
}
@media (max-width:919px){
  .jitem__txt{ margin-top:16px; }
}
@media (min-width:920px){
  .jitem--l .gbtn{ order:1; } .jitem--l .jitem__txt{ order:2; }
  .jitem--r .gbtn{ order:2; } .jitem--r .jitem__txt{ order:1; }
  .jitem--tall .gbtn{ order:1; } .jitem--tall .jitem__txt{ order:2; }
}

/* ---------- Shell + no-JS heading ---------- */
.site-shell{ display:block; }
.hero__txt{ min-width:0; }
.nojs__t{ font-family:var(--f-display); font-weight:700; letter-spacing:-.02em;
  font-size:1.35rem; color:var(--paper); margin:0 0 14px; line-height:1.2; }

/* ---------- Overflow guards: grid children must be allowed to shrink ---------- */
.agenda__c, .step, .rec, .board__t, .legend > li, .hero__strip > div,
.recs, .split > *, .feature > *, .jitem > *, .row > *, .rec__meta, .rec__body,
.board__rows > li, .board__rows > li > *, .chan a, .chan a > *, .duties > *{
  min-width:0;
}
.metric__l, .board__item, .row__body, .rec__body dd{ overflow-wrap:break-word; }
