/* ==========================================================================
   Gardens Church — Team Portal
   Brand system stylesheet. Colours and type come from the official Gardens
   brand guide (GUIDELINES.pdf, Dec 2025). Do not introduce colours that
   aren't in the palette block below.
   ========================================================================== */

/* ---------------------------------------------------------------- fonts -- */
@font-face{font-family:'New Spirit';src:url(fonts/newspirit-300.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'New Spirit';src:url(fonts/newspirit-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'New Spirit';src:url(fonts/newspirit-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'New Spirit';src:url(fonts/newspirit-500i.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Jakarta';src:url(fonts/jakarta-300.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Jakarta';src:url(fonts/jakarta-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Jakarta';src:url(fonts/jakarta-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Jakarta';src:url(fonts/jakarta-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Jakarta';src:url(fonts/jakarta-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;}

/* --------------------------------------------------------------- tokens -- */
:root{
  /* Official palette — guide p.7. Never add to this list. */
  --green:#008460;        /* Dark Green — primary */
  --green-lt:#00AA4A;     /* Light Green */
  --green-dp:#00543D;     /* Dark Green, pressed/deep */
  --lime:#DBEA83;         /* Lemon Lime — signature accent */
  --blue:#44C4FC;
  --purple:#5E5AFF;
  --red:#FF2154;
  --orange:#FF4C23;
  --dusty:#FBAA72;
  --brown:#685146;
  --black:#000000;
  --white:#FFFFFF;

  /* Working neutrals, derived from the palette */
  --paper:#F7F3E9;        /* page ground */
  --paper-2:#FFFDF7;      /* card ground */
  --ink:#123528;          /* body type */
  --muted:#5A6B60;        /* secondary type */
  --faint:rgba(18,53,40,.42);
  --line:rgba(18,53,40,.16);
  --line-dk:rgba(255,255,255,.28);
  --field:#FFFDF7;

  --shell:1180px;
  --pad:28px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* Dark mode — the black-ground half of the brand system. */
html[data-theme="dark"]{
  --paper:#0A0A0A;
  --paper-2:#111111;
  --ink:#F7F3E9;
  --muted:rgba(247,243,233,.62);
  --faint:rgba(247,243,233,.38);
  --line:rgba(219,234,131,.20);
  --field:#151515;
  --green-lt:#22C468;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Jakarta',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:400;font-size:16px;line-height:1.65;
  /* Plus Jakarta Sans ships a narrow space glyph (.17em vs .25em in most
     serifs), which reads cramped at small sizes. This nudges it back. */
  word-spacing:.035em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:background .4s var(--ease),color .4s var(--ease);
}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;}
::selection{background:var(--lime);color:#0C3D2C;}

.wrap{max-width:var(--shell);margin:0 auto;padding:0 var(--pad);position:relative;}
.wrap--narrow{max-width:900px;}

/* ------------------------------------------------------------ typography -- */
h1,h2,h3,h4{font-family:'New Spirit',Georgia,serif;font-weight:500;letter-spacing:-.012em;line-height:1.08;margin:0;}
.eyebrow,.kick{
  font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--green);margin:0 0 18px;
}
.kick.light{color:var(--lime);}
h2.sec{font-size:clamp(29px,4.6vw,48px);margin:0 0 16px;max-width:15ch;}
.sub{font-weight:300;font-size:17px;color:var(--muted);margin:0 0 44px;max-width:56ch;}
.on-dark{color:#fff;}
.on-dark-sub{color:rgba(255,255,255,.8);}
.on-lime{color:#0C3D2C;}
.on-lime-sub{color:rgba(12,61,44,.72);}
.script{
  font-family:'New Spirit',Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(20px,3.1vw,32px);line-height:1.42;color:#fff;margin:0;
  max-width:34ch;position:relative;z-index:2;
}
section{padding:92px 0;}

/* In dark mode the deep green accent sits too close to black — the signature
   lime takes over for small marks and labels. */
html[data-theme="dark"] .kick,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .chip,
html[data-theme="dark"] .stat .lbl,
html[data-theme="dark"] .doc .pill,
html[data-theme="dark"] .doc .dicon,
html[data-theme="dark"] .doc .go,
html[data-theme="dark"] .modules .n,
html[data-theme="dark"] .tile .meta,
html[data-theme="dark"] .parrow,
html[data-theme="dark"] .toc a:hover,
html[data-theme="dark"] .empty code{color:var(--lime);}
html[data-theme="dark"] .empty code{background:rgba(219,234,131,.10);}
html[data-theme="dark"] .chip-btn:hover{color:var(--lime);border-color:var(--lime);}
html[data-theme="dark"] .prose blockquote{color:var(--lime);}
/* …but on a lime or green band the lime accent would vanish, so keep it green. */
html[data-theme="dark"] .band--lime .kick,
html[data-theme="dark"] .band--lime .chip,
html[data-theme="dark"] .band--lime .tile .meta,
html[data-theme="dark"] .band--lime .modules .n{color:var(--green);}

/* ------------------------------------------------------------------ nav -- */
.nav{
  position:sticky;top:0;z-index:200;background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav.is-stuck{box-shadow:0 1px 0 var(--line);}
.nav-in{display:flex;align-items:center;gap:26px;height:72px;}
.nav-logo{flex:0 0 auto;display:flex;align-items:center;}
.nav-logo img{width:132px;transition:opacity .3s var(--ease);}
.nav-logo:hover img{opacity:.72;}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:8px;flex:1;}
.nav-item{position:relative;}
.nav-a{
  display:inline-flex;align-items:center;gap:6px;padding:9px 14px;
  font-size:13.5px;font-weight:500;letter-spacing:.005em;color:var(--muted);
  text-decoration:none;border-radius:2px;transition:color .2s var(--ease),background .2s var(--ease);
  background:none;border:0;cursor:pointer;
}
.nav-a:hover,.nav-item.open .nav-a{color:var(--green);background:rgba(0,132,96,.08);}
html[data-theme="dark"] .nav-a:hover,html[data-theme="dark"] .nav-item.open .nav-a{color:var(--lime);background:rgba(219,234,131,.10);}
.nav-a.current{color:var(--ink);}
.nav-a.current:after{
  content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--green);
}
html[data-theme="dark"] .nav-a.current:after{background:var(--lime);}
.nav-a .caret{width:9px;height:9px;transition:transform .25s var(--ease);opacity:.7;}
.nav-item.open .caret{transform:rotate(180deg);}

.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:308px;
  background:var(--paper-2);border:1px solid var(--line);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
  box-shadow:0 18px 46px -28px rgba(18,53,40,.45);
}
html[data-theme="dark"] .dropdown{box-shadow:0 18px 46px -22px rgba(0,0,0,.9);}
.nav-item.open .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dd-head{
  font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--faint);padding:10px 14px 8px;margin:0;
}
.dd-a{
  display:flex;align-items:baseline;gap:10px;padding:11px 14px;text-decoration:none;
  transition:background .18s var(--ease);
}
.dd-a:hover{background:rgba(0,132,96,.08);}
html[data-theme="dark"] .dd-a:hover{background:rgba(219,234,131,.09);}
.dd-a .dot{flex:0 0 6px;width:6px;height:6px;margin-top:7px;background:var(--green-lt);}
.dd-a b{font-weight:500;font-size:14px;color:var(--ink);display:block;}
.dd-a span{font-size:12.5px;font-weight:300;color:var(--muted);display:block;margin-top:1px;line-height:1.4;}
.dd-sep{height:1px;background:var(--line);margin:8px 0;}

.nav-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.icon-btn{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:none;cursor:pointer;color:var(--muted);
  transition:.2s var(--ease);
}
.icon-btn:hover{color:var(--green);border-color:var(--green);}
html[data-theme="dark"] .icon-btn:hover{color:var(--lime);border-color:var(--lime);}
.icon-btn svg{width:17px;height:17px;}
.nav-burger{display:none;}
.nav-mobile-only{display:none;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 22px;
  font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none;
  border:1.5px solid var(--green);background:var(--green);color:#fff;cursor:pointer;
  transition:.22s var(--ease);
}
.btn:hover{background:var(--green-lt);border-color:var(--green-lt);transform:translateY(-1px);}
.btn svg{width:14px;height:14px;flex:0 0 14px;}
.btn--ghost{background:none;color:var(--green);}
.btn--ghost:hover{background:var(--green);color:#fff;}
html[data-theme="dark"] .btn--ghost{color:var(--lime);border-color:var(--lime);}
html[data-theme="dark"] .btn--ghost:hover{background:var(--lime);color:#0C3D2C;}
.btn--lime{background:var(--lime);border-color:var(--lime);color:#0C3D2C;}
.btn--lime:hover{background:#E7F3A4;border-color:#E7F3A4;}
.btn--sm{padding:9px 16px;font-size:12px;}

/* ----------------------------------------------------------------- hero -- */
.hero{position:relative;padding:74px 0 96px;overflow:hidden;background:var(--green);}
.hero--brown{background:var(--brown);}
.hero-burst{position:absolute;right:-90px;top:-60px;width:400px;opacity:.28;pointer-events:none;}
.hero .eyebrow{color:var(--lime);}
.hero h1{
  font-size:clamp(44px,7.6vw,86px);line-height:.99;letter-spacing:-.017em;
  margin:0 0 24px;color:#fff;position:relative;z-index:2;max-width:16ch;
}
.hero h1 em{font-style:normal;color:var(--lime);}
.hero h1 i{font-style:italic;color:var(--lime);}
.hero .lede{
  font-weight:300;font-size:clamp(16px,2.1vw,19px);line-height:1.65;
  max-width:580px;margin:0;color:rgba(255,255,255,.86);position:relative;z-index:2;
}
.crumb{
  position:relative;z-index:2;display:flex;align-items:center;gap:9px;margin:0 0 28px;
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.crumb a{color:var(--lime);text-decoration:none;opacity:.85;transition:opacity .2s;}
.crumb a:hover{opacity:1;}
.crumb span{color:rgba(255,255,255,.5);}

/* --------------------------------------------------------------- search -- */
.search{position:relative;z-index:20;max-width:620px;margin:38px 0 0;}
.search-field{display:flex;align-items:center;gap:12px;background:var(--paper-2);padding:0 18px;border:1px solid transparent;transition:.2s var(--ease);}
.search-field:focus-within{border-color:var(--lime);}
.search-field svg{width:17px;height:17px;color:var(--muted);flex:0 0 17px;}
.search input{
  flex:1;border:0;background:none;outline:none;padding:17px 0;
  font-family:'Jakarta',sans-serif;font-size:15px;font-weight:300;color:var(--ink);
}
.search input::placeholder{color:var(--faint);}
.search kbd{
  font-family:'Jakarta',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.06em;
  color:var(--faint);border:1px solid var(--line);padding:3px 7px;
}
.results{
  position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--paper-2);
  border:1px solid var(--line);max-height:400px;overflow:auto;display:none;
  box-shadow:0 24px 60px -30px rgba(18,53,40,.5);
}
.results.show{display:block;}
.res-a{display:block;padding:14px 18px;text-decoration:none;border-bottom:1px solid var(--line);transition:background .16s;}
.res-a:last-child{border-bottom:0;}
.res-a:hover,.res-a.active{background:rgba(219,234,131,.32);}
html[data-theme="dark"] .res-a:hover,html[data-theme="dark"] .res-a.active{background:rgba(219,234,131,.10);}
.res-a b{display:block;font-weight:500;font-size:14.5px;color:var(--ink);}
.res-a span{display:block;font-size:12px;font-weight:300;color:var(--muted);margin-top:2px;}
.res-a i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-lt);}
.res-empty{padding:20px 18px;font-size:14px;font-weight:300;color:var(--muted);}

/* ---------------------------------------------------------------- stats -- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.stat{
  background:var(--paper-2);padding:40px 32px 44px;position:relative;overflow:hidden;
  transition:background .28s var(--ease);
}
.stat:hover{background:rgba(219,234,131,.30);}
html[data-theme="dark"] .stat:hover{background:rgba(219,234,131,.07);}
.stat .lbl{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin:0 0 22px;}
.stat .n{
  font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:clamp(50px,6.4vw,76px);
  line-height:.92;letter-spacing:-.03em;color:var(--ink);display:block;
}
.stat .n small{font-size:.42em;letter-spacing:0;color:var(--green-lt);margin-left:4px;}
.stat .note{font-size:13px;font-weight:300;color:var(--muted);margin:14px 0 0;}
.stat .trend{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--green-lt);margin-top:12px;}
.stat .trend svg{width:12px;height:12px;}
.stat .trend.down{color:var(--dusty);}

/* ---------------------------------------------------------------- cards -- */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}
.grid .filler{background:var(--paper-2);min-height:0;}
@media (max-width:660px){.grid .filler{display:none;}}
.card{background:var(--paper-2);padding:36px 32px 40px;position:relative;transition:background .26s var(--ease);}
.chip{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin:0 0 20px;}
.card h3{font-size:30px;margin:0 0 8px;line-height:1.1;}
.card .role{font-size:14px;font-weight:600;color:var(--green-lt);margin:0 0 18px;}
.card .desc{font-size:14.5px;font-weight:300;color:var(--muted);margin:0 0 22px;}

/* team tiles — link cards with a colour rail */
a.tile{
  background:var(--paper-2);padding:38px 32px 40px;text-decoration:none;display:block;
  position:relative;overflow:hidden;transition:background .28s var(--ease);
}
a.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rail,var(--green));transform:scaleY(0);transform-origin:top;transition:transform .34s var(--ease);}
a.tile:hover:before{transform:scaleY(1);}
a.tile:hover{background:rgba(219,234,131,.28);}
html[data-theme="dark"] a.tile:hover{background:rgba(219,234,131,.06);}
.tile .num{font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:15px;color:var(--faint);letter-spacing:.02em;margin:0 0 26px;}
.tile h3{font-size:31px;margin:0 0 10px;color:var(--ink);}
.tile p{font-size:14.5px;font-weight:300;color:var(--muted);margin:0 0 24px;max-width:34ch;}
.tile .meta{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green);}
.tile .meta svg{width:13px;height:13px;transition:transform .28s var(--ease);}
a.tile:hover .meta svg{transform:translateX(4px);}
html[data-theme="dark"] .tile .meta{color:var(--lime);}

/* quick action — the big Planning Center card */
.qa{display:grid;grid-template-columns:1.35fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.qa-main{
  background:var(--green);padding:48px 44px;text-decoration:none;display:flex;
  flex-direction:column;justify-content:space-between;gap:32px;position:relative;overflow:hidden;
  transition:background .3s var(--ease);
}
.qa-main:hover{background:var(--green-lt);}
.qa-main .burst{position:absolute;right:-52px;bottom:-70px;width:200px;opacity:.24;pointer-events:none;transition:transform .5s var(--ease);}
.qa-main:hover .burst{transform:rotate(18deg) scale(1.06);}
.qa-main .kick{color:var(--lime);position:relative;z-index:2;margin-bottom:12px;}
.qa-main h3{font-size:clamp(28px,3.4vw,40px);color:#fff;position:relative;z-index:2;max-width:14ch;}
.qa-main p{font-size:14.5px;font-weight:300;color:rgba(255,255,255,.8);margin:12px 0 0;max-width:38ch;position:relative;z-index:2;}
.qa-cta{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);position:relative;z-index:2;}
.qa-cta svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.qa-main:hover .qa-cta svg{transform:translate(3px,-3px);}
.qa-side{display:grid;gap:1px;background:var(--line);}
a.qa-mini{
  background:var(--paper-2);padding:26px 28px;text-decoration:none;display:flex;
  align-items:center;justify-content:space-between;gap:16px;transition:background .24s var(--ease);
}
a.qa-mini:hover{background:rgba(219,234,131,.30);}
html[data-theme="dark"] a.qa-mini:hover{background:rgba(219,234,131,.07);}
.qa-mini b{display:block;font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:20px;color:var(--ink);line-height:1.15;}
.qa-mini span{display:block;font-size:12.5px;font-weight:300;color:var(--muted);margin-top:3px;}
.qa-mini svg{width:15px;height:15px;color:var(--green);flex:0 0 15px;transition:transform .26s var(--ease);}
a.qa-mini:hover svg{transform:translateX(4px);}

/* ---------------------------------------------------------------- bands -- */
.band{position:relative;overflow:hidden;}
.band--green{background:var(--green);}
.band--lime{background:var(--lime);}
.band--brown{background:var(--brown);}
.band--purple{background:var(--purple);}
.band-burst{position:absolute;right:-46px;bottom:-120px;width:290px;opacity:.26;pointer-events:none;}

/* values marquee-ish list */
.values{display:flex;flex-wrap:wrap;gap:10px 0;list-style:none;margin:0;padding:0;}
.values li{
  font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.9);padding:0 20px;border-right:1px solid rgba(255,255,255,.28);
}
.values li:first-child{padding-left:0;}
.values li:last-child{border-right:0;}

/* --------------------------------------------------------- growth pathway */
.path{border:1px solid var(--line);background:var(--paper-2);padding:clamp(22px,4vw,42px);}
.path-row{display:flex;align-items:stretch;gap:10px;}
.pstage{
  flex:1;min-width:0;border:1.5px solid var(--green);padding:26px 16px;text-align:center;
  display:flex;flex-direction:column;justify-content:center;gap:7px;
  transition:.22s var(--ease);
}
.pstage .pn{font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:clamp(19px,2.6vw,27px);line-height:1.1;color:var(--ink);}
.pstage .pm{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.pstage.mid{background:var(--lime);border-color:var(--lime);}
.pstage.mid .pn{color:#0C3D2C;}
.pstage.mid .pm{color:rgba(12,61,44,.66);}
.pstage.solid{background:var(--green);border-color:var(--green);}
.pstage.solid .pn{color:#fff;}
.pstage.solid .pm{color:var(--lime);}
.parrow{flex:0 0 24px;display:flex;align-items:center;justify-content:center;color:var(--green);}
.parrow svg{width:22px;height:22px;}
.psun{margin-top:10px;border:1.5px dashed var(--green);padding:20px 16px;text-align:center;display:flex;flex-direction:column;gap:5px;}
.psun .pn{font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:clamp(17px,2.2vw,23px);color:var(--ink);}
.psun .pm{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}

/* -------------------------------------------------------------- sections -- */
/* numbered training modules */
.modules{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.modules li{display:flex;gap:26px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--line);}
.modules .n{flex:0 0 auto;font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:40px;line-height:1;color:var(--green-lt);min-width:62px;}
.modules h4{font-size:22px;margin:0 0 7px;line-height:1.2;}
.modules p{margin:0;font-size:14.5px;font-weight:300;color:var(--muted);max-width:62ch;}
.modules .tag{display:inline-block;margin-top:10px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}

/* document / handbook rows */
.docs{border-top:1px solid var(--line);}
a.doc{
  display:flex;align-items:center;gap:22px;padding:22px 4px;border-bottom:1px solid var(--line);
  text-decoration:none;transition:background .2s var(--ease),padding-left .24s var(--ease);
}
a.doc:hover{background:rgba(219,234,131,.26);padding-left:16px;}
html[data-theme="dark"] a.doc:hover{background:rgba(219,234,131,.06);}
.doc .dicon{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--green);}
.doc .dicon svg{width:15px;height:15px;}
.doc .dmain{flex:1;min-width:0;}
.doc b{display:block;font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:20px;color:var(--ink);line-height:1.2;}
.doc span{display:block;font-size:13px;font-weight:300;color:var(--muted);margin-top:4px;}
.doc .dmeta{flex:0 0 auto;display:flex;align-items:center;gap:18px;}
.doc .pill{
  font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);border:1px solid var(--line);padding:5px 10px;white-space:nowrap;
}
.doc .date{font-size:12px;font-weight:300;color:var(--faint);white-space:nowrap;}
.doc .go{width:15px;height:15px;color:var(--green);transition:transform .24s var(--ease);}
a.doc:hover .go{transform:translateX(4px);}

/* filter chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;}
.chip-btn{
  padding:9px 18px;font-size:12px;font-weight:600;letter-spacing:.05em;
  border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;
  transition:.2s var(--ease);
}
.chip-btn:hover{color:var(--green);border-color:var(--green);}
.chip-btn.on{background:var(--green);border-color:var(--green);color:#fff;}
html[data-theme="dark"] .chip-btn.on{background:var(--lime);border-color:var(--lime);color:#0C3D2C;}

/* leader card */
.leader{display:grid;grid-template-columns:auto 1fr;gap:0;border:1px solid var(--line);background:var(--paper-2);}
.leader-photo{
  width:224px;background:var(--green);display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.leader-photo img{width:100%;height:100%;object-fit:cover;}
.leader-photo .initials{
  font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:58px;color:var(--lime);
  letter-spacing:.02em;position:relative;z-index:2;
}
.leader-photo .ph-burst{position:absolute;right:-40px;bottom:-46px;width:150px;opacity:.24;}
.leader-body{padding:36px 38px 38px;}
.leader-body h3{font-size:32px;margin:0 0 6px;}
.leader-body .role{font-size:14px;font-weight:600;color:var(--green-lt);margin:0 0 6px;}
.leader-body .bio{font-size:14.5px;font-weight:300;color:var(--muted);margin:14px 0 0;max-width:52ch;}
.contact{display:flex;flex-wrap:wrap;gap:0 44px;margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line);}
.contact div{margin-bottom:14px;}
.contact dt{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 0 5px;}
.contact dd{margin:0;font-size:14.5px;font-weight:400;}
.contact dd a{color:var(--green);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.contact dd a:hover{border-color:var(--green);}
html[data-theme="dark"] .contact dd a{color:var(--lime);}

/* accordion */
.acc-list{max-width:820px;}
.acc{border-bottom:1px solid var(--line);}
.acc:first-of-type{border-top:1px solid var(--line);}
.acc summary{
  cursor:pointer;padding:22px 0;list-style:none;display:flex;justify-content:space-between;
  align-items:baseline;gap:20px;font-size:16.5px;font-weight:400;color:var(--ink);transition:color .18s;
}
.acc summary::-webkit-details-marker{display:none;}
.acc summary:hover{color:var(--green);}
.acc summary:after{content:"+";color:var(--green-lt);font-size:20px;flex:0 0 auto;}
.acc[open] summary{color:var(--green);font-weight:500;}
.acc[open] summary:after{content:"–";}
.acc .body{padding:0 0 26px;max-width:66ch;}
.acc .body p{margin:0 0 14px;font-size:14.5px;font-weight:300;color:var(--muted);}
.acc .body p:last-child{margin:0;}
html[data-theme="dark"] .acc summary:hover,html[data-theme="dark"] .acc[open] summary{color:var(--lime);}

/* prose (policy viewer) */
.prose h2{font-size:27px;margin:44px 0 14px;max-width:26ch;}
.prose h3{font-size:20px;margin:32px 0 10px;}
.prose p,.prose li{font-size:15.5px;font-weight:300;color:var(--muted);line-height:1.75;max-width:68ch;}
.prose p{margin:0 0 16px;}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px;}
.prose li{margin-bottom:8px;}
.prose strong{color:var(--ink);font-weight:600;}
.prose blockquote{
  margin:26px 0;padding:18px 24px;border-left:2px solid var(--green);
  background:rgba(219,234,131,.34);font-family:'New Spirit',Georgia,serif;font-style:italic;
  font-weight:500;font-size:17px;color:var(--green);
}
html[data-theme="dark"] .prose blockquote{background:rgba(219,234,131,.08);color:var(--lime);border-color:var(--lime);}

/* two-column doc layout */
.doc-layout{display:grid;grid-template-columns:250px 1fr;gap:64px;align-items:start;}
.doc-aside{position:sticky;top:96px;}
.doc-aside .lbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;}
.doc-aside .val{font-size:14px;font-weight:300;color:var(--ink);margin:0 0 24px;}
.toc{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--line);}
.toc li{border-bottom:1px solid var(--line);}
.toc a{display:block;padding:11px 0;font-size:13.5px;font-weight:300;color:var(--muted);text-decoration:none;transition:.18s;}
.toc a:hover{color:var(--green);padding-left:6px;}

/* empty state */
.empty{
  border:1px dashed var(--line);padding:40px 34px;text-align:left;background:none;
}
.empty h4{font-size:21px;margin:0 0 8px;color:var(--ink);}
.empty p{margin:0;font-size:14px;font-weight:300;color:var(--muted);max-width:56ch;}
.empty code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--green);background:rgba(0,132,96,.09);padding:2px 6px;}

/* --------------------------------------------------------------- footer -- */
footer.site{background:var(--green);padding:78px 0 64px;position:relative;overflow:hidden;}
footer.site .burst{position:absolute;left:-60px;top:-80px;width:260px;opacity:.2;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;position:relative;z-index:2;}
.foot-logo{width:172px;margin:0 0 22px;}
.foot-line{font-family:'New Spirit',Georgia,serif;font-weight:500;font-size:22px;line-height:1.4;color:#fff;margin:0;max-width:20ch;}
.foot-line em{font-style:italic;color:var(--lime);}
.foot-col h5{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--lime);margin:0 0 16px;font-family:'Jakarta',sans-serif;}
.foot-col a{display:block;font-size:14px;font-weight:300;color:rgba(255,255,255,.8);text-decoration:none;padding:5px 0;transition:color .2s;}
.foot-col a:hover{color:#fff;}
.foot-base{
  margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;position:relative;z-index:2;
  font-size:12px;font-weight:300;color:rgba(255,255,255,.62);
}

/* ------------------------------------------------------------ animation -- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}

/* ---------------------------------------------------------------- mobile -- */
@media (max-width:1000px){
  .qa{grid-template-columns:1fr;}
  .doc-layout{grid-template-columns:1fr;gap:40px;}
  .doc-aside{position:static;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .nav-burger{display:inline-flex;}
  .nav-links{
    display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;
    align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);
    padding:8px 20px 20px;margin:0;
  }
  .nav-links.open{display:flex;}
  .nav-links{max-height:calc(100vh - 72px);overflow-y:auto;}
  .nav-right .btn{display:none;}          /* lives in the menu on small screens */
  .nav-mobile-only{display:block;}
  .nav-mobile-only .nav-a{color:var(--green);font-weight:600;}
  .nav-mobile-only .nav-a svg{width:13px;height:13px;}
  .nav-a{padding:14px 4px;font-size:15px;justify-content:space-between;width:100%;}
  .nav-a.current:after{display:none;}
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;
    background:none;padding:0 0 10px 4px;display:none;min-width:0;
  }
  .nav-item.open .dropdown{display:block;}
  .dd-head{display:none;}
  .dd-a{padding:10px 0 10px 14px;border-left:1px solid var(--line);}
  .dd-a:hover{background:none;}
  .stats{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .hero{padding:46px 0 66px;}
  .hero-burst{width:220px;right:-60px;top:-30px;opacity:.2;}
  .leader{grid-template-columns:1fr;}
  .leader-photo{width:100%;height:200px;}
  .leader-body{padding:30px 26px 32px;}
  .doc .dmeta{display:none;}
  a.doc{gap:16px;}
  .modules li{gap:16px;}
  .modules .n{font-size:30px;min-width:44px;}
  .path{padding:18px 14px;}
  .path-row{gap:5px;}
  .pstage{padding:16px 7px;border-width:1.2px;}
  .pstage .pn{font-size:clamp(13px,4.1vw,22px);}
  .pstage .pm{font-size:8px;letter-spacing:.09em;}
  .parrow{flex:0 0 11px;}
  .parrow svg{width:11px;height:11px;}
  .foot-grid{grid-template-columns:1fr;gap:34px;}
  h2.sec{max-width:none;}
  .qa-main{padding:36px 28px;}
}

/* ---------------------------------------------------------------- print -- */
@media print{
  .nav,.search,footer.site,.chips,.btn,.icon-btn{display:none!important;}
  body{background:#fff;color:#000;}
  .hero{background:#fff;padding:0 0 24px;}
  .hero h1,.hero .lede,.hero .eyebrow{color:#000;}
  .hero-burst,.band-burst{display:none;}
  .acc .body{display:block!important;}
  section{padding:24px 0;page-break-inside:avoid;}
  a{text-decoration:none;color:#000;}
}
