/* ======= Cybernet Consulting — Corporate Site ======= */
/* Design system:
   - Cybernet palette: deep navy + vermilion red on warm-neutral surfaces
   - Inter Tight (display), Inter (body), JetBrains Mono (accents)
*/

:root {
  /* DARK base */
  --bg: #0A0E1A;
  --bg-tint: #0F1424;
  --surface: #131829;
  --surface-2: #181D31;
  --border: #232944;
  --border-strong: #303859;
  --text: #ECEFF6;
  --text-dim: #B0B6C8;
  --muted: #7E869F;
  --muted-2: #535A75;
  --cta-fg: #FFFFFF;

  /* Cybernet brand — navy + red */
  --brand: #4F86E0;            /* lifted navy for dark */
  --brand-strong: #2C5DC7;
  --brand-soft: rgba(79, 134, 224, 0.18);
  --brand-fade: rgba(79, 134, 224, 0.08);

  /* "gold" var name is kept for compatibility — it now drives the RED accent */
  --gold: #E6594F;
  --gold-soft: rgba(230, 89, 79, 0.22);
  --gold-dim: #B33A33;
  --gold-fade: rgba(230, 89, 79, 0.08);

  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --display: "Inter Tight", var(--sans);
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --container: 1280px;
  --pad-x: clamp(20px, 3vw, 40px);

  --radius-sm: 2px;
  --radius-md: 4px;

  --t-fast: 120ms cubic-bezier(.2,.6,.2,1);
  --t-med: 220ms cubic-bezier(.2,.6,.2,1);
}

[data-theme="light"] {
  --bg: #F5F4EF;
  --bg-tint: #ECEAE2;
  --surface: #FFFFFF;
  --surface-2: #FBFAF6;
  --border: #D9D6CB;
  --border-strong: #B4B0A2;
  --text: #0F1730;
  --text-dim: #364060;
  --muted: #5F6579;
  --muted-2: #8A90A3;
  --cta-fg: #FFFFFF;

  --brand: #14346B;            /* deep navy */
  --brand-strong: #0B2454;
  --brand-soft: rgba(20, 52, 107, 0.10);
  --brand-fade: rgba(20, 52, 107, 0.04);

  --gold: #C9302C;             /* Cybernet red */
  --gold-soft: rgba(201, 48, 44, 0.18);
  --gold-dim: #962220;
  --gold-fade: rgba(201, 48, 44, 0.06);
}

/* Legacy gold palette retained as opt-in */
[data-palette="gold"] {
  --brand: oklch(0.74 0.08 78);
  --brand-strong: oklch(0.62 0.08 78);
  --brand-soft: oklch(0.74 0.08 78 / 0.22);
  --brand-fade: oklch(0.74 0.08 78 / 0.08);
  --gold: oklch(0.74 0.08 78);
  --gold-soft: oklch(0.74 0.08 78 / 0.22);
  --gold-dim: oklch(0.52 0.06 78);
  --gold-fade: oklch(0.74 0.08 78 / 0.08);
}
[data-theme="light"][data-palette="gold"] {
  --brand: oklch(0.56 0.09 78);
  --brand-strong: oklch(0.42 0.07 78);
  --brand-soft: oklch(0.56 0.09 78 / 0.20);
  --brand-fade: oklch(0.56 0.09 78 / 0.06);
  --gold: oklch(0.56 0.09 78);
  --gold-soft: oklch(0.56 0.09 78 / 0.20);
  --gold-dim: oklch(0.42 0.07 78);
  --gold-fade: oklch(0.56 0.09 78 / 0.06);
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body { overflow-x: hidden; }

button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
a { color: inherit; text-decoration: none; }

.container { max-width: var(--container); margin: 0 auto; padding-left: var(--pad-x); padding-right: var(--pad-x); }

.muted { color: var(--muted); }
.gold { color: var(--gold); }

/* ===== NAV ===== */
.nav {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(12px);
  background: rgba(11, 11, 12, 0.72);
  border-bottom: 1px solid transparent;
  transition: border-color var(--t-med), background var(--t-med);
}
.nav-scrolled {
  border-bottom-color: var(--border);
  background: rgba(11, 11, 12, 0.92);
}
[data-theme="light"] .nav { background: rgba(250, 248, 243, 0.72); }
[data-theme="light"] .nav-scrolled { background: rgba(250, 248, 243, 0.95); }
.nav-inner {
  display: flex; align-items: center; gap: 48px;
  height: 68px;
}
.brand { display: flex; align-items: center; gap: 10px; }
.brand-logo { width: 28px; height: 28px; object-fit: contain; display: block; }
.brand-name {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.01em;
  font-size: 16px;
  display: flex; gap: 6px; align-items: baseline;
}
.brand-name-sub {
  color: var(--muted);
  font-weight: 400;
  letter-spacing: 0;
  font-size: 13px;
}
.nav-links {
  display: flex; gap: 6px;
  list-style: none; padding: 0; margin: 0;
  flex: 1;
}
.nav-link {
  padding: 8px 14px;
  font-size: 13.5px;
  color: var(--text-dim);
  letter-spacing: -0.005em;
  position: relative;
  transition: color var(--t-fast);
}
.nav-link:hover { color: var(--text); }
.nav-link-active { color: var(--text); }
.nav-link-active::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 0;
  height: 1px; background: var(--gold);
}

.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-locale {
  display: inline-flex; align-items: baseline; gap: 5px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.05em;
  padding: 6px 9px;
  border: 1px solid var(--border);
  background: none;
  cursor: pointer;
  transition: color var(--t-fast), border-color var(--t-fast);
}
.nav-locale:hover { color: var(--gold); border-color: var(--gold); }
.nav-locale [data-lang-current] { color: var(--text); }
.nav-locale:hover [data-lang-current] { color: var(--gold); }
.nav-locale-sep { opacity: 0.45; }
.lang-note {
  display: flex; align-items: flex-start; gap: 10px;
  margin: 0 0 clamp(24px,3vw,36px);
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-left: 2px solid var(--gold);
  background: var(--bg-tint);
  font-size: 13px;
  color: var(--text-dim);
  line-height: 1.5;
}
.lang-note[hidden] { display: none; }
.kinetic-h1[hidden] { display: none; }
.hero-title-bm-lead {
  font-family: var(--display);
  font-size: clamp(34px, 6.2vw, 84px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
  font-style: normal !important;
  color: #ECEFF6 !important;
  opacity: 1 !important;
  max-width: 20ch;
  margin: 0 0 clamp(18px,2vw,26px) !important;
  text-wrap: balance;
  order: -1;
}
.hero-inner.hero-inner-ms { display: flex; flex-direction: column; align-items: flex-start; }
.hero-inner-ms .hero-meta { order: -2; }
.nav-cta {
  padding: 8px 18px;
  border: 1px solid var(--border-strong);
  font-size: 13px;
  letter-spacing: -0.005em;
  transition: border-color var(--t-fast), color var(--t-fast);
}
.nav-cta:hover { border-color: var(--brand); color: var(--brand); }

.nav-theme {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--border);
  color: var(--text-dim);
  transition: color var(--t-fast), border-color var(--t-fast);
}
.nav-theme:hover { color: var(--gold); border-color: var(--gold); }

/* ===== EYEBROW / RULE / SECTION HEAD ===== */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.eyebrow-dot {
  width: 6px; height: 6px; background: var(--gold);
  display: inline-block;
}
.eyebrow-dot.muted { background: var(--muted-2); }

.rule { display: flex; align-items: center; gap: 16px; margin: 24px 0; }

.section { padding: 96px 0; }
.section-tinted { background: var(--bg-tint); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.section-head { max-width: 820px; margin: 0 0 56px; }
.section-title {
  font-family: var(--display);
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 18px 0 16px;
  font-weight: 500;
}
.section-title-bm {
  display: block;
  font-size: 0.5em;
  font-weight: 400;
  color: var(--muted);
  font-style: italic;
  letter-spacing: -0.015em;
  margin-top: 8px;
}
.section-lede {
  font-size: 17px;
  color: var(--text-dim);
  max-width: 64ch;
  text-wrap: pretty;
}

/* ===== CTA ===== */
.cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  font-size: 14px;
  letter-spacing: -0.005em;
  font-weight: 500;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
  line-height: 1;
}
.cta:hover { transform: translateY(-2px); }
.cta:active { transform: translateY(0); }
.cta:hover .cta-arrow { transform: translateX(3px); }
.cta-arrow { flex: none; transition: transform var(--t-fast); }
.cta-primary {
  background: var(--brand);
  color: var(--cta-fg);
  border: 1px solid var(--brand);
}
.cta-primary:hover { background: var(--brand-strong); border-color: var(--brand-strong); }
.cta-ghost {
  border: 1px solid var(--border-strong);
  color: var(--text);
}
.cta-ghost:hover { border-color: var(--brand); color: var(--brand); }

.cta-label { font-family: var(--sans); }
.cta-bm {
  font-family: var(--sans);
  font-size: 11.5px;
  opacity: 0.62;
  font-style: italic;
  margin-left: 2px;
  font-weight: 400;
}
.cta-primary .cta-bm { color: var(--cta-fg); opacity: 0.55; }

/* ===== HERO ===== */
.hero {
  position: relative;
  padding: 88px 0 96px;
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}

/* Kinetic hero — dark canvas chapter */
.hero-kinetic {
  background: #07090F;
  padding: clamp(72px, 11vh, 130px) 0 0;
  border-bottom: 1px solid var(--border);
}
[data-theme="light"] .hero-kinetic { background: #0A0E1A; }
.hero-kinetic .eyebrow { color: rgba(236,239,246,0.62); }
.hero-kinetic .hero-inner { color: #ECEFF6; }
.hero-noise {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  opacity: 0.4;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask: radial-gradient(120% 90% at 15% 10%, black, transparent 75%);
}
.hero-kinetic .hero-inner { max-width: 1180px; padding-bottom: clamp(56px, 8vh, 90px); }
.hero-kinetic .hero-meta { margin-bottom: 26px; }

.kinetic-h1 {
  font-family: var(--display);
  font-size: clamp(48px, 9vw, 132px);
  line-height: 0.94;
  letter-spacing: -0.045em;
  font-weight: 600;
  margin: 0 0 22px;
  color: #ECEFF6;
}
.kinetic-line { display: block; }
.kinetic-word-wrap { display: inline-flex; overflow: hidden; vertical-align: top; }
.kinetic-word-wrap { white-space: pre; }
.kinetic-word {
  display: inline-block;
  white-space: pre;
}
.kinetic-word.accent {
  color: var(--gold);
  font-style: italic;
}
.kinetic-word.anim,
.js .kinetic-word {
  animation: kinetic-rise 0.62s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes kinetic-rise {
  from { transform: translateY(106%); }
  to { transform: translateY(0); }
}

.hero-rotating-line {
  font-family: var(--display);
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: rgba(236,239,246,0.74);
  margin: 0 0 26px;
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
}
.rotating-word {
  display: inline-block;
  position: relative;
}


.hero-kinetic .hero-title-bm {
  color: rgba(236,239,246,0.5);
  margin: 0 0 26px;
}
.hero-kinetic .hero-sub {
  color: rgba(236,239,246,0.72);
  max-width: 680px;
  font-size: clamp(16px, 1.5vw, 19px);
  margin: 0 0 36px;
}
.hero-kinetic .hero-ctas { margin-bottom: 0; }
.hero-kinetic .cta-ghost { border-color: rgba(236,239,246,0.28); color: #ECEFF6; }
.hero-kinetic .cta-ghost:hover { border-color: var(--gold); color: var(--gold); }
.marquee-track.static { animation: none; }

.stat {
  padding: 40px 28px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 10px;
}

/* Reveal-on-scroll */
.js .reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s cubic-bezier(.2,.7,.2,1), transform 0.7s cubic-bezier(.2,.7,.2,1);
}
.js .reveal-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .kinetic-word.anim, .js .kinetic-word { transform: none; animation: none; }}
.hero-inner { position: relative; z-index: 1; max-width: 1000px; }
.hero-meta { margin-bottom: 28px; }
.hero-title {
  font-family: var(--display);
  font-size: clamp(40px, 6vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 500;
  margin: 0 0 20px;
  text-wrap: balance;
}
.hero-title-bm {
  font-family: var(--display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--muted);
  margin: 0 0 32px;
  max-width: 720px;
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.hero-sub {
  font-size: 19px;
  max-width: 720px;
  color: var(--text-dim);
  margin: 0 0 40px;
  line-height: 1.5;
  text-wrap: pretty;
}
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 72px; }
.hero-strip .dot { color: var(--gold); }
.se-cat {
  display: inline-flex; align-items: baseline; gap: 8px;
  padding: 8px 14px;
  font-size: 13px;
  letter-spacing: -0.005em;
  color: var(--text-dim);
  border: 1px solid transparent;
  transition: color var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.se-cat:hover { color: var(--text); }
.se-cat-active {
  color: var(--gold);
  border-color: var(--gold);
  background: var(--gold-fade);
}

.se-search {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
  min-width: 240px;
  transition: border-color var(--t-fast);
}
.se-search:focus-within { border-color: var(--gold); }
.se-search input {
  background: transparent; border: 0; outline: 0;
  color: var(--text);
  font: inherit; font-size: 13.5px;
  flex: 1;
}
.se-search input::placeholder { color: var(--muted); }

.se-meta {
  display: flex; align-items: center; gap: 20px;
  padding: 22px 0 26px;
}
.se-meta-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  color: var(--text-dim);
  transition: border-color var(--t-fast), color var(--t-fast);
}
.se-meta-tag:not(.se-meta-tag-static):hover { border-color: var(--gold); color: var(--gold); }
.se-meta-tag-static { color: var(--muted); border-color: var(--border); }
.se-meta-tag-dot { width: 6px; height: 6px; background: var(--gold); flex: none; }
@media (max-width: 560px) {
  .se-meta { flex-wrap: wrap; gap: 14px; }}

.se-card {
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 26px 26px 20px;
  display: flex; flex-direction: column;
  min-height: 260px;
  position: relative;
  cursor: pointer;
  transition: background var(--t-fast), transform var(--t-med);
  color: inherit;
  text-decoration: none;
}
.se-card:hover .se-card-extlink { color: var(--gold); }
.se-card:hover, .se-card-hover { background: var(--surface); transform: translateY(-3px); }
.se-card:hover .se-card-cat { border-color: var(--border-strong); }
.se-card:hover .se-card-foot { color: var(--gold); }

.se-empty {
  grid-column: 1 / -1;
  padding: 64px 32px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-align: center;
}

@media (max-width: 700px) {
  .se-search { width: 100%; min-width: 0; }}

.why-title {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 18px 0 14px;
  line-height: 1.2;
}
.why-body { color: var(--text-dim); font-size: 14.5px; margin: 0; text-wrap: pretty; }
.serve-cta {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--gold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  align-self: flex-start;
  transition: gap var(--t-fast);
}
.serve-cta:hover { gap: 14px; }

/* ===== CONTACT STRIP ===== */
.contact-strip { border-top: 1px solid var(--border); padding: 56px 0; background: var(--bg); }
.contact-strip-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap;
}
.contact-strip-title {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.025em;
  margin: 14px 0 0;
  line-height: 1.2;
  max-width: 480px;
}
.contact-strip-right { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.contact-strip-item { display: flex; flex-direction: column; gap: 4px; }
.contact-strip-k { font-family: var(--mono); font-size: 10.5px; color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; }
.contact-strip-v { font-size: 15px; color: var(--text); transition: color var(--t-fast); }
.contact-strip-v:hover { color: var(--gold); }

.principles { display: flex; flex-direction: column; border-top: 1px solid var(--border); }
.principle {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid var(--border);
  align-items: baseline;
}
.gov-hero-eyebrow {
  display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
}
.gov-hero-eyebrow-bm {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--gold-dim);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-style: italic;
}

.compliance-note { color: var(--muted); font-size: 13px; margin: 24px 0 0; max-width: 80ch; }
.muted-bm { color: var(--muted-2); font-style: italic; }

.gov-cta { margin-top: 40px; }
.form-head { margin-bottom: 32px; }
.form-title {
  font-family: var(--display); font-size: 26px; font-weight: 500;
  letter-spacing: -0.02em; margin: 12px 0 0;
}
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-field { display: flex; flex-direction: column; gap: 8px; }
.form-field-full { grid-column: span 2; }
@media (max-width: 700px) { .form-grid { grid-template-columns: minmax(0, 1fr); } .form-field-full { grid-column: span 1; }}
.form-label {
  font-family: var(--mono); font-size: 10.5px;
  color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase;
}
.form-field input, .form-field select, .form-field textarea {
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 14px;
  font: inherit;
  font-size: 14.5px;
  font-family: var(--sans);
  transition: border-color var(--t-fast);
  border-radius: 0;
  outline: none;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  border-color: var(--gold);
}
.form-field textarea { resize: vertical; }
.form-pdpa {
  font-size: 12.5px;
  color: var(--muted);
  margin: 28px 0 24px;
  padding: 18px;
  border: 1px solid var(--border);
  border-left: 2px solid var(--gold);
  line-height: 1.55;
}
.form-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.form-note { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }
.contact-submitted { padding: 20px 0; }
.contact-submitted p { color: var(--text-dim); font-size: 15px; line-height: 1.55; }
.article-featured-right .cta { align-self: flex-start; }

.article-meta {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.article-cat { color: var(--gold); }
.article-meta-dot { color: var(--muted-2); }
.newsletter-form {
  display: flex; gap: 8px;
}
.newsletter-form input {
  flex: 1;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 13px 14px;
  font: inherit;
  font-size: 14px;
  font-family: var(--sans);
  outline: none;
  transition: border-color var(--t-fast);
}
.newsletter-form input:focus { border-color: var(--brand); }

/* ===== ARTICLE READER ===== */
.article-reader-hero {
  padding: 64px 0 56px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-tint);
}
.article-back {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: 11px;
  color: var(--muted); letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 32px;
  transition: color var(--t-fast), gap var(--t-fast);
}
.article-back:hover { color: var(--brand); gap: 14px; }
.article-reader-meta { margin-bottom: 24px; }
.article-reader-title {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 500;
  margin: 0 0 24px;
  max-width: 22ch;
  text-wrap: balance;
}
.article-reader-lede {
  font-size: 18px;
  color: var(--text-dim);
  max-width: 60ch;
  margin: 0 0 24px;
  line-height: 1.5;
  text-wrap: pretty;
}
.article-byline {
  display: inline-flex; align-items: baseline; gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.article-byline-label { color: var(--muted); }
.article-byline-name { color: var(--text); }

.article-reader-body { padding: 72px 0 96px; }
.article-reader-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 64px;
}
@media (max-width: 900px) { .article-reader-grid { grid-template-columns: 1fr; gap: 32px; }}

.article-toc {
  position: sticky; top: 90px;
  align-self: start;
  padding-right: 16px;
  border-right: 1px solid var(--border);
}
@media (max-width: 900px) { .article-toc { position: relative; top: 0; border-right: 0; border-bottom: 1px solid var(--border); padding-right: 0; padding-bottom: 24px; }}
.article-toc-label {
  font-family: var(--mono); font-size: 10.5px;
  color: var(--gold); letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block; margin-bottom: 16px;
}
.article-toc ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.article-toc a {
  font-size: 13px;
  color: var(--text-dim);
  line-height: 1.45;
  text-decoration: none;
  border-left: 1px solid transparent;
  padding-left: 0;
  transition: color var(--t-fast), border-color var(--t-fast), padding-left var(--t-fast);
  display: block;
}
.article-toc a:hover { color: var(--brand); border-left-color: var(--brand); padding-left: 10px; }

.article-prose {
  max-width: 68ch;
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--text);
}
.article-prose h2 {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.025em;
  margin: 56px 0 18px;
  line-height: 1.15;
  scroll-margin-top: 80px;
}
.article-prose h2:first-child { margin-top: 0; }
.article-prose h3 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.018em;
  margin: 36px 0 12px;
  color: var(--text);
}
.article-prose p {
  margin: 0 0 18px;
  color: var(--text-dim);
  text-wrap: pretty;
}
.article-prose ul {
  margin: 0 0 24px;
  padding-left: 0;
  list-style: none;
}
.article-prose ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  color: var(--text-dim);
}
.article-prose ul li::before {
  content: ""; position: absolute;
  left: 0; top: 11px;
  width: 10px; height: 1px;
  background: var(--gold);
}

.article-table-wrap {
  margin: 28px 0 36px;
  overflow-x: auto;
  border: 1px solid var(--border);
  background: var(--surface);
}
.article-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  color: var(--text-dim);
}
.article-table th, .article-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  vertical-align: top;
  line-height: 1.45;
}
.article-table th:last-child, .article-table td:last-child { border-right: 0; }
.article-table thead th {
  background: var(--bg-tint);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}
.article-table tbody tr:last-child td { border-bottom: 0; }
.article-table tbody td:first-child { color: var(--text); font-weight: 500; }

.article-end {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
.article-end p {
  font-size: 14.5px;
  color: var(--muted);
  margin: 16px 0 28px;
  max-width: 64ch;
  line-height: 1.6;
}
.article-end-actions {
  display: flex; gap: 12px; flex-wrap: wrap;
}

/* ===== FOOTER ===== */
.footer {
  border-top: 1px solid var(--border);
  padding: 72px 0 32px;
  background: var(--bg);
}
.footer-top { display: grid; grid-template-columns: 1.4fr 2fr; gap: 64px; padding-bottom: 48px; border-bottom: 1px solid var(--border); }
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr; gap: 40px; }}
.footer-brand-top { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 500; }
.footer-tagline { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 18px 0 0; max-width: 42ch; text-wrap: pretty; }
.footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 700px) { .footer-cols { grid-template-columns: 1fr 1fr; }}
.footer-col { display: flex; flex-direction: column; gap: 10px; text-align: left; }
.footer-col-title {
  font-family: var(--mono); font-size: 10.5px;
  color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 8px;
}
.footer-col button, .footer-col a { font-size: 13.5px; color: var(--text-dim); text-align: left; transition: color var(--t-fast); }
.footer-col button:hover, .footer-col a:hover { color: var(--gold); }
.footer-more { color: var(--gold) !important; font-family: var(--mono); font-size: 12px !important; letter-spacing: 0.04em; }
.footer-addr { font-size: 13px; color: var(--muted); line-height: 1.5; }
.footer-bot {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  margin-top: 24px;
}
.footer-legal { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: 0.04em; }
.tweaks-segmented button.active { background: var(--gold); color: var(--cta-fg); }
.tweaks-segmented button:not(.active):hover { color: var(--text); }

/* Responsive nav */
@media (max-width: 1010px) {
  .nav-right .nav-locale { padding: 5px 7px; letter-spacing: 0.03em; }
}


/* ===== STATIC SITE ADDITIONS ===== */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brand);color:#fff;padding:12px 18px;font-size:14px}
.skip-link:focus{left:0}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* nav structure */
.nav-nav{flex:1}
.nav-burger{display:none;width:32px;height:32px;border:1px solid var(--border);flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nav-burger span{display:block;width:14px;height:1px;background:currentColor}
.nav-theme .icon-moon{display:none}
[data-theme="dark"] .nav-theme .icon-sun{display:none}
[data-theme="dark"] .nav-theme .icon-moon{display:block}

@media (max-width:1010px){
  .nav-burger{display:flex}
  .nav-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);display:none;flex:none}
  body.nav-open .nav-nav{display:block}
  .nav-links{flex-direction:column;gap:0;padding:8px 0}
  .nav-links li{border-top:1px solid var(--border)}
  .nav-links li:first-child{border-top:0}
  .nav-link{display:block;padding:14px var(--pad-x);font-size:15px}
  .nav-link-active::after{left:var(--pad-x);right:auto;width:18px}
  .nav{position:sticky}
  .nav-inner{position:relative}}

/* CSS-only hero mesh (replaces canvas) */
.hero-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(46% 55% at 18% 34%, rgba(44,93,199,.30), transparent 70%),
    radial-gradient(40% 48% at 79% 63%, rgba(201,48,44,.26), transparent 70%),
    radial-gradient(34% 42% at 55% 16%, rgba(79,134,224,.24), transparent 72%);
  animation:mesh-drift 26s ease-in-out infinite alternate}
@keyframes mesh-drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-1.5%,1.5%,0) scale(1.06)}
  100%{transform:translate3d(1.5%,-1%,0) scale(1.02)}
}

/* CSS-only rotating word */
.rotating-word{display:inline-grid;position:relative}
.rot-sizer{visibility:hidden;grid-area:1/1;white-space:nowrap}
.rot-item{grid-area:1/1;color:var(--gold);font-style:italic;white-space:nowrap;
  border-bottom:2px solid var(--gold-soft);padding-bottom:2px;opacity:0}
.rot-sizer+.rot-item{opacity:1}
.js .rot-item{animation:rot-cycle 8.8s linear infinite}
.js .rot-sizer+.rot-item{opacity:0}
.rot-static .rot-item{animation:none;opacity:0}
.rot-static .rot-sizer+.rot-item{opacity:1}
@keyframes rot-cycle{
  0%{opacity:0;transform:translateY(8px)}
  2%,22%{opacity:1;transform:translateY(0)}
  25%,100%{opacity:0;transform:translateY(-8px)}
}

/* breadcrumb */
.breadcrumb{border-bottom:1px solid var(--border);background:var(--bg)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:14px 0;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.breadcrumb li+li::before{content:"/";margin-right:10px;color:var(--muted-2)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb [aria-current]{color:var(--text)}
[hidden]{display:none!important}

/* article prose table row headers */
.article-table tbody th{background:transparent;font-family:var(--sans);font-size:13.5px;font-weight:500;
  color:var(--text);text-transform:none;letter-spacing:0;text-align:left}

/* default link colours */
a{color:inherit}
.article-prose a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.article-prose a:hover{color:var(--gold)}

@media (prefers-reduced-motion:reduce){
  .hero-mesh{animation:none}
  .rot-item{animation:none;opacity:0}
  .rot-sizer+.rot-item{opacity:1}
  .kinetic-word{animation:none!important;transform:none!important}}


/* ===== PREMIUM / EDITORIAL HOME ===== */

/* More air, fluid throughout */
.section{padding:clamp(72px,10vw,148px) 0}
.section-head-wide{max-width:min(52rem,100%);margin:0 0 clamp(40px,5vw,72px)}
.section-head-wide .section-title{font-size:clamp(34px,4.6vw,62px);line-height:1.04;letter-spacing:-.035em;margin:20px 0 20px}
.section-head-wide .section-lede{font-size:clamp(15.5px,1.4vw,18px);max-width:56ch;color:var(--text-dim)}

/* Hero: quiet inline facts instead of a bordered stat grid */
.hero-facts{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,52px);margin-top:clamp(40px,5vw,64px);
  padding-top:26px;border-top:1px solid rgba(236,239,246,.14)}
.hero-fact{display:flex;flex-direction:column;gap:4px;font-size:13px;color:rgba(236,239,246,.55);line-height:1.4}
.hero-fact strong{font-family:var(--display);font-size:clamp(20px,2.2vw,27px);font-weight:600;
  letter-spacing:-.03em;color:#ECEFF6}

/* Editorial statement band */
.statement{padding:clamp(64px,9vw,124px) 0;border-bottom:1px solid var(--border)}
.statement-text{font-family:var(--display);font-size:clamp(24px,3.4vw,44px);line-height:1.22;
  letter-spacing:-.03em;font-weight:400;color:var(--text);max-width:min(46rem,100%);margin:0;text-wrap:pretty}
.statement-text em{font-style:italic;color:var(--gold)}
.statement-attr{margin:clamp(28px,3vw,40px) 0 0}

/* Suite as editorial rows, not a boxed catalogue grid */
.suite-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.suite-row{border-bottom:1px solid var(--border)}
.suite-row-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;gap:clamp(20px,3.4vw,56px);
  padding:clamp(26px,3.2vw,40px) clamp(4px,1vw,14px);
  color:inherit;text-decoration:none;position:relative;
  transition:background var(--t-med),padding-left var(--t-med)}
.suite-row-link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform var(--t-med)}
.suite-row-link:hover{background:var(--surface);padding-left:clamp(14px,2vw,28px)}
.suite-row-link:hover::before{transform:scaleY(1)}
.suite-row-num{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);align-self:start;padding-top:6px}
.suite-row-main{display:flex;flex-direction:column;gap:8px;min-width:0}
.suite-row-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.suite-row-code{font-family:var(--display);font-size:clamp(24px,2.6vw,34px);font-weight:500;
  letter-spacing:-.028em;transition:color var(--t-fast)}
.suite-row-link:hover .suite-row-code{color:var(--brand)}
.suite-row-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.suite-row-line{font-size:clamp(14px,1.2vw,15.5px);color:var(--text-dim);line-height:1.55;max-width:60ch;text-wrap:pretty}
.suite-row-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.suite-row-chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding:5px 9px;border:1px solid var(--border)}
.row-arrow{color:var(--muted);flex:none;transition:color var(--t-fast),transform var(--t-med)}
.suite-row-link:hover .row-arrow{color:var(--gold);transform:translate(3px,-3px)}
.suite-more{margin-top:clamp(36px,4vw,56px)}

@media (max-width:900px){
  .suite-row-link{grid-template-columns:auto minmax(0,1fr) auto;gap:18px 20px}
  .suite-row-meta{display:none}}
@media (max-width:560px){
  .suite-row-link{grid-template-columns:minmax(0,1fr) auto;gap:14px}
  .suite-row-num{display:none}}

/* Why: flowing columns, no boxes */
.why-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:clamp(32px,4vw,64px)}
.why-item{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--border-strong)}
.why-item .why-title{font-size:clamp(19px,1.8vw,23px);margin:6px 0 0;line-height:1.2}
.why-item .why-body{font-size:14.5px;color:var(--text-dim);margin:0;text-wrap:pretty}

/* Serve: soft panels, no hard grid */
.serve-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:clamp(16px,2vw,24px)}
.serve-panel{display:flex;flex-direction:column;gap:12px;
  padding:clamp(28px,3vw,40px);background:var(--surface);
  border:1px solid var(--border);transition:transform var(--t-med),border-color var(--t-med)}
.serve-panel:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.serve-panel-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.serve-panel-title{font-family:var(--display);font-size:clamp(20px,2vw,26px);font-weight:500;
  letter-spacing:-.025em;margin:4px 0 0;line-height:1.18}
.serve-panel-body{font-size:14.5px;color:var(--text-dim);margin:0 0 auto;flex:1;text-wrap:pretty}
.serve-panel .serve-cta{margin-top:14px}

/* Hero breathing room on the home page */
.hero-kinetic .hero-inner{padding-bottom:clamp(48px,6vh,80px)}
.hero-kinetic{padding-bottom:clamp(20px,3vh,36px)}


/* ===== EDITORIAL PAGE SYSTEM (all interior pages) ===== */

/* Page opening */
.ed-hero{padding:clamp(76px,10vw,148px) 0 clamp(44px,5.5vw,76px);border-bottom:1px solid var(--border);position:relative}
.ed-hero-inner{max-width:min(56rem,100%)}
.ed-hero-title{font-family:var(--display);font-size:clamp(38px,6.4vw,86px);line-height:.99;
  letter-spacing:-.042em;font-weight:500;margin:22px 0 24px;text-wrap:balance}
.ed-hero-title .muted{color:var(--muted)}
.ed-hero-title em{font-style:italic;color:var(--gold)}
.ed-hero-lede{font-size:clamp(16px,1.55vw,20px);line-height:1.5;color:var(--text-dim);
  max-width:54ch;margin:0;text-wrap:pretty}
.ed-hero-bm{font-family:var(--display);font-style:italic;font-weight:400;color:var(--muted);
  font-size:clamp(15px,1.5vw,19px);letter-spacing:-.012em;margin:-8px 0 24px;max-width:48ch;line-height:1.35}

/* Generic editorial numbered list */
.ed-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.ed-item{border-bottom:1px solid var(--border)}
.ed-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;
  gap:clamp(18px,3vw,52px);padding:clamp(24px,3vw,38px) clamp(2px,1vw,12px);
  color:inherit;text-decoration:none;position:relative;
  transition:background var(--t-med),padding-left var(--t-med)}
.ed-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);
  transform:scaleY(0);transform-origin:top;transition:transform var(--t-med)}
a.ed-row:hover{background:var(--surface);padding-left:clamp(12px,2vw,26px)}
a.ed-row:hover::before{transform:scaleY(1)}
.ed-num{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.ed-main{display:flex;flex-direction:column;gap:9px;min-width:0}
.ed-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.ed-name{font-family:var(--display);font-size:clamp(22px,2.5vw,32px);font-weight:500;
  letter-spacing:-.028em;line-height:1.1;transition:color var(--t-fast)}
a.ed-row:hover .ed-name{color:var(--brand)}
.ed-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ed-line{font-size:clamp(14px,1.2vw,15.5px);color:var(--text-dim);line-height:1.55;max-width:62ch;text-wrap:pretty}
.ed-aside{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);text-align:right;white-space:nowrap}
@media (max-width:640px){
  .ed-row{grid-template-columns:minmax(0,1fr);gap:10px}
  .ed-num{order:-1}
  .ed-aside{text-align:left}}

/* Platform monograph (products) */
.plat-list{border-top:1px solid var(--border)}
.plat{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(24px,5vw,80px);padding:clamp(40px,5.5vw,84px) 0;border-bottom:1px solid var(--border)}
@media (max-width:860px){.plat{grid-template-columns:minmax(0,1fr);gap:18px}}
.plat-lead{display:flex;flex-direction:column;gap:10px}
.plat-num{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--gold)}
.plat-name{font-family:var(--display);font-size:clamp(32px,4.4vw,60px);font-weight:500;
  letter-spacing:-.038em;line-height:1;margin:6px 0 0}
.plat-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.plat-body{display:flex;flex-direction:column;gap:16px;padding-top:clamp(4px,1.4vw,18px)}
.plat-line{font-family:var(--display);font-size:clamp(18px,1.9vw,25px);font-weight:400;
  letter-spacing:-.022em;line-height:1.28;color:var(--text);margin:0;max-width:44ch;text-wrap:pretty}
.plat-text{font-size:clamp(14px,1.2vw,15.5px);color:var(--text-dim);line-height:1.65;margin:0;max-width:64ch;text-wrap:pretty}
.plat-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:4px}
.plat-chips{display:flex;gap:8px;flex-wrap:wrap}
.plat-chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding:5px 9px;border:1px solid var(--border)}

/* Founders as editorial spreads */
.fs-list{border-top:1px solid var(--border)}
.fs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,60px);
  padding:clamp(34px,4.5vw,64px) 0;border-bottom:1px solid var(--border);align-items:start}
@media (max-width:720px){.fs{grid-template-columns:minmax(0,1fr);gap:20px}}
.fs-photo{width:clamp(150px,17vw,210px);aspect-ratio:5/6;overflow:hidden;background:var(--bg-tint);
  border:1px solid var(--border)}
.fs-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.fs-body{display:flex;flex-direction:column;gap:12px}
.fs-name{font-family:var(--display);font-size:clamp(26px,3.2vw,42px);font-weight:500;
  letter-spacing:-.035em;line-height:1.02;margin:0}
.fs-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.fs-bio{font-size:clamp(14.5px,1.3vw,16.5px);color:var(--text-dim);line-height:1.62;margin:6px 0 0;max-width:62ch;text-wrap:pretty}
.fs-prev{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);
  display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}
.fs-prev-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fs-prev-line{font-size:13.5px;color:var(--muted);font-style:italic}

/* Big numbered principle / step rows */
.big-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.big-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,56px);
  padding:clamp(28px,3.6vw,52px) 0;border-bottom:1px solid var(--border);align-items:baseline}
@media (max-width:640px){.big-step{grid-template-columns:minmax(0,1fr);gap:12px}}
.big-step-num{font-family:var(--display);font-size:clamp(28px,3.4vw,46px);font-weight:600;
  letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-dim)}
.big-step-title{font-family:var(--display);font-size:clamp(21px,2.4vw,31px);font-weight:500;
  letter-spacing:-.028em;line-height:1.12;margin:0 0 10px}
.big-step-text{font-size:clamp(14.5px,1.25vw,16px);color:var(--text-dim);line-height:1.6;margin:0;max-width:64ch;text-wrap:pretty}
.big-step-bm{font-size:13.5px;color:var(--muted);line-height:1.55;margin:10px 0 0;max-width:64ch;font-style:italic}

/* Bilingual pair without boxes */
.bl-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:clamp(24px,3.5vw,56px);margin-top:clamp(32px,4vw,56px);padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--border)}
.bl-col{display:flex;flex-direction:column;gap:12px}
.bl-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gold)}
.bl-text{font-size:clamp(14.5px,1.3vw,16px);color:var(--text-dim);line-height:1.62;margin:0;text-wrap:pretty}

/* Editorial contact */
.contact-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:900px){.contact-ed{grid-template-columns:minmax(0,1fr)}}
.contact-big{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.contact-big-row{display:flex;flex-direction:column;gap:6px;padding:clamp(18px,2.2vw,26px) 0;
  border-bottom:1px solid var(--border)}
.contact-big-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-big-v{font-family:var(--display);font-size:clamp(19px,2.2vw,29px);font-weight:500;
  letter-spacing:-.028em;line-height:1.16;color:var(--text);transition:color var(--t-fast);
  font-style:normal;overflow-wrap:anywhere}
a.contact-big-v:hover{color:var(--brand)}
.contact-big-v.small{font-size:clamp(15px,1.4vw,18px);font-weight:400;letter-spacing:-.012em;line-height:1.45}
.contact-form-ed{border:0;padding:0}
.contact-form-ed .form-head{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--border)}

/* Featured article lead */
.lead{display:flex;flex-direction:column;align-items:flex-start;padding:0 0 clamp(40px,5vw,68px);
  border-bottom:1px solid var(--border)}
.lead-meta{margin-bottom:18px}
.lead-title{font-family:var(--display);font-size:clamp(28px,4.4vw,60px);font-weight:500;
  letter-spacing:-.038em;line-height:1.04;margin:0 0 20px;max-width:26ch;text-wrap:balance}
.lead-title a{color:inherit;text-decoration:none;transition:color var(--t-fast)}
.lead-title a:hover{color:var(--brand)}
.lead-excerpt{font-size:clamp(15.5px,1.5vw,19px);color:var(--text-dim);line-height:1.5;
  margin:0 0 28px;max-width:60ch;text-wrap:pretty}


/* BM sub-line inside step titles */
.step-title-bm{display:block;font-size:.55em;font-style:italic;font-weight:400;color:var(--muted);
  letter-spacing:-.012em;margin-top:5px}
/* Insights row: date column reads as meta, title as the name */
.ed-num time{font-family:var(--mono)}
.ed-main .ed-name{white-space:normal}


/* Insights article list: date column needs a resolved width so titles share one
   left edge (per-row `auto` tracks otherwise size to each date string). */
.ed-list-articles{margin-top:clamp(40px,5vw,68px)}
.ed-list-articles .ed-row{grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:start}
.ed-list-articles .ed-num{white-space:nowrap;padding-top:3px}
@media (max-width:640px){.ed-list-articles .ed-row{grid-template-columns:minmax(0,1fr)}}
.ed-name-article{font-family:var(--display);font-size:clamp(19px,2vw,26px);font-weight:500;
  letter-spacing:-.026em;line-height:1.16;margin:0}