/* CP01: shared brand values. Import before foundation.css. */
:root {
  color-scheme: dark;

  --nt-black: #05070b;
  --nt-near-black: #080c12;
  --nt-graphite: #111820;
  --nt-blue-black: #0b1422;
  --nt-silver: #c9d2df;
  --nt-electric-blue: #42b7ff;
  --nt-royal-blue: #214bb8;
  --nt-emerald: #22d88a;
  --nt-violet: #8f5cff;
  --nt-gold: #d8b66a;
  --nt-white: #f5f7fa;
  --nt-cool-grey: #aab7c8;
  --nt-gunmetal: #64758b;

  --nt-background: var(--nt-near-black);
  --nt-surface: var(--nt-graphite);
  --nt-surface-deep: var(--nt-blue-black);
  --nt-text: var(--nt-white);
  --nt-text-muted: var(--nt-cool-grey);
  --nt-link: var(--nt-electric-blue);
  --nt-focus: var(--nt-electric-blue);
  --nt-control-border: var(--nt-gunmetal);
  --nt-decorative-border: #29364a;
  --nt-panel-tint: rgb(11 20 34 / 92%);
  --nt-panel-highlight: rgb(201 210 223 / 5%);
  --nt-violet-text: #b598ff;
  --nt-royal-blue-text: #92aeff;
  --nt-action-background: var(--nt-royal-blue);
  --nt-action-text: var(--nt-white);
  --nt-action-hover: #2a55c5;
  --nt-action-active: #193d9b;
  --nt-selection-background: var(--nt-electric-blue);
  --nt-selection-text: var(--nt-black);

  --nt-font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nt-font-display: var(--nt-font-body);
  --nt-font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  --nt-text-small: 0.875rem;
  --nt-text-body: 1rem;
  --nt-text-lead: 1.25rem;
  --nt-text-heading: clamp(1.75rem, 1.25rem + 2vw, 3rem);
  --nt-text-display: clamp(2.25rem, 1.75rem + 2.5vw, 4.5rem);
  --nt-leading-body: 1.6;
  --nt-leading-heading: 1.15;
  --nt-weight-normal: 400;
  --nt-weight-medium: 600;
  --nt-weight-bold: 700;
  --nt-tracking-heading: -0.025em;

  --nt-space-1: 0.25rem;
  --nt-space-2: 0.5rem;
  --nt-space-3: 0.75rem;
  --nt-space-4: 1rem;
  --nt-space-6: 1.5rem;
  --nt-space-8: 2rem;
  --nt-space-12: 3rem;
  --nt-space-16: 4rem;
  --nt-space-24: 6rem;
  --nt-radius-small: 0.375rem;
  --nt-radius-control: 0.625rem;
  --nt-radius-panel: 1rem;
  --nt-border-width: 1px;
  --nt-focus-width: 3px;
  --nt-focus-offset: 4px;
  --nt-target-min: 2.75rem;
  --nt-content-max: 75rem;
  --nt-measure: 65ch;
  --nt-panel-blur: 12px;
  --nt-panel-shadow: 0 16px 48px rgb(0 0 0 / 24%);
  --nt-panel-inset: inset 0 1px 0 rgb(201 210 223 / 8%);
  --nt-duration-fast: 120ms;
  --nt-duration-standard: 180ms;
  --nt-ease: cubic-bezier(0.2, 0, 0, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nt-duration-fast: 0s;
    --nt-duration-standard: 0s;
  }
}

/* Apply .nt-theme to the page root. Components remain opt-in and framework-independent. */
.nt-theme {
  margin: 0;
  background: var(--nt-background);
  color: var(--nt-text);
  font-family: var(--nt-font-body);
  font-size: var(--nt-text-body);
  font-weight: var(--nt-weight-normal);
  line-height: var(--nt-leading-body);
  overflow-wrap: break-word;
}

.nt-theme,
.nt-theme *,
.nt-theme *::before,
.nt-theme *::after {
  box-sizing: border-box;
}

.nt-theme ::selection {
  background: var(--nt-selection-background);
  color: var(--nt-selection-text);
}

.nt-theme :focus-visible {
  outline: var(--nt-focus-width) solid var(--nt-focus);
  outline-offset: var(--nt-focus-offset);
}

.nt-theme img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

.nt-display,
.nt-heading {
  margin: 0;
  font-family: var(--nt-font-display);
  font-weight: var(--nt-weight-bold);
  letter-spacing: var(--nt-tracking-heading);
  line-height: var(--nt-leading-heading);
  text-wrap: balance;
}

.nt-display { font-size: var(--nt-text-display); }
.nt-heading { font-size: var(--nt-text-heading); }
.nt-lead { font-size: var(--nt-text-lead); }
.nt-muted { color: var(--nt-text-muted); }
.nt-prose { max-inline-size: var(--nt-measure); }

.nt-panel {
  padding: clamp(var(--nt-space-4), 3vw, var(--nt-space-8));
  border: var(--nt-border-width) solid var(--nt-decorative-border);
  border-radius: var(--nt-radius-panel);
  background: var(--nt-surface);
  color: var(--nt-text);
  box-shadow: var(--nt-panel-inset), var(--nt-panel-shadow);
}

/* Glass is opt-in: use only on the documented solid dark backgrounds. */
@supports (backdrop-filter: blur(1px)) {
  .nt-panel--glass {
    background: linear-gradient(145deg, var(--nt-panel-highlight), transparent 60%), var(--nt-panel-tint);
    backdrop-filter: blur(var(--nt-panel-blur));
  }
}

.nt-link {
  color: var(--nt-link);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

.nt-link:hover { text-decoration-thickness: 0.15em; }

.nt-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: var(--nt-target-min);
  min-block-size: var(--nt-target-min);
  gap: var(--nt-space-2);
  padding: var(--nt-space-3) var(--nt-space-6);
  border: var(--nt-border-width) solid var(--nt-control-border);
  border-radius: var(--nt-radius-control);
  background: var(--nt-action-background);
  color: var(--nt-action-text);
  font: inherit;
  font-weight: var(--nt-weight-medium);
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--nt-duration-fast) var(--nt-ease);
}

.nt-action:hover { background: var(--nt-action-hover); }
.nt-action:active { background: var(--nt-action-active); }

.nt-status {
  display: inline-block;
  padding: var(--nt-space-1) var(--nt-space-3);
  border: var(--nt-border-width) solid var(--nt-control-border);
  border-radius: var(--nt-radius-small);
  background: var(--nt-surface-deep);
  color: var(--nt-text-muted);
  font-size: var(--nt-text-small);
  font-weight: var(--nt-weight-medium);
}

@media (prefers-reduced-transparency: reduce) {
  .nt-panel--glass {
    background: var(--nt-surface);
    backdrop-filter: none;
  }
}

@media (prefers-contrast: more) {
  .nt-panel {
    border-color: var(--nt-silver);
    background: var(--nt-surface);
    backdrop-filter: none;
  }
}

@media (forced-colors: active) {
  .nt-theme,
  .nt-panel,
  .nt-panel--glass,
  .nt-status {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    backdrop-filter: none;
    box-shadow: none;
  }

  .nt-action,
  .nt-action:hover,
  .nt-action:active {
    background: ButtonFace;
    color: ButtonText;
    border-color: ButtonText;
  }

  .nt-link { color: LinkText; }
  .nt-theme :focus-visible { outline-color: Highlight; }
}

[hidden] { display: none !important; }
html { scroll-padding-block-start: 2rem; }
body { min-block-size: 100vh; }
a { color: var(--nt-link); text-underline-offset: .22em; }
button { font: inherit; }
p { margin-block: 0 1.3em; }
h2, h3 { line-height: 1.2; text-wrap: balance; }
.container { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.eyebrow { color: var(--nt-electric-blue); font: 600 .75rem/1.6 var(--nt-font-mono); letter-spacing: .15em; margin-block-end: 1.5rem; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--nt-decorative-border); background: var(--nt-black); }
.header-inner { min-block-size: 5.75rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 1rem; padding-block: 1rem; }
.brand { display: inline-flex; align-items: baseline; gap: .13em; font-size: 1.3rem; font-weight: 800; letter-spacing: -.055em; color: var(--nt-white); text-decoration: none; min-block-size: 44px; padding-block: .5rem; }
.brand span { color: var(--nt-cool-grey); }
.brand .brand-dot { color: var(--nt-electric-blue); }
.skip-link { position: fixed; inset-block-start: -8rem; inset-inline-start: 1rem; z-index: 10; background: var(--nt-white); color: var(--nt-black); padding: 1rem; }
.skip-link:focus { inset-block-start: 1rem; }
main:focus { outline: none; }
.site-footer { background: var(--nt-near-black); border-top: 1px solid var(--nt-decorative-border); }
.footer-top { padding-block: 3rem; display: flex; justify-content: space-between; gap: 2rem; }
.footer-top p { max-width: 26rem; font-size: .9rem; }
.footer-top nav { display: flex; flex-wrap: wrap; gap: 1rem; align-items: start; }
.footer-top nav a, .footer-bottom a { padding-block: .65rem; min-height: 44px; }
.footer-bottom { border-top: 1px solid var(--nt-decorative-border); padding-block: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .8rem; color: var(--nt-cool-grey); }
.hero { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 1rem; padding-block: 4rem; min-height: 43rem; }
.hero h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.08; letter-spacing: -.055em; margin: 0 0 1.75rem; text-wrap: balance; }
.hero h1 span { color: var(--nt-electric-blue); }
.hero-description { max-width: 31rem; color: var(--nt-cool-grey); font-size: 1.05rem; line-height: 1.8; }
.hero-art { min-width: 0; position: relative; }
.hero-art img { width: 100%; }
.art-caption { display: flex; justify-content: space-between; color: var(--nt-cool-grey); font: .65rem/1.5 var(--nt-font-mono); letter-spacing: .15em; padding: 1.5rem .5rem 0; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-block-start: 2rem; }
.text-action { display: inline-flex; align-items: center; min-height: 44px; padding-block: .65rem; color: var(--nt-white); font-size: .9rem; font-weight: 600; text-decoration-color: var(--nt-electric-blue); }
.text-action:hover { color: var(--nt-electric-blue); }
.focus-strip { border-block: 1px solid var(--nt-decorative-border); background: var(--nt-near-black); }
.focus-strip .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.6rem; font: .65rem/1.5 var(--nt-font-mono); letter-spacing: .13em; color: var(--nt-cool-grey); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-block-end: 3rem; }
.section-heading > p { max-width: 23rem; color: var(--nt-cool-grey); margin: 0; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.product-card { --accent: var(--nt-electric-blue); display: flex; flex-direction: column; padding: 2rem; border: 1px solid var(--nt-decorative-border); border-top: 2px solid var(--accent); border-radius: 0 0 12px 12px; background: linear-gradient(135deg, var(--nt-graphite), var(--nt-blue-black)); }
.accent-gold { --accent: var(--nt-gold); }
.accent-violet { --accent: var(--nt-violet-text); }
.accent-emerald { --accent: var(--nt-emerald); }
.card-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-block-end: 3rem; }
.card-index { font: .9rem var(--nt-font-mono); color: var(--nt-cool-grey); }
.product-card .eyebrow { color: var(--accent); font-size: .65rem; margin-block-end: .75rem; }
.product-card h3 { font-size: 1.7rem; letter-spacing: -.04em; margin: 0 0 1.25rem; }
.product-card > p:not(.eyebrow) { color: var(--nt-cool-grey); font-size: .95rem; }
.product-card .text-action { margin-block-start: auto; }
.feature-section { padding-block: 1rem 0; }
.feature-panel { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4rem; padding: clamp(1.5rem, 5vw, 4rem); background: var(--nt-blue-black); border: 1px solid var(--nt-decorative-border); border-radius: 1rem; }
.feature-panel .nt-heading { margin-block: 1.5rem; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.feature-panel p:not(.eyebrow):not(.nt-lead) { color: var(--nt-cool-grey); }
.shell-diagram { display: flex; flex-direction: column; justify-content: center; gap: .75rem; }
.shell-diagram > div { padding: 1.5rem; border: 1px solid var(--nt-gunmetal); background: var(--nt-near-black); border-radius: .5rem; font: .75rem var(--nt-font-mono); letter-spacing: .07em; }
.shell-diagram span { color: var(--nt-electric-blue); margin-inline-end: 1rem; }
.shell-diagram p { font-size: .8rem; text-align: end; margin: .5rem 0 0; }
.split-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.editorial-card { padding-block: 2rem; border-top: 1px solid var(--nt-gunmetal); }
.editorial-card h2 { font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.045em; margin: 0 0 1.5rem; }
.editorial-card > p:not(.eyebrow) { color: var(--nt-cool-grey); max-width: 29rem; }
.research-card .eyebrow { color: var(--nt-violet-text); }
.company-section { background: var(--nt-graphite); border-block: 1px solid var(--nt-decorative-border); }
.company-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
@media (max-width: 55rem) {
  .hero { grid-template-columns: 1fr; padding-block: 3rem; gap: 2rem; }
  .hero-copy { max-width: 42rem; }
  .hero h1 { font-size: clamp(2.5rem, 7vw, 4rem); }
  .hero-art { max-width: 30rem; width: 100%; margin-inline: auto; }
  .product-grid { grid-template-columns: 1fr; }
  .card-top { margin-block-end: 2rem; }
  .feature-panel, .company-inner { grid-template-columns: 1fr; gap: 2rem; }
  .section-heading { align-items: start; flex-direction: column; gap: 1.5rem; }
}
@media (max-width: 40rem) {
  .split-grid { grid-template-columns: 1fr; gap: 1rem; }
  .focus-strip .container { display: grid; grid-template-columns: 1fr 1fr; }
  .product-card { padding: 1.5rem; }
}
@media (max-width: 40rem) {
  .container { width: calc(100% - 2rem); }
  .footer-top { flex-direction: column; }
  .footer-bottom { align-items: start; flex-direction: column; }
}

/* CP04: shared product-page architecture. Accent is scoped; site-wide identity stays blue. */
.product-page { --accent: var(--nt-electric-blue); }
.product-page.accent-gold { --accent: var(--nt-gold); }
.product-page.accent-violet { --accent: var(--nt-violet-text); }
.product-page.accent-emerald { --accent: var(--nt-emerald); }
.product-hero { border-bottom: 1px solid var(--nt-decorative-border); background: linear-gradient(145deg, var(--nt-blue-black), var(--nt-near-black)); }
.product-hero-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); padding-block: clamp(4rem, 8vw, 7rem); }
.product-hero-copy { max-width: 46rem; }
.product-hero .eyebrow { color: var(--accent); }
.product-hero h1 { font-size: clamp(2.75rem, 6vw, 5rem); line-height: 1.08; letter-spacing: -.06em; margin: 1.5rem 0; text-wrap: balance; }
.product-hero .nt-lead { max-width: 42rem; color: var(--nt-silver); }
.product-media { margin: 0; }
.product-media img { width: 100%; border-radius: var(--nt-radius-panel); border: 1px solid var(--nt-decorative-border); }
.product-section { border-bottom: 1px solid var(--nt-decorative-border); }
.product-points { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.product-points li { border-left: 2px solid var(--accent); background: var(--nt-graphite); padding: 1.25rem; }
.product-resources { padding-block: clamp(4rem, 8vw, 6rem); background: var(--nt-graphite); }
.resource-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; padding: 0; margin: 2rem 0 0; list-style: none; }
.resource-card { border: 1px solid var(--nt-gunmetal); border-radius: var(--nt-radius-small); padding: 1.5rem; background: var(--nt-blue-black); }
.resource-card h3 { margin: .5rem 0; font-size: 1.15rem; }
.resource-card p { margin-block: .5rem 0; }
.resource-kind { color: var(--nt-electric-blue); font: .75rem var(--nt-font-mono); text-transform: uppercase; letter-spacing: .1em; }
@media (max-width: 55rem) { .product-hero-inner { grid-template-columns: 1fr; } .product-media { max-width: 32rem; } }
@media (max-width: 40rem) { .product-points { grid-template-columns: 1fr; } }

/* CP05: Tax Knight's approved royal-blue/silver/gold product territory. */
.product-page.accent-gold .product-hero { background: radial-gradient(circle at 85% 25%, rgb(33 75 184 / 24%), transparent 55%), linear-gradient(135deg, var(--nt-blue-black), var(--nt-near-black)); }
.product-page.accent-gold .product-hero h1 { color: var(--nt-white); }
.product-page.accent-gold .product-media img { border-color: var(--nt-gunmetal); }
.product-page.accent-gold .product-points li { border-left-color: var(--nt-gold); }

/* CP09: typographic Leviathan treatment until the fingerprinted approved image is supplied. */
.leviathan-identity { border-block: 1px solid var(--nt-decorative-border); padding: clamp(1.5rem, 4vw, 3rem) max(1.5rem, calc((100vw - 76rem) / 2)); background: radial-gradient(ellipse at 78% 10%, rgb(34 216 138 / 11%), transparent 55%), var(--nt-near-black); }
.leviathan-identity span { color: var(--nt-emerald); font: 700 clamp(1.4rem, 4vw, 2.5rem)/1.2 var(--nt-font-display); letter-spacing: .16em; }
.leviathan-identity p { color: var(--nt-silver); font: .75rem/1.7 var(--nt-font-mono); letter-spacing: .1em; margin-block: 1rem 0; }
.product-page.accent-emerald .product-hero { background: radial-gradient(ellipse at 78% 5%, rgb(34 216 138 / 11%), transparent 54%), var(--nt-blue-black); }

/* CP10 - Shell corporate information page. */
.shell-hero { padding-block: clamp(4rem, 8vw, 7rem); background: radial-gradient(circle at 80% 15%, rgb(66 183 255 / 15%), transparent 45%), var(--nt-blue-black); border-bottom: 1px solid var(--nt-decorative-border); }
.shell-hero h1 { margin: 1.5rem 0; max-width: 17ch; }
.shell-hero .nt-lead { margin-block-end: 2rem; color: var(--nt-silver); }
.shell-cards { padding: 0; margin: 2rem 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: 1rem; }
.shell-cards li { padding: 1.5rem; border: 1px solid var(--nt-decorative-border); border-left: 2px solid var(--nt-electric-blue); border-radius: .5rem; background: var(--nt-graphite); }

.editorial-hero { padding-block: clamp(4rem,8vw,7rem); background: radial-gradient(circle at 85% 20%, rgb(143 92 255 / 14%), transparent 45%), var(--nt-blue-black); border-bottom: 1px solid var(--nt-decorative-border); }
.editorial-hero h1 { margin-bottom: 1.5rem; }
.editorial-hero .nt-lead { color: var(--nt-silver); }
.game-entry { display: grid; grid-template-columns: 1.5fr .6fr; gap: clamp(2rem,5vw,5rem); align-items: center; border-bottom: 1px solid var(--nt-decorative-border); }
.game-entry h2 { margin: 1.25rem 0; }
.game-entry p:not(.eyebrow) { max-width: 60ch; color: var(--nt-cool-grey); }
.game-emblem { display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--nt-gunmetal);border-radius:18px;background:linear-gradient(145deg,var(--nt-graphite),var(--nt-blue-black));color:var(--nt-electric-blue);font-weight:800;font-size:clamp(3rem,9vw,7rem);letter-spacing:-.09em; }
@media(max-width:50rem){.game-entry{grid-template-columns:1fr}.game-emblem{max-width:16rem}}

/* CP21: responsive R&D directory. */
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.project-entry{padding:2rem;background:var(--nt-graphite);border:1px solid var(--nt-decorative-border);border-top:2px solid var(--nt-violet);border-radius:.5rem}
.project-entry h3{font-size:1.6rem;margin:1rem 0}.project-entry p{color:var(--nt-cool-grey)}
@media(max-width:45rem){.project-grid{grid-template-columns:1fr}.project-entry{padding:1.5rem}}

/* CP22: readable long-form policy pages. */
.legal-prose{max-width:56rem}.legal-prose>section{padding-block:1.5rem;border-bottom:1px solid var(--nt-decorative-border)}.legal-prose h1{margin-bottom:1rem}.legal-prose h2{font-size:1.45rem;margin-bottom:1rem}.legal-prose p{color:var(--nt-silver);max-width:68ch}

/* CP23 navigation refinement: three-line menu opens a real linked sidebar. */
body.drawer-open { overflow: hidden; }
.menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  min-block-size: 48px;
  min-inline-size: 48px;
  padding: .65rem .85rem;
  border: 1px solid var(--nt-control-border);
  border-radius: .65rem;
  color: var(--nt-white);
  background: var(--nt-graphite);
  cursor: pointer;
}
.menu-toggle:hover, .drawer-close:hover { border-color: var(--nt-electric-blue); background: var(--nt-blue-black); }
.menu-label { font-size: .875rem; font-weight: 650; }
.hamburger-lines { display: grid; gap: 5px; width: 25px; }
.hamburger-lines span { display: block; width: 100%; height: 2px; border-radius: 2px; background: var(--nt-electric-blue); }
.nav-drawer {
  position: fixed;
  inset: 0 auto 0 0;
  width: min(88vw, 390px);
  max-width: 390px;
  max-height: none;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-right: 1px solid var(--nt-control-border);
  background: linear-gradient(165deg, var(--nt-blue-black), var(--nt-black));
  box-shadow: 16px 0 65px rgb(0 0 0 / 55%);
  color: var(--nt-white);
}
.nav-drawer::backdrop { background: rgb(0 0 0 / 74%); backdrop-filter: blur(3px); }
.nav-drawer[open] { animation: nav-drawer-enter 200ms ease-out both; }
@keyframes nav-drawer-enter { from { transform: translateX(-100%); } to { transform: translateX(0); } }
.drawer-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 1.4rem 1.2rem;
  border-bottom: 1px solid var(--nt-decorative-border);
}
.drawer-wordmark { font-weight: 800; font-size: 1.25rem; letter-spacing: -.04em; }
.drawer-wordmark span { color: var(--nt-cool-grey); }
.drawer-wordmark .brand-dot { color: var(--nt-electric-blue); }
.drawer-close {
  width: 44px;
  height: 44px;
  border: 1px solid var(--nt-control-border);
  border-radius: .65rem;
  background: var(--nt-graphite);
  color: var(--nt-white);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
#primary-navigation { display: block; padding: 1rem 1rem 1.5rem; }
.drawer-group + .drawer-group { margin-block-start: 1rem; }
.drawer-group-heading {
  margin: 0 0 .4rem;
  padding: .3rem .65rem;
  color: var(--nt-electric-blue);
  font: 600 .68rem/1.6 var(--nt-font-mono);
  text-transform: uppercase;
  letter-spacing: .16em;
}
#primary-navigation .drawer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 48px;
  padding: .8rem .9rem;
  border-left: 2px solid transparent;
  border-radius: .3rem;
  color: var(--nt-silver);
  text-decoration: none;
  font-size: .96rem;
}
#primary-navigation .drawer-link span { color: var(--nt-gunmetal); }
#primary-navigation .drawer-link:hover,
#primary-navigation .drawer-link:focus-visible,
#primary-navigation .drawer-link[aria-current="page"] {
  border-left-color: var(--nt-electric-blue);
  background: var(--nt-graphite);
  color: var(--nt-white);
}
#primary-navigation .drawer-link[aria-current="page"] span { color: var(--nt-electric-blue); }
.drawer-footnote {
  margin: 0;
  padding: 1rem 1.6rem 2rem;
  border-top: 1px solid var(--nt-decorative-border);
  color: var(--nt-cool-grey);
  font-size: .78rem;
}
.no-js-navigation { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem 1.5rem; background: var(--nt-blue-black); }
@media (max-width: 380px) { .menu-label { display: none; } }
@media (prefers-reduced-motion: reduce) { .nav-drawer[open] { animation: none; } }
@media (forced-colors: active) {
  .nav-drawer, .drawer-close, .menu-toggle { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .hamburger-lines span { background: CanvasText; }
}


/* Conservation and preservation: visually distinct division within the Noct-Tech identity. */
.conservation-hero {
  padding-block: clamp(5rem, 11vw, 9rem);
  border-bottom: 1px solid var(--nt-decorative-border);
  background:
    radial-gradient(ellipse at 82% 30%, rgb(34 216 138 / 18%), transparent 48%),
    radial-gradient(ellipse at 17% 85%, rgb(33 75 184 / 18%), transparent 65%),
    var(--nt-blue-black);
}
.conservation-hero .nt-display { max-width: 16ch; margin: 1.25rem 0 1.6rem; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: 1.08; }
.conservation-hero .nt-lead { max-width: 60ch; color: var(--nt-silver); }
.conservation-hero .actions { margin-top: 2.25rem; }
.conservation-identity {
  display: inline-flex;
  max-width: 100%;
  border: 1px solid rgb(34 216 138 / 45%);
  border-radius: 100px;
  padding: .45rem .9rem;
  background: rgb(34 216 138 / 8%);
  color: var(--nt-emerald);
  font: 600 .7rem/1.5 var(--nt-font-mono);
  letter-spacing: .13em;
}
.conservation-mission { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); }
.conservation-mission p { color: var(--nt-silver); }
.conservation-projects {
  border-block: 1px solid var(--nt-decorative-border);
  background: var(--nt-near-black);
}
.conservation-projects > .container > .nt-prose { color: var(--nt-silver); }
.conservation-portfolio-heading { display: flex; align-items: center; gap: 1.25rem; margin-block: 3.5rem 1.5rem; border-bottom: 1px solid var(--nt-gunmetal); padding-block-end: 1.5rem; }
.conservation-portfolio-heading h3 { margin: 0; font-size: clamp(1.4rem, 3vw, 2rem); }
.conservation-portfolio-heading .eyebrow { margin-bottom: .3rem; }
.conservation-count { color: var(--nt-emerald); font: 700 clamp(2.4rem, 5vw, 3.8rem)/1 var(--nt-font-display); }
.conservation-group { margin-block: 2rem 3.5rem; }
.conservation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.conservation-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: 1.5rem;
  border: 1px solid var(--nt-decorative-border);
  border-top: 2px solid var(--nt-emerald);
  border-radius: .75rem;
  background: linear-gradient(145deg, var(--nt-graphite), var(--nt-blue-black));
}
.conservation-card-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }
.conservation-card .nt-status { border-color: rgb(34 216 138 / 45%); color: var(--nt-emerald); }
.conservation-card h4 { font-size: 1.25rem; letter-spacing: -.025em; margin: .8rem 0 0; }
.conservation-card p { color: var(--nt-silver); margin: 0; font-size: .9rem; }
.conservation-disclosure { max-width: 76rem; }
.conservation-disclosure p { color: var(--nt-silver); }
.conservation-home-section { border-block: 1px solid var(--nt-decorative-border); background: radial-gradient(ellipse at 95% 30%, rgb(34 216 138 / 12%), transparent 60%), var(--nt-blue-black); }
.conservation-home-inner { display: grid; grid-template-columns: 1.6fr .7fr; align-items: center; gap: 2rem; padding-block: clamp(4rem, 8vw, 7rem); }
.conservation-home-inner h2 { margin: 1.5rem 0; }
.conservation-home-inner .nt-lead { max-width: 47rem; }
.conservation-home-mark { display: grid; place-content: center; gap: .6rem; width: min(100%, 18rem); aspect-ratio: 1; border: 1px solid rgb(34 216 138 / 38%); border-radius: 50%; text-align: center; justify-self: center; background: radial-gradient(circle, rgb(34 216 138 / 10%), transparent 70%); }
.conservation-home-mark span { color: var(--nt-emerald); font: 800 clamp(4.5rem, 10vw, 8rem)/1 var(--nt-font-display); }
.conservation-home-mark small { color: var(--nt-silver); font: .75rem/1.5 var(--nt-font-mono); letter-spacing: .12em; }
@media (max-width: 60rem) { .conservation-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 43rem) {
  .conservation-grid, .conservation-mission, .conservation-home-inner { grid-template-columns: 1fr; }
  .conservation-home-mark { width: 10rem; margin-inline: auto; }
  .conservation-card { padding: 1.25rem; }
}
@media (forced-colors: active) { .conservation-card { border-color: CanvasText; } }
