
:root {
  --bg: #f5f7f4;
  --surface: #ffffff;
  --surface-2: #edf3ee;
  --text: #18231d;
  --muted: #5f6d64;
  --line: #dce5de;
  --brand: #21583a;
  --brand-dark: #153d28;
  --accent: #88a892;
  --max: 1160px;
  --radius: 20px;
  --shadow: 0 18px 50px rgba(28, 55, 38, .08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:var(--brand);text-decoration: none;} a:hover{color:#0dbe18} img{max-width:100%;display:block}
.wrap{width:min(calc(100% - 40px),var(--max));margin:0 auto}
header{position:sticky;top:0;z-index:10;background:rgba(245,247,244,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,229,222,.9)}
.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-logo{text-decoration:none;display:inline-flex;align-items:center;flex:0 0 auto}.site-logo{height:42px;width:auto;max-width:220px;object-fit:contain}.footer-logo{height:60px}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px} nav a{color:var(--muted);text-decoration:none;font-size:.93rem;font-weight:650}
.hero{padding:88px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);align-items:center;gap:56px}.eyebrow{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--brand);padding:7px 12px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin-top:0} h1{max-width:820px;margin-bottom:22px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6.5vw,6rem);font-weight:500} h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;margin-bottom:18px;text-align: center;} h3{font-size:1.3rem;margin-bottom:10px}
.lede{max-width:760px;color:var(--muted);font-size:1.12rem;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content: center;}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;padding:0 18px;font-weight:800;text-decoration:none;border:1px solid var(--line)}.btn-primary{background:var(--brand);border-color:var(--brand);color:white}.btn-primary:hover{color:white;background:var(--brand-dark)}.btn-secondary{background:var(--surface);color:var(--text)}
.hero-card{background:var(--brand-dark);color:white;border-radius:28px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-65px;bottom:-65px;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}.hero-card small{color:#bcd2c4;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-card strong{display:block;margin:10px 0 6px;font-family:Georgia,serif;font-size:2rem;font-weight:500}.hero-card p{color:#d6e4db;margin-bottom:0}
.hero-image-section{padding:0px;}.hero-image-wrap{position:relative;overflow:hidden;border-radius:28px;min-height:360px;box-shadow:var(--shadow);background:#dce7df}.hero-image-wrap img{width:100%;height:clamp(360px,48vw,620px);object-fit:cover;object-position:center}.hero-image-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(22px,4vw,46px);background:linear-gradient(180deg,rgba(10,30,18,0.04) 32%,rgba(10,30,18,0.72) 100%)}.hero-image-caption{max-width:620px;color:white}.hero-image-caption h2{margin-bottom:10px;color:white;font-size:clamp(2rem,4vw,3.6rem)}.hero-image-caption p{margin:0;color:rgba(255,255,255,.88);font-size:1rem}
.page-hero{margin-top:15px;margin-bottom: -50px;}.page-hero-card{position:relative;overflow:hidden;border-radius:28px;min-height:380px;box-shadow:var(--shadow)}.page-hero-card img{width:100%;height:clamp(380px,42vw,560px);object-fit:cover}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,24,16,0.14) 20%,rgba(9,24,16,0.78) 100%);display:flex;align-items:flex-end;padding:44px}.page-hero-copy{max-width:760px;color:white}.page-hero-copy .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#eff8f2}.page-hero-copy h1{color:white;margin-bottom:14px}.page-hero-copy p{font-size:1.07rem;color:rgba(255,255,255,.9);margin:0}
section{padding:40px 0}.intro{margin-bottom:34px}.intro p{color:var(--muted);margin-bottom:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 10px 36px rgba(32,67,45,.035)}.card p{color:var(--muted);margin-bottom:0}.card .label{display:inline-block;margin-bottom:18px;color:var(--brand);font-weight:800;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.entity-map{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.entity{overflow:hidden;border:1px solid var(--line);background:var(--surface);border-radius:20px;box-shadow:0 10px 32px rgba(32,67,45,.05);transition:transform .2s ease,box-shadow .2s ease}.entity:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(32,67,45,.09)}.entity-image{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--surface-2)}.entity-image img{width:100%;height:100%;object-fit:cover}.entity-content{padding:20px}.entity b{display:block;margin-bottom:8px;font-size:1.02rem}.entity span{color:var(--muted);font-size:.9rem}
.legacy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.legacy-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px}.legacy-card .rrid{display:block;text-align: center;padding:5px 9px;margin-bottom:18px;color:var(--brand);font:700 1rem ui-monospace,SFMono-Regular,Menlo,monospace}.legacy-card p,.legacy-card li{color:var(--muted)}.legacy-card a{font-weight:800}
.history{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline{display:grid;grid-template-columns:150px 1fr;gap:0 26px;max-width:900px}.time{padding:22px 0;border-top:1px solid var(--line);font-weight:800;color:var(--brand)}.event{padding:22px 0;border-top:1px solid var(--line)}.event p{color:var(--muted);margin:5px 0 0}.notice{margin-top:34px;padding:20px 22px;border-radius:16px;background:#fffaf0;border:1px solid #ebdec2;color:#675b40}
.quote-card{background:linear-gradient(135deg,#214a33,#183724);color:white;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:28px}.quote-card p{color:#e6efe9;margin:0}.quote-card h3{color:white}.list-check{padding-left:18px;color:var(--muted)} .list-check li{margin:10px 0}
.breadcrumbs{padding:16px 0 0;color:var(--muted);font-size:.92rem}.breadcrumbs a{text-decoration:none;color:var(--muted)}.breadcrumbs span{margin:0 8px;color:#9aaba0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px}.stat b{display:block;font-size:1.8rem;line-height:1.1;margin-bottom:8px;font-family:Georgia,serif}.stat span{color:var(--muted);font-size:.95rem}
.resources{background:#e9f0ea}.resource-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.resource-link{display:block;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(33,88,58,.12);padding:17px 18px;text-decoration:none}.resource-link strong{color:var(--text);display:block}.resource-link span{color:var(--muted);font-size:.9rem}
footer{background:#12271b;color:#d6e4db;padding:30px 0} footer a{color:#d6e4db}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-grid p{color:#adc0b3;} footer ul{list-style:none;padding:0;margin:0} footer li{margin:8px 0} footer h3{color:white;font-size:1rem;letter-spacing:0}.copyright{text-align:center;margin-top:38px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:#93a79a;font-size:.86rem}
@media (max-width: 900px){.hero-grid,.grid-2,.grid-3,.legacy-grid,.footer-grid{grid-template-columns:1fr}.entity-map{grid-template-columns:repeat(2,minmax(0,1fr))}nav{display:none}.hero{padding-top:56px}.stats,.resource-list{grid-template-columns:1fr 1fr}}
@media (max-width: 580px){.wrap{width:min(calc(100% - 26px),var(--max))}.entity-map,.resource-list,.stats{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.time{padding-bottom:3px}.event{padding-top:3px;border-top:0;margin-bottom:10px}section{padding:30px 0 40px;}.site-logo{height:36px;max-width:180px}.hero-image-section{padding-bottom:0px}.hero-image-wrap{border-radius:20px;min-height:300px}.hero-image-wrap img{height:360px}.page-hero-overlay{padding:26px}}


/* Mobile navigation */
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  height: 2px;
  margin: 5px 0;
  border-radius: 2px;
  background: var(--text);
}

@media (max-width: 900px) {
  .nav-toggle {
    display: block;
  }

  header nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 74px;
    padding: 18px 20px 24px;
    background: rgba(245,247,244,.98);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 26px rgba(28,55,38,.08);
  }

  header.nav-open nav {
    display: block;
  }

  header nav ul {
    flex-direction: column;
    gap: 4px;
  }

  header nav a {
    display: block;
    padding: 10px 0;
  }
}


/* Stage 1 & 2 additions */
.card-link{margin-top:18px!important}.card-link a{font-weight:800;text-decoration:none}.error-page{min-height:68vh;display:flex;align-items:center}.error-card{max-width:860px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(36px,7vw,76px);box-shadow:var(--shadow)}.error-card .lede{margin-left:auto;margin-right:auto}.error-card .actions{justify-content:center}.page-hero-card img{background:#dce7df}


/* Refined footer layout for tablet and mobile */
@media (max-width: 900px) {
  footer {
    padding: 20px 0 30px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }

  .footer-grid > div:first-child {
    grid-column: 1 / -1;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,.10);
  }
  .brand-logo{
    display: flex;
    justify-content: center;
  }

  .footer-grid > div:first-child p {
    margin: 16px 0 0;
  }

  footer h3 {
    margin-bottom: 14px;
  }

  footer li {
    margin: 0;
  }

  footer li a {
    display: inline-block;
    padding: 5px 0;
    text-decoration: none;
  }

  .copyright {
    margin-top: 30px;
    padding-top: 22px;
    line-height: 1.65;
  }
}

@media (max-width: 580px) {
  footer {
    padding: 20px 0 26px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 18px;
  }

  .footer-grid > div:first-child {
    padding-bottom: 22px;
  }

  .footer-grid > div:first-child p {
    margin-top: 14px;
    font-size: .94rem;
    line-height: 1.7;
  }

  footer h3 {
    margin-bottom: 10px;
    font-size: .92rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #a9c0b1;
  }

  footer li a {
    padding: 5px 0;
    font-size: .95rem;
  }

  .footer-logo {
    height: 60px;
  }

  .copyright {
    margin-top: 26px;
    padding-top: 20px;
    font-size: .8rem;
  }
}

@media (max-width: 390px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-grid > div:first-child {
    grid-column: auto;
  }

  .footer-grid > div:nth-child(3) {
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}


/* Long-form content */
.content-shell{margin-top: -30px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}.article-body{max-width:820px}.article-body h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:30px;margin-bottom:25px}.article-body h3{font-size:1.25rem;margin-top:30px}.article-body p,.article-body li{color:var(--muted)}.article-body p{margin:0 0 18px}.article-body ul{padding-left:22px}.article-body li{margin:8px 0}.article-body code{font-size:.9em}.toc{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.toc h3{font-size:1rem;letter-spacing:0;margin-bottom:12px}.toc ul{list-style:none;padding:0;margin:0}.toc li{margin:0}.toc a{display:block;padding:6px 0;color:var(--muted);text-decoration:none;font-size:.9rem}.toc a:hover{color:var(--brand)}.citation-box{background:var(--surface-2);border-left:4px solid var(--brand);padding:18px 20px;border-radius:0 14px 14px 0;margin:26px 0}.citation-box p{margin:0}.policy-hero{padding:74px 0 40px}.policy-hero .intro{margin-bottom:0}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.policy-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}.policy-card p{color:var(--muted);margin-bottom:0}.policy-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.policy-meta span{background:var(--surface-2);border:1px solid var(--line);border-radius:100px;padding:7px 11px;font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.content-shell{grid-template-columns:1fr}.toc{position:static;order:1}.policy-grid{grid-template-columns:1fr}}
\n\n



/* Stage 5 article components */
.article-meta-section{padding:62px 0 0}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--muted);font-size:.9rem;margin-bottom: -25px;}
.article-meta a{color:var(--brand);font-weight:800;text-decoration:none}
.author-box{margin-top:46px;padding:24px 26px;background:var(--surface-2);border:1px solid var(--line);border-radius:18px}
.author-box strong{font-family:Georgia,serif;font-size:1.15rem}
.author-box p{margin:8px 0 0!important}
.cluster-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cluster-link{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:20px;text-decoration:none;box-shadow:0 10px 28px rgba(16,34,24,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cluster-link:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(16,34,24,.12);border-color:rgba(33,88,58,.18)}
.cluster-thumb{display:block;width:100%;height:200px;aspect-ratio:16/9;object-fit:cover;background:#dfe8e2}
.cluster-copy{display:block;padding:18px 18px 20px}
.cluster-link strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:1.12rem;line-height:1.32;margin-bottom:8px}
.cluster-link span{color:var(--muted);font-size:.92rem;line-height:1.58}
@media(max-width:980px){.cluster-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.article-meta-section{padding-top:58px}.article-meta{display:grid;gap:7px}.cluster-links{grid-template-columns:1fr}.cluster-copy{padding:16px 16px 18px}.cluster-link strong{font-size:1.06rem}}


/* Sitewide linked-card thumbnails */
.resource-link-media{padding:0!important;overflow:hidden;display:flex!important;flex-direction:column;min-width:0;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.resource-link-media:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(16,34,24,.10);border-color:rgba(33,88,58,.20)}
.resource-thumb{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background:#dfe8e2}
.resource-copy{display:block;padding:17px 18px 18px;min-width:0}
.resource-copy strong{display:block}
.resource-copy>span{display:block}
.nav-card-media{padding:0!important;overflow:hidden}
.nav-card-thumb{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background:#dfe8e2}
.nav-card-body{padding:22px 22px 24px}
.nav-card-media .nav-card-body>:first-child{margin-top:0}
.nav-card-media .nav-card-body>:last-child{margin-bottom:0}
@media(max-width:680px){.resource-copy{padding:15px 16px 17px}.nav-card-body{padding:18px 18px 20px}}
