/* THCA Universe (cosmic) theme stylesheet, revision "simplicity" (2026-10-03, contract v4.1):
   the menu-first flow. Tokens and identity from design/cosmic/tokens.css; every class is prefixed un-.
   See design/cosmic/DESIGN.md "Revision: simplicity" for what was removed and why. */

/* One web font, display only: Saira instanced to wdth 74, wght 640-800, Latin subset (19.7 KB).
   Body text and data use system stacks. */
@font-face {
  font-family: "UN Saira";
  src: url("../fonts/un-saira-display.c32edae7692c.woff2") format("woff2");
  font-weight: 640 800;
  font-display: swap;
}
/* Metric-matched fallbacks: widths measured against Saira wdth 74 / wght 760 on a headline sample,
   vertical metrics from Saira (ascent 1135, descent 439 per 1000) divided by size-adjust.
   Swapping from either fallback to Saira keeps line count and line height, so headlines do not shift. */
@font-face {
  font-family: "UN Narrow FB";
  src: local("Arial Narrow Bold"), local("ArialNarrow-Bold");
  font-weight: 700;
  size-adjust: 88.5%;
  ascent-override: 128%;
  descent-override: 49.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "UN Wide FB";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Roboto Bold"), local("Roboto-Bold"), local("Helvetica Bold");
  font-weight: 700;
  size-adjust: 72.6%;
  ascent-override: 156%;
  descent-override: 60.5%;
  line-gap-override: 0%;
}

:root {
  /* ---- Night: true off-black, no blue cast ---- */
  --un-void:    #0B0B0A;  /* age gate scrim, footer floor, dock/rail */
  --un-night:   #121211;  /* page */
  --un-night-2: #1B1B19;  /* raised panel, photo slots */
  --un-night-3: #262623;  /* hover, selected */
  --un-rule:    #3B3A35;  /* hairlines and empty bar track (decorative, never text) */
  --un-star:    #F2EFE6;  /* text on night: 16.3:1 on night, 13.2:1 on night-3 */
  --un-dust:    #BDB8AA;  /* secondary text on night: 9.5:1, 7.7:1 on night-3 */
  --un-haze:    #9C978A;  /* tertiary text on night: 6.4:1, 5.2:1 on night-3 */

  /* ---- Paper: manga stock for data (COA, order ticket, form, calendar) ---- */
  --un-paper:   #F2EFE6;
  --un-paper-2: #E3DED0;  /* zebra, inset */
  --un-ink:     #121211;  /* text and frames on paper: 16.3:1 */
  --un-ink-2:   #4A473F;  /* secondary text on paper: 8.1:1, 6.9:1 on paper-2 */

  /* ---- The one accent: riso aqua ---- */
  --un-sig:     #45E0D8;  /* actions, live state, chart lines on night: 11.5:1 on night; ink text on it 11.5:1 */
  --un-sig-ink: #00635F;  /* same hue for text and lines on paper: 6.2:1 on paper, 5.3:1 on paper-2 */

  /* ---- Texture: one halftone tile (article Short answer) and the faint sky on body ---- */
  --un-tone-paper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='3' cy='3' r='1.2' fill='%23121211' fill-opacity='.2'/%3E%3C/svg%3E");
  --un-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='%23F2EFE6'%3E%3Ccircle cx='31' cy='42' r='.8' fill-opacity='.5'/%3E%3Ccircle cx='181' cy='19' r='.6' fill-opacity='.4'/%3E%3Ccircle cx='122' cy='131' r='1' fill-opacity='.35'/%3E%3Ccircle cx='211' cy='188' r='.7' fill-opacity='.45'/%3E%3Ccircle cx='67' cy='207' r='.6' fill-opacity='.3'/%3E%3C/svg%3E");

  /* ---- Type ---- */
  --un-f-display: "UN Saira", "UN Narrow FB", "UN Wide FB", sans-serif;
  --un-f-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --un-f-data: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;
  --un-t-xl: clamp(1.5rem, 5.4vw, 2.75rem);
  --un-t-l: clamp(1.375rem, 4vw, 1.875rem);
  --un-t-body: 1.0625rem;
  --un-t-label: .75rem;

  /* ---- Space (4px grid) and layout ---- */
  --un-s1: 4px; --un-s2: 8px; --un-s3: 12px; --un-s4: 16px; --un-s5: 24px; --un-s6: 32px; --un-s7: 48px; --un-s8: 64px;
  --un-gutter: 8px;
  --un-edge: 16px;
  --un-measure: 66ch;
  --un-max: 1320px;
  --un-frame: 2px solid var(--un-dust);
  --un-ease: cubic-bezier(.2, .8, .2, 1);
  --un-d1: 120ms;

  color-scheme: dark;
}
@media (min-width: 768px) { :root { --un-gutter: 12px; --un-edge: 28px; } }
@media (min-width: 1024px) { :root { --un-edge: 40px; } }

/* ============ 1. Base ============ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; background: var(--un-night) var(--un-sky); color: var(--un-star);
  font: 400 var(--un-t-body)/1.55 var(--un-f-text);
  --un-focus: var(--un-sig); --un-hint-c: var(--un-dust); --un-knock: var(--un-night);
}
body:has(.un-cartbar:not([hidden])) { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
@media (prefers-reduced-data: reduce) { body { background-image: none; } }
h1, h2, h3 { margin: 0; font-family: var(--un-f-display); font-weight: 760; line-height: 1.06; letter-spacing: -.01em; text-wrap: balance; }
a { color: inherit; text-decoration-color: var(--un-sig); text-decoration-thickness: 2px; text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--un-focus); outline-offset: 2px; }
main:focus { outline: none; }
/* engine.js focuses <main> after the Age Gate; keep the header (menu, phone, cart) in view. */
#main { scroll-margin-top: 200px; }
img, svg { max-width: 100%; }
table { font-variant-numeric: tabular-nums; }
button, input, select, textarea { font: inherit; }

/* Paper: every cream surface swaps focus, hint, link and logo-knockout colors. */
.un-form, .un-ticket, .un-lab, .un-short, .un-entry__frame, .un-callout, .un-chip-cal {
  --un-focus: var(--un-sig-ink); --un-hint-c: var(--un-ink-2); --un-knock: var(--un-paper);
  color-scheme: light; background-color: var(--un-paper); color: var(--un-ink);
}
.un-form a, .un-ticket a, .un-lab a, .un-short a, .un-callout a, .un-chip-cal a { text-decoration-color: var(--un-sig-ink); }

.un-vh, .un-sprite { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.un-skip { position: absolute; left: 8px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--un-sig); color: var(--un-ink); font-weight: 700; }
.un-skip:focus { top: 8px; }
.un-kicker, .un-sec > span, .un-sec > a { margin: 0; font: 600 var(--un-t-label)/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; }
.un-kicker { color: var(--un-sig); }
.un-hint { margin: 0; font-size: .8125rem; line-height: 1.45; color: var(--un-hint-c); }
.un-n { text-align: right !important; font-family: var(--un-f-data); }
@media (max-width: 559px) { .un-hide-s { display: none; } }

/* Logo: letters are currentColor, ring and moon the accent, the knock stroke cuts the U. */
.un-l { fill: currentColor; }
.un-o { fill: none; stroke: var(--un-sig); stroke-width: 2.2; }
.un-k { fill: none; stroke: var(--un-knock); stroke-width: 6; }
.un-m { fill: var(--un-sig); }
.un-entry__frame .un-o { stroke: var(--un-sig-ink); }
.un-entry__frame .un-m { fill: var(--un-sig-ink); }

/* ============ 2. Buttons ============ */
.un-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 20px;
  border: 2px solid transparent; border-radius: 0; font: 700 1rem/1.15 var(--un-f-text); text-align: center; text-decoration: none; cursor: pointer;
  transition: transform var(--un-d1) var(--un-ease);
}
.un-btn:hover { transform: translateY(-2px); }
.un-btn:active { transform: none; }
.un-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.un-btn--sig { background: var(--un-sig); color: var(--un-ink); }
.un-btn--ink { background: var(--un-ink); color: var(--un-paper); }
.un-btn--line { border-color: var(--un-star); color: var(--un-star); background: transparent; }
.un-btn--ink-line { border-color: var(--un-ink); color: var(--un-ink); background: transparent; }
.un-btn--block { display: flex; width: 100%; }
.un-form .un-btn--sig, .un-ticket .un-btn--sig { border-color: var(--un-ink); }

/* ============ 3. Header: wordmark, Menu / How to order / Contact, phone, Cart ============ */
.un-top {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo tel cart" "nav nav nav";
  align-items: center; gap: 0 12px; max-width: var(--un-max); margin: 0 auto; padding: 10px var(--un-edge) 0;
  border-bottom: 1px solid var(--un-rule);
}
.un-logo { grid-area: logo; display: block; width: 128px; padding-block: 2px; color: var(--un-star); }
.un-logo svg, .un-logo img { display: block; width: 100%; height: auto; aspect-ratio: 202 / 64; }
.un-top__tel { grid-area: tel; justify-self: end; display: inline-flex; align-items: center; min-height: 44px; font: 600 .8125rem/1 var(--un-f-data); color: var(--un-star); text-decoration: none; white-space: nowrap; }
.un-top__cart {
  grid-area: cart; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px;
  border: 2px solid var(--un-star); font: 700 .9375rem/1 var(--un-f-text); text-decoration: none; white-space: nowrap;
}
.un-top__cart span { min-width: 20px; padding: 3px 4px; background: var(--un-sig); color: var(--un-ink); font: 700 .75rem/1 var(--un-f-data); text-align: center; }
.un-nav { grid-area: nav; min-width: 0; }
.un-nav ul { display: flex; gap: 0 20px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.un-nav a { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--un-dust); font: 600 .9375rem/1 var(--un-f-text); text-decoration: none; white-space: nowrap; }
.un-nav a b { font: 500 .6875rem/1 var(--un-f-data); color: var(--un-haze); }
.un-nav a:hover, .un-nav a[aria-current] { color: var(--un-star); }
.un-nav a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--un-sig); }
@media (max-width: 359px) { .un-logo { width: 104px; } .un-top { gap: 0 8px; } }
@media (min-width: 768px) {
  .un-top { grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: "logo nav tel cart"; gap: 0 24px; padding-block: 8px; }
  .un-logo { width: 160px; }
  .un-top__tel::before { content: "Call"; margin-right: .6em; color: var(--un-haze); font-weight: 500; }
  .un-nav { padding-left: 12px; }
  .un-nav ul { gap: 0 28px; }
  .un-nav a[aria-current]::after { bottom: -9px; }
}

/* ============ 4. Shell, trail, notices ============ */
.un-shell { max-width: var(--un-max); margin: 0 auto; padding: 0 var(--un-edge) var(--un-s8); }
.un-trail ol { display: block; margin: 12px 0 0; padding: 0; list-style: none; font: 400 .8125rem/1.4 var(--un-f-data); color: var(--un-haze); }
.un-trail li { display: inline; }
.un-trail li + li::before { content: "/"; margin: 0 8px; }
.un-trail a { display: inline-block; padding: 6px 0; color: var(--un-dust); }
.un-trail [aria-current] { color: var(--un-star); }
.un-msgs { margin: 12px 0 0; padding: 10px 14px; list-style: none; background: var(--un-night-2); border-left: 4px solid var(--un-sig); }
.un-alert { margin: 0 0 var(--un-gutter); padding: 12px 16px; background: var(--un-paper); color: var(--un-ink); border-left: 6px solid var(--un-ink); font-weight: 700; }
.un-err { margin: 2px 0 0; font: 600 .8125rem/1.4 var(--un-f-data); color: var(--un-ink); }
.un-err::before { content: "Check: "; color: var(--un-sig-ink); }
.un-empty { margin: 8px 0 0; padding: var(--un-s5); border: 1px dashed var(--un-rule); color: var(--un-dust); }
.un-empty p { margin: 0 0 12px; }
.un-empty p:last-child { margin: 0; }
.un-flow { margin: 12px 0 0; font: 400 .8125rem/1.5 var(--un-f-data); color: var(--un-hint-c); }

/* ============ 5. The menu: one line, grade chips, file cards ============ */
.un-menuhead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 18px 0 12px; }
.un-menuhead h1 { font-size: var(--un-t-xl); font-weight: 780; line-height: 1; }
.un-menuhead__n, .un-menuhead p { margin: 0; font: 500 var(--un-t-label)/1.3 var(--un-f-data); letter-spacing: .08em; text-transform: uppercase; color: var(--un-haze); }
.un-grades ul { display: flex; gap: 4px; margin: 0 0 12px; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.un-grades li { flex: 1 0 auto; }
.un-grades a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 5px; border: 1px solid var(--un-dust); font: 600 .75rem/1 var(--un-f-text); text-decoration: none; white-space: nowrap; }
@media (min-width: 560px) { .un-grades ul { gap: 6px; } .un-grades li { flex: 0 0 auto; } .un-grades a { padding: 0 16px; font-size: .9375rem; } }
.un-grades a:hover { border-color: var(--un-sig); }
.un-grades a[aria-current] { background: var(--un-star); border-color: var(--un-star); color: var(--un-ink); }
.un-grades--more { margin-top: var(--un-s6); }
.un-grades--more ul { flex-wrap: wrap; }

.un-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--un-gutter); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .un-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1300px) { .un-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.un-menu > li { min-width: 0; }

/* File card (DESIGN.md 6.3, simplified): the top half is one link to the file, the bottom half adds to the cart. */
.un-file { display: flex; flex-direction: column; height: 100%; background: var(--un-night-2); border: 1px solid var(--un-rule); transition: border-color var(--un-d1) var(--un-ease); scroll-margin-top: 12px; }
.un-file:hover { border-color: var(--un-sig); }
.un-file__go { display: flex; flex-direction: column; gap: 8px; padding: 8px 8px 0; color: var(--un-star); text-decoration: none; }
.un-file__photo { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--un-void); border: 1px solid var(--un-rule); border-bottom: 2px solid var(--un-sig); }
.un-file__photo picture, .un-file__photo img { display: block; width: 100%; height: 100%; }
.un-file__photo img { object-fit: cover; }
.un-file__name { font-size: 1.1875rem; line-height: 1.05; overflow-wrap: anywhere; }
.un-file__go:hover .un-file__name { text-decoration: underline; text-decoration-color: var(--un-sig); text-decoration-thickness: 2px; }
.un-file__cls { font-size: .75rem; line-height: 1.35; color: var(--un-dust); }
.un-file__cls b { display: block; margin-top: 2px; font: 600 .75rem var(--un-f-data); color: var(--un-star); white-space: nowrap; }
.un-file__buy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding: 8px; }
.un-file__go + .un-file__buy { margin-top: 8px; border-top: 1px dashed var(--un-rule); }
.un-file__opt { display: flex; flex: 1 1 0; flex-direction: column; gap: 6px; min-width: 0; }
.un-file__opt p { margin: 0; font: 700 .9375rem/1.2 var(--un-f-data); }
.un-file__opt p b { display: block; margin-bottom: 2px; font: 700 .8125rem/1.2 var(--un-f-text); letter-spacing: .02em; color: var(--un-sig); }
.un-file__opt small { display: block; font: 400 .6875rem/1.3 var(--un-f-data); color: var(--un-dust); }
.un-file__opt .un-btn { min-height: 44px; margin-top: auto; padding: 8px 4px; font-size: .875rem; white-space: nowrap; }
.un-file__none { display: flex; flex-basis: 100%; align-items: center; justify-content: center; min-height: 44px; margin: auto 0 0; border: 1px dashed var(--un-rule); font: 600 .6875rem/1 var(--un-f-data); letter-spacing: .08em; text-transform: uppercase; color: var(--un-haze); }
.un-file button[data-cart-added] { position: relative; color: transparent; background: var(--un-star); opacity: 1; }
.un-file button[data-cart-added]::after { content: "Added"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--un-ink); }
@media (min-width: 560px) {
  .un-file__go { padding: 12px 12px 0; }
  .un-file__buy { padding: 12px; gap: 8px; }
  .un-file__name { font-size: 1.375rem; }
  .un-file__cls, .un-file__cls b { font-size: .8125rem; }
  .un-file__cls b { display: inline; margin: 0; }
  .un-file__cls b::before { content: "\00B7  "; font-family: var(--un-f-text); color: var(--un-dust); }
  .un-file__opt .un-btn { font-size: .9375rem; }
}

/* "How ordering works": three numbered moves on one mono line (stacked on phones). */
.un-steps { margin: var(--un-s7) 0 0; padding: 14px 0; border-top: 2px solid var(--un-star); }
.un-steps h2 { margin: 0 0 8px; font: 600 var(--un-t-label)/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; color: var(--un-sig); }
.un-steps ol { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font: 500 .875rem/1.4 var(--un-f-data); }
.un-steps b { margin-right: 6px; color: var(--un-sig); }
@media (min-width: 900px) {
  .un-steps ol { display: flex; flex-wrap: wrap; gap: 6px 0; }
  .un-steps li + li::before { content: "/"; margin: 0 14px; color: var(--un-haze); }
}

/* Folded sections: "About our flower", the product's COA, terpenes and reviews. */
.un-fold { border-top: 1px solid var(--un-rule); }
.un-fold:last-of-type { border-bottom: 1px solid var(--un-rule); }
.un-fold > summary { position: relative; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 36px 10px 0; list-style: none; cursor: pointer; font: 760 1.125rem/1.15 var(--un-f-display); }
.un-fold > summary::-webkit-details-marker { display: none; }
.un-fold > summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font: 400 1.5rem/1 var(--un-f-data); color: var(--un-sig); }
.un-fold[open] > summary::after { content: "\2212"; }
.un-fold > summary span { font: 500 .75rem/1 var(--un-f-data); color: var(--un-haze); }
.un-fold > :not(summary) { margin-bottom: 16px; }
.un-about { margin-top: var(--un-s6); }
.un-about .un-prose { color: var(--un-dust); font-size: .9375rem; }

/* ============ 6. Terpene star chart (DESIGN.md 6.4), drawn in a x10 space ============ */
.un-constel { display: block; width: 100%; height: auto; --c-line: var(--un-sig); --c-grid: var(--un-rule); --c-star: var(--un-star); --c-lbl: var(--un-dust); }
.un-rings { fill: none; stroke: var(--c-grid); stroke-width: .7; }
.un-constel polygon { fill: var(--c-line); fill-opacity: .1; stroke: var(--c-line); stroke-width: 1.4; stroke-linejoin: round; }
.un-constel circle { fill: var(--c-star); }
.un-constel__lbl { font: 600 7px var(--un-f-data); fill: var(--c-lbl); }
.un-constel--paper { --c-line: var(--un-sig-ink); --c-grid: #C9C3B3; --c-star: var(--un-ink); --c-lbl: var(--un-ink-2); }
.un-c10 polygon { stroke-width: 14; marker: url(#un-dot); }
.un-constel--paper .un-c10 polygon { marker: url(#un-dot-p); }
#un-dot circle { fill: var(--un-star); }
#un-dot-p circle { fill: var(--un-ink); }
.un-constel .un-c10 .un-lead { fill: var(--c-line); }

/* ============ 7. Product ============ */
.un-pdp { display: grid; gap: var(--un-s5); margin-top: 12px; }
.un-pdp__media, .un-pdp__buy { min-width: 0; }
.un-gallery { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: var(--un-gutter); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
.un-shot { margin: 0; min-width: 0; scroll-snap-align: start; }
.un-shot picture, .un-shot img { display: block; width: 100%; height: auto; }
.un-shot img { aspect-ratio: 1; object-fit: cover; background: var(--un-void); border: 1px solid var(--un-rule); }
.un-thumbs { display: flex; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.un-thumbs a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--un-rule); font: 600 .875rem var(--un-f-data); color: var(--un-dust); text-decoration: none; }
.un-thumbs a[aria-current] { border-color: var(--un-sig); color: var(--un-sig); }
.un-pdp__art { margin: 0; padding: 16px; border: var(--un-frame); }
.un-pdp__art .un-constel { max-width: 480px; margin: 0 auto; }
.un-pdp__id { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 8px; font: 500 .8125rem/1.3 var(--un-f-data); color: var(--un-dust); }
.un-pdp__st { color: var(--un-sig); }
.un-pdp h1 { font-size: var(--un-t-xl); line-height: 1; }
.un-pdp__cls { margin: 6px 0 0; color: var(--un-dust); }
.un-pdp__lab { display: flex; gap: 6px; margin: 14px 0 18px; }
.un-pdp__lab div { flex: 1 1 0; max-width: 180px; padding: 10px 14px; background: var(--un-void); border: 1px solid var(--un-rule); }
.un-pdp__lab dt { font: 600 .6875rem/1.3 var(--un-f-data); letter-spacing: .08em; text-transform: uppercase; color: var(--un-dust); }
.un-pdp__lab dd { margin: 4px 0 0; font: 780 1.75rem/1 var(--un-f-display); color: var(--un-sig); }
.un-pdp__desc { max-width: 60ch; margin: 20px 0; }
@media (min-width: 1024px) {
  .un-pdp { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--un-s6); align-items: start; }
  .un-pdp__media { position: sticky; top: 16px; }
  .un-shot img { aspect-ratio: 4 / 5; }
}

/* Price selector: HP / LB ticket stubs (DESIGN.md 6.5) */
.un-stubs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.un-stubs legend, .un-qty label { margin-bottom: 8px; padding: 0; font: 600 .75rem/1.3 var(--un-f-data); letter-spacing: .08em; text-transform: uppercase; color: var(--un-dust); }
.un-stub { position: relative; display: block; cursor: pointer; }
.un-stub input { position: absolute; top: 8px; left: 8px; width: 1px; height: 1px; opacity: 0; }
.un-stub__face { position: relative; display: grid; gap: 2px; height: 100%; padding: 12px 14px; background: var(--un-paper); color: var(--un-ink); border-top: 6px solid var(--un-paper-2); }
.un-stub__face::before, .un-stub__face::after { content: ""; position: absolute; top: 56%; width: 14px; height: 14px; border-radius: 50%; background: var(--un-night); }
.un-stub__face::before { left: -7px; }
.un-stub__face::after { right: -7px; }
.un-stub__size { margin-bottom: 6px; padding-bottom: 8px; border-bottom: 2px dashed #B9B3A2; font: 780 2.25rem/1 var(--un-f-display); }
.un-stub__price { font: 700 1.375rem/1.1 var(--un-f-data); }
.un-stub__pg { font: 400 .75rem/1.35 var(--un-f-data); color: var(--un-ink-2); }
.un-stub__stock { margin-top: 4px; font: 600 .75rem/1.2 var(--un-f-data); text-transform: uppercase; }
.un-stub input:checked + .un-stub__face { border-top-color: var(--un-sig-ink); box-shadow: inset 0 0 0 2px var(--un-ink); }
.un-stub input:focus-visible + .un-stub__face { outline: 3px solid var(--un-sig); outline-offset: 3px; }
.un-stub input:disabled + .un-stub__face { opacity: .55; cursor: not-allowed; }
.un-qty { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.un-qty label { margin: 0; }
.un-qty__ctl { display: grid; grid-template-columns: 48px 60px 48px; border: 2px solid var(--un-dust); }
.un-qty__ctl button { min-height: 44px; border: 0; background: none; color: var(--un-star); font: 400 1.5rem/1 var(--un-f-data); cursor: pointer; }
.un-qty__ctl input { width: 100%; border: 0; border-inline: 1px solid var(--un-rule); background: transparent; color: var(--un-star); text-align: center; font: 700 1.0625rem var(--un-f-data); -moz-appearance: textfield; appearance: textfield; }
.un-qty__ctl input::-webkit-inner-spin-button, .un-qty__ctl input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.un-add, .un-submit { min-height: 56px; font-size: 1.0625rem; }
.un-closed { margin: 16px 0; padding: 16px; border: var(--un-frame); }
.un-closed h2 { margin-bottom: 10px; font-size: 1.375rem; }
.un-closed p { margin: 12px 0 0; }

.un-terpfold { display: grid; gap: 12px; }
.un-terpfold__chart { max-width: 300px; }
.un-terps { margin: 0; padding: 0; list-style: none; }
.un-terps li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--un-rule); }
.un-terps span { font-weight: 600; }
.un-terps b { font: 700 .9375rem var(--un-f-data); }
@media (min-width: 560px) { .un-terpfold { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; } }
.un-replist { margin: 0; padding: 0; list-style: none; }
.un-replist li { padding: 12px 0; border-bottom: 1px solid var(--un-rule); }
.un-replist p { margin: 0 0 6px; }
.un-replist__head b { margin-right: 8px; font: 700 .9375rem var(--un-f-data); color: var(--un-sig); }
.un-replist__by { font: 400 .8125rem var(--un-f-data); color: var(--un-haze); }

/* COA: the lab file on paper (DESIGN.md 6.7), one "Measure | Result | Limit | What it means" table */
.un-lab { padding: 16px; }
.un-lab__meta { margin: 0 0 10px; font: 600 .8125rem/1.4 var(--un-f-data); }
.un-coa { width: 100%; border-collapse: collapse; font-size: .875rem; line-height: 1.4; }
.un-coa caption { caption-side: bottom; padding-top: 8px; text-align: left; font-size: .75rem; color: var(--un-ink-2); }
.un-coa th, .un-coa td { padding: 8px; border-bottom: 1px solid #CFC9BA; text-align: left; vertical-align: top; }
.un-coa thead th { font: 600 .6875rem/1.3 var(--un-f-data); letter-spacing: .06em; text-transform: uppercase; border-bottom: 2px solid var(--un-ink); }
.un-coa th[scope="rowgroup"] { background: var(--un-ink); color: var(--un-paper); font: 700 .75rem/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; }
.un-coa td.un-n { font-weight: 600; white-space: nowrap; }
.un-coa .un-key { background: var(--un-paper-2); }
.un-coa .un-key th { font-weight: 800; }
.un-lab__go { margin: 14px 0 0; }
.un-lab__none { margin: 0; font-weight: 600; }

/* ============ 8. Cart, checkout, thanks: the Ticket and the paper form ============ */
.un-co__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin: 18px 0 14px; }
.un-co__head h1 { font-size: var(--un-t-xl); line-height: 1; }
.un-co__sum { margin: 0; font: 500 .875rem var(--un-f-data); color: var(--un-dust); }
.un-zero { max-width: 640px; margin: 0 0 var(--un-gutter); padding: 12px 16px; background: var(--un-night-2); border-left: 4px solid var(--un-sig); font-weight: 600; }
.un-zero a { margin-left: 4px; font-weight: 400; color: var(--un-star); }
.un-ticket { position: relative; max-width: 760px; padding: 20px; }
.un-ticket::before, .un-ticket::after { content: ""; position: absolute; top: 46px; width: 18px; height: 18px; border-radius: 50%; background: var(--un-night); }
.un-ticket::before { left: -9px; }
.un-ticket::after { right: -9px; }
.un-ticket h2 { margin-bottom: 12px; padding-bottom: 14px; border-bottom: 2px dashed #B9B3A2; font-size: 1.375rem; }
.un-ticket__no { display: block; margin-top: 6px; font: 700 clamp(1.75rem, 7vw, 2.5rem)/1 var(--un-f-data); color: var(--un-sig-ink); }
.un-ticket p { margin: 0 0 10px; }
.un-ticket__lines { margin: 0; padding: 0; list-style: none; }
.un-ticket__lines li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #CFC9BA; font: 600 .9375rem/1.35 var(--un-f-data); }
.un-ticket__lines b { font-family: var(--un-f-text); }
.un-ticket__lines i { display: block; font-style: normal; font-weight: 400; font-size: .75rem; color: var(--un-ink-2); }
.un-ticket__sum { margin: 8px 0 0; }
.un-ticket__sum div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font: 500 .875rem var(--un-f-data); }
.un-ticket__sum dd { margin: 0; }
.un-ticket__total { margin-top: 6px; padding-top: 10px !important; border-top: 2px solid var(--un-ink); font-size: 1.125rem !important; font-weight: 700 !important; }
.un-cart li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 16px; }
.un-cart li > span:first-child { grid-column: 1 / -1; }
.un-cart__ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.un-qty__ctl--paper { border-color: var(--un-ink); }
.un-qty__ctl--paper button, .un-qty__ctl--paper input { color: var(--un-ink); }
.un-qty__ctl--paper input { min-height: 44px; border-inline-color: #CFC9BA; }
.un-cart__rm { min-height: 44px; padding: 0 4px; border: 0; background: none; color: var(--un-ink-2); text-decoration: underline; text-decoration-color: var(--un-sig-ink); cursor: pointer; }
.un-cart__total { justify-self: end; }
.un-cart__go { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0 !important; }
.un-cart__go .un-btn--sig { flex: 1 1 200px; min-height: 56px; font-size: 1.0625rem; }
@media (min-width: 768px) {
  .un-cart li { grid-template-columns: minmax(0, 1fr) auto auto; }
  .un-cart li > span:first-child { grid-column: auto; }
}
.un-after { margin-top: 20px; }

.un-form { max-width: 640px; padding: var(--un-s5) var(--un-s4); }
.un-form__sec { min-width: 0; margin: 0 0 22px; padding: 0; border: 0; }
.un-form__sec legend { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding: 0; font: 760 1.25rem/1.1 var(--un-f-display); }
.un-form__sec legend span { display: inline-grid; place-items: center; width: 28px; height: 28px; background: var(--un-ink); color: var(--un-paper); font: 700 .875rem var(--un-f-data); }
.un-form__row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 12px; }
.un-field { display: grid; gap: 6px; margin-bottom: 14px; min-width: 0; }
.un-field label { font-weight: 700; font-size: .9375rem; }
.un-field label i { font-style: normal; font-weight: 400; color: var(--un-hint-c); }
.un-input { width: 100%; min-height: 48px; padding: 10px 12px; border: 2px solid var(--un-ink); border-radius: 0; background: #FBFAF6; color: var(--un-ink); font-size: 1rem; line-height: 1.3; }
.un-input[aria-invalid="true"] { border-width: 3px; }
textarea.un-input { min-height: 72px; resize: vertical; }
.un-select { appearance: none; padding-right: 40px; background: #FBFAF6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10'%3E%3Cpath d='M1 1h12L7 9z' fill='%23121211'/%3E%3C/svg%3E") no-repeat right 14px center; }
.un-pay { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.un-pay__opt { position: relative; display: block; }
.un-pay__opt input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.un-pay__opt span { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 56px; padding: 0 14px; border: 2px solid var(--un-ink); background: #FBFAF6; font-weight: 700; }
.un-pay__opt span::after { content: ""; flex: none; width: 16px; height: 16px; border: 2px solid currentColor; border-radius: 50%; }
.un-pay__opt input:checked + span { background: var(--un-ink); color: var(--un-paper); }
.un-pay__opt input:checked + span::after { background: var(--un-sig); border-color: var(--un-sig); }
.un-pay__opt input:focus-visible + span { outline: 3px solid var(--un-sig-ink); outline-offset: 2px; }
.un-check { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: center; min-height: 44px; margin: 4px 0 16px; font-weight: 600; cursor: pointer; }
.un-check input { width: 22px; height: 22px; margin: 0; accent-color: var(--un-ink); }
@media (min-width: 768px) { .un-form { padding: var(--un-s6); } .un-pay { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Sticky "Cart (n) · Checkout" bar (engine hook data-cart-bar): the void dock with the aqua rule. */
.un-cartbar {
  position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 8px var(--un-edge) calc(8px + env(safe-area-inset-bottom)); background: var(--un-void); border-top: 2px solid var(--un-sig);
}
.un-cartbar[hidden] { display: none; }
.un-cartbar > a:first-child { display: inline-flex; align-items: center; min-height: 44px; font: 700 1rem var(--un-f-data); text-decoration: none; }
.un-cartbar .un-btn { min-height: 48px; padding-inline: 28px; }
@media (min-width: 1024px) {
  .un-cartbar { left: auto; right: 24px; bottom: 24px; gap: 20px; padding: 8px 8px 8px 18px; border: 2px solid var(--un-sig); }
  body:has(.un-cartbar:not([hidden])) { padding-bottom: 0; }
}

/* ============ 9. Footer: links, one NAP line, the 21+ line ============ */
.un-foot { padding: var(--un-s6) var(--un-edge) var(--un-s5); background: var(--un-void); border-top: 2px solid var(--un-sig); }
.un-foot > * { max-width: var(--un-max); margin-inline: auto; }
.un-foot__links { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 0 auto 8px; padding: 0; list-style: none; }
.un-foot__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; text-decoration: none; }
.un-foot__links a:hover { text-decoration: underline; text-decoration-color: var(--un-sig); }
.un-foot__nap { margin-block: 4px 0; font: 400 .8125rem/1.6 var(--un-f-data); font-style: normal; color: var(--un-dust); }
.un-foot__nap a { display: inline-block; padding: 4px 0; color: var(--un-star); }
.un-foot__log { margin-block: 12px 0; padding-top: 12px; border-top: 1px solid var(--un-rule); font-size: .8125rem; color: var(--un-haze); }

/* ============ 10. Age Gate (engine contract v4.1: #age-gate, AGE_GATE_PREFIX "un" -> html.un-gate-open) ============ */
.un-entry { position: fixed; inset: 0; z-index: 1000; display: none; place-items: center; padding: 16px; overflow: auto; background: rgb(11 11 10 / .97); }
.un-entry__frame { display: grid; grid-template-columns: 96px minmax(0, 1fr); width: 100%; max-width: 480px; border: 2px solid var(--un-paper); }
.un-entry__num { display: block; width: 100%; height: 100%; padding: 18px 14px; background: var(--un-ink); fill: var(--un-sig); }
.un-entry__body { padding: 20px; }
.un-entry__logo { display: block; width: 150px; height: auto; aspect-ratio: 202 / 64; }
.un-entry__body > p { margin: 14px 0 0; font-size: 1.0625rem; font-weight: 600; }
.un-entry__pick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.un-entry__pick button { min-height: 52px; padding: 10px; border: 2px solid var(--un-ink); border-radius: 0; background: transparent; color: var(--un-ink); font: 700 1rem/1.2 var(--un-f-text); cursor: pointer; }
.un-entry__pick [data-age-confirm] { background: var(--un-ink); color: var(--un-paper); }
.un-entry__out { padding: 8px 10px; border-left: 4px solid var(--un-ink); background: var(--un-paper-2); }
html.un-gate-open .un-entry { display: grid; }
html.un-gate-open body { overflow: hidden; }
@media (min-width: 600px) { .un-entry__frame { grid-template-columns: 140px minmax(0, 1fr); } .un-entry__body { padding: 28px; } }

/* ============ 11. Reading pages: Articles, State Pages, trust pages, authors ============ */
.un-sec { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin: var(--un-s7) 0 var(--un-s4); padding-top: 12px; border-top: 2px solid var(--un-star); }
.un-sec h2 { font-size: var(--un-t-l); }
.un-sec > span { color: var(--un-haze); }
.un-pagehead { max-width: 62ch; margin: 12px 0 24px; }
.un-pagehead h1, .un-ahead h1 { font-size: var(--un-t-xl); line-height: 1; }
.un-pagehead p, .un-pagehead__intro p { margin: 12px 0 0; color: var(--un-dust); }
.un-pagehead__pg { font: 500 .45em var(--un-f-data); color: var(--un-haze); vertical-align: middle; }
.un-prose { max-width: var(--un-measure); }
.un-prose h2 { margin: 32px 0 10px; font-size: var(--un-t-l); }
.un-prose p { margin: 0 0 1em; }
.un-log { max-width: var(--un-measure); margin: var(--un-s7) 0 0; padding-top: 12px; border-top: 1px solid var(--un-rule); font-size: .8125rem; color: var(--un-haze); }
.un-log b { margin-right: 8px; font: 600 .8125rem var(--un-f-data); color: var(--un-sig); }
.un-ahead { margin: 12px 0 24px; }
.un-ahead h1 { max-width: 22ch; margin-top: 10px; }
.un-byline { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 14px 0 0; font: 400 .8125rem/1.4 var(--un-f-data); color: var(--un-dust); }
.un-article { display: grid; gap: var(--un-s6); }
.un-article__body { min-width: 0; max-width: var(--un-measure); }
.un-article__body p { margin: 0 0 1em; }
.un-article__body > h2 { margin: 48px 0 12px; font-size: var(--un-t-l); scroll-margin-top: 16px; }
.un-article__body > h3 { margin: 28px 0 8px; font-size: 1.25rem; }
.un-article__body ul, .un-article__body ol:not(.un-toc ol), .un-trust ul, .un-trust ol { padding-left: 1.3em; }
.un-article__body li { margin-bottom: 6px; }
.un-article__body blockquote { margin: 24px 0; padding: 4px 0 4px 16px; border-left: 3px solid var(--un-sig); color: var(--un-dust); }
.un-article__body > table, .un-trust table { width: 100%; margin: 0 0 1em; border-collapse: collapse; font: 400 .875rem/1.4 var(--un-f-data); }
.un-article__body > table th, .un-article__body > table td, .un-trust table th, .un-trust table td { padding: 8px; border-bottom: 1px solid var(--un-rule); text-align: left; }
.un-short { position: relative; margin-bottom: 24px; padding: 20px; }
.un-short::after { content: ""; position: absolute; top: 0; right: 0; width: 14%; height: 100%; background: var(--un-tone-paper); pointer-events: none; }
.un-short h2 { margin: 0 0 8px; font: 600 .75rem/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; color: var(--un-sig-ink); }
.un-short p { position: relative; z-index: 1; max-width: 88%; margin: 0; }
.un-toc { min-width: 0; margin: 0 0 24px; padding: 0 16px; border: var(--un-frame); }
.un-toc summary { padding: 12px 0; cursor: pointer; font: 600 .75rem/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; color: var(--un-dust); }
.un-toc ol { min-width: 0; margin: 0 0 14px; padding-left: 1.6em; }
.un-toc a { display: inline-block; max-width: 100%; padding: 4px 0; overflow-wrap: anywhere; }
.un-figure { margin: 24px 0; }
.un-figure img { display: block; width: 100%; height: auto; }
.un-figure figcaption { margin-top: 8px; font-size: .8125rem; color: var(--un-dust); }
.un-article__side { min-width: 0; }
.un-article__side h2 { margin: 0 0 8px; font: 600 .75rem/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; color: var(--un-dust); }
.un-side__h { margin-top: 20px !important; }
.un-side__list { margin: 0; padding: 0; list-style: none; }
.un-side__list a { display: block; padding: 10px 0; border-bottom: 1px solid var(--un-rule); text-decoration: none; font-size: .9375rem; }
.un-side__list span { font: 600 .8125rem var(--un-f-data); color: var(--un-sig); }
.un-chip-cal { margin: 0; padding: 12px; font: 400 .875rem/1.4 var(--un-f-data); }
.un-chip-cal b { display: block; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--un-sig-ink); }
@media (min-width: 1024px) {
  .un-article { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .un-article__side { position: sticky; top: 16px; }
}
.un-minis { display: grid; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.un-minis a { display: grid; gap: 2px; padding: 12px; border: 1px solid var(--un-rule); text-decoration: none; }
.un-minis a:hover { border-color: var(--un-sig); }
.un-minis b { font: 760 1.125rem/1.1 var(--un-f-display); }
.un-minis span { font: 400 .8125rem/1.35 var(--un-f-data); color: var(--un-dust); }
.un-statefacts { width: 100%; margin: 0 0 24px; border-collapse: collapse; background: var(--un-paper); color: var(--un-ink); font: 400 .875rem/1.4 var(--un-f-data); }
.un-statefacts caption { caption-side: top; padding: 0 0 8px; text-align: left; font: 600 .75rem/1.3 var(--un-f-data); letter-spacing: .1em; text-transform: uppercase; color: var(--un-dust); }
.un-statefacts th, .un-statefacts td { padding: 10px 12px; border-bottom: 1px solid #CFC9BA; text-align: left; vertical-align: top; }
.un-statefacts th { width: 34%; }
.un-states { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.un-states a, .un-states span { display: flex; gap: 8px; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--un-rule); text-decoration: none; }
.un-states span { color: var(--un-haze); border-style: dashed; }
.un-states a:hover { border-color: var(--un-sig); }
.un-states b { font: 600 .75rem var(--un-f-data); color: var(--un-sig); }
.un-author { display: flex; gap: 16px; align-items: center; }
.un-author__img { width: 96px; height: 96px; object-fit: cover; border: 2px solid var(--un-dust); }
.un-links { padding-left: 1.2em; overflow-wrap: anywhere; }
.un-trust { margin-bottom: var(--un-s6); }
.un-trust h2 { margin: 32px 0 10px; }
.un-desk { padding: 20px; border: var(--un-frame); }
.un-desk--wide { max-width: 560px; margin: 0 0 var(--un-s6); }
.un-desk h2 { font-size: 1.25rem; }
.un-desk p { margin: 8px 0 0; }
.un-desk__tel { display: inline-block; padding: 6px 0; font: 700 1.375rem var(--un-f-data); color: var(--un-sig); text-decoration: none; }
.un-desk address { margin-top: 8px; font-style: normal; line-height: 1.7; color: var(--un-dust); }
.un-desk address a { color: var(--un-star); }

/* Notes, FAQ, chips, pager, tables, datasets */
.un-notes { display: grid; gap: var(--un-gutter); margin: 0; padding: 0; list-style: none; }
.un-notes a { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; height: 100%; padding: 16px; border: 1px solid var(--un-rule); text-decoration: none; }
.un-notes a:hover { border-color: var(--un-sig); }
.un-notes a > :not(:first-child) { grid-column: 2; }
.un-notes span { grid-row: span 2; font: 700 .875rem/1.4 var(--un-f-data); color: var(--un-sig); }
.un-notes h2, .un-notes h3 { font-size: 1.25rem; }
.un-notes p { margin: 0; font-size: .9375rem; color: var(--un-dust); }
@media (min-width: 768px) { .un-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.un-callout { margin: 0 0 var(--un-gutter); padding: 20px 24px; }
.un-lead-note { display: block; text-decoration: none; }
.un-lead-note .un-kicker { color: var(--un-sig-ink); }
.un-lead-note h2 { margin: 8px 0; font-size: var(--un-t-l); }
.un-lead-note p { margin: 0 0 8px; }
.un-lead-note__meta { font: 400 .8125rem var(--un-f-data); color: var(--un-ink-2); }
.un-faqsec { margin-top: var(--un-s6); }
.un-faq details { border-bottom: 1px solid var(--un-rule); }
.un-faq summary { position: relative; padding: 16px 40px 16px 0; list-style: none; cursor: pointer; font-weight: 700; line-height: 1.35; }
.un-faq summary::-webkit-details-marker { display: none; }
.un-faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font: 400 1.5rem/1 var(--un-f-data); color: var(--un-sig); }
.un-faq details[open] summary::after { content: "\2212"; }
.un-faq p { max-width: 70ch; margin: 0 0 16px; color: var(--un-dust); }
.un-kinds { margin: 0 0 16px; }
.un-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.un-chip { position: relative; display: block; }
.un-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.un-chip span, .un-chip__a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--un-dust); font-size: .9375rem; text-decoration: none; }
.un-chip input:checked + span, .un-chip__a[aria-current] { background: var(--un-star); color: var(--un-ink); border-color: var(--un-star); }
.un-chip input:focus-visible + span { outline: 3px solid var(--un-sig); outline-offset: 2px; }
.un-chips--paper .un-chip span { border-color: var(--un-ink); }
.un-chips--paper .un-chip input:checked + span { background: var(--un-ink); color: var(--un-paper); border-color: var(--un-ink); }
.un-form--report { margin: 0 0 var(--un-gutter); }
.un-form--report h2 { margin: 0 0 14px; font-size: var(--un-t-l); }
.un-pager { display: flex; align-items: center; gap: 12px; margin: 24px 0 0; }
.un-pager ol { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.un-pager a { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1px solid var(--un-dust); font: 600 .9375rem var(--un-f-data); text-decoration: none; }
.un-pager [aria-current] { display: grid; place-items: center; width: 44px; height: 44px; background: var(--un-star); color: var(--un-ink); font: 700 1rem var(--un-f-data); }
.un-scroll { overflow-x: auto; max-width: 100%; }
.un-table { width: 100%; border-collapse: collapse; font: 400 .875rem/1.4 var(--un-f-data); }
.un-table caption { caption-side: top; padding-bottom: 8px; text-align: left; font: 400 .8125rem/1.5 var(--un-f-text); color: var(--un-dust); }
.un-table th, .un-table td { padding: 10px 8px; border-bottom: 1px solid var(--un-rule); text-align: left; }
.un-table thead th { font-size: .6875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--un-dust); border-bottom: 2px solid var(--un-star); }
.un-dataset { margin-top: 16px; }
.un-dataset__dl { font-size: .875rem; color: var(--un-dust); }
.un-404 { margin-top: var(--un-s7); }
.un-404 p { text-transform: none; letter-spacing: 0; font: 400 1rem/1.5 var(--un-f-text); color: var(--un-dust); }

/* ============ 12. Motion preferences ============ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .un-btn:hover { transform: none; }
}
