/* ===== BASE (homepage) ===== */
:root {
      --ink: #091426;
      --ink-soft: #253247;
      --muted: #657085;
      --quiet: #8a9380;
      --paper: #fffefa;
      --paper-2: #fbfaf5;
      --wash: #f3f6f3;
      --mint: #e6f7ef;
      --mint-strong: #cfeee1;
      --green: #07966c;
      --green-deep: #047456;
      --line: #dcded7;
      --line-dark: #c9d0ca;
      --dark: #071225;
      --dark-2: #0d1729;
      --cream: #f7f2e8;
      --sand: #ebe3d5;
      --shadow-soft: 0 18px 45px rgba(9, 20, 38, 0.07);
      --ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --serif: Georgia, "Times New Roman", serif;
      --max: 1110px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      color: var(--ink);
      font-family: var(--ui);
      background: var(--paper-2);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      width: 100%;
      max-width: 100%;
    }

    figure {
      margin: 0;
    }

    button,
    input,
    select {
      font: inherit;
    }

    .container {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
    }

    .skip-link {
      position: absolute;
      top: -70px;
      left: 20px;
      z-index: 100;
      background: var(--dark);
      color: #fff;
      padding: 10px 14px;
      border-radius: 999px;
      font-weight: 800;
      font-size: 12px;
    }

    .skip-link:focus {
      top: 18px;
    }

    .topbar {
      background: var(--green-deep);
      color: rgba(255, 255, 255, 0.88);
      font-size: 11px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .topbar .container {
      min-height: 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .topbar a {
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, 0.42);
    }

    .masthead {
      background: var(--paper);
      border-bottom: 1px solid var(--line);
    }

    .masthead-grid {
      position: relative;
      min-height: 118px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      text-align: center;
    }

    .mast-search {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }

    .mast-strap {
      margin: 0;
      font-size: 12px;
      line-height: 1.4;
      color: var(--muted);
      letter-spacing: 0.02em;
    }

    .mast-note {
      font-size: 12px;
      line-height: 1.55;
      color: var(--muted);
      max-width: 255px;
    }

    .mast-note strong {
      display: block;
      margin-bottom: 4px;
      color: var(--ink);
      font-size: 11px;
      letter-spacing: 0.07em;
      text-transform: uppercase;
    }

    .mast-note.right {
      justify-self: end;
      text-align: right;
    }

    .brand {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      white-space: nowrap;
    }

    .brand-mark {
      width: 34px;
      height: 34px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      background: var(--green);
      color: #fff;
    }

    .brand-mark svg {
      width: 18px;
      height: 18px;
    }

    .brand-text {
      font-size: clamp(30px, 4.3vw, 48px);
      font-weight: 950;
      letter-spacing: -0.07em;
      line-height: 0.9;
    }

    .brand-text span {
      color: var(--green);
    }

    .nav-wrap {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 254, 250, 0.94);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(14px);
      transition: background 0.25s ease, border-color 0.25s ease;
    }

    .nav-wrap.is-stuck {
      background: #14263f;
      border-bottom-color: rgba(255, 255, 255, 0.12);
    }

    .nav-wrap.is-stuck .nav-row { grid-template-columns: auto 1fr auto; }
    .nav-wrap.is-stuck .nav-logo { display: inline-flex; color: #fff; }
    .nav-wrap.is-stuck .nav-links a {
      color: rgba(255, 255, 255, 0.82);
      border-left-color: rgba(255, 255, 255, 0.14);
    }
    .nav-wrap.is-stuck .nav-links a:last-child { border-right-color: rgba(255, 255, 255, 0.14); }
    .nav-wrap.is-stuck .nav-links a:hover,
    .nav-wrap.is-stuck .nav-links a:focus-visible { color: #fff; background: rgba(255, 255, 255, 0.08); }
    .nav-wrap.is-stuck .ghost-button { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
    .nav-wrap.is-stuck .ghost-button:hover,
    .nav-wrap.is-stuck .ghost-button:focus-visible { background: rgba(255, 255, 255, 0.12); }
    .nav-wrap.is-stuck .menu-button { color: #fff; border-color: rgba(255, 255, 255, 0.4); }

    .nav-row {
      min-height: 47px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 16px;
    }

    .nav-logo {
      display: none;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
      text-decoration: none;
      color: var(--ink);
    }

    .nav-logo-mark {
      width: 26px;
      height: 26px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      background: var(--green);
      color: #fff;
    }

    .nav-logo-mark svg { width: 15px; height: 15px; }

    .nav-logo-text {
      font-size: 18px;
      font-weight: 950;
      letter-spacing: -0.04em;
      line-height: 1;
    }

    .nav-logo-text > span { color: var(--green); }

    .nav-links {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0;
    }

    .nav-links a {
      display: inline-flex;
      align-items: center;
      min-height: 47px;
      padding: 0 13px;
      border-left: 1px solid var(--line);
      color: var(--ink-soft);
      font-size: 11px;
      font-weight: 850;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .nav-links a:last-child {
      border-right: 1px solid var(--line);
    }

    .nav-links a:hover,
    .nav-links a:focus-visible {
      color: var(--green);
      background: var(--mint);
      outline: none;
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .ghost-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 14px;
      border: 1px solid var(--green);
      border-radius: 999px;
      background: transparent;
      color: var(--green);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .ghost-button:hover,
    .ghost-button:focus-visible {
      background: var(--mint);
      outline: none;
    }

    .icon-button,
    .menu-button {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-dark);
      border-radius: 999px;
      background: transparent;
      color: var(--ink);
      cursor: pointer;
    }

    .menu-button {
      display: none;
    }

    .subscribe-button,
    .small-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 14px;
      border: 1px solid var(--green);
      border-radius: 999px;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.02em;
      cursor: pointer;
    }

    .small-button.light {
      background: var(--paper);
      color: var(--ink);
      border-color: var(--line-dark);
    }

    .ticker {
      background: #fff;
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
    }

    .ticker .container {
      min-height: 39px;
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 16px;
      min-width: 0;
    }

    .ticker strong {
      color: var(--ink);
      font-size: 11px;
      letter-spacing: 0.07em;
      text-transform: uppercase;
    }

    .ticker-flag {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--green);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      white-space: nowrap;
      text-decoration: none;
    }

    .ticker-flag::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      animation: live-pulse 1.8s ease-in-out infinite;
    }

    @keyframes live-pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(0.7); }
    }

    @media (prefers-reduced-motion: reduce) {
      .ticker-flag::before { animation: none; }
    }

    .ticker-viewport {
      overflow: hidden;
      position: relative;
      min-width: 0;
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
    }

    .ticker-track {
      display: inline-flex;
      width: max-content;
      white-space: nowrap;
      animation: ticker-scroll 36s linear infinite;
    }

    .ticker:hover .ticker-track { animation-play-state: paused; }
    .ticker-set { display: inline-flex; align-items: center; }
    .ticker-item { padding: 0 2px; }
    .ticker-dot { margin: 0 16px; color: var(--green); font-weight: 900; }

    @keyframes ticker-scroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (prefers-reduced-motion: reduce) {
      .ticker-track { animation: none; }
    }

    .green-link {
      color: var(--green);
      font-weight: 900;
      font-size: 12px;
    }

    .front-page {
      padding: 38px 0 24px;
      background:
        linear-gradient(180deg, var(--paper-2), #fff 74%, var(--paper-2));
    }

    .front-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.6fr) minmax(315px, 0.88fr);
      gap: 24px;
      align-items: stretch;
    }

    .lead-card {
      display: flex;
      flex-direction: column;
    }

    .lead-body {
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .trust-cue {
      margin-top: auto !important;
      padding-top: 18px;
    }

    .lead-card {
      background: #fff;
      border: 1px solid var(--line);
      box-shadow: var(--shadow-soft);
    }

    .lead-image {
      border-bottom: 1px solid var(--line);
      background: var(--wash);
    }

    .lead-image img {
      aspect-ratio: 16 / 8.4;
      object-fit: cover;
    }

    .lead-body {
      padding: 26px 28px 28px;
    }

    .kicker,
    .tag {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      color: var(--green-deep);
      font-size: 10px;
      font-weight: 950;
      letter-spacing: 0.08em;
      line-height: 1;
      text-transform: uppercase;
    }

    .kicker::before {
      content: "";
      width: 7px;
      height: 7px;
      margin-right: 7px;
      border-radius: 50%;
      background: var(--green);
    }

    h1,
    h2,
    h3,
    p {
      margin-top: 0;
    }

    h1,
    .headline-serif,
    .section-title,
    .story-title {
      font-family: var(--serif);
      font-weight: 700;
      letter-spacing: -0.035em;
    }

    h1 {
      margin: 12px 0 12px;
      font-size: clamp(39px, 5.2vw, 66px);
      line-height: 0.98;
      max-width: 800px;
      text-wrap: balance;
    }

    .lead-body p {
      max-width: 720px;
      margin-bottom: 18px;
      color: var(--ink-soft);
      font-size: 16px;
      line-height: 1.62;
    }

    .voice-body h3 a, .desk-card h3 a, .rail-story h3 a, .mini-story h3 a {
      color: inherit; text-decoration: none;
    }
    .voice-body h3 a:hover, .desk-card h3 a:hover, .rail-story h3 a:hover, .mini-story h3 a:hover {
      color: var(--green-deep); text-decoration: underline;
    }

    .byline {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 13px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.01em;
    }

    .read-link {
      display: inline-flex;
      align-items: center;
      margin-top: 18px;
      color: var(--green-deep);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: 0.03em;
      text-transform: uppercase;
    }

    .read-link::after {
      content: "+";
      margin-left: 7px;
      font-size: 15px;
      line-height: 1;
    }

    .side-rail {
      display: grid;
      gap: 14px;
    }

    .rail-box,
    .quote-box,
    .article-card,
    .desk-card,
    .voice-card,
    .resource-card,
    .brief-box,
    .video-panel,
    .newsletter-box {
      background: #fff;
      border: 1px solid var(--line);
    }

    .rail-box {
      padding: 18px 18px 6px;
    }

    .rail-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
      padding-bottom: 11px;
      border-bottom: 1px solid var(--line);
    }

    .rail-head h2,
    .section-label {
      margin: 0;
      color: var(--ink);
      font-size: 11px;
      font-weight: 950;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .rail-story {
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }

    .rail-story:last-child {
      border-bottom: 0;
    }

    .rail-story h3 {
      margin: 6px 0 6px;
      font-family: var(--serif);
      font-size: 20px;
      line-height: 1.05;
      letter-spacing: -0.035em;
    }

    .rail-story p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .meta {
      color: var(--muted);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .quote-box {
      padding: 18px;
      background: var(--green-deep);
      color: #fff;
    }

    .quote-box h2 {
      margin: 7px 0 8px;
      font-family: var(--serif);
      font-size: 27px;
      line-height: 1.02;
      letter-spacing: -0.035em;
    }

    .quote-box p {
      margin: 0;
      color: rgba(255, 255, 255, 0.78);
      font-size: 13px;
      line-height: 1.55;
    }

    .latest-row {
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 18px;
    }

    .mini-story {
      padding-right: 16px;
      border-right: 1px solid var(--line);
    }

    .mini-story:last-child {
      border-right: 0;
      padding-right: 0;
    }

    .mini-story h3 {
      margin: 6px 0 0;
      font-family: var(--serif);
      font-size: 16px;
      line-height: 1.12;
      letter-spacing: -0.03em;
    }

    .section {
      padding: 54px 0;
      border-top: 1px solid var(--line);
      background: var(--paper-2);
    }

    .section.white {
      background: #fff;
    }

    .section.dark {
      background: #05070b;
      color: #fff;
      border-top: 0;
    }

    .section-header {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 24px;
    }

    .section-title {
      margin: 7px 0 0;
      font-size: clamp(31px, 4.1vw, 48px);
      line-height: 1;
      text-wrap: balance;
    }

    .section-header p {
      max-width: 600px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }

    .dark .section-header p {
      color: rgba(255, 255, 255, 0.66);
    }

    .voices-strip {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 14px;
    }

    .voice-card {
      overflow: hidden;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .voice-card:hover,
    .article-card:hover,
    .desk-card:hover,
    .resource-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-soft);
    }

    .voice-card img {
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-bottom: 1px solid var(--line);
    }

    .voice-body {
      padding: 14px;
    }

    .voice-body h3 {
      margin: 7px 0 5px;
      font-family: var(--serif);
      font-size: 19px;
      line-height: 1.05;
      letter-spacing: -0.035em;
    }

    .voice-body p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.42;
    }

    .contribute-panel {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-top: 18px;
      padding: 22px 26px;
      background: var(--mint);
      border: 1px solid var(--mint-strong);
      border-radius: 14px;
    }

    .contribute-panel h3 {
      margin: 6px 0 6px;
      font-family: var(--serif);
      font-size: 21px;
      line-height: 1.05;
      letter-spacing: -0.03em;
      color: var(--ink);
    }

    .contribute-panel p {
      margin: 0;
      max-width: 64ch;
      color: var(--ink-soft);
      font-size: 13px;
      line-height: 1.55;
    }

    .contribute-link {
      flex: none;
      display: inline-block;
      padding: 12px 20px;
      background: var(--green);
      color: #fff;
      font-weight: 800;
      font-size: 13px;
      border-radius: 999px;
      white-space: nowrap;
      text-decoration: none;
    }

    .contribute-link:hover {
      background: var(--green-deep);
    }

    @media (max-width: 640px) {
      .contribute-panel {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }
    }

    .byline {
      font-family: var(--ui);
      font-size: 11px;
      color: var(--quiet);
      margin: 6px 0 0;
    }
    .byline a { color: var(--green-deep); font-weight: 700; text-decoration: none; }
    .dark .byline, .policy-item .byline { color: rgba(255, 255, 255, 0.55); }
    .policy-item .byline a, .dark .byline a { color: #8ee9ba; }

    .rail-sub {
      display: flex;
      gap: 8px;
      margin-top: 14px;
    }
    .rail-sub input {
      flex: 1;
      min-width: 0;
      font-family: var(--ui);
      font-size: 13px;
      color: var(--ink);
      background: #fff;
      border: none;
      border-radius: 9px;
      padding: 12px 13px;
    }
    .rail-sub input:focus { outline: 3px solid #7fdcb4; }
    .rail-sub button {
      flex: none;
      font-family: var(--ui);
      font-size: 13px;
      font-weight: 800;
      color: #14263f;
      background: #7fdcb4;
      border: none;
      border-radius: 9px;
      padding: 12px 16px;
      cursor: pointer;
    }
    .rail-sub button:hover { background: #a9ebcf; }

    .ad-slot {
      margin-top: 16px;
      border: 2px dashed var(--line-dark);
      border-radius: 12px;
      background: var(--paper);
      padding: 18px 20px 20px;
    }
    .ad-slot .ad-label {
      display: block;
      font-family: var(--ui);
      font-size: 9.5px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--quiet);
      margin: 0 0 10px;
    }
    .ad-slot .ad-brand {
      font-family: var(--serif);
      font-size: 20px;
      letter-spacing: -0.02em;
      color: var(--ink);
      margin: 0 0 2px;
    }
    .ad-slot .ad-sub {
      font-family: var(--ui);
      font-size: 10.5px;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase;
      color: var(--green-deep);
      margin: 0 0 10px;
    }
    .ad-slot p.ad-copy {
      font-family: var(--ui);
      font-size: 13px;
      line-height: 1.55;
      color: var(--muted);
      margin: 0 0 12px;
    }
    .ad-slot .ad-cta {
      font-family: var(--ui);
      font-size: 12.5px;
      font-weight: 800;
      color: var(--green-deep);
      text-decoration: none;
    }
    .ad-slot .ad-cta:hover { text-decoration: underline; }

    .compass-band {
      background: linear-gradient(135deg, #07966c, #047456);
      color: #fff;
    }
    .compass-band .container { padding-top: 40px; padding-bottom: 40px; }
    .compass-band-inner {
      display: grid;
      grid-template-columns: 1.5fr 0.85fr;
      gap: 30px;
      align-items: center;
    }
    .compass-band .section-label { color: #8ee9ba; }
    .compass-band h2 { color: #fff; margin: 6px 0 10px; }
    .compass-band p { color: rgba(255,255,255,0.82); max-width: 54ch; margin: 0 0 22px; }
    .compass-launch {
      display: inline-flex; align-items: center; gap: 9px;
      padding: 15px 26px; border: none; border-radius: 999px;
      background: #14263f; color: #fff;
      font-family: var(--ui); font-size: 15px; font-weight: 800; cursor: pointer;
    }
    .compass-launch:hover { background: #0d1a2e; }
    .compass-launch::after { content: " \2192"; font-weight: 700; }
    .compass-band-note { margin: 12px 0 0; font-size: 12px; color: rgba(255,255,255,0.55); }
    .compass-art { display: grid; place-items: center; }
    .compass-art svg { width: 100%; max-width: 210px; height: auto; }
    @media (max-width: 760px) {
      .compass-band-inner { grid-template-columns: 1fr; }
      .compass-art { display: none; }
    }
    .compass-modal { position: fixed; inset: 0; z-index: 1000; display: none; background: #04372b; }
    .compass-modal.is-open { display: block; }
    .compass-frame { width: 100%; height: 100%; border: 0; display: block; }

    .feature-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
      gap: 20px;
    }

    .feature-article {
      display: grid;
      grid-template-columns: minmax(280px, 0.95fr) 1fr;
      background: #fff;
      border: 1px solid var(--line);
      min-height: 392px;
    }

    .feature-article img {
      height: 100%;
      object-fit: cover;
      border-right: 1px solid var(--line);
    }

    .feature-copy {
      padding: 28px;
      display: grid;
      align-content: space-between;
      gap: 24px;
    }

    .feature-copy h3 {
      margin: 10px 0 10px;
      font-family: var(--serif);
      font-size: clamp(30px, 3.7vw, 45px);
      line-height: 1;
      letter-spacing: -0.035em;
      text-wrap: balance;
    }

    .feature-copy p {
      margin: 0;
      color: var(--muted);
      line-height: 1.62;
      font-size: 14px;
    }

    .stack-list {
      display: grid;
      gap: 12px;
    }

    .desk-card {
      display: grid;
      grid-template-columns: 96px 1fr;
      gap: 14px;
      padding: 12px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .desk-card img {
      aspect-ratio: 1;
      height: 96px;
      object-fit: cover;
      border: 1px solid var(--line);
      background: var(--wash);
    }

    .desk-card h3 {
      margin: 6px 0 5px;
      font-family: var(--serif);
      font-size: 20px;
      line-height: 1.05;
      letter-spacing: -0.035em;
    }

    .desk-card p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .article-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .article-card {
      overflow: hidden;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .article-card img {
      aspect-ratio: 16 / 10;
      object-fit: cover;
      border-bottom: 1px solid var(--line);
      background: var(--wash);
    }

    .article-body {
      padding: 17px;
    }

    .article-body h3 {
      margin: 8px 0 8px;
      font-family: var(--serif);
      font-size: 23px;
      line-height: 1.04;
      letter-spacing: -0.035em;
      text-wrap: balance;
    }

    .article-body p {
      margin: 0 0 12px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    .policy-layout {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: 20px;
    }

    .policy-cover {
      background: var(--dark-2);
      border: 1px solid rgba(255, 255, 255, 0.14);
      color: #fff;
    }

    .policy-cover img {
      aspect-ratio: 16 / 9.8;
      object-fit: cover;
      border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    }

    .policy-cover-body {
      padding: 24px;
    }

    .policy-cover h3 {
      margin: 9px 0 9px;
      font-family: var(--serif);
      font-size: 34px;
      line-height: 1.02;
      letter-spacing: -0.035em;
    }

    .policy-cover p {
      margin: 0;
      color: rgba(255, 255, 255, 0.68);
      line-height: 1.62;
      font-size: 14px;
    }

    .policy-list {
      display: grid;
      gap: 10px;
    }

    .policy-item {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      align-items: start;
      padding: 18px;
      background: rgba(255, 255, 255, 0.055);
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .policy-date {
      display: block;
      color: #98f2ce;
      font-size: 10px;
      font-weight: 950;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .policy-item h3 {
      margin: 0 0 8px;
      font-family: var(--serif);
      font-size: 22px;
      line-height: 1.05;
      letter-spacing: -0.035em;
    }

    .policy-item p {
      margin: 0 0 12px;
      color: rgba(255, 255, 255, 0.62);
      font-size: 12px;
      line-height: 1.5;
    }

    .policy-item a {
      display: inline-block;
      color: #98f2ce;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.02em;
      white-space: nowrap;
    }
    .policy-item a::after {
      content: " \2192";
      font-weight: 700;
    }
    .policy-item a:hover {
      text-decoration: underline;
    }

    .reader-desks {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .desk-column {
      background: #fff;
      border: 1px solid var(--line);
      padding: 18px;
    }

    .desk-column h3 {
      margin: 9px 0 8px;
      font-family: var(--serif);
      font-size: 29px;
      line-height: 1;
      letter-spacing: -0.035em;
    }

    .desk-column p {
      margin: 0 0 16px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    .desk-list {
      list-style: none;
      margin: 0;
      padding: 0;
      border-top: 1px solid var(--line);
    }

    .desk-list li {
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }

    .desk-list a {
      display: block;
      font-family: var(--serif);
      font-size: 18px;
      line-height: 1.12;
      letter-spacing: -0.025em;
    }

    .desk-list span {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      font-family: var(--ui);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .video-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.82fr);
      gap: 20px;
      align-items: stretch;
    }

    .video-main {
      background: #000;
      border: 1px solid rgba(255, 255, 255, 0.14);
    }

    .video-main img {
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    .video-caption {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 14px 16px;
      color: rgba(255, 255, 255, 0.72);
      font-size: 12px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .video-caption strong {
      color: #fff;
    }

    .video-list {
      display: grid;
      gap: 10px;
    }

    .video-panel {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 13px;
      padding: 10px;
      background: rgba(255, 255, 255, 0.055);
      border-color: rgba(255, 255, 255, 0.12);
      color: #fff;
    }

    .video-panel img {
      aspect-ratio: 16 / 9;
      height: 76px;
      object-fit: cover;
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .video-panel h3 {
      margin: 4px 0 5px;
      font-family: var(--serif);
      font-size: 18px;
      line-height: 1.05;
      letter-spacing: -0.03em;
    }

    .video-panel p {
      margin: 0;
      color: rgba(255, 255, 255, 0.62);
      font-size: 12px;
      line-height: 1.4;
    }

    .resource-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }

    .resource-card {
      min-height: 190px;
      padding: 17px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .resource-card h3 {
      margin: 12px 0 8px;
      font-family: var(--serif);
      font-size: 22px;
      line-height: 1.05;
      letter-spacing: -0.03em;
    }

    .resource-card p {
      margin: 0 0 16px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .resource-icon {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 1px solid var(--mint-strong);
      background: var(--mint);
      color: var(--green-deep);
      font-weight: 950;
      font-size: 12px;
    }

    .newsletter-section {
      padding: 64px 0;
      background: #05070b;
      color: #fff;
      text-align: center;
    }

    .newsletter-section .container {
      max-width: 760px;
    }

    .newsletter-section h2 {
      margin: 8px 0 10px;
      font-family: var(--serif);
      font-size: clamp(34px, 4.8vw, 54px);
      line-height: 1;
      letter-spacing: -0.035em;
    }

    .newsletter-section p {
      color: rgba(255, 255, 255, 0.68);
      line-height: 1.65;
      margin: 0 auto 22px;
      max-width: 620px;
    }

    .newsletter-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 210px 135px;
      gap: 8px;
    }

    .newsletter-form input,
    .newsletter-form select {
      min-height: 43px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 0;
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      padding: 0 13px;
      outline: none;
    }

    .newsletter-form select option {
      color: var(--ink);
    }

    .newsletter-form button {
      min-height: 43px;
      border: 1px solid var(--green);
      background: var(--green);
      color: #fff;
      font-weight: 900;
      cursor: pointer;
    }

    .disclaimer {
      background: var(--paper);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 20px 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.55;
    }

    .disclaimer .container {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 10px;
    }

    .disclaimer strong {
      color: var(--ink);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .disclaimer p {
      max-width: 720px;
      margin: 0;
    }

    .footer {
      padding: 38px 0 30px;
      background: var(--paper);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: minmax(240px, 1.5fr) repeat(4, 1fr);
      gap: 28px;
    }

    .footer-brand {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 13px;
      font-weight: 950;
      letter-spacing: -0.04em;
    }

    .footer-brand .brand-mark {
      width: 28px;
      height: 28px;
    }

    .footer-about p {
      margin: 0;
      max-width: 320px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }

    .footer-col h3 {
      margin: 0 0 11px;
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .footer-col a {
      display: block;
      padding: 4px 0;
      color: var(--muted);
      font-size: 12px;
    }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      margin-top: 30px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 11px;
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    @media (max-width: 1020px) {
      .front-grid,
      .feature-grid,
      .policy-layout,
      .video-layout {
        grid-template-columns: 1fr;
      }

      .latest-row,
      .voices-strip {
        grid-template-columns: repeat(2, 1fr);
      }

      .mini-story:nth-child(2n) {
        border-right: 0;
      }

      .reader-desks,
      .article-grid,
      .resource-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .footer-about {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 820px) {
      .masthead-grid {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 20px 0;
        text-align: center;
      }

      .mast-note,
      .mast-note.right {
        justify-self: center;
        text-align: center;
      }

      .nav-links {
        position: fixed;
        inset: 56px 14px auto 14px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        background: var(--paper);
        border: 1px solid var(--line);
        box-shadow: var(--shadow-soft);
      }

      .nav-links.open {
        display: flex;
      }

      .nav-links a,
      .nav-links a:last-child {
        border-left: 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 0 15px;
      }

      .menu-button {
        display: grid;
      }

      .nav-row {
        grid-template-columns: 1fr auto;
      }

      .ticker .container {
        grid-template-columns: 1fr;
        padding: 10px 0;
        gap: 5px;
      }

      .ticker-line {
        white-space: normal;
      }

      .section-header,
      .disclaimer .container {
        grid-template-columns: 1fr;
      }

      .feature-article {
        grid-template-columns: 1fr;
      }

      .feature-article img {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        aspect-ratio: 16 / 10;
      }

      .newsletter-form {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 620px) {
      .container {
        width: min(100% - 28px, var(--max));
      }

      .topbar .container {
        flex-direction: column;
        align-items: flex-start;
        padding: 8px 0;
        gap: 4px;
      }

      .brand-text {
        font-size: 31px;
      }

      .subscribe-button {
        display: none;
      }

      .front-page {
        padding-top: 24px;
      }

      .lead-body,
      .feature-copy,
      .policy-cover-body {
        padding: 20px;
      }

      h1 {
        font-size: 37px;
      }

      .lead-body p {
        font-size: 15px;
      }

      .latest-row,
      .voices-strip,
      .reader-desks,
      .article-grid,
      .resource-grid {
        grid-template-columns: 1fr;
      }

      .mini-story {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding-right: 0;
        padding-bottom: 14px;
      }

      .mini-story:last-child {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .policy-item {
        grid-template-columns: 1fr;
      }

      .video-panel {
        grid-template-columns: 96px 1fr;
      }

      .video-panel img {
        height: 64px;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .footer-bottom {
        flex-direction: column;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
  /* SEIS at a glance */
  .glance-panel{background:#14263f;border-radius:20px;padding:44px 46px;color:#f4efe5}
  .glance-top{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start;border-bottom:1px solid rgba(255,255,255,0.12);padding-bottom:28px;margin-bottom:28px}
  .glance-eyebrow{display:inline-block;color:#7fdcb4;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
  .glance-top h2{font-family:Georgia,serif;color:#f7f4ee;font-size:34px;line-height:1.1;margin:0 0 12px}
  .glance-lead{color:rgba(255,255,255,0.72);font-size:15px;line-height:1.6;margin:0 0 12px}
  .glance-note{color:#8fd9bb;font-size:12.5px}
  .glance-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .glance-stat{background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.14);border-radius:14px;padding:16px 18px}
  .glance-stat b{display:block;font-family:Georgia,serif;color:#7fdcb4;font-size:29px;font-weight:700;line-height:1}
  .glance-stat span{display:block;color:rgba(255,255,255,0.72);font-size:12.5px;margin-top:7px}
  .glance-faq{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .glance-qa{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:14px;padding:18px 20px}
  .glance-qa h3{font-family:Georgia,serif;color:#fff;font-size:17px;line-height:1.25;margin:0 0 7px}
  .glance-qa p{color:rgba(255,255,255,0.74);font-size:13.5px;line-height:1.55;margin:0}
  .glance-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.12)}
  .glance-cta p{color:rgba(255,255,255,0.82);font-size:15px;line-height:1.5;margin:0;max-width:52ch}
  .glance-btn{display:inline-block;background:#7fdcb4;color:#14263f;font-weight:700;font-size:15px;padding:14px 26px;border-radius:10px;text-decoration:none;white-space:nowrap;transition:background .15s ease}
  .glance-btn:hover{background:#a9ebcf}
  @media(max-width:820px){.glance-panel{padding:30px 24px}.glance-top{grid-template-columns:1fr;gap:24px}.glance-faq{grid-template-columns:1fr}.glance-top h2{font-size:28px}.glance-cta{flex-direction:column;align-items:flex-start}.glance-btn{width:100%;text-align:center}}

/* ===== ARTICLE ===== */
/* reading upgrades */
    .art-body h2[id], .art-body h3[id], .art-faq[aria-labelledby], [id="faq-title"] { scroll-margin-top: 96px; }
    .art-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--green); z-index: 2000; transition: width .1s linear; }
    .toc-mobile { display: none; margin: 18px 0 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
    .toc-mobile summary { font-family: var(--ui); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--green-deep); padding: 14px 16px; cursor: pointer; list-style: none; }
    .toc-mobile summary::-webkit-details-marker { display: none; }
    .toc-mobile summary::after { content: " +"; }
    .toc-mobile[open] summary::after { content: " \2212"; }
    .toc-mobile a { display: block; font-family: var(--ui); font-size: 14px; color: var(--ink-soft); text-decoration: none; padding: 9px 16px; border-top: 1px solid var(--line); }
    .toc-mobile a:hover { color: var(--green-deep); }
    .art-toc a.is-active { color: var(--green-deep); font-weight: 700; }
    .art-body table { width: 100%; border-collapse: collapse; font-family: var(--ui); font-size: 14.5px; line-height: 1.5; margin: 0 0 1.5em; }
    .art-body th { background: var(--wash); font-weight: 800; text-align: left; color: var(--ink); }
    .art-body th, .art-body td { border: 1px solid var(--line-dark); padding: 10px 12px; vertical-align: top; }
    .art-body tr:nth-child(even) td { background: var(--paper-2); }
    .art-body blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--green); font-style: italic; color: #33404f; }
    .art-body .pullquote { font-family: var(--serif); font-size: 26px; line-height: 1.35; letter-spacing: -0.01em; color: var(--green-deep); border: 0; border-top: 2px solid var(--line); border-bottom: 2px solid var(--line); padding: 22px 6px; margin: 1.8em 0; font-style: normal; text-align: center; }
    .art-body .art-note { background: var(--mint); border: 1px solid var(--mint-strong); border-radius: 12px; padding: 16px 20px; font-family: var(--ui); font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 1.5em; }
    .nav-wrap.nav-hidden { transform: translateY(-110%); }
    .nav-wrap { transition: transform .25s ease; }
    @media (max-width: 820px) {
      .toc-mobile { display: block; }
      .art-share-inline a, .art-share-inline button { width: 44px; height: 44px; }
      .art-share-inline svg { width: 18px; height: 18px; }
    }
    /* ================= ARTICLE PAGE ================= */
    .art-crumb { max-width: 1120px; margin: 0 auto; padding: 20px 24px 0; font-size: 12.5px; color: var(--muted); }
    .art-crumb a { color: var(--green); font-weight: 700; text-decoration: none; }
    .art-crumb span { margin: 0 6px; color: var(--quiet); }
    .art-shell { max-width: 1120px; margin: 0 auto; padding: 10px 24px 56px; display: grid; grid-template-columns: 52px minmax(0, 660px) 260px; gap: 44px; justify-content: center; align-items: start; }
    /* share rail */
    .art-share { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 10px; }
    .art-share a, .art-share button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); display: inline-flex; align-items: center; justify-content: center; color: var(--ink-soft); cursor: pointer; padding: 0; }
    .art-share a:hover, .art-share button:hover { background: var(--green); color: #fff; border-color: var(--green); }
    .art-share svg { width: 17px; height: 17px; }
    .art-share-inline { display: none; gap: 8px; margin-left: auto; }
    .art-share-inline a, .art-share-inline button { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); display: inline-flex; align-items: center; justify-content: center; color: var(--ink-soft); cursor: pointer; padding: 0; }
    .art-share-inline a:hover, .art-share-inline button:hover { background: var(--green); color: #fff; border-color: var(--green); }
    .art-share-inline svg { width: 15px; height: 15px; }
    /* header */
    .art-content { min-width: 0; }
    .art-kicker { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--green); text-decoration: none; margin-bottom: 12px; }
    .art-title { font-family: var(--serif); font-size: 40px; line-height: 1.08; letter-spacing: -0.025em; color: var(--ink); margin: 0 0 14px; }
    .art-dek { font-family: var(--serif); font-style: italic; font-size: 20px; line-height: 1.5; color: var(--muted); margin: 0 0 20px; }
    .art-byrow { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .art-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--serif); font-weight: 700; font-size: 16px; flex: none; }
    .art-bymeta { display: flex; flex-direction: column; line-height: 1.3; }
    .art-by { font-size: 14px; font-weight: 700; color: var(--ink); }
    .art-by a { color: var(--ink); text-decoration: none; }
    .art-date { font-size: 12.5px; color: var(--quiet); }
    .art-hero { margin: 24px 0 6px; }
    .art-hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; display: block; }
    .art-hero figcaption { font-size: 12px; color: var(--quiet); margin-top: 8px; }
    /* ---- the reading column: measure ~66ch, 20px serif, 1.75 ---- */
    .art-body { font-family: var(--serif); font-size: 20px; line-height: 1.75; color: #1e2836; margin-top: 22px; }
    .art-body p { margin: 0 0 1.35em; }
    .art-body .art-lead { font-size: 22px; line-height: 1.6; color: #131c28; }
    .art-body h2 { font-family: var(--serif); font-size: 27px; line-height: 1.2; letter-spacing: -0.02em; color: var(--ink); margin: 1.7em 0 .5em; }
    .art-body h3 { font-family: var(--serif); font-size: 21px; color: var(--ink); margin: 1.4em 0 .4em; }
    .art-body a { color: var(--green-deep); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
    .art-body a:hover { color: var(--green); }
    .art-body ul, .art-body ol { margin: 0 0 1.35em; padding-left: 1.25em; }
    .art-body li { margin: .45em 0; padding-left: .15em; }
    .art-body strong { color: #131c28; }
    .glance { background: var(--mint); border: 1px solid var(--mint-strong); border-radius: 14px; padding: 22px 24px; margin: 28px 0 30px; }
    .glance h2 { font-family: var(--serif); font-size: 15px !important; text-transform: uppercase; letter-spacing: .07em; color: var(--green-deep); margin: 0 0 14px !important; }
    .glance ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; }
    .glance li { font-family: var(--ui); font-size: 13.5px; color: var(--ink-soft); line-height: 1.35; margin: 0 !important; }
    .glance strong { display: block; font-family: var(--serif); font-size: 23px; color: var(--green-deep); }
    .art-faq { margin: 36px 0; }
    .art-faq h2 { font-family: var(--serif); font-size: 24px; color: var(--ink); margin: 0 0 8px; }
    .faq-q { border-top: 1px solid var(--line); padding: 16px 0; }
    .faq-q h3 { font-family: var(--serif); font-size: 18px; margin: 0 0 6px; color: var(--ink); }
    .faq-q p { font-family: var(--ui); font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0; }
    .art-boundary { background: var(--wash); border-left: 3px solid var(--green); padding: 15px 20px; margin: 30px 0; font-family: var(--ui); font-size: 14px; line-height: 1.55; color: var(--ink-soft); border-radius: 0 8px 8px 0; }
    .art-refs { font-family: var(--ui); font-size: 13px; color: var(--muted); margin: 22px 0; }
    .art-refs h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: var(--quiet); margin: 0 0 6px; }
    .art-refs a { color: var(--green); }
    .art-authorbox { display: flex; gap: 16px; align-items: flex-start; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 22px; margin: 36px 0; }
    .art-authorbox .art-avatar { width: 56px; height: 56px; font-size: 20px; }
    .art-authorbox .role { font-family: var(--ui); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--green); font-weight: 800; margin: 0 0 2px; }
    .art-authorbox h3 { font-family: var(--serif); font-size: 18px; margin: 0 0 8px; color: var(--ink); }
    .art-authorbox p { font-family: var(--ui); font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 6px; }
    .art-authorbox .checked { font-size: 12px; color: var(--quiet); margin: 0; }
    .art-next { margin: 44px 0 0; }
    .art-next h2 { font-family: var(--serif); font-size: 22px; color: var(--ink); border-bottom: 1px solid var(--line-dark); padding-bottom: 10px; margin: 0 0 22px; }
    .next-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
    .next-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; display: block; }
    .next-card h3 { font-family: var(--serif); font-size: 16px; line-height: 1.2; margin: 10px 0 0; }
    .next-card h3 a { color: var(--ink); text-decoration: none; }
    .next-card h3 a:hover { color: var(--green-deep); }
    /* slim sidebar */
    .art-side { position: sticky; top: 96px; display: grid; gap: 20px; }
    .art-toc { border-left: 2px solid var(--line); padding-left: 16px; }
    .art-toc p { font-family: var(--ui); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--quiet); font-weight: 800; margin: 0 0 8px; }
    .art-toc a { display: block; font-family: var(--ui); font-size: 13px; color: var(--ink-soft); text-decoration: none; padding: 5px 0; line-height: 1.3; }
    .art-toc a:hover { color: var(--green-deep); }
    .art-widget { background: linear-gradient(135deg, #14263f, #0d1a2e); color: #fff; border-radius: 12px; padding: 18px; }
    .art-widget h3 { font-family: var(--serif); font-size: 16px; margin: 0 0 6px; }
    .art-widget p { font-family: var(--ui); font-size: 12.5px; color: rgba(255,255,255,0.8); margin: 0 0 12px; }
    .art-widget a { display: inline-block; background: var(--green); color: #fff; font-weight: 800; font-size: 12px; padding: 9px 16px; border-radius: 999px; text-decoration: none; }
    @media (max-width: 1040px) {
      .art-shell { grid-template-columns: minmax(0, 660px) 250px; }
      .art-share { display: none; }
      .art-share-inline { display: flex; }
    }
    @media (max-width: 820px) {
      .art-shell { grid-template-columns: 1fr; max-width: 680px; }
      .art-side { display: none; }
      .art-title { font-size: 31px; }
      .art-body { font-size: 19px; }
      .glance ul { grid-template-columns: 1fr; }
      .next-grid { grid-template-columns: 1fr; gap: 26px; }
    }

/* ===== CATEGORY HUB ===== */
/* ---- category feed page ---- */
    .cat-crumb { max-width: var(--max); margin: 0 auto; padding: 22px 24px 0; font-size: 12.5px; color: var(--muted); }
    .cat-crumb a { color: var(--green); font-weight: 700; text-decoration: none; }
    .cat-crumb span { margin: 0 6px; color: var(--quiet); }
    .cat-head { max-width: var(--max); margin: 0 auto; padding: 10px 24px 4px; }
    .cat-eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--green); font-weight: 800; }
    .cat-title { font-family: var(--serif); font-size: 42px; line-height: 1.03; letter-spacing: -0.03em; color: var(--ink); margin: 8px 0 8px; }
    .cat-desc { font-size: 16px; color: var(--ink-soft); max-width: 60ch; margin: 0; }
    .cat-wrap { max-width: var(--max); margin: 0 auto; padding: 26px 24px 52px; }
    .cat-featured { position: relative; border-radius: 14px; overflow: hidden; margin: 4px 0 42px; }
    .cat-featured img { width: 100%; aspect-ratio: 16 / 7.4; object-fit: cover; display: block; }
    .cat-featured .fx { position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,20,38,0.92), rgba(9,20,38,0.28) 56%, rgba(9,20,38,0.05)); }
    .cat-featured .fbody { position: absolute; left: 0; right: 0; bottom: 0; padding: 34px 36px; color: #fff; }
    .cat-tag { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--green); padding: 5px 11px; border-radius: 6px; }
    .cat-featured h2 { font-family: var(--serif); font-size: 34px; line-height: 1.06; letter-spacing: -0.02em; margin: 14px 0 8px; max-width: 24ch; }
    .cat-featured h2 a { color: #fff; text-decoration: none; }
    .cat-featured .fbody > p { color: rgba(255,255,255,0.85); max-width: 62ch; margin: 0 0 10px; font-size: 14.5px; }
    .cat-byline { font-size: 12.5px; color: rgba(255,255,255,0.7); margin: 0; }
    .cat-byline a { color: #8ee9ba; font-weight: 700; text-decoration: none; }
    .section-bar { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--line-dark); padding-bottom: 10px; margin: 6px 0 26px; }
    .section-bar h2 { font-family: var(--serif); font-size: 23px; color: var(--ink); margin: 0; }
    .section-bar a { font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--green); text-decoration: none; }
    .cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 26px; }
    .cat-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; display: block; }
    .cat-card h3 { font-family: var(--serif); font-size: 18px; line-height: 1.16; letter-spacing: -0.01em; margin: 12px 0 6px; }
    .cat-card h3 a { color: var(--ink); text-decoration: none; }
    .cat-card h3 a:hover { color: var(--green-deep); }
    .cat-card > p { font-size: 13px; color: var(--muted); margin: 0 0 8px; line-height: 1.5; }
    .cat-card .cat-byline { color: var(--quiet); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
    .cat-card .cat-byline a { color: var(--green); }
    .cat-band { margin: 40px 0; padding: 24px 28px; border-radius: 12px; background: linear-gradient(135deg, #07966c, #047456); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
    .cat-band h3 { font-family: var(--serif); font-size: 20px; margin: 0 0 4px; }
    .cat-band p { margin: 0; font-size: 13px; color: rgba(255,255,255,0.82); max-width: 62ch; }
    .cat-band a { flex: none; background: #14263f; color: #fff; font-weight: 800; font-size: 13px; padding: 12px 22px; border-radius: 999px; text-decoration: none; }
    .cat-band a:hover { background: #0d1a2e; }
    .cat-pagination { display: flex; gap: 8px; justify-content: center; margin: 44px 0 4px; }
    .cat-pagination a, .cat-pagination span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-weight: 700; color: var(--ink); text-decoration: none; }
    .cat-pagination a:hover { border-color: var(--green); color: var(--green-deep); }
    .cat-pagination .current { background: var(--green); color: #fff; border-color: var(--green); }
    @media (max-width: 860px) { .cat-grid { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px) { .cat-grid { grid-template-columns: 1fr; } .cat-featured h2 { font-size: 23px; } .cat-band { flex-direction: column; align-items: flex-start; } .cat-title { font-size: 32px; } }

/* ===== BRAND PAGES + TEAM ===== */
/* ---- brand standalone pages ---- */
    .bp-hero{background:linear-gradient(135deg,#14263f,#0d1a2e);color:#fff;}
    .bp-hero-in{max-width:var(--max);margin:0 auto;padding:46px 24px 50px;}
    .bp-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ee9ba;font-weight:800;}
    .bp-h1{font-family:var(--serif);font-size:44px;line-height:1.04;letter-spacing:-.03em;margin:12px 0 14px;max-width:24ch;}
    .bp-lead{font-family:var(--ui);font-size:17px;line-height:1.6;color:rgba(255,255,255,.85);margin:0;max-width:62ch;}
    .bp-meta{font-family:var(--ui);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#8ee9ba;font-weight:700;margin:16px 0 0;}
    .bp-band{background:linear-gradient(135deg,#07966c,#047456);}
    .bp-band-in{max-width:var(--max);margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
    .bp-band-main{font-family:var(--serif);font-size:27px;line-height:1.4;color:#fff;letter-spacing:-.015em;margin:0;}
    .bp-band .accent{color:#c9f6df;font-weight:600;}
    .bp-band-side{border-left:2px solid rgba(255,255,255,.28);padding-left:30px;}
    .bp-band-side p{font-family:var(--ui);font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.86);margin:0 0 10px;}
    .bp-band-side p:last-of-type{margin-bottom:14px;}
    .bp-band-link{font-family:var(--ui);font-size:13px;font-weight:800;color:#c9f6df;text-decoration:none;}
    .bp-band-link::after{content:" \2192";}
    .bp-band-link:hover{text-decoration:underline;}
    @media(max-width:820px){.bp-band-in{grid-template-columns:1fr;gap:22px;}.bp-band-side{border-left:0;border-top:2px solid rgba(255,255,255,.28);padding-left:0;padding-top:20px;}.bp-band-main{font-size:22px;}}
    .bp-sec{max-width:var(--max);margin:0 auto;padding:0 24px;}
    .bp-sec h2{font-family:var(--serif);font-size:26px;color:var(--ink);letter-spacing:-.02em;margin:44px 0 4px;}
    .bp-sec .sub{font-family:var(--ui);font-size:15px;color:var(--ink-soft);margin:0;}
    .bp-cards{max-width:var(--max);margin:0 auto;padding:18px 24px 6px;display:grid;gap:18px;}
    .cols-2{grid-template-columns:1fr 1fr;} .cols-3{grid-template-columns:repeat(3,1fr);} .cols-4{grid-template-columns:repeat(4,1fr);}
    .bp-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;}
    .bp-card h3{font-family:var(--serif);font-size:17px;color:var(--ink);margin:0 0 7px;}
    .bp-card p{font-family:var(--ui);font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}
    .bp-tile{background:var(--wash);border-radius:12px;padding:18px;}
    .bp-tile strong{display:block;font-family:var(--serif);font-size:15px;color:var(--ink);margin:0 0 6px;}
    .bp-tile span{font-family:var(--ui);font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
    .bp-prose{max-width:var(--max);margin:0 auto;padding:10px 24px 8px;}
    .bp-prose > *{max-width:820px;}
    .bp-prose h2{font-family:var(--serif);font-size:22px;color:var(--ink);margin:1.9em 0 .45em;letter-spacing:-.01em;}
    .bp-prose p,.bp-prose li{font-family:var(--ui);font-size:16px;line-height:1.7;color:#26303e;}
    .bp-prose p{margin:0 0 1.05em;} .bp-prose ul{margin:0 0 1.05em;padding-left:1.3em;} .bp-prose li{margin:.35em 0;}
    .bp-prose a{color:var(--green-deep);text-decoration:underline;}
    .bp-note{background:var(--wash);border-left:3px solid var(--green);padding:14px 18px;margin:26px 0 0;font-family:var(--ui);font-size:14px;color:var(--ink-soft);border-radius:0 8px 8px 0;}
    .bp-cta{background:var(--mint);border:1px solid var(--mint-strong);border-radius:16px;padding:30px;text-align:center;max-width:820px;margin:44px auto 56px;margin-left:max(24px,calc((100% - 1110px)/2 + 24px));}
    .bp-cta h2{font-family:var(--serif);font-size:23px;color:var(--ink);margin:0 0 8px;}
    .bp-cta p{font-family:var(--ui);font-size:14px;color:var(--ink-soft);margin:0 0 16px;}
    .bp-btn{display:inline-block;background:var(--green);color:#fff;font-weight:800;font-size:14px;padding:12px 26px;border-radius:999px;text-decoration:none;cursor:pointer;border:none;}
    .bp-btn:hover{background:var(--green-deep);}
    .bp-end{padding-bottom:56px;}
    @media(max-width:860px){.cols-3,.cols-4{grid-template-columns:1fr 1fr;}.bp-h1{font-size:33px;}.bp-band p{font-size:20px;}}
    @media(max-width:560px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr;}}

    .tm-grid{max-width:var(--max);margin:0 auto;padding:20px 24px 6px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
    .tm-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center;}
    .tm-avatar{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:22px;margin:0 auto 12px;}
    .tm-card h3{font-family:var(--serif);font-size:18px;color:var(--ink);margin:0 0 2px;}
    .tm-role{font-family:var(--ui);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--green);font-weight:800;margin:0 0 10px;}
    .tm-card p{font-family:var(--ui);font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}
    @media(max-width:760px){.tm-grid{grid-template-columns:1fr;}}

/* ===== FORM PAGES ===== */
.fm-layout{max-width:var(--max);margin:0 auto;padding:34px 24px 8px;display:grid;grid-template-columns:minmax(0,640px) 300px;gap:44px;align-items:start;justify-content:start;}
    .fm-field{margin:0 0 16px;}
    .fm-field label{display:block;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink);margin:0 0 6px;}
    .fm-field input,.fm-field select,.fm-field textarea{width:100%;font-family:var(--ui);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line-dark);border-radius:8px;padding:11px 13px;}
    .fm-field textarea{min-height:150px;resize:vertical;}
    .fm-field input:focus,.fm-field textarea:focus,.fm-field select:focus{outline:2px solid var(--green);border-color:var(--green);}
    .fm-note{font-family:var(--ui);font-size:12.5px;color:var(--quiet);margin:14px 0 0;}
    .fm-side .box{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 16px;}
    .fm-side h3{font-family:var(--serif);font-size:16px;color:var(--ink);margin:0 0 8px;}
    .fm-side p{font-family:var(--ui);font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0 0 6px;}
    .fm-side a{color:var(--green-deep);text-decoration:none;font-weight:600;}
    @media(max-width:780px){.fm-layout{grid-template-columns:1fr;gap:28px;}}

/* ===== NEWSLETTER ===== */
.nl-form{display:flex;gap:10px;max-width:480px;margin:26px 0 10px;}
    .nl-form input{flex:1;font-family:var(--ui);font-size:15px;border:none;border-radius:999px;padding:14px 18px;}
    .nl-form input:focus{outline:3px solid #8ee9ba;}
    .nl-form button{background:var(--green);color:#fff;font-weight:800;font-size:14px;padding:14px 26px;border:none;border-radius:999px;cursor:pointer;white-space:nowrap;}
    .nl-form button:hover{background:#0aa87a;}
    .nl-privacy{font-family:var(--ui);font-size:12.5px;color:rgba(255,255,255,.6);margin:0;}
    .nl-privacy a{color:#8ee9ba;}
    @media(max-width:560px){.nl-form{flex-direction:column;}.nl-form button{width:100%;}}

/* ===== GLOSSARY ===== */
.gl-hero{background:linear-gradient(135deg,#14263f,#0d1a2e);color:#fff;}
    .gl-hero-in{max-width:var(--max);margin:0 auto;padding:44px 24px 46px;}
    .gl-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ee9ba;font-weight:800;}
    .gl-h1{font-family:var(--serif);font-size:42px;line-height:1.05;letter-spacing:-.03em;margin:10px 0 12px;}
    .gl-hero p{font-family:var(--ui);font-size:16px;color:rgba(255,255,255,.85);max-width:62ch;margin:0;line-height:1.6;}
    .gl-meta{font-family:var(--ui);font-size:12px;color:#8ee9ba;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 0;}
    .gl-jump{position:sticky;top:64px;z-index:20;background:var(--paper-2);border-bottom:1px solid var(--line);}
    .gl-jump-in{max-width:var(--max);margin:0 auto;padding:12px 24px;display:flex;gap:10px;flex-wrap:wrap;}
    .gl-jump a{font-family:var(--ui);font-size:12.5px;font-weight:800;color:var(--green-deep);background:var(--mint);border:1px solid var(--mint-strong);border-radius:999px;padding:7px 14px;text-decoration:none;white-space:nowrap;}
    .gl-jump a:hover{background:var(--mint-strong);}
    .gl-wrap{max-width:var(--max);margin:0 auto;padding:10px 24px 56px;}
    .gl-group{max-width:820px;}
    .gl-group{margin:36px 0 0;scroll-margin-top:120px;}
    .gl-group h2{font-family:var(--serif);font-size:25px;color:var(--ink);letter-spacing:-.02em;border-bottom:1px solid var(--line-dark);padding-bottom:10px;margin:0 0 6px;}
    .gl-term{padding:18px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px;}
    .gl-term dt{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:700;margin:0 0 5px;}
    .gl-term dd{font-family:var(--ui);font-size:15px;line-height:1.65;color:#26303e;margin:0;}
    .gl-term dd a{color:var(--green-deep);}
    dl{margin:0;}
    .gl-foot{max-width:820px;margin:0 auto 0 max(24px,calc((100% - 1110px)/2 + 24px));padding:0 0 56px;font-family:var(--ui);font-size:13.5px;color:var(--muted);}
    .gl-foot a{color:var(--green-deep);}
    @media(max-width:640px){.gl-h1{font-size:31px;}.gl-jump{top:56px;}}

/* ===== VIDEO DESK ===== */
.vd-hero{background:linear-gradient(135deg,#14263f,#0d1a2e);color:#fff;}
    .vd-hero-in{max-width:var(--max);margin:0 auto;padding:44px 24px 48px;}
    .vd-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ee9ba;font-weight:800;}
    .vd-h1{font-family:var(--serif);font-size:42px;line-height:1.05;letter-spacing:-.03em;margin:10px 0 12px;}
    .vd-hero p{font-family:var(--ui);font-size:16px;color:rgba(255,255,255,.85);max-width:62ch;margin:0;line-height:1.6;}
    .vd-note{max-width:var(--max);margin:0 auto;padding:18px 24px 0;font-family:var(--ui);font-size:13px;color:var(--quiet);}
    .vd-grid{max-width:var(--max);margin:0 auto;padding:22px 24px 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
    .vd-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
    .vd-thumb{position:relative;display:block;}
    .vd-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
    .vd-thumb::after{content:"";position:absolute;inset:0;background:rgba(9,20,38,.25);}
    .vd-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--green);z-index:2;display:flex;align-items:center;justify-content:center;}
    .vd-play::after{content:"";border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;margin-left:4px;}
    .vd-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
    .vd-tag{font-family:var(--ui);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);}
    .vd-body h2{font-family:var(--serif);font-size:18px;line-height:1.2;margin:0;}
    .vd-body h2 a{color:var(--ink);text-decoration:none;}
    .vd-body h2 a:hover{color:var(--green-deep);}
    .vd-body p{font-family:var(--ui);font-size:13px;color:var(--muted);line-height:1.5;margin:0;}
    .vd-who{font-family:var(--ui);font-size:12px;color:var(--quiet);margin-top:auto;}
    @media(max-width:860px){.vd-grid{grid-template-columns:1fr 1fr;}}
    @media(max-width:560px){.vd-grid{grid-template-columns:1fr;}.vd-h1{font-size:31px;}}

/* ===== STATISTICS ===== */
.st-hero{background:linear-gradient(135deg,#14263f,#0d1a2e);color:#fff;}
    .st-hero-in{max-width:var(--max);margin:0 auto;padding:46px 24px 56px;}
    .st-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ee9ba;font-weight:800;}
    .st-h1{font-family:var(--serif);font-size:42px;line-height:1.05;letter-spacing:-.03em;margin:10px 0 12px;}
    .st-hero p{font-family:var(--ui);font-size:17px;color:rgba(255,255,255,.85);max-width:62ch;margin:0;line-height:1.6;}
    .st-cards{max-width:var(--max);margin:-34px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2;}
    .st-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-soft);}
    .st-card .num{font-family:var(--serif);font-size:33px;color:var(--green-deep);letter-spacing:-.02em;line-height:1;}
    .st-card .lbl{font-family:var(--ui);font-size:13px;color:var(--ink-soft);margin-top:8px;line-height:1.35;}
    .st-wrap{max-width:var(--max);margin:0 auto;padding:44px 24px 20px;}
    .st-section{max-width:820px;}
    .st-read{max-width:820px;}
    .st-section{margin:0 0 32px;}
    .st-section h2{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 10px;letter-spacing:-.02em;}
    .st-section p{font-family:var(--ui);font-size:16px;line-height:1.7;color:#26303e;margin:0 0 1em;}
    .st-section a{color:var(--green-deep);text-decoration:underline;}
    .st-read{background:var(--mint);border:1px solid var(--mint-strong);border-radius:14px;padding:22px 24px;margin:26px 0;}
    .st-read h3{font-family:var(--serif);font-size:18px;color:var(--ink);margin:0 0 8px;}
    .st-read p{font-family:var(--ui);font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0 0 8px;}
    .st-read .by{font-family:var(--ui);font-size:12px;color:var(--quiet);margin:0;}
    .st-releases{list-style:none;margin:0;padding:0;}
    .st-releases li{padding:9px 0;border-bottom:1px solid var(--line);}
    .st-releases a{font-family:var(--ui);font-size:14px;color:var(--ink);text-decoration:none;font-weight:600;}
    .st-releases a:hover{color:var(--green-deep);}
    .st-src{font-family:var(--ui);font-size:13px;color:var(--muted);}
    .st-src a{color:var(--green);}
    @media(max-width:860px){.st-cards{grid-template-columns:1fr 1fr;}}
    @media(max-width:520px){.st-cards{grid-template-columns:1fr;margin-top:20px;}.st-h1{font-size:32px;}}

/* ===== ABOUT ===== */
.ab-hero{background:linear-gradient(135deg,#14263f,#0d1a2e);color:#fff;}
    .ab-hero-in{max-width:var(--max);margin:0 auto;padding:46px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
    .ab-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ee9ba;font-weight:800;}
    .ab-h1{font-family:var(--serif);font-size:46px;line-height:1.04;letter-spacing:-.03em;margin:12px 0 16px;}
    .ab-hero-p{font-family:var(--ui);font-size:17px;line-height:1.6;color:rgba(255,255,255,.85);margin:0 0 18px;max-width:46ch;}
    .ab-hero-meta{font-family:var(--ui);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#8ee9ba;font-weight:700;}
    .ab-hero-media img{width:100%;aspect-ratio:4/3.1;object-fit:cover;border-radius:16px;display:block;}
    .ab-lead{background:linear-gradient(135deg,#07966c,#047456);}
    .ab-lead-in{max-width:var(--max);margin:0 auto;padding:50px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
    .ab-lead-main{font-family:var(--serif);font-size:28px;line-height:1.38;color:#fff;letter-spacing:-.015em;margin:0;}
    .ab-lead .accent{color:#c9f6df;font-weight:600;}
    .ab-lead-side{border-left:2px solid rgba(255,255,255,.28);padding-left:30px;}
    .ab-lead-side p{font-family:var(--ui);font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.86);margin:0 0 10px;}
    .ab-lead-link{font-family:var(--ui);font-size:13px;font-weight:800;color:#c9f6df;text-decoration:none;}
    .ab-lead-link::after{content:" \2192";}
    .ab-lead-link:hover{text-decoration:underline;}
    @media(max-width:820px){.ab-lead-in{grid-template-columns:1fr;gap:22px;}.ab-lead-side{border-left:0;border-top:2px solid rgba(255,255,255,.28);padding-left:0;padding-top:20px;}.ab-lead-main{font-size:22px;}}
    .ab-sec-head{max-width:var(--max);margin:0 auto;padding:0 24px;}
    .ab-sec-head h2{font-family:var(--serif);font-size:27px;color:var(--ink);letter-spacing:-.02em;margin:44px 0 4px;}
    .ab-sec-head p{font-family:var(--ui);font-size:15px;color:var(--ink-soft);margin:0;}
    .ab-grid{max-width:var(--max);margin:0 auto;padding:18px 24px 6px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
    .ab-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;}
    .ab-card h3{font-family:var(--serif);font-size:18px;color:var(--ink);margin:0 0 8px;}
    .ab-card p{font-family:var(--ui);font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}
    .ab-princ{max-width:var(--max);margin:0 auto;padding:18px 24px 6px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
    .ab-p{background:var(--wash);border-radius:12px;padding:18px;}
    .ab-p strong{display:block;font-family:var(--serif);font-size:15px;color:var(--ink);margin:0 0 6px;}
    .ab-p span{font-family:var(--ui);font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
    .ab-note{max-width:var(--max);margin:12px auto 0;padding:0 24px;font-family:var(--ui);font-size:14px;color:var(--ink-soft);}
    .ab-note a{color:var(--green-deep);}
    .ab-team{max-width:var(--max);margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
    .ab-avatars{display:flex;}
    .ab-av{width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:18px;border:3px solid var(--cream);margin-left:-14px;}
    .ab-av:first-child{margin-left:0;}
    .ab-team-txt{font-family:var(--ui);font-size:15px;color:var(--ink-soft);max-width:44ch;}
    .ab-team-txt a{color:var(--green-deep);font-weight:700;}
    .ab-cta{background:var(--mint);border:1px solid var(--mint-strong);border-radius:16px;padding:32px;text-align:center;max-width:820px;margin:40px auto 56px;}
    .ab-cta h2{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 8px;}
    .ab-cta p{font-family:var(--ui);font-size:14px;color:var(--ink-soft);margin:0 0 16px;}
    .ab-btn{display:inline-block;background:var(--green);color:#fff;font-weight:800;font-size:14px;padding:12px 26px;border-radius:999px;text-decoration:none;}
    .ab-btn:hover{background:var(--green-deep);}
    @media(max-width:860px){.ab-hero-in{grid-template-columns:1fr;gap:28px;}.ab-hero-media{order:-1;}.ab-grid,.ab-princ{grid-template-columns:1fr 1fr;}.ab-h1{font-size:34px;}.ab-lead p{font-size:20px;}}
    @media(max-width:560px){.ab-grid,.ab-princ{grid-template-columns:1fr;}}

/* ===== SEARCH ===== */
.sr-head{max-width:var(--max);margin:0 auto;padding:34px 24px 0;}
    .sr-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:800;}
    .sr-h1{font-family:var(--serif);font-size:32px;color:var(--ink);letter-spacing:-.02em;margin:8px 0 4px;}
    .sr-form{display:flex;gap:10px;max-width:var(--max);margin:16px auto 4px;padding:0 24px;}
    .sr-form input{max-width:560px;}
    .sr-form input{flex:1;border:1px solid var(--line-dark);border-radius:999px;padding:12px 18px;font-size:16px;font-family:var(--ui);}
    .sr-form input:focus{outline:2px solid var(--green);border-color:var(--green);}
    .sr-form button{background:var(--green);color:#fff;border:none;border-radius:999px;padding:12px 24px;font-weight:800;cursor:pointer;}
    .sr-wrap{max-width:var(--max);margin:0 auto;padding:16px 24px 50px;}
    .sr-item,.sr-count{max-width:760px;}
    .sr-count{font-family:var(--ui);font-size:13px;color:var(--quiet);margin:0 0 8px;}
    .sr-item{padding:18px 0;border-bottom:1px solid var(--line);}
    .sr-item .cat{font-family:var(--ui);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--green);font-weight:800;}
    .sr-item h3{font-family:var(--serif);font-size:19px;margin:4px 0 5px;}
    .sr-item h3 a{color:var(--ink);text-decoration:none;} .sr-item h3 a:hover{color:var(--green-deep);}
    .sr-item p{font-family:var(--ui);font-size:14px;color:var(--muted);margin:0;line-height:1.5;}
    .sr-item .url{font-family:var(--ui);font-size:12px;color:var(--quiet);margin-top:5px;}
    .sr-pag{display:flex;gap:8px;justify-content:flex-start;margin:34px 0 0;}
    .sr-pag a,.sr-pag span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;font-family:var(--ui);font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;}
    .sr-pag .cur{background:var(--green);color:#fff;border-color:var(--green);}
    @media(max-width:560px){.sr-h1{font-size:26px;}.sr-form{flex-direction:column;}.sr-form button{width:100%;}}

/* ===== 404 ===== */
.err-wrap{max-width:640px;margin:0 auto;padding:66px 24px;text-align:center;}
    .err-code{font-family:var(--serif);font-size:118px;line-height:1;color:var(--green);letter-spacing:-.04em;margin:0;}
    .err-h1{font-family:var(--serif);font-size:31px;color:var(--ink);letter-spacing:-.02em;margin:6px 0 12px;}
    .err-p{font-family:var(--ui);font-size:16px;color:var(--ink-soft);margin:0 auto 26px;max-width:48ch;line-height:1.6;}
    .err-form{display:flex;gap:10px;max-width:420px;margin:0 auto 24px;}
    .err-form input{flex:1;border:1px solid var(--line-dark);border-radius:999px;padding:12px 18px;font-size:15px;font-family:var(--ui);}
    .err-form input:focus{outline:2px solid var(--green);border-color:var(--green);}
    .err-form button{background:var(--green);color:#fff;border:none;border-radius:999px;padding:12px 24px;font-weight:800;cursor:pointer;}
    .err-links{font-family:var(--ui);font-size:14px;color:var(--muted);}
    .err-links a{color:var(--green-deep);font-weight:600;text-decoration:none;margin:0 9px;}
    @media(max-width:520px){.err-code{font-size:84px;}.err-form{flex-direction:column;}.err-form button{width:100%;}}

/* ===== THANK YOU ===== */
.ty-wrap{max-width:560px;margin:0 auto;padding:70px 24px;text-align:center;}
    .ty-mark{width:74px;height:74px;border-radius:50%;background:var(--mint);border:1px solid var(--mint-strong);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
    .ty-mark svg{width:34px;height:34px;stroke:var(--green-deep);}
    .ty-h1{font-family:var(--serif);font-size:34px;color:var(--ink);letter-spacing:-.02em;margin:0 0 10px;}
    .ty-p{font-family:var(--ui);font-size:16px;color:var(--ink-soft);line-height:1.65;margin:0 0 24px;}
    .ty-btn{display:inline-block;background:var(--green);color:#fff;font-weight:800;font-size:14px;padding:12px 26px;border-radius:999px;text-decoration:none;}
    .ty-btn:hover{background:var(--green-deep);}
    .ty-links{margin-top:16px;font-family:var(--ui);font-size:13.5px;}
    .ty-links a{color:var(--green-deep);font-weight:600;text-decoration:none;margin:0 8px;}

/* ===== SITEMAP ===== */
.sm-head{max-width:var(--max);margin:0 auto;padding:34px 24px 0;}
    .sm-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:800;}
    .sm-h1{font-family:var(--serif);font-size:36px;color:var(--ink);letter-spacing:-.02em;margin:8px 0 2px;}
    .sm-lead{font-family:var(--ui);font-size:14px;color:var(--ink-soft);margin:0;}
    .sm-grid{max-width:var(--max);margin:0 auto;padding:26px 24px 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 28px;}
    .sm-col h2{font-family:var(--serif);font-size:16px;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:8px;margin:0 0 8px;}
    .sm-col ul{list-style:none;margin:0;padding:0;}
    .sm-col li{padding:5px 0;}
    .sm-col a{font-family:var(--ui);font-size:14px;color:var(--ink-soft);text-decoration:none;}
    .sm-col a:hover{color:var(--green-deep);text-decoration:underline;}
    @media(max-width:760px){.sm-grid{grid-template-columns:1fr 1fr;}}
    @media(max-width:480px){.sm-grid{grid-template-columns:1fr;}}

/* full-bleed end CTA (17 Jul 2026): the closing mint band runs edge to edge, everywhere it appears */
.bp-cta.bp-end{max-width:none;width:100%;border-radius:0;border-left:0;border-right:0;margin:56px 0 0;margin-left:0;padding:64px 24px 68px;}
.bp-cta.bp-end h2{font-size:27px;}
.bp-cta.bp-end p{font-size:15px;}
