/* === tokens === */
:root {
  --bounds-column: 1060px;
  --bounds-full: 1060px;
  --bounds-inset-mobile: 16px;
  --bounds-narrow: 540px;
  --bounds-pad-left: 56px;
  --bounds-pad-right: 24px;
  --bounds-padding-desktop: 40px;
  --bounds-padding-tablet: 24px;
  --cast-step-0: 0 1px 0 rgba(0, 0, 0, 0.10);
  --cast-step-1: 0 1px 0 rgba(0, 0, 0, 0.10);
  --cast-step-2: 0 2px 8px rgba(0, 0, 0, 0.07);
  --cast-step-3: 0 6px 16px rgba(0, 0, 0, 0.10);
  --cast-step-4: 0 12px 32px rgba(0, 0, 0, 0.14);
  --cast-step-5: 0 18px 44px rgba(0, 0, 0, 0.18);
  --cast-step-6: 0 24px 60px rgba(0, 0, 0, 0.22);
  --cast-step-7: 0 32px 80px rgba(0, 0, 0, 0.26);
  --curve-circle: 50%;
  --curve-in-out: cubic-bezier(0.4, 0.11, 0.52, 0.89);
  --curve-lozenge: 9999px;
  --curve-pop: cubic-bezier(0.24, 0.9, 0.65, 1.1);
  --curve-settle: cubic-bezier(0.25, 0.83, 0.39, 0.94);
  --curve-step-0: 0;
  --curve-step-1: 0;
  --curve-step-2: 4px;
  --curve-step-3: 12px;
  --curve-step-4: 24px;
  --curve-step-5: 30px;
  --curve-step-6: 36px;
  --curve-step-7: 44px;
  --curve-take-off: cubic-bezier(0.4, 0.11, 0.52, 0.89);
  --font-heading: "Roboto", "Segoe UI", system-ui, sans-serif;
  --font-text: "Open Sans", "Segoe UI", system-ui, sans-serif;
  --font-weight-black: 900;
  --font-weight-half: 700;
  --font-weight-normal: 500;
  --letter-default: 0.02em;
  --letter-loose: 0.1em;
  --letter-snug: -0.02em;
  --line-height-normal: 1.4;
  --line-height-relaxed: 1.6;
  --line-height-tight: 1.16;
  --nav-size-desktop: 50px;
  --nav-size-mobile: 44px;
  --outline-heavy: 4px;
  --outline-light: 1px;
  --outline-mid: 2px;
  --sec-y: 44px;
  --shell-h: 132px;
  --size-caption: 13px;
  --size-display-2: clamp(24px, 3.1vw, 38px);
  --size-display-3: 24px;
  --size-display-4: 18px;
  --size-h1: clamp(28px, 4.4vw, 56px);
  --size-h6: 13px;
  --size-mini: 11px;
  --size-normal: 16px;
  --size-sm-2: 15px;
  --space-step-0: 2px;
  --space-step-1: 6px;
  --space-step-2: 10px;
  --space-step-3: 14px;
  --space-step-4: 20px;
  --space-step-5: 28px;
  --space-step-6: 48px;
  --space-step-7: 72px;
  --tempo-gentle: 373ms;
  --tempo-steady: 210ms;
  --tempo-swift: 111ms;
  --tone-accent-pressed: #1758b3;
  --tone-age-band: #9f1239;
  --tone-bg-elevated: #16222f;
  --tone-canvas: #0e1721;
  --tone-cell: #131f2b;
  --tone-fade-bottom: #398ee8;
  --tone-gradient-light: #81b6ef;
  --tone-ink-on-bright: #17202b;
  --tone-plate: #f6f1e4;
  --tone-prime: #f7bc18;
  --tone-punch: #1872dc;
  --tone-rule-bold: rgba(255, 255, 255, 0.24);
  --tone-script: #ffffff;
  --tone-soft-text: #bdbdbd;
  --tone-stroke: rgba(255, 255, 255, 0.10);
}

/* === mobile scale === */
@media (max-width: 819px) {
  :root {
    --bounds-pad-left: var(--bounds-inset-mobile);
    --bounds-pad-right: var(--bounds-inset-mobile);
    --sec-y: 34px;
    --size-caption: 12px;
    --size-display-3: 20px;
    --size-display-4: 16px;
    --size-h6: 12px;
    --size-mini: 10px;
    --size-normal: 15px;
    --size-sm-2: 14px;
  }
}

/* === fonts === */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400 500;
  src: url("/typeface/roboto-vietnamese-500-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400 500;
  src: url("/typeface/roboto-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600 700;
  src: url("/typeface/roboto-vietnamese-700-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 600 700;
  src: url("/typeface/roboto-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 800 900;
  src: url("/typeface/roboto-vietnamese-900-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 800 900;
  src: url("/typeface/roboto-latin-900-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400 500;
  src: url("/typeface/open-sans-vietnamese-500-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400 500;
  src: url("/typeface/open-sans-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600 700;
  src: url("/typeface/open-sans-vietnamese-700-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600 700;
  src: url("/typeface/open-sans-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800 900;
  src: url("/typeface/open-sans-vietnamese-800-normal.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800 900;
  src: url("/typeface/open-sans-latin-800-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* === reset & base === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

html,
body {
  overflow-x: clip;
}

body {
  background: var(--tone-canvas);
  color: var(--tone-script);
  display: flex;
  flex-direction: column;
  font-family: var(--font-text);
  font-size: var(--size-normal);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  margin: 0;
  min-height: 100vh;
}

img {
  max-width: 100%;
}

a {
  color: var(--tone-prime);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--tempo-swift) var(--curve-settle);
}

a:hover {
  color: var(--tone-gradient-light);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: anywhere;
  margin: 0;
}

h1 {
  font-family: var(--font-heading);
  font-size: var(--size-h1);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-snug);
  line-height: var(--line-height-tight);
  text-transform: uppercase;
}

h2 {
  font-family: var(--font-heading);
  font-size: var(--size-display-2);
  font-weight: var(--font-weight-half);
  letter-spacing: var(--letter-snug);
  line-height: var(--line-height-tight);
  text-transform: uppercase;
}

h3 {
  font-family: var(--font-heading);
  font-size: var(--size-display-3);
  font-weight: var(--font-weight-half);
  letter-spacing: var(--letter-default);
  line-height: var(--line-height-normal);
}

h4 {
  font-family: var(--font-heading);
  font-size: var(--size-display-4);
  font-weight: var(--font-weight-half);
  letter-spacing: var(--letter-default);
  line-height: var(--line-height-normal);
}

h5 {
  font-family: var(--font-text);
  font-size: var(--size-sm-2);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  line-height: var(--line-height-normal);
  text-transform: uppercase;
}

h6 {
  font-family: var(--font-text);
  font-size: var(--size-h6);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  line-height: var(--line-height-normal);
  text-transform: uppercase;
}

p {
  margin: 0 0 var(--space-step-3);
}

[id] {
  scroll-margin-block-start: calc(var(--shell-h) + 16px);
}

/* === a11y & motion base === */
.skip-hop {
  background: var(--tone-prime);
  color: var(--tone-ink-on-bright);
  font-weight: var(--font-weight-half);
  inset-inline-start: var(--space-step-3);
  padding: var(--space-step-2) var(--space-step-4);
  position: fixed;
  border-radius: var(--curve-step-2);
  z-index: 200;
}

.skip-hop:not(:focus) {
  top: -200px !important;
}

.skip-hop:focus {
  top: var(--space-step-3);
}

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

[data-reveal] {
  opacity: 0;
  transform: scale(0.98) translateY(16px);
  transition: opacity var(--tempo-gentle) var(--curve-settle), transform var(--tempo-gentle) var(--curve-settle);
}

[data-reveal].on-screen {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  html {
    scroll-behavior: auto;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* === layout shell === */
.rovadi {
  display: block;
  flex: 1 0 auto;
}

.rovadi > section {
  padding-block: var(--sec-y);
}

.goxuso-body,
.gymobym-body,
.gavovur-body,
.faduso-body,
.nupoko-body,
.kaza-body,
.zimigof-body,
.dylu-body,
.bizy-body,
.foru-body,
.kezim-body,
.letyfu-body {
  display: block;
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

/* === author byline (BYLINE-06) === */
.baroxum {
  display: block;
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  padding-block: var(--space-step-3);
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

.baroxum-hold {
  align-items: center;
  border-block-start: var(--outline-light) solid var(--tone-stroke);
  display: flex;
  gap: var(--space-step-3);
  padding-block-start: var(--space-step-3);
}

.baroxum-copy {
  color: var(--tone-soft-text);
  flex: 1 1 auto;
  font-size: var(--size-caption);
  font-style: italic;
  margin: 0;
}

.baroxum-who {
  color: var(--tone-prime);
  font-style: normal;
  font-weight: var(--font-weight-half);
  text-decoration: underline;
}

.baroxum-who:hover {
  color: var(--tone-prime);
  text-decoration-thickness: 2px;
}

.baroxum-sep {
  color: var(--tone-soft-text);
  padding-inline: var(--space-step-1);
}

.baroxum-duty {
  color: var(--tone-soft-text);
}

.baroxum-date {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-mini);
  font-style: normal;
  letter-spacing: var(--letter-default);
  margin-block-start: var(--space-step-0);
}

.baroxum-face {
  border-radius: var(--curve-circle);
  flex: 0 0 auto;
  height: 40px;
  object-fit: cover;
  width: 40px;
}

/* === author card (AUTH-05) === */
.foru {
  padding-block: var(--sec-y);
}

.foru-tile {
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  display: flex;
  gap: var(--space-step-2);
  max-width: 480px;
  padding: var(--space-step-3);
}

.foru-face {
  border-radius: var(--curve-circle);
  flex: 0 0 auto;
  height: 56px;
  object-fit: cover;
  width: 56px;
}

.foru-guts {
  display: flex;
  flex-direction: column;
  gap: var(--space-step-0);
  min-width: 0;
}

.foru-duty {
  color: var(--tone-prime);
  font-size: var(--size-mini);
  letter-spacing: var(--letter-loose);
  text-transform: uppercase;
}

.foru-who {
  color: var(--tone-script);
  font-size: var(--size-normal);
  font-weight: var(--font-weight-black);
}

.foru-copy {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--tone-soft-text);
  display: -webkit-box;
  font-size: var(--size-caption);
  margin: 0;
  overflow: hidden;
}

.foru-articles {
  margin-block-start: var(--space-step-5);
}

.foru-articles-lede {
  font-size: var(--size-display-3);
  margin-block-end: var(--space-step-3);
}

.foru-articles-stack {
  display: grid;
  gap: var(--space-step-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.foru-articles-one {
  border-block-end: var(--outline-light) solid var(--tone-stroke);
  padding-block-end: var(--space-step-2);
}

.foru-articles-path {
  color: var(--tone-script);
  font-weight: var(--font-weight-half);
  text-decoration: none;
}

.foru-articles-path:hover {
  color: var(--tone-prime);
  text-decoration: underline;
}

.foru-articles-date {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-mini);
  letter-spacing: var(--letter-default);
}

/* === breadcrumbs (BREAD-03) === */
.pyfityg {
  display: block;
  padding-block: var(--space-step-3);
}

.pyfityg-hold {
  color: var(--tone-soft-text);
  font-family: var(--font-text);
  font-size: var(--size-caption);
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

.pyfityg-path {
  color: var(--tone-soft-text);
  text-decoration: none;
}

.pyfityg-path:hover {
  color: var(--tone-script);
  text-decoration: underline;
}

.pyfityg-sep {
  color: var(--tone-soft-text);
  margin-inline: var(--space-step-1);
}

.pyfityg-now {
  color: var(--tone-script);
}

/* === contact form (FORM-07) === */
.bizy-shell {
  background: var(--tone-bg-elevated);
  border-radius: var(--curve-step-4);
  color: var(--tone-script);
  overflow: hidden;
}

.bizy-crown {
  background: var(--tone-punch);
  display: block;
  height: 8px;
}

.bizy-guts {
  background: var(--tone-bg-elevated);
  color: var(--tone-script);
  padding: var(--space-step-5);
}

.bizy-lede {
  font-size: var(--size-display-3);
  margin-block-end: var(--space-step-2);
}

.bizy-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
}

.bizy-entry {
  display: block;
  margin-block-end: var(--space-step-3);
}

.bizy-tag {
  color: var(--tone-script);
  display: block;
  font-size: var(--size-caption);
  font-weight: var(--font-weight-half);
  letter-spacing: var(--letter-default);
  margin-block-end: var(--space-step-1);
}

.bizy-input,
.bizy-area {
  background: var(--tone-canvas);
  border: var(--outline-light) solid var(--tone-rule-bold);
  border-radius: var(--curve-step-1);
  color: var(--tone-script);
  font-family: var(--font-text);
  font-size: var(--size-normal);
  padding: var(--space-step-2) var(--space-step-3);
  width: 100%;
}

.bizy-area {
  min-height: 140px;
  resize: vertical;
}

.bizy-input:focus,
.bizy-area:focus {
  border-color: var(--tone-punch);
  outline: var(--outline-mid) solid var(--tone-punch);
  outline-offset: 1px;
}

.bizy-press {
  background: var(--tone-punch);
  border: 0;
  border-radius: var(--curve-lozenge);
  color: var(--tone-script);
  cursor: pointer;
  display: block;
  font-family: var(--font-heading);
  font-size: var(--size-sm-2);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  margin-inline: auto;
  min-height: 48px;
  padding: var(--space-step-2) var(--space-step-6);
  text-transform: uppercase;
  transition: transform var(--tempo-swift) var(--curve-settle), background var(--tempo-swift) var(--curve-settle);
}

.bizy-press:hover {
  background: var(--tone-accent-pressed);
  color: var(--tone-script);
  transform: scale(1.015);
}

.bizy-words {
  background: var(--tone-canvas);
  border: var(--outline-light) solid var(--tone-prime);
  border-radius: var(--curve-step-2);
  color: var(--tone-script);
  margin-block-start: var(--space-step-3);
  padding: var(--space-step-3);
}

.bizy-words[hidden] {
  display: none;
}

/* === cookie banner (COOK-04) === */
.syfa {
  background: var(--tone-canvas);
  border-block-start: var(--outline-heavy) solid var(--tone-punch);
  bottom: 0;
  clip-path: inset(0 100% 0 0);
  color: var(--tone-script);
  inset-inline: 0;
  padding: var(--space-step-5);
  pointer-events: none;
  position: fixed;
  transition: clip-path var(--tempo-gentle) var(--curve-settle);
  visibility: hidden;
  z-index: 90;
}

.syfa.is-visible {
  clip-path: inset(0 0 0 0);
  pointer-events: auto;
  visibility: visible;
}

.syfa-veil {
  background: rgba(0, 0, 0, 0.4);
  display: none;
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 89;
}

.syfa-veil.is-visible {
  display: block;
}

.syfa-hold {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-step-3);
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  text-align: center;
  width: 100%;
}

.syfa-head {
  font-family: var(--font-heading);
  font-size: var(--size-display-4);
  font-weight: var(--font-weight-half);
  margin: 0;
}

.syfa-words {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
  margin: 0;
  max-width: var(--bounds-narrow);
}

.syfa-controls {
  display: flex;
  gap: var(--space-step-3);
  justify-content: center;
}

.syfa-accept,
.syfa-deny {
  border: var(--outline-light) solid transparent;
  border-radius: var(--curve-lozenge);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: var(--size-caption);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  min-height: 48px;
  padding-inline: var(--space-step-4);
  text-transform: uppercase;
}

.syfa-accept {
  background: var(--tone-punch);
  color: var(--tone-script);
}

.syfa-accept:hover {
  background: var(--tone-accent-pressed);
  color: var(--tone-script);
}

.syfa-deny {
  background: var(--tone-bg-elevated);
  border-color: var(--tone-rule-bold);
  color: var(--tone-script);
}

.syfa-deny:hover {
  background: var(--tone-cell);
  color: var(--tone-script);
}

@media (max-width: 720px) {
  .syfa {
    padding: 12px 14px;
  }

  .syfa-hold {
    gap: 8px;
    font-size: 13px;
    line-height: 1.35;
  }

  .syfa-head {
    display: none;
  }

  .syfa-controls {
    flex-direction: column;
    width: 100%;
  }

  .syfa-accept,
  .syfa-deny {
    font-size: 12px;
    min-height: 40px;
    padding: 8px 14px;
    width: 100%;
  }
}

/* === cta block (CTA-09) === */
.kaza {
  background: var(--tone-bg-elevated);
  color: var(--tone-script);
}

.kaza-eyebrow {
  color: var(--tone-punch);
  display: block;
  font-size: var(--size-mini);
  font-weight: var(--font-weight-half);
  letter-spacing: var(--letter-loose);
  margin-block-end: var(--space-step-1);
  text-transform: uppercase;
}

.kaza-lede {
  margin-block-end: var(--space-step-3);
}

.kaza-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
  max-width: var(--bounds-narrow);
}

.kaza-call {
  display: inline-flex;
  margin-block-start: var(--space-step-2);
}

.kaza-note {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-mini);
  margin-block-start: var(--space-step-2);
}

/* === data table (TABLE-07) === */
.zimigof-lede {
  margin-block-end: var(--space-step-4);
}

.zimigof-scroll {
  overflow-x: auto;
  width: 100%;
}

.zimigof-grid {
  border-collapse: collapse;
  min-width: 560px;
  width: 100%;
}

.zimigof-grid caption {
  caption-side: top;
  color: var(--tone-soft-text);
  font-size: var(--size-caption);
  margin-block-end: var(--space-step-2);
  text-align: start;
}

.zimigof-grid th {
  background: var(--tone-prime);
  color: var(--tone-ink-on-bright);
  font-family: var(--font-heading);
  font-size: var(--size-caption);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  padding: var(--space-step-3);
  text-align: start;
  text-transform: uppercase;
}

.zimigof-grid td {
  background: var(--tone-canvas);
  border-block-start: var(--outline-light) solid var(--tone-stroke);
  color: var(--tone-script);
  font-size: var(--size-caption);
  padding: var(--space-step-3);
  vertical-align: top;
}

.zimigof-grid td:nth-child(even) {
  background: var(--tone-cell);
  color: var(--tone-script);
}

/* === error block (ERR-02) === */
.letyfu {
  padding-block: var(--sec-y);
}

.letyfu-body {
  align-items: center;
  display: grid;
  gap: var(--space-step-6);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.letyfu-guts {
  display: flex;
  flex-direction: column;
  gap: var(--space-step-3);
}

.letyfu-head {
  max-width: var(--bounds-narrow);
}

.letyfu-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
}

.letyfu-press {
  align-items: center;
  align-self: start;
  background: var(--tone-punch);
  border-radius: var(--curve-lozenge);
  color: var(--tone-script);
  display: inline-flex;
  font-family: var(--font-heading);
  font-size: var(--size-caption);
  font-weight: var(--font-weight-black);
  letter-spacing: var(--letter-loose);
  min-height: 48px;
  padding-inline: var(--space-step-5);
  text-decoration: none;
  text-transform: uppercase;
  transition: transform var(--tempo-swift) var(--curve-settle);
}

.letyfu-press:hover {
  background: var(--tone-accent-pressed);
  color: var(--tone-script);
  transform: scale(1.015);
}

.letyfu-numeral {
  align-self: start;
  background: var(--tone-canvas);
  color: var(--tone-prime);
  font-family: var(--font-heading);
  font-size: clamp(96px, 16vw, 240px);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-tight);
  overflow: hidden;
  text-align: end;
}

@media (max-width: 819px) {
  .letyfu-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .letyfu-numeral {
    font-size: clamp(72px, 26vw, 140px);
    text-align: start;
  }
}

/* === faq (FAQ-06) === */
.faduso-lede {
  margin-block-end: var(--space-step-4);
}

.faduso-toc {
  background: var(--tone-bg-elevated);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  display: block;
  margin-block-end: var(--space-step-6);
  padding: var(--space-step-4);
}

.faduso-toc-stack {
  display: grid;
  gap: var(--space-step-1);
  margin: 0;
  padding-inline-start: var(--space-step-4);
}

.faduso-toc-one {
  color: var(--tone-soft-text);
}

.faduso-toc-path {
  color: var(--tone-soft-text);
  font-size: var(--size-normal);
  text-decoration: none;
}

.faduso-toc-path:hover {
  color: var(--tone-script);
  text-decoration: underline;
}

.faduso-stack {
  display: grid;
  gap: var(--space-step-4);
}

.faduso-one {
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  padding: var(--space-step-4);
}

.faduso-ask {
  cursor: pointer;
  display: flex;
  align-items: baseline;
  gap: var(--space-step-2);
  list-style: none;
}

.faduso-ask::-webkit-details-marker {
  display: none;
}

.faduso-ask::before {
  color: var(--tone-prime);
  content: "+";
  font-family: var(--font-heading);
  font-size: var(--size-display-3);
  font-weight: var(--font-weight-black);
  line-height: 1;
  transition: transform var(--tempo-steady) var(--curve-in-out);
}

.faduso-one[open] .faduso-ask::before {
  content: "–";
}

.faduso-head {
  font-size: var(--size-display-4);
}

.faduso-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
  margin-block-start: var(--space-step-2);
}

/* === footer (FOOT-06) === */
.meruny {
  background: var(--tone-canvas);
  border-block-start: var(--outline-light) solid var(--tone-stroke);
  color: var(--tone-script);
  flex: 0 0 auto;
  padding-block: 56px;
}

.meruny-hold {
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

.meruny-creed {
  margin-inline: auto;
  max-width: var(--bounds-narrow);
  text-align: center;
}

.meruny-vow {
  color: var(--tone-script);
  font-size: var(--size-display-2);
}

.meruny-return {
  color: var(--tone-prime);
  display: inline-block;
  font-family: var(--font-heading);
  font-size: var(--size-sm-2);
  letter-spacing: var(--letter-loose);
  margin-block-start: var(--space-step-3);
  text-decoration: underline;
  text-transform: uppercase;
}

.meruny-return:hover {
  color: var(--tone-punch);
}

.meruny-rule {
  background: var(--tone-stroke);
  block-size: 1px;
  display: block;
  margin-block: var(--space-step-5);
}

.meruny-aside {
  align-items: start;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-step-5);
  justify-content: space-between;
}

.meruny-mark {
  display: inline-flex;
  flex: 0 0 auto;
}

.meruny-media {
  background: var(--tone-plate);
  border-radius: var(--curve-step-2);
  height: 60px;
  padding: var(--space-step-1) var(--space-step-2);
  width: auto;
}

.meruny-links,
.meruny-legal {
  display: block;
}

.meruny-lede {
  color: var(--tone-soft-text);
  font-size: var(--size-h6);
  letter-spacing: var(--letter-loose);
  margin-block-end: var(--space-step-2);
  text-transform: uppercase;
}

.meruny-stack {
  display: grid;
  gap: var(--space-step-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

.meruny-node {
  display: block;
}

.meruny-path {
  color: var(--tone-soft-text);
  font-size: var(--size-caption);
  text-decoration: none;
}

.meruny-path:hover {
  color: var(--tone-script);
  text-decoration: underline;
}

.meruny-fine {
  color: var(--tone-soft-text);
  display: block;
  flex: 1 0 100%;
  font-size: var(--size-mini);
  margin-block-start: var(--space-step-4);
}

@media (max-width: 819px) {
  .meruny-aside {
    flex-direction: column;
    gap: var(--space-step-4);
  }
}

/* === header (HEAD-UTIL) === */
.tovema {
  background: var(--tone-canvas);
  color: var(--tone-script);
  position: sticky;
  top: 0;
  transition: transform var(--tempo-steady) var(--curve-settle), backdrop-filter var(--tempo-steady) var(--curve-settle);
  z-index: 100;
}

.tovema.is-hidden {
  transform: translateY(-100%);
}

.tovema.is-stuck {
  backdrop-filter: blur(6px);
}

.tovema-strip {
  background: var(--tone-bg-elevated);
  color: var(--tone-soft-text);
  font-size: var(--size-mini);
  letter-spacing: var(--letter-default);
}

.tovema-strip-hold {
  align-items: center;
  display: flex;
  gap: var(--space-step-4);
  justify-content: space-between;
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  min-height: 32px;
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

.tovema-desk {
  color: var(--tone-soft-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tovema-quick {
  display: flex;
  flex: 0 0 auto;
  gap: var(--space-step-3);
}

.tovema-jot {
  color: var(--tone-soft-text);
  text-decoration: none;
  white-space: nowrap;
}

.tovema-jot:hover {
  color: var(--tone-script);
  text-decoration: underline;
}

.tovema-rank {
  background: var(--tone-canvas);
  color: var(--tone-script);
  min-height: 50px;
}

.tovema-rank-hold {
  align-items: center;
  display: flex;
  gap: var(--space-step-3);
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  min-height: 50px;
  padding-block: var(--space-step-1);
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
  width: 100%;
}

.tovema-tap {
  align-items: center;
  background: rgba(24, 114, 220, 0.16);
  border: 0;
  border-radius: var(--curve-step-2);
  color: var(--tone-script);
  cursor: pointer;
  display: none;
  font-family: var(--font-heading);
  font-size: var(--size-h6);
  font-weight: var(--font-weight-half);
  gap: var(--space-step-2);
  letter-spacing: var(--letter-loose);
  min-height: 44px;
  order: 3;
  padding-inline: var(--space-step-3);
  text-transform: uppercase;
}

.tovema-lines {
  display: inline-block;
  height: 2px;
  position: relative;
  width: 18px;
}

.tovema-lines,
.tovema-lines::before,
.tovema-lines::after {
  background: var(--tone-script);
}

.tovema-lines::before,
.tovema-lines::after {
  content: "";
  height: 2px;
  inset-inline: 0;
  position: absolute;
}

.tovema-lines::before {
  top: -6px;
}

.tovema-lines::after {
  top: 6px;
}

.tovema-mark {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  order: 1;
  text-decoration: none;
}

.tovema-mark-plate {
  align-items: center;
  background: var(--tone-plate);
  border-radius: var(--curve-step-3);
  color: var(--tone-ink-on-bright);
  display: inline-flex;
  flex-shrink: 0;
  padding: var(--space-step-1) var(--space-step-2);
}

.tovema-media {
  display: block;
  flex-shrink: 0;
  height: 44px;
  width: auto;
}

.tovema-links {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  margin-inline-end: auto;
  min-width: 0;
  order: 2;
}

.tovema-index {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.tovema-node {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.tovema-node[hidden] {
  display: none;
}

.tovema-node + .tovema-node::before {
  color: var(--tone-rule-bold);
  content: "|";
  font-size: var(--size-h6);
  padding-inline: var(--space-step-1);
}

.tovema-path {
  color: var(--tone-script);
  display: inline-flex;
  align-items: center;
  font-family: var(--font-text);
  font-size: 13px;
  font-variant-caps: small-caps;
  font-weight: 600;
  letter-spacing: var(--letter-default);
  min-height: 44px;
  padding-inline: var(--space-step-2);
  text-decoration: none;
  white-space: nowrap;
}

.tovema-path:hover {
  color: var(--tone-script);
  text-decoration: underline;
  text-underline-offset: 6px;
}

.tovema-path.is-here {
  color: var(--tone-script);
  font-weight: var(--font-weight-black);
}

.tovema-more {
  flex: 0 0 auto;
  margin-inline-start: var(--space-step-2);
  position: relative;
}

.tovema-more[hidden] {
  display: none;
}

.tovema-more-tap {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  border-radius: var(--curve-step-2);
  color: var(--tone-script);
  cursor: pointer;
  display: inline-flex;
  gap: var(--space-step-1);
  min-height: 40px;
  padding-inline: var(--space-step-2);
}

.tovema-more-tap::after {
  content: "•••";
  font-size: 11px;
  letter-spacing: 1px;
}

.tovema-more-pane {
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  box-shadow: var(--cast-step-4);
  color: var(--tone-script);
  display: none;
  inset-block-start: calc(100% + 6px);
  inset-inline-end: 0;
  max-height: 60vh;
  min-width: 200px;
  overflow-y: auto;
  padding: var(--space-step-2);
  position: absolute;
  z-index: 12;
}

.tovema-more-pane.is-open {
  display: block;
}

.tovema-more-stack {
  display: grid;
  gap: var(--space-step-0);
  list-style: none;
  margin: 0;
  padding: 0;
}

.tovema-more-node {
  display: block;
}

.tovema-more-path {
  color: var(--tone-script);
  display: block;
  font-family: var(--font-text);
  font-size: 13px;
  font-variant-caps: small-caps;
  font-weight: 600;
  min-height: 40px;
  line-height: 40px;
  padding-inline: var(--space-step-2);
  text-decoration: none;
  white-space: nowrap;
}

.tovema-more-path:hover {
  background: var(--tone-cell);
  color: var(--tone-script);
}

.tovema-dock {
  background: var(--tone-bg-elevated);
  border-block-start: var(--outline-light) solid var(--tone-stroke);
  color: var(--tone-script);
  display: none;
  inset-block-start: 100%;
  inset-inline: 0;
  max-height: calc(100vh - var(--shell-h));
  overflow-y: auto;
  padding: var(--space-step-3) var(--bounds-inset-mobile) var(--space-step-4);
  position: absolute;
  z-index: 11;
}

.tovema-dock.is-open {
  display: block;
}

.tovema-dock-links {
  display: block;
}

.tovema-dock-stack {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tovema-dock-node {
  display: block;
}

.tovema-dock-path {
  border-block-end: var(--outline-light) solid var(--tone-stroke);
  color: var(--tone-script);
  display: flex;
  align-items: center;
  font-size: var(--size-sm-2);
  font-weight: var(--font-weight-half);
  min-height: 48px;
  text-decoration: none;
}

.tovema-dock-path:hover {
  color: var(--tone-prime);
}

.tovema-dock-path.is-here {
  color: var(--tone-prime);
  font-weight: var(--font-weight-black);
}

.tovema-guard {
  background: var(--tone-age-band);
  color: var(--tone-script);
  display: block;
  font-size: var(--size-mini);
  letter-spacing: var(--letter-default);
  margin: 0;
  padding-block: var(--space-step-1);
  text-align: center;
}

.tovema-guard-hold {
  margin-inline: auto;
  max-width: calc(var(--bounds-full) + 2 * var(--bounds-padding-desktop));
  padding-inline: var(--bounds-pad-left) var(--bounds-pad-right);
}

.tovema-age {
  background: var(--tone-script);
  border-radius: var(--curve-lozenge);
  color: var(--tone-age-band);
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-black);
  margin-inline-end: var(--space-step-1);
  padding-inline: var(--space-step-1);
}

.tovema-say {
  color: var(--tone-script);
}

.tovema-guard-path {
  color: var(--tone-script);
  text-decoration: underline;
}

.tovema-guard-path:hover {
  color: var(--tone-script);
  text-decoration-thickness: 2px;
}

@media (max-width: 899px) {
  .tovema-desk {
    display: none;
  }
}

@media (max-width: 899px) {
  .tovema-links {
    display: none;
  }

  .tovema-tap {
    display: inline-flex;
    margin-inline-start: auto;
  }

  .tovema-media {
    height: 38px;
  }
}

@media (max-width: 619px) {
  .tovema-say {
    display: none;
  }
}

@media (max-width: 519px) {
  .tovema-strip {
    display: none;
  }

  .tovema-quick {
    gap: var(--space-step-2);
  }

  .tovema-strip-hold {
    justify-content: center;
  }
}

/* === hero (HERO-05) === */
.goxuso {
  background: var(--tone-canvas);
  color: var(--tone-script);
  padding-block: 60px;
  position: relative;
}

.goxuso::before {
  background-image: url("/media/marquee.webp");
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.16;
  pointer-events: none;
  position: absolute;
}

.goxuso-body {
  position: relative;
}

.goxuso-plate {
  background: var(--tone-canvas);
  border: var(--outline-heavy) solid var(--tone-script);
  box-shadow: 0 0 0 8px transparent, 0 0 0 9px var(--tone-script);
  color: var(--tone-script);
  padding: var(--space-step-6);
}

.goxuso-stuff {
  display: block;
}

.goxuso-eyebrow {
  color: var(--tone-prime);
  display: block;
  font-family: var(--font-text);
  font-size: var(--size-caption);
  font-style: italic;
  letter-spacing: var(--letter-default);
  margin-block-end: var(--space-step-2);
}

.goxuso-rule {
  background: var(--tone-punch);
  block-size: 1px;
  border: 0;
  inline-size: 80px;
  margin-block: var(--space-step-4);
  margin-inline: 0;
}

.goxuso-subtitle {
  color: var(--tone-soft-text);
  font-family: var(--font-text);
  font-size: var(--size-sm-2);
  line-height: var(--line-height-relaxed);
}

.goxuso-call {
  border-radius: var(--curve-step-1);
  display: inline-flex;
  margin-block-start: var(--space-step-3);
}

.goxuso-note {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-mini);
  margin-block-start: var(--space-step-2);
}

@media (max-width: 819px) {
  .goxuso {
    padding-block: 40px;
  }

  .goxuso-plate {
    padding: var(--space-step-4);
  }
}

/* === items grid (GRID-03) === */
.gymobym-lede {
  margin-block-end: var(--space-step-4);
}

.gymobym-stack {
  display: grid;
  gap: var(--space-step-3);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gymobym-one {
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  display: flex;
  flex-direction: column;
  gap: var(--space-step-1);
  grid-column: span 3;
  padding: var(--space-step-4);
  transition: transform var(--tempo-steady) var(--curve-settle);
}

.gymobym-one:hover {
  transform: translateY(-2px);
}

.gymobym-one:nth-child(4n + 2),
.gymobym-one:nth-child(4n + 3) {
  grid-column: span 2;
}

.gymobym-one:last-child:nth-child(odd) {
  grid-column: span 5;
}

.gymobym-icon {
  align-items: center;
  background: var(--tone-cell);
  border: var(--outline-light) solid var(--tone-rule-bold);
  border-radius: var(--curve-circle);
  color: var(--tone-prime);
  display: inline-flex;
  flex: 0 0 auto;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.gymobym-icon svg {
  fill: currentColor;
  height: 21px;
  width: 21px;
}

.gymobym-head {
  color: var(--tone-script);
  font-size: var(--size-display-4);
  font-weight: var(--font-weight-black);
}

.gymobym-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-normal);
}

@media (max-width: 819px) {
  .gymobym-stack {
    grid-template-columns: minmax(0, 1fr);
  }

  .gymobym-one,
  .gymobym-one:nth-child(4n + 2),
  .gymobym-one:nth-child(4n + 3),
  .gymobym-one:last-child:nth-child(odd) {
    grid-column: span 1;
  }
}

/* === legal section (LEGAL-08) === */
.dylu {
  background: var(--tone-canvas);
}

.dylu-part {
  margin-block-end: var(--space-step-5);
}

.dylu-head {
  color: var(--tone-script);
  font-family: var(--font-text);
  font-size: var(--size-display-3);
  font-weight: var(--font-weight-black);
  margin-block-end: var(--space-step-2);
  text-transform: none;
}

.dylu-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
}

.dylu-stack {
  color: var(--tone-soft-text);
  display: grid;
  gap: var(--space-step-1);
  line-height: var(--line-height-relaxed);
  margin: 0 0 var(--space-step-3);
  padding-inline-start: var(--space-step-4);
}

.dylu-one {
  color: var(--tone-soft-text);
}

.dylu-fine {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-caption);
  line-height: var(--line-height-relaxed);
}

/* === page header (PHEAD-03) === */
.kezim {
  background: var(--tone-prime);
  color: var(--tone-ink-on-bright);
  padding-block: 60px;
}

.kezim-head {
  color: var(--tone-ink-on-bright);
  font-size: clamp(30px, 5.4vw, 60px);
}

.kezim-copy {
  color: #3a2d07;
  line-height: var(--line-height-relaxed);
  margin-block-start: var(--space-step-3);
}

.kezim-aside {
  color: #3a2d07;
  display: block;
  font-size: var(--size-mini);
  letter-spacing: var(--letter-loose);
  margin-block-start: var(--space-step-2);
  text-transform: uppercase;
}

/* === prose (PROSE-04) === */
.gavovur-part {
  display: block;
  margin-block-end: var(--space-step-5);
}

.gavovur-head {
  font-size: var(--size-display-2);
  font-weight: var(--font-weight-half);
  margin-block-end: var(--space-step-3);
  margin-block-start: var(--space-step-4);
  text-align: start;
}

.gavovur-copy {
  color: var(--tone-soft-text);
  line-height: var(--line-height-relaxed);
  margin-block-end: var(--space-step-3);
}

.gavovur-part > .gavovur-copy:first-of-type::first-letter {
  color: var(--tone-punch);
  float: left;
  font-family: var(--font-heading);
  font-size: 5.5em;
  font-weight: var(--font-weight-black);
  line-height: 0.8;
  padding-inline-end: var(--space-step-2);
}

.gavovur-stack {
  color: var(--tone-soft-text);
  display: grid;
  gap: var(--space-step-2);
  line-height: var(--line-height-relaxed);
  margin: 0 0 var(--space-step-3);
  padding-inline-start: var(--space-step-4);
}

.gavovur-one {
  color: var(--tone-soft-text);
}

.gavovur-copy strong,
.gavovur-one strong {
  color: var(--tone-script);
  font-weight: var(--font-weight-half);
}

.gavovur-copy a,
.gavovur-one a {
  color: var(--tone-prime);
  text-decoration: underline;
}

.gavovur-copy a:hover,
.gavovur-one a:hover {
  color: var(--tone-gradient-light);
}

.gavovur-nudge {
  align-items: center;
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-step-3);
  margin-block: var(--space-step-4);
  padding: var(--space-step-4);
}

.gavovur-note {
  color: var(--tone-soft-text);
  flex: 1 1 220px;
  font-size: var(--size-mini);
  line-height: var(--line-height-normal);
}

.gavovur-figure {
  display: block;
  margin: var(--space-step-5) 0;
}

.gavovur-media {
  border-radius: var(--curve-step-3);
  display: block;
  height: auto;
  max-height: 56vh;
  object-fit: cover;
  width: 100%;
}

.gavovur-caption {
  color: var(--tone-soft-text);
  display: block;
  font-size: var(--size-caption);
  margin-block-start: var(--space-step-2);
}

@media (max-width: 819px) {
  .gavovur-part > .gavovur-copy:first-of-type::first-letter {
    font-size: 3.4em;
  }
}

/* === reviews (REV-05) === */
.nupoko-lede {
  margin-block-end: var(--space-step-4);
}

.nupoko-stack {
  border-inline-start: var(--outline-light) solid var(--tone-punch);
  display: block;
  padding-inline-start: var(--space-step-6);
  position: relative;
}

.nupoko-one {
  display: block;
  margin-block-end: var(--space-step-5);
  position: relative;
}

.nupoko-one:last-child {
  margin-block-end: 0;
}

.nupoko-dot {
  background: var(--tone-punch);
  border-radius: var(--curve-circle);
  display: block;
  height: 16px;
  inset-block-start: 6px;
  inset-inline-start: calc(-1 * var(--space-step-6) - 8px);
  position: absolute;
  width: 16px;
}

.nupoko-aside {
  align-items: baseline;
  color: var(--tone-soft-text);
  display: flex;
  gap: var(--space-step-3);
  justify-content: space-between;
  max-width: 520px;
}

.nupoko-date {
  color: var(--tone-soft-text);
  font-size: var(--size-caption);
}

.nupoko-who {
  color: var(--tone-soft-text);
  font-size: var(--size-caption);
  font-weight: var(--font-weight-half);
}

.nupoko-stars {
  color: var(--tone-prime);
  display: block;
  font-size: var(--size-caption);
  letter-spacing: 2px;
  margin-block: var(--space-step-1);
}

.nupoko-dim {
  color: var(--tone-soft-text);
  opacity: 0.45;
}

.nupoko-score {
  color: var(--tone-soft-text);
  font-size: var(--size-mini);
  letter-spacing: normal;
  margin-inline-start: var(--space-step-1);
}

.nupoko-copy {
  border: 0;
  color: var(--tone-soft-text);
  line-height: var(--line-height-normal);
  margin: 0;
  padding: 0;
}

@media (max-width: 819px) {
  .nupoko-stack {
    padding-inline-start: var(--space-step-5);
  }

  .nupoko-dot {
    inset-inline-start: calc(-1 * var(--space-step-5) - 8px);
  }
}

/* === utility === */
.gavovur-body h2,
.dylu-body h2,
.faduso-body h2,
.gymobym-body h2,
.nupoko-body h2,
.zimigof-body h2,
.kaza-body h2 {
  margin-block-start: 0;
}

/* === offer button (scripts/cta-style.mjs) === */
.nepo-go{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-step-5);min-height:48px;border-radius:var(--curve-lozenge);font-size:var(--size-caption);font-weight:var(--font-weight-black);letter-spacing:var(--letter-loose)}
.nepo-go{
  background:#C026D3;color:#FFFFFF;text-decoration:none;font-family:var(--font-heading);text-transform:uppercase;
  transition:background var(--tempo-steady) var(--curve-in-out),box-shadow var(--tempo-steady) var(--curve-in-out);}
.nepo-go.nepo-go{color:#FFFFFF;text-decoration:none;font-family:var(--font-heading);}
.nepo-go:hover{background:#A21CAF;color:#FFFFFF;animation:none}
.nepo-go.nepo-go:hover{color:#FFFFFF;text-decoration:none}
.nepo-go:hover::after{animation:none}
.nepo-go:active{background:#86198F;color:#FFFFFF}
.nepo-go:focus-visible{outline:3px solid var(--tone-prime);outline-offset:3px}
@keyframes nepo-glow{0%{transform:translateX(0)}17.308%{transform:translateX(2px)}34.615%,100%{transform:translateX(0)}}
.nepo-go{animation:nepo-glow 1.3s var(--curve-pop) infinite}
@media (prefers-reduced-motion:reduce){.nepo-go,.nepo-go::after{animation:none!important;transition:none!important}}

/* === section roots === */
.gavovur,
.gymobym,
.faduso,
.nupoko,
.zimigof,
.bizy {
  display: block;
}

.bizy-form {
  display: block;
  margin-block-start: var(--space-step-4);
}

.zimigof-row {
  display: table-row;
}

/* === offer plugs inside long blocks === */
.gymobym-nudge,
.nupoko-nudge,
.faduso-nudge {
  align-items: center;
  background: var(--tone-bg-elevated);
  border: var(--outline-light) solid var(--tone-stroke);
  border-radius: var(--curve-step-3);
  color: var(--tone-script);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-step-3);
  margin-block: var(--space-step-4);
  padding: var(--space-step-4);
}

.gymobym-note,
.nupoko-note,
.faduso-note {
  color: var(--tone-soft-text);
  flex: 1 1 220px;
  font-size: var(--size-mini);
  line-height: var(--line-height-normal);
}

.nupoko-nudge {
  background: var(--tone-cell);
}

@media (max-width: 912px) {
  .tovema-links,
  .tovema-index,
  .tovema-path { display: none !important; }
  .tovema-tap { display: flex !important; }
}
