/* ════════════════════════════════════════════════════════════════════════
   NOVEL — design system
   Built on IBM Carbon: type scale, spacing scale, motion curves, 16-col grid.
   Carbon geometry is square by default. That is deliberate, not unfinished.
   ════════════════════════════════════════════════════════════════════════ */

/* ── 1 · TOKENS ─────────────────────────────────────────────────────── */
:root{
  /* Carbon gray ramp */
  --g-10:#f4f4f4; --g-20:#e0e0e0; --g-30:#c6c6c6; --g-40:#a8a8a8;
  --g-50:#8d8d8d; --g-60:#6f6f6f; --g-70:#525252; --g-80:#393939;
  --g-90:#262626; --g-100:#161616;

  /* Carbon green — the interactive colour, chosen over blue for agriculture */
  --gr-20:#a7f0ba; --gr-30:#6fdc8c; --gr-40:#42be65; --gr-50:#24a148;
  --gr-60:#198038; --gr-70:#0e6027; --gr-80:#044317;

  /* Support */
  --earth-50:#a56a1f; --earth-60:#8a5a1b;
  --red-60:#da1e28; --yellow-30:#f1c21b;

  /* Type — Carbon scale, rem at 16px root */
  --t-label-01:0.75rem;    --lh-label-01:1.34;   --ls-label-01:.32px;
  --t-body-01:0.875rem;    --lh-body-01:1.43;    --ls-body-01:.16px;
  --t-body-02:1rem;        --lh-body-02:1.5;     --ls-body-02:0;
  --t-heading-03:1.25rem;  --lh-heading-03:1.4;
  --t-heading-04:1.75rem;  --lh-heading-04:1.29;
  --t-heading-05:2rem;     --lh-heading-05:1.25;
  --t-heading-06:2.625rem; --lh-heading-06:1.199;
  --t-display-01:2.625rem; --lh-display-01:1.199;
  --t-display-02:3.375rem; --lh-display-02:1.19;
  --t-display-03:4.75rem;  --lh-display-03:1.13;

  /* Spacing — Carbon 8px-derived scale */
  --sp-01:0.125rem; --sp-02:0.25rem; --sp-03:0.5rem;  --sp-04:0.75rem;
  --sp-05:1rem;     --sp-06:1.5rem;  --sp-07:2rem;    --sp-08:2.5rem;
  --sp-09:3rem;     --sp-10:4rem;    --sp-11:5rem;    --sp-12:6rem;
  --sp-13:10rem;

  /* Motion — Carbon easings */
  --ease-productive:cubic-bezier(.2,0,.38,.9);
  --ease-expressive:cubic-bezier(.4,.14,.3,1);
  --ease-entrance:cubic-bezier(0,0,.3,1);
  --d-fast-01:70ms; --d-fast-02:110ms;
  --d-moderate-01:150ms; --d-moderate-02:240ms;
  --d-slow-01:400ms; --d-slow-02:700ms;

  /* Grid — Carbon 16 column */
  --grid-max:99rem;      /* 1584px */
  --grid-gutter:2rem;    /* 32px */
  --grid-margin:1rem;

  /* Type families */
  --f-sans:'IBM Plex Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  --f-serif:'IBM Plex Serif',Georgia,'Times New Roman',serif;
  --f-mono:'IBM Plex Mono',SFMono-Regular,Menlo,Consolas,monospace;
}

/* Themes — Carbon "white" and "g100" */
:root,[data-theme="white"]{
  --bg:#ffffff;
  --layer-01:var(--g-10);
  --layer-02:#ffffff;
  --field-01:var(--g-10);
  --border-subtle:var(--g-20);
  --border-strong:var(--g-50);
  --text-primary:var(--g-100);
  --text-secondary:var(--g-70);
  --text-helper:var(--g-60);
  --text-on-color:#ffffff;
  --link:var(--gr-70);
  --interactive:var(--gr-60);
  --interactive-hover:var(--gr-70);
  --focus:var(--gr-60);
  --overlay:rgba(22,22,22,.5);
}
[data-theme="g100"]{
  --bg:var(--g-100);
  --layer-01:var(--g-90);
  --layer-02:var(--g-80);
  --field-01:var(--g-90);
  --border-subtle:var(--g-80);
  --border-strong:var(--g-60);
  --text-primary:#f4f4f4;
  --text-secondary:var(--g-30);
  --text-helper:var(--g-40);
  --text-on-color:var(--g-100);
  --link:var(--gr-30);
  --interactive:var(--gr-40);
  --interactive-hover:var(--gr-30);
  --focus:var(--gr-30);
  --overlay:rgba(0,0,0,.7);
}

/* ── 2 · RESET ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text-primary);
  font-family:var(--f-sans);
  font-size:var(--t-body-02);line-height:var(--lh-body-02);
  font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:background var(--d-moderate-02) var(--ease-productive),
             color var(--d-moderate-02) var(--ease-productive);
}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}

/* Carbon focus ring — 2px solid, no glow */
:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
::selection{background:var(--gr-40);color:var(--g-100)}

.u-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(--interactive);color:var(--text-on-color);
  padding:var(--sp-04) var(--sp-05);font-size:var(--t-body-01);
}
.skip-link:focus{left:0}

/* ── 3 · GRID ───────────────────────────────────────────────────────── */
.nv-grid{
  max-width:var(--grid-max);margin:0 auto;
  padding-inline:var(--grid-margin);
  display:grid;grid-template-columns:repeat(16,1fr);gap:var(--grid-gutter);
}
.nv-wrap{max-width:82rem;margin:0 auto;padding-inline:var(--sp-05)}
.nv-measure{max-width:40rem}      /* Carbon reading measure, ~66ch */

/* ── 4 · TYPE ───────────────────────────────────────────────────────── */
.nv-label{
  font-family:var(--f-mono);font-size:var(--t-label-01);line-height:var(--lh-label-01);
  letter-spacing:.06em;text-transform:uppercase;color:var(--text-helper);font-weight:500;
}
.nv-eyebrow{
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.08em;
  text-transform:uppercase;color:var(--interactive);font-weight:600;
  display:block;margin-bottom:var(--sp-04);
}
.nv-display{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(2.25rem,5.4vw,var(--t-display-03));
  line-height:var(--lh-display-03);letter-spacing:-.02em;
}
.nv-h1{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(2rem,4vw,var(--t-display-02));
  line-height:var(--lh-display-02);letter-spacing:-.018em;
}
.nv-h2{
  font-family:var(--f-serif);font-weight:400;
  font-size:clamp(1.625rem,2.8vw,var(--t-heading-06));
  line-height:var(--lh-heading-06);letter-spacing:-.014em;
}
.nv-h3{
  font-family:var(--f-serif);font-weight:400;
  font-size:var(--t-heading-04);line-height:var(--lh-heading-04);letter-spacing:-.01em;
}
.nv-h4{font-size:var(--t-heading-03);line-height:var(--lh-heading-03);font-weight:600;letter-spacing:-.005em}
.nv-body{font-size:var(--t-body-02);line-height:1.6;color:var(--text-secondary)}
.nv-body-sm{font-size:var(--t-body-01);line-height:var(--lh-body-01);letter-spacing:var(--ls-body-01);color:var(--text-secondary)}

/* ── 5 · BUTTONS — Carbon proportions: 48px tall, asymmetric padding ── */
.nv-btn{
  display:inline-flex;align-items:center;justify-content:space-between;gap:var(--sp-06);
  min-height:3rem;padding:var(--sp-04) var(--sp-10) var(--sp-04) var(--sp-05);
  font-size:var(--t-body-01);line-height:var(--lh-body-01);letter-spacing:var(--ls-body-01);
  font-weight:400;border:1px solid transparent;
  transition:background var(--d-fast-02) var(--ease-productive),
             border-color var(--d-fast-02) var(--ease-productive);
  max-width:20rem;
}
.nv-btn svg{width:1rem;height:1rem;flex-shrink:0}
.nv-btn--primary{background:var(--interactive);color:var(--text-on-color)}
.nv-btn--primary:hover{background:var(--interactive-hover)}
.nv-btn--secondary{background:var(--g-80);color:#fff}
[data-theme="g100"] .nv-btn--secondary{background:var(--g-60)}
.nv-btn--secondary:hover{background:var(--g-70)}
.nv-btn--tertiary{border-color:var(--interactive);color:var(--interactive)}
.nv-btn--tertiary:hover{background:var(--interactive);color:var(--text-on-color)}
.nv-btn--ghost{color:var(--interactive);padding-right:var(--sp-05)}
.nv-btn--ghost:hover{background:var(--layer-01)}
.nv-btn--sm{min-height:2rem;padding:var(--sp-02) var(--sp-08) var(--sp-02) var(--sp-04)}

/* ── 6 · HEADER — Carbon shell, 48px bar ───────────────────────────── */
.nv-header{
  position:sticky;top:0;z-index:100;height:3rem;
  background:var(--g-100);color:#f4f4f4;
  border-bottom:1px solid var(--g-80);
  display:flex;align-items:center;
}
.nv-header__in{display:flex;align-items:center;width:100%;height:100%}
.nv-header__brand{
  display:flex;align-items:center;gap:var(--sp-04);
  padding-inline:var(--sp-05);height:100%;flex-shrink:0;
  transition:background var(--d-fast-02) var(--ease-productive);
}
.nv-header__brand:hover{background:var(--g-80)}
.nv-header__logo{
  width:1.5rem;height:1.5rem;flex-shrink:0;
  background:var(--gr-40);
  display:grid;place-items:center;
}
.nv-header__logo svg{width:.9rem;height:.9rem}
.nv-header__name{font-size:var(--t-body-01);letter-spacing:var(--ls-body-01)}
.nv-header__name b{font-weight:600}
.nv-header__nav{display:flex;height:100%;min-width:0;overflow:hidden}
.nv-header__nav a{
  display:flex;align-items:center;padding-inline:var(--sp-05);height:100%;
  font-size:var(--t-body-01);letter-spacing:var(--ls-body-01);color:var(--g-30);
  border-bottom:2px solid transparent;white-space:nowrap;
  transition:background var(--d-fast-02) var(--ease-productive),color var(--d-fast-02);
}
.nv-header__nav a:hover{background:var(--g-80);color:#fff}
.nv-header__nav .current-menu-item a,.nv-header__nav a[aria-current]{
  border-bottom-color:var(--gr-40);color:#fff;
}
.nv-header__actions{margin-left:auto;display:flex;height:100%}
.nv-header__btn{
  width:3rem;height:100%;display:grid;place-items:center;color:var(--g-30);
  transition:background var(--d-fast-02) var(--ease-productive);
}
.nv-header__btn:hover{background:var(--g-80);color:#fff}
.nv-header__btn svg{width:1.25rem;height:1.25rem}
.nv-header__search{
  position:absolute;top:3rem;left:0;right:0;background:var(--g-100);
  border-bottom:1px solid var(--g-80);display:none;
}
.nv-header__search.is-open{display:block}
.nv-header__search input{
  width:100%;height:3rem;background:transparent;border:none;outline:none;
  padding-inline:var(--sp-05);color:#fff;font-size:var(--t-body-02);
}
.nv-header__search input::placeholder{color:var(--g-50)}

/* ── 7 · HERO ───────────────────────────────────────────────────────── */
.nv-hero{
  border-bottom:1px solid var(--border-subtle);
  padding-block:var(--sp-11) var(--sp-10);position:relative;overflow:hidden;
}
.nv-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);
  background-size:calc(100% / 16) 100%;opacity:.5;
}
.nv-hero__in{position:relative;z-index:1}
.nv-hero__lead{max-width:52rem}
.nv-hero__sub{
  font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.5;color:var(--text-secondary);
  margin-top:var(--sp-06);max-width:44rem;
}
.nv-hero__cta{display:flex;flex-wrap:wrap;gap:1px;margin-top:var(--sp-08)}
.nv-hero__stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
  gap:1px;margin-top:var(--sp-10);background:var(--border-subtle);
  border:1px solid var(--border-subtle);
}
.nv-hero__stat{background:var(--bg);padding:var(--sp-05)}
.nv-hero__stat b{
  display:block;font-family:var(--f-serif);font-weight:300;
  font-size:var(--t-heading-05);line-height:1;letter-spacing:-.02em;margin-bottom:var(--sp-02);
}
.nv-hero__stat span{font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.04em;color:var(--text-helper)}

/* ── 8 · SECTIONS ───────────────────────────────────────────────────── */
.nv-section{padding-block:var(--sp-10)}
.nv-section--tight{padding-block:var(--sp-08)}
.nv-section__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-06);
  margin-bottom:var(--sp-07);padding-bottom:var(--sp-05);
  border-bottom:1px solid var(--border-subtle);
}
.nv-rule{height:1px;background:var(--border-subtle);border:0;margin:0}

/* ── 9 · CARDS — square, bordered, Carbon tile behaviour ───────────── */
.nv-cards{
  display:grid;gap:1px;background:var(--border-subtle);
  border:1px solid var(--border-subtle);
  grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));
}
.nv-card{
  background:var(--bg);display:flex;flex-direction:column;
  transition:background var(--d-moderate-01) var(--ease-productive);
  position:relative;min-width:0;
}
.nv-card:hover{background:var(--layer-01)}
.nv-card:hover .nv-card__arrow{transform:translateX(4px)}
.nv-card__media{
  aspect-ratio:16/9;background:var(--layer-01);overflow:hidden;position:relative;
}
.nv-card__media img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--d-slow-01) var(--ease-expressive)}
.nv-card:hover .nv-card__media img{transform:scale(1.03)}
.nv-card__body{padding:var(--sp-05);display:flex;flex-direction:column;flex:1;gap:var(--sp-04)}
.nv-card__cat{
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.06em;
  text-transform:uppercase;color:var(--interactive);
}
.nv-card__title{
  font-family:var(--f-serif);font-weight:400;font-size:1.25rem;line-height:1.3;
  letter-spacing:-.008em;
}
.nv-card__excerpt{font-size:var(--t-body-01);line-height:var(--lh-body-01);color:var(--text-secondary)}
.nv-card__foot{
  margin-top:auto;padding-top:var(--sp-05);display:flex;align-items:center;
  justify-content:space-between;gap:var(--sp-04);
}
.nv-card__meta{font-family:var(--f-mono);font-size:var(--t-label-01);color:var(--text-helper)}
.nv-card__arrow{
  width:1rem;height:1rem;color:var(--interactive);flex-shrink:0;
  transition:transform var(--d-moderate-01) var(--ease-productive);
}
.nv-card__link{position:absolute;inset:0;z-index:1}

/* Feature tile — spans two columns on wide screens */
.nv-card--feature{grid-column:span 2}
.nv-card--feature .nv-card__title{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}
@media(max-width:671px){.nv-card--feature{grid-column:span 1}}

/* ── 10 · ARTICLE ───────────────────────────────────────────────────── */
.nv-article{padding-block:var(--sp-09) var(--sp-11)}
.nv-article__head{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--sp-07);margin-bottom:var(--sp-07)}
.nv-article__meta{
  display:flex;flex-wrap:wrap;gap:var(--sp-05);margin-top:var(--sp-05);
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.04em;color:var(--text-helper);
}
.nv-article__hero{margin-bottom:var(--sp-07);background:var(--layer-01)}
.nv-article__layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:var(--sp-09)}
@media(max-width:1055px){.nv-article__layout{grid-template-columns:1fr}}

.nv-prose{font-size:1.0625rem;line-height:1.7;color:var(--text-primary);max-width:40rem}
.nv-prose p{margin-bottom:var(--sp-06)}
.nv-prose h2{
  font-family:var(--f-serif);font-weight:400;font-size:var(--t-heading-05);
  line-height:var(--lh-heading-05);letter-spacing:-.014em;
  margin:var(--sp-09) 0 var(--sp-05);
}
.nv-prose h3{
  font-family:var(--f-serif);font-weight:400;font-size:var(--t-heading-04);
  line-height:var(--lh-heading-04);margin:var(--sp-08) 0 var(--sp-04);
}
.nv-prose h4{font-size:var(--t-heading-03);font-weight:600;margin:var(--sp-07) 0 var(--sp-04)}
.nv-prose a{color:var(--link);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;transition:color var(--d-fast-02)}
.nv-prose a:hover{color:var(--interactive-hover);text-decoration-thickness:2px}
.nv-prose ul,.nv-prose ol{margin:0 0 var(--sp-06) var(--sp-06);list-style:disc}
.nv-prose ol{list-style:decimal}
.nv-prose li{margin-bottom:var(--sp-03)}
.nv-prose blockquote{
  border-left:2px solid var(--interactive);padding-left:var(--sp-05);
  margin:var(--sp-07) 0;font-family:var(--f-serif);font-size:1.25rem;
  line-height:1.5;color:var(--text-primary);
}
.nv-prose img,.nv-prose figure{margin-block:var(--sp-07)}
.nv-prose figcaption{
  font-family:var(--f-mono);font-size:var(--t-label-01);color:var(--text-helper);
  margin-top:var(--sp-03);
}
.nv-prose code{
  font-family:var(--f-mono);font-size:.875em;background:var(--layer-01);
  padding:.1em .35em;
}
.nv-prose pre{
  background:var(--g-100);color:var(--g-10);padding:var(--sp-05);
  overflow-x:auto;margin-block:var(--sp-07);font-size:var(--t-body-01);
}
.nv-prose pre code{background:none;padding:0}
.nv-prose table{margin-block:var(--sp-07);font-size:var(--t-body-01)}
.nv-prose th,.nv-prose td{
  border-bottom:1px solid var(--border-subtle);padding:var(--sp-04);text-align:left;
}
.nv-prose th{font-weight:600;background:var(--layer-01)}

/* Sidebar rail */
.nv-rail{position:sticky;top:calc(3rem + var(--sp-05));align-self:start}
.nv-rail__block{border:1px solid var(--border-subtle);padding:var(--sp-05);margin-bottom:var(--sp-05)}
.nv-rail__block h3{
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-helper);margin-bottom:var(--sp-05);font-weight:600;
}
.nv-toc a{
  display:block;padding:var(--sp-03) 0;font-size:var(--t-body-01);
  color:var(--text-secondary);border-left:2px solid var(--border-subtle);
  padding-left:var(--sp-04);transition:all var(--d-fast-02) var(--ease-productive);
}
.nv-toc a:hover,.nv-toc a.is-active{border-left-color:var(--interactive);color:var(--text-primary)}

/* Reading progress — 2px, Carbon-flat */
.nv-progress{
  position:fixed;top:3rem;left:0;height:2px;background:var(--interactive);
  z-index:99;width:0;transition:width 60ms linear;
}

/* ── 11 · MARKETPLACE ───────────────────────────────────────────────── */
.nv-prod__price{
  font-family:var(--f-serif);font-size:var(--t-heading-03);font-weight:400;
  letter-spacing:-.01em;
}
.nv-tag{
  display:inline-flex;align-items:center;gap:var(--sp-02);
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.04em;
  background:var(--layer-01);border:1px solid var(--border-subtle);
  padding:var(--sp-01) var(--sp-03);color:var(--text-secondary);
}
.nv-tag svg{width:.75rem;height:.75rem}

/* ── 12 · AD SLOTS ──────────────────────────────────────────────────── */
.nv-ad{
  margin-block:var(--sp-08);text-align:center;
  border-block:1px solid var(--border-subtle);padding-block:var(--sp-05);
}
.nv-ad::before{
  content:"Advertisement";display:block;font-family:var(--f-mono);
  font-size:var(--t-label-01);letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-helper);margin-bottom:var(--sp-04);
}
.nv-ad--rail{margin:0 0 var(--sp-05);border:1px solid var(--border-subtle);padding:var(--sp-05)}

/* ── 13 · PAGINATION ────────────────────────────────────────────────── */
.nv-pager{display:flex;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);
  margin-top:var(--sp-09);width:fit-content}
.nv-pager a,.nv-pager span{
  min-width:3rem;height:3rem;display:grid;place-items:center;background:var(--bg);
  font-size:var(--t-body-01);padding-inline:var(--sp-04);
  transition:background var(--d-fast-02) var(--ease-productive);
}
.nv-pager a:hover{background:var(--layer-01)}
.nv-pager .current{background:var(--interactive);color:var(--text-on-color)}

/* ── 14 · FOOTER ────────────────────────────────────────────────────── */
.nv-footer{background:var(--g-100);color:var(--g-30);margin-top:var(--sp-11)}
.nv-footer__grid{
  display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--sp-08);
  padding-block:var(--sp-10) var(--sp-08);
}
.nv-footer h3{
  font-family:var(--f-mono);font-size:var(--t-label-01);letter-spacing:.08em;
  text-transform:uppercase;color:var(--g-50);margin-bottom:var(--sp-05);font-weight:600;
}
.nv-footer a{color:var(--g-30);font-size:var(--t-body-01);display:block;padding-block:var(--sp-03);
  transition:color var(--d-fast-02)}
.nv-footer a:hover{color:#fff}
.nv-footer__brand p{color:var(--g-50);font-size:var(--t-body-01);max-width:32ch;margin-top:var(--sp-05)}
.nv-footer__bottom{
  border-top:1px solid var(--g-80);padding-block:var(--sp-05);
  display:flex;flex-wrap:wrap;gap:var(--sp-05);
  font-family:var(--f-mono);font-size:var(--t-label-01);color:var(--g-50);
}
@media(max-width:671px){.nv-footer__grid{grid-template-columns:1fr 1fr}}

/* ── 15 · UTIL ──────────────────────────────────────────────────────── */
.nv-empty{
  border:1px dashed var(--border-strong);padding:var(--sp-10);text-align:center;
  color:var(--text-secondary);
}
.nv-cluster{display:flex;flex-wrap:wrap;gap:var(--sp-03)}
.nv-stack>*+*{margin-top:var(--sp-05)}

/* Carbon skeleton shimmer */
.nv-skeleton{
  background:var(--layer-01);position:relative;overflow:hidden;
}
.nv-skeleton::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  animation:nv-shimmer 1.6s infinite;
}
@keyframes nv-shimmer{100%{transform:translateX(100%)}}

/* ── 16 · RESPONSIVE ────────────────────────────────────────────────── */
@media(max-width:1055px){
  .nv-hero{padding-block:var(--sp-09) var(--sp-08)}
  .nv-section{padding-block:var(--sp-09)}
}
@media(max-width:671px){
  :root{--grid-gutter:1rem}
  .nv-header__nav{display:none}
  .nv-cards{grid-template-columns:1fr}
  .nv-section__head{flex-direction:column;align-items:flex-start}
  .nv-hero{padding-block:var(--sp-08) var(--sp-07)}
  .nv-btn{max-width:100%;width:100%}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Print — 19k articles deserve to print properly */
@media print{
  .nv-header,.nv-footer,.nv-rail,.nv-ad,.nv-progress{display:none!important}
  body{background:#fff;color:#000}
  .nv-prose{max-width:none;font-size:11pt}
}
