/* ==========================================================================
   THE QUANTUM CLUB · HOUSE KIT
   Values measured from thequantumclub.com on 2026-11-03 (HOUSE_STANDARD.v2.md).
   Plain CSS, no layers on purpose: it must beat tokens.css (unlayered) and it
   can be inlined as-is inside a nonce'd <style> on the Workers. No inline
   style attributes anywhere in the kit. Fonts and images resolve relative to
   this file, so keep assets/ beside it.

   USE
     <link rel="stylesheet" href="../kit/house-kit.css">
     <script src="../kit/house-kit.js" defer></script>
     Copy the chrome from chrome.html (sprite, skip link, header, footer).
     Page skeleton:
       <main id="main" class="hk-page"><div class="hk-wrap">…</div></main>

   SWITCHES (attributes on <html>)
     data-hk-lockup="script"   swap monogram + name for the script wordmark (owner-gated)
     data-hk-tone="mono"       sand becomes ivory: the docs monochrome law
     data-theme="light"        light tokens, for properties that keep a toggle

   CLASS INDEX
     layout   hk-wrap(--reading|--mid|--wide) hk-page hk-section hk-band hk-grid(--2|--3|--4) hk-ambient hk-stack
     type     hk-hero(--xl) hk-title(--s) hk-h2(--l) hk-h3(--l) hk-lede hk-body(--l) hk-small hk-meta hk-num
              hk-eyebrow hk-kicker hk-micro hk-count hk-prose(--dense) hk-inline-code hk-vh
     labels   hk-label hk-seclabel hk-rowhead
     chrome   hk-skip hk-nav hk-lockup hk-drawer hk-foot hk-closer
     controls hk-btn(--primary|--glass|--outline|--sand|--cosmic|--quiet|--lg|--block|--block-sm) hk-link hk-chip(s) hk-badge
     surfaces hk-glass hk-card(--s|--glass|--feature) hk-stats hk-ledger hk-claims hk-rowlist hk-callout
     data     hk-table(-wrap)(--cards) hk-code hk-copy hk-acc hk-tabs hk-tab
     forms    hk-field hk-input hk-select hk-check hk-hint hk-err hk-pillfield
     status   hk-dot(--live) hk-st(--mono) with data-st="operational|degraded|outage|maintenance|unknown"
     states   hk-skel(--title|--line|--block) hk-empty hk-error
     motion   data-reveal on anything that starts below the fold (visible-first, house-kit.js)

   CHANGES
     2026-11-03 cohesion pass, design director (backup: concepts/_cohesion/backup-1940/kit/;
              record: concepts/COHESION.md):
       nav    .hk-nav__links gets margin-inline-end:auto. The pill is justify-between,
              so with spare room the links floated to the middle: 117px after the lockup
              on status, 209px on mcp, 38px on trust, 24px on docs (which overrode it).
              Now every property pins them 16px (24px from 1280) after the lockup, as the
              main site reads; with no spare room (the main site's own nav) nothing moves.
       12px   the last eleven 11px labels (.hk-kicker .hk-micro .hk-badge .hk-ledger dt
              .hk-claim__src .hk-rowlist__end .hk-callout__kind .hk-table thead th, the
              phone card-table labels, .hk-code__lang .hk-st--mono) are 12px. Docs, trust
              and mcp each raised a different subset in their own CSS; the floor is the
              kit's now, and those overrides are redundant.
       code   .hk-prose code and .hk-inline-code are max(.875em,12px), so inline code can
              never fall under the floor in a 13px context (docs' own copy of this rule drew
              11.4px in its reference cells on phones; docs.css has the same guard now).
       drawer .hk-drawer__util wraps between items, never inside one (docs' "Light theme"
              broke over two lines at 390px).
       drawer the page behind an open drawer dims to 15% (it is inert already): white pills
              under the 70% tint bloomed through the blur as smudges on mcp, trust, docs.
       chrome chrome.html: the ecosystem status item carries hidden words beside its dot
              (", status unconfirmed" by default), so the dot is never the only carrier.
     2026-11-03 docs round 2 (backup: concepts/docs/FINAL/_src/kit-backup/):
       print  --qc-text-prose/-70/-75/-80, --qc-ivory and --qc-decor now remap to ink, so
              .hk-prose, .hk-lede and every rule using them print dark (they printed at
              white 70-80% on paper). Mono tone prints its accent as ink. Tab panels and
              their headings all print, also after the script has run.
       12px   lockup suffix, drawer utility links and the footer legal lines on phones
              were 11px: raised to the 12px reading floor for every property.
     2026-11-03 status round 6:
       print  --qc-sand-85/-75/-70 print as solid #7f6a4a (5.2:1 on paper), as in the light
              theme. Eyebrows, kickers, footer heads and ledger terms printed at 2.9:1.
   ========================================================================== */

/* 1 · FONTS ---------------------------------------------------------------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/inter-300-700-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-400-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-400-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fragment Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/fragment-mono-400-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/geist-300-700-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Metric-matched fallback, measured by the main site: the swap changes pixels, not geometry. */
@font-face{font-family:"Instrument Serif Fallback";font-style:normal;src:local("Georgia");size-adjust:74.4%;ascent-override:133.06%;descent-override:41.67%;line-gap-override:0%}
@font-face{font-family:"Instrument Serif Fallback";font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic");size-adjust:76.55%;ascent-override:129.33%;descent-override:40.5%;line-gap-override:0%}

/* 2 · TOKENS --------------------------------------------------------------- */
:root{
  color-scheme:dark;
  /* canvas and surfaces */
  --qc-canvas:#000;
  --qc-bg:#0e0e10;              /* Eclipse: raised surfaces only, never the page */
  --qc-base:#0e0e10;
  --qc-band:#0b0b0d;            /* code band */
  --qc-hairline:rgba(255,255,255,.1);
  --qc-hairline-soft:rgba(255,255,255,.07);
  --qc-hairline-strong:rgba(255,255,255,.18);
  --qc-border-interactive:rgba(255,255,255,.36); /* WCAG 1.4.11 on fields */
  --qc-surface-1:rgba(255,255,255,.03);
  --qc-surface-2:rgba(255,255,255,.05);
  /* text ladder, as rendered on the main site */
  --qc-text-strong:#fff;
  --qc-text-high:rgba(255,255,255,.85);
  --qc-text-secondary:rgba(255,255,255,.72);
  --qc-text-body:rgba(255,255,255,.65);
  --qc-text-chrome:rgba(255,255,255,.6);
  --qc-text-meta:rgba(255,255,255,.55);
  --qc-text-floor:rgba(255,255,255,.5);   /* 5.3:1 on black. Nothing dimmer for words. */
  --qc-text-70:rgba(255,255,255,.7);
  --qc-text-75:rgba(255,255,255,.75);
  --qc-text-80:rgba(255,255,255,.8);
  --qc-text-prose:rgba(255,255,255,.74);
  --qc-ivory:#f9f9f9;
  --qc-decor:rgba(255,255,255,.35);       /* chevrons and glyphs only, never words */
  --qc-fill-soft:rgba(255,255,255,.06);
  --qc-fill-hover:rgba(255,255,255,.1);
  --qc-fill-tab:rgba(255,255,255,.14);
  --qc-tab-ring:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.1);
  --qc-line-15:rgba(255,255,255,.15);
  --qc-line-25:rgba(255,255,255,.25);
  --qc-border-hover:rgba(255,255,255,.5);
  --qc-veil:rgba(255,255,255,.08);
  --qc-primary-bg:#fff;
  --qc-primary-fg:#000;
  /* accent. Every sand use goes through this triplet so data-hk-tone="mono" can flip it. */
  --qc-accent-rgb:209 196 176;
  --qc-sand:rgb(var(--qc-accent-rgb));
  --qc-sand-text:rgb(var(--qc-accent-rgb));
  --qc-sand-85:rgb(var(--qc-accent-rgb) / .85);
  --qc-sand-75:rgb(var(--qc-accent-rgb) / .75);
  --qc-sand-70:rgb(var(--qc-accent-rgb) / .7);
  --qc-sand-40:rgb(var(--qc-accent-rgb) / .4);
  --qc-sand-30:rgb(var(--qc-accent-rgb) / .3);
  /* status ladder: the only hues in the house */
  --qc-st-operational:#30c48d;--qc-st-operational-ink:#52d5a4;
  --qc-st-degraded:#e0a33e;--qc-st-degraded-ink:#e7b86a;
  --qc-st-outage:#f0616b;--qc-st-outage-ink:#f49097;
  --qc-st-maintenance:#5b9def;--qc-st-maintenance-ink:#89b9f4;
  --qc-st-unknown:#6e6e73;--qc-st-unknown-ink:#87878d;
  /* glass */
  --qc-glass-bg:rgba(15,15,17,.13);
  --qc-glass-filter:blur(6px) saturate(1.18);
  --qc-glass-ring:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.08);
  --qc-nav-bg:rgba(255,255,255,.03);
  --qc-nav-bg-scrolled:rgba(9,9,9,.85); /* Batch 3: .5 let nav words drop to 2.4:1 over white page content; .85 holds 5.9:1 */
  --qc-nav-filter:blur(12px) saturate(1.15);
  --qc-nav-ring:inset 0 0 0 1px rgba(255,255,255,.08);
  --qc-scrim-drawer:rgba(14,14,16,.7);
  --qc-shadow-1:inset 0 1px 0 rgba(255,255,255,.05),0 8px 24px rgba(0,0,0,.4);
  --qc-shadow-2:inset 0 1px 0 rgba(255,255,255,.06),0 22px 52px -14px rgba(0,0,0,.72);
  /* focus: owner decision D14 */
  --qc-focus-edge:rgba(255,255,255,.88);
  --qc-focus-edge-ink:#0e0e10;
  --qc-focus-w:1px;
  --qc-focus-ink-inset:2px;
  --qc-focus-glass:rgba(255,255,255,.1);
  --qc-focus-text:#fff;
  --qc-focus-row-radius:.875rem;
  --qc-focus-row-inset:4px;
  /* type */
  --qc-font-body:"Inter",system-ui,-apple-system,sans-serif;
  --qc-font-display:"Geist","Inter",system-ui,sans-serif;
  --qc-font-mono:"Fragment Mono",ui-monospace,"SF Mono",monospace;
  --qc-font-serif:"Instrument Serif","Instrument Serif Fallback",Georgia,serif;
  --qc-serif-min:18px;
  /* motion */
  --qc-ease:cubic-bezier(.16,1,.3,1);
  --qc-dur-fast:.2s;
  --qc-dur:.4s;
  --qc-dur-slow:.8s;
  /* layout */
  --qc-gutter:1.5rem;
  --qc-w-lede:42rem;
  --qc-w-reading:48rem;
  --qc-w-mid:56rem;
  --qc-w-default:64rem;
  --qc-w-wide:75rem;
  --qc-w-foot:80rem;
  --qc-chrome-top:6rem;
  --qc-page-top:8rem;
  --qc-section:5rem;
  --qc-z-nav:50;
  --qc-z-modal:100;
  --qc-z-skip:1000;
  --qc-disabled-opacity:.45;
  --qc-tap:44px;
  --qc-icon-stroke:2;  /* DESIGN_SYSTEM 4.4 says 1.5; the main site renders Lucide's default 2 everywhere. Benchmark wins, flagged. */
}
@media (min-width:768px){:root{--qc-page-top:10rem;--qc-section:6rem}}
@media (color-gamut:p3){:root:not([data-hk-tone="mono"]):not([data-theme="light"]){--qc-sand:color(display-p3 .828 .772 .678);--qc-sand-text:color(display-p3 .828 .772 .678)}}
@media (prefers-contrast:more){:root{--qc-focus-w:2px;--qc-focus-edge:#fff;--qc-text-body:rgba(255,255,255,.85);--qc-text-chrome:rgba(255,255,255,.8);--qc-text-meta:rgba(255,255,255,.75);--qc-text-floor:rgba(255,255,255,.7);--qc-hairline:rgba(255,255,255,.3)}}
html[data-hk-tone="mono"]{--qc-accent-rgb:245 244 239}
html[data-theme="light"]{
  color-scheme:light;
  --qc-canvas:#fff;--qc-bg:#f4f2ec;--qc-base:#f4f2ec;--qc-band:#f7f6f2;
  --qc-hairline:rgba(17,17,18,.12);--qc-hairline-soft:rgba(17,17,18,.08);--qc-hairline-strong:rgba(17,17,18,.2);
  --qc-border-interactive:rgba(17,17,18,.45);--qc-surface-1:rgba(17,17,18,.03);--qc-surface-2:rgba(17,17,18,.05);
  --qc-text-strong:#111112;--qc-text-high:rgba(17,17,18,.92);--qc-text-secondary:rgba(17,17,18,.86);--qc-text-body:rgba(17,17,18,.78);--qc-text-chrome:rgba(17,17,18,.68);--qc-text-meta:rgba(17,17,18,.64);--qc-text-floor:rgba(17,17,18,.6);
  --qc-accent-rgb:127 106 74;
  --qc-st-operational:#29a778;--qc-st-operational-ink:#20825e;--qc-st-degraded:#c68720;--qc-st-degraded-ink:#9f6c19;--qc-st-outage:#f0616b;--qc-st-outage-ink:#e91b2a;--qc-st-maintenance:#4d95ee;--qc-st-maintenance-ink:#1773e7;--qc-st-unknown:#6e6e73;--qc-st-unknown-ink:#6e6e73;
  --qc-glass-bg:rgba(255,255,255,.72);--qc-glass-ring:inset 0 0 0 1px rgba(17,17,18,.1),inset 0 1px 0 rgba(17,17,18,.04);
  --qc-nav-bg:rgba(255,255,255,.72);--qc-nav-bg-scrolled:rgba(255,255,255,.88);--qc-nav-ring:inset 0 0 0 1px rgba(17,17,18,.1);--qc-scrim-drawer:rgba(255,255,255,.92);
  --qc-shadow-1:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.06);--qc-shadow-2:0 1px 2px rgba(0,0,0,.05),0 16px 40px -12px rgba(0,0,0,.14);
  --qc-focus-edge:rgba(17,17,18,.88);--qc-focus-edge-ink:#fff;--qc-focus-glass:rgba(17,17,18,.06);--qc-focus-text:#111112;
  --qc-text-70:rgba(17,17,18,.8);--qc-text-75:rgba(17,17,18,.82);--qc-text-80:rgba(17,17,18,.85);--qc-text-prose:rgba(17,17,18,.84);--qc-ivory:#111112;--qc-decor:rgba(17,17,18,.4);
  --qc-fill-soft:rgba(17,17,18,.04);--qc-fill-hover:rgba(17,17,18,.07);--qc-fill-tab:#fff;--qc-tab-ring:0 1px 2px rgba(0,0,0,.08),inset 0 0 0 1px rgba(17,17,18,.1);
  --qc-line-15:rgba(17,17,18,.18);--qc-line-25:rgba(17,17,18,.3);--qc-border-hover:rgba(17,17,18,.6);--qc-veil:rgba(17,17,18,.06);--qc-primary-bg:#111112;--qc-primary-fg:#fff;
  --qc-sand-85:#7f6a4a;--qc-sand-75:#7f6a4a;--qc-sand-70:#7f6a4a;--qc-sand-40:rgb(127 106 74 / .45);
}
/* Light pages keep the house's dark chrome where it lives on imagery: the footer stays night. */
@media screen{html[data-theme="light"] .hk-foot{color-scheme:dark;--qc-canvas:#000;--qc-bg:#0e0e10;--qc-hairline:rgba(255,255,255,.1);--qc-hairline-soft:rgba(255,255,255,.07);--qc-hairline-strong:rgba(255,255,255,.18);--qc-text-strong:#fff;--qc-text-high:rgba(255,255,255,.85);--qc-text-secondary:rgba(255,255,255,.72);--qc-text-body:rgba(255,255,255,.65);--qc-text-chrome:rgba(255,255,255,.6);--qc-text-meta:rgba(255,255,255,.55);--qc-text-floor:rgba(255,255,255,.5);--qc-accent-rgb:209 196 176;--qc-sand:#d1c4b0;--qc-sand-text:#d1c4b0;--qc-sand-85:rgb(209 196 176 / .85);--qc-sand-75:rgb(209 196 176 / .75);--qc-sand-70:rgb(209 196 176 / .7);--qc-sand-40:rgb(209 196 176 / .4);--qc-glass-bg:rgba(15,15,17,.13);--qc-glass-ring:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.08);--qc-fill-hover:rgba(255,255,255,.1);--qc-line-25:rgba(255,255,255,.25);--qc-primary-bg:#fff;--qc-primary-fg:#000;--qc-focus-edge:rgba(255,255,255,.88);--qc-focus-edge-ink:#0e0e10;--qc-focus-glass:rgba(255,255,255,.1);--qc-focus-text:#fff;--qc-st-unknown:#6e6e73}}
html[data-theme="light"] .hk-lockup__mono,html[data-theme="light"] .hk-lockup__script{filter:invert(1)}
html[data-theme="light"] .hk-btn--cosmic{background:#111112}

/* 3 · BASE ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--qc-chrome-top);-webkit-tap-highlight-color:transparent;background:var(--qc-canvas)}
body{margin:0;min-height:100dvh;background:var(--qc-canvas);color:var(--qc-text-strong);font-family:var(--qc-font-body);font-optical-sizing:auto;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
h1,h2,h3,h4,h5,h6,p,dl,dd,ul,ol,figure,pre,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font-size:16px}
summary{cursor:pointer}
sup{position:relative;top:-.5em;font-size:75%;line-height:0;vertical-align:baseline}
strong{font-weight:600}
[hidden]{display:none!important}
::selection{background:rgb(var(--qc-accent-rgb) / .28)}
.hk-sprite{position:absolute;width:0;height:0;overflow:hidden}
.hk-ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:var(--qc-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.hk-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* 4 · LAYOUT --------------------------------------------------------------- */
.hk-wrap{width:100%;max-width:calc(var(--qc-w-default) + 2*var(--qc-gutter));margin-inline:auto;padding-inline:var(--qc-gutter)}
.hk-wrap--reading{max-width:calc(var(--qc-w-reading) + 2*var(--qc-gutter))}
.hk-wrap--mid{max-width:calc(var(--qc-w-mid) + 2*var(--qc-gutter))}
.hk-wrap--wide{max-width:calc(var(--qc-w-wide) + 2*var(--qc-gutter))}
.hk-page{position:relative;padding-top:var(--qc-page-top);padding-bottom:7rem}
.hk-section{margin-top:5rem}                       /* reference pages: /press/ rhythm */
.hk-band{padding-block:var(--qc-section)}          /* editorial pages: /members/ rhythm */
.hk-grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.hk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.hk-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.hk-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.hk-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hk-stack>*+*{margin-top:1rem}
/* Ambient light: the /press/ recipe. Zero alpha before its box edges; one per viewport. */
.hk-ambient{position:absolute;inset:0 0 auto;height:55vh;opacity:.16;pointer-events:none;background:radial-gradient(60% 60% at 50% 0%,rgb(var(--qc-accent-rgb) / .4),transparent 70%)}
.hk-page>:not(.hk-ambient){position:relative}

/* 5 · TYPE ----------------------------------------------------------------- */
.hk-hero{font-family:var(--qc-font-serif);font-weight:400;font-size:3rem;line-height:1.05;letter-spacing:-.025em;color:var(--qc-text-strong);text-wrap:balance}
.hk-hero--xl{font-size:clamp(2.4rem,12.2vw,3.4rem)}
.hk-title{font-family:var(--qc-font-body);font-weight:500;font-size:3rem;line-height:1;letter-spacing:-.025em;color:var(--qc-text-strong);text-wrap:balance}
.hk-title--s{font-size:2.25rem;line-height:1.08}
.hk-h2{font-family:var(--qc-font-body);font-weight:500;font-size:1.5rem;line-height:2rem;letter-spacing:-.025em;color:var(--qc-text-strong);text-wrap:balance}
.hk-h2--l{font-size:1.875rem;line-height:1.2}
.hk-h3{font-family:var(--qc-font-body);font-weight:500;font-size:1.125rem;line-height:1.75rem;color:var(--qc-text-strong)}
.hk-h3--l{letter-spacing:-.025em}
@media (min-width:640px){.hk-hero--xl{font-size:4.5rem}}
@media (min-width:768px){
  .hk-hero{font-size:4.5rem}
  .hk-hero--xl{font-size:6rem}
  .hk-title{font-size:3.75rem}
  .hk-title--s{font-size:3rem}
  .hk-h2{font-size:1.875rem;line-height:1.2}
  .hk-h2--l{font-size:3rem;line-height:1.1}
  .hk-h3--l{font-size:1.25rem;line-height:1.4}
}
@media (min-width:1024px){.hk-hero--xl{font-size:8rem}}
/* The signature: one italic serif word per title. Serif never below 18px. */
.hk-hero em,.hk-title em,.hk-h2 em,.hk-closer em,.hk-accent{font-family:var(--qc-font-serif);font-style:italic;font-weight:400;color:var(--qc-sand)}
.hk-accent--white,.hk-title em.hk-accent--white,.hk-hero em.hk-accent--white,.hk-h2 em.hk-accent--white{color:var(--qc-text-strong)}
:is(:lang(ru),:lang(zh),:lang(ar)) :is(.hk-hero,.hk-title,.hk-h2) em{font-family:inherit;font-style:normal}
.hk-lede{font-size:1.125rem;line-height:1.625;color:var(--qc-text-70);max-width:var(--qc-w-lede);text-wrap:pretty}
.hk-body{font-size:.9375rem;line-height:1.625;color:var(--qc-text-body);max-width:var(--qc-w-lede);text-wrap:pretty}
.hk-body--l{font-size:1rem}
.hk-small{font-size:.875rem;line-height:1.625;color:var(--qc-text-body)}
.hk-meta{font-size:.8125rem;line-height:1.5;color:var(--qc-text-meta)}
.hk-num{font-family:var(--qc-font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.hk-eyebrow{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1rem;letter-spacing:.25em;text-transform:uppercase;color:var(--qc-sand-70)}
.hk-kicker{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:var(--qc-sand-70)}
.hk-micro{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--qc-sand-70)}
.hk-count{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--qc-text-meta)}
/* Vertical rhythm measured on /press/ and /about/ */
.hk-eyebrow+.hk-hero,.hk-eyebrow+.hk-title,.hk-label+.hk-hero,.hk-label+.hk-title{margin-top:1.25rem}
.hk-hero+.hk-lede,.hk-title+.hk-lede{margin-top:1.5rem}
.hk-lede+.hk-chips,.hk-lede+.hk-actions{margin-top:2rem}
.hk-kicker+.hk-h2{margin-top:.75rem}
.hk-h2+.hk-body,.hk-h2+.hk-lede{margin-top:1rem}
.hk-body+:is(.hk-ledger,.hk-grid,.hk-stats,.hk-table-wrap,.hk-acc,.hk-rowlist,.hk-code,.hk-tabs),.hk-h2+:is(.hk-ledger,.hk-grid,.hk-stats,.hk-table-wrap,.hk-acc,.hk-rowlist,.hk-code,.hk-tabs){margin-top:2rem}
.hk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
/* Long-form reading: Journal values. --dense keeps the docs law of 16/1.7. */
.hk-prose{max-width:var(--qc-w-reading);font-size:1rem;line-height:1.75;color:var(--qc-text-prose);text-wrap:pretty}
.hk-prose>*+*{margin-top:1.5rem}
.hk-prose h2{font-weight:500;font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;color:var(--qc-text-strong);margin-top:3rem}
.hk-prose h3{font-weight:500;font-size:1.25rem;line-height:1.3;letter-spacing:-.01em;color:var(--qc-text-strong);margin-top:2.5rem}
.hk-prose strong{color:var(--qc-text-strong)}
.hk-prose ul,.hk-prose ol{padding-inline-start:1.25rem}
.hk-prose ul{list-style:disc}.hk-prose ol{list-style:decimal}
.hk-prose li+li{margin-top:.5rem}
.hk-prose li::marker{color:var(--qc-sand-70)}
.hk-prose blockquote{padding-inline-start:1.25rem;border-inline-start:1px solid var(--qc-sand-40);color:var(--qc-text-high)}
.hk-prose hr{border:0;border-top:1px solid var(--qc-hairline);margin-block:3rem}
@media (min-width:768px){.hk-prose{font-size:1.125rem}.hk-prose h2{font-size:1.875rem}.hk-prose h3{font-size:1.5rem}}
.hk-prose--dense{line-height:1.7}
@media (min-width:768px){.hk-prose--dense{font-size:1rem}}
.hk-prose code,.hk-inline-code{font-family:var(--qc-font-mono);font-size:max(.875em,12px);padding:.1em .4em;border-radius:6px;background:var(--qc-surface-2);box-shadow:inset 0 0 0 1px var(--qc-hairline);color:var(--qc-text-high);overflow-wrap:anywhere}

/* 6 · LABELS --------------------------------------------------------------- */
.hk-label{display:flex;align-items:center;gap:.5rem;font-family:var(--qc-font-mono);font-size:.75rem;line-height:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--qc-text-chrome)}
.hk-label::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--qc-sand)}
.hk-seclabel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--qc-hairline);font-size:.75rem;line-height:1rem}
.hk-seclabel__tag{display:flex;align-items:center;gap:.5rem;font-weight:500;letter-spacing:-.025em;color:var(--qc-text-75)}
.hk-seclabel__tag::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--qc-sand)}
.hk-seclabel__meta{font-family:var(--qc-font-mono);color:var(--qc-text-meta)}
.hk-rowhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--qc-hairline)}
.hk-rowhead+.hk-body{margin-top:.75rem}

/* 7 · NAV ------------------------------------------------------------------ */
.hk-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hk-skip:focus{position:fixed;top:1rem;inset-inline-start:1rem;z-index:var(--qc-z-skip);width:auto;height:auto;clip:auto;padding:.5rem 1.25rem;border-radius:9999px;background:#fff;color:#000;font-size:.875rem;font-weight:500}
.hk-nav{position:fixed;inset:0 0 auto;z-index:var(--qc-z-nav);pointer-events:none;padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}
.hk-nav__pill{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;max-width:var(--qc-w-default);margin:1rem auto 0;padding:13px 20px;border-radius:9999px;background:var(--qc-nav-bg);-webkit-backdrop-filter:var(--qc-nav-filter);backdrop-filter:var(--qc-nav-filter);box-shadow:var(--qc-nav-ring);transition:padding .3s ease-out,background-color .3s ease-out}
html[data-hk-scrolled] .hk-nav__pill{padding-block:7px;background:var(--qc-nav-bg-scrolled)}
@media (min-width:640px){.hk-nav{padding-inline:max(1.5rem,env(safe-area-inset-left)) max(1.5rem,env(safe-area-inset-right))}.hk-nav__pill{padding-inline:24px}}
@media (min-width:1024px){.hk-nav__pill{padding-inline:20px}}
@media (min-width:1280px){.hk-nav__pill{max-width:var(--qc-w-wide);padding-inline:24px}}

/* Lockup: owner-gated. Default = the main site's. Flip data-hk-lockup="script" on <html>. */
.hk-lockup{display:flex;align-items:center;gap:10px;flex:none;min-height:var(--qc-tap);border-radius:9999px;white-space:nowrap}
.hk-lockup__mono{width:auto;height:28px}
.hk-lockup__script{display:none;width:auto;height:26px}
.hk-lockup__name{font-size:15px;font-weight:500;line-height:1.5;letter-spacing:-.025em;color:var(--qc-text-strong)}
.hk-lockup__name sup{margin-inline-start:2px;font-size:8px;color:var(--qc-text-floor)}
.hk-lockup__suffix{margin-inline-start:2px;padding:3px 0 3px 10px;border-inline-start:1px solid var(--qc-hairline-strong);font-family:var(--qc-font-mono);font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--qc-sand)}
html[data-hk-lockup="script"] .hk-lockup__mono,html[data-hk-lockup="script"] .hk-lockup__name{display:none}
html[data-hk-lockup="script"] .hk-lockup__script{display:block}
@media (max-width:339.98px){.hk-lockup__name{display:none}}

/* Links. Lit item = the hovered one, else the current page: the main site's sand indicator. */
.hk-nav__links{position:relative;isolation:isolate;display:none;align-items:center;margin-inline-start:1rem;margin-inline-end:auto}
.hk-nav__link{position:relative;display:flex;align-items:center;gap:2px;padding:8px 10px;border-radius:9999px;white-space:nowrap;font-size:15px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--qc-text-chrome);transition:color .15s ease}
.hk-nav__link::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgb(var(--qc-accent-rgb) / .08);box-shadow:inset 0 0 0 1px rgb(var(--qc-accent-rgb) / .2),inset 0 1px 0 rgb(var(--qc-accent-rgb) / .25);opacity:0;transition:opacity .25s ease-out}
.hk-nav__link:has(.hk-nav__chev){padding-inline-end:6px}
.hk-nav__link:hover,.hk-nav__link[aria-current]{color:var(--qc-text-strong)}
.hk-nav__link:hover::before,.hk-nav__link[aria-current]::before{opacity:1}
.hk-nav__links:has(.hk-nav__link:hover) .hk-nav__link[aria-current]:not(:hover){color:var(--qc-text-chrome)}
.hk-nav__links:has(.hk-nav__link:hover) .hk-nav__link[aria-current]:not(:hover)::before{opacity:0}
.hk-nav__chev{flex:none;width:11px;height:11px;margin-top:2px;color:var(--qc-decor);fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hk-nav__glide{display:none}
@supports (anchor-name:--a) and (position-anchor:--a){
  .hk-nav__links:has(>.hk-nav__glide){anchor-scope:--hk-lit}
  .hk-nav__links:has(>.hk-nav__glide) .hk-nav__link::before{display:none}
  .hk-nav__links:has(>.hk-nav__glide) .hk-nav__link[aria-current]{anchor-name:--hk-lit}
  .hk-nav__links:has(>.hk-nav__glide):has(.hk-nav__link:hover) .hk-nav__link[aria-current]{anchor-name:none}
  .hk-nav__links:has(>.hk-nav__glide) .hk-nav__link:hover{anchor-name:--hk-lit}
  .hk-nav__glide{display:block;position:absolute;z-index:-1;position-anchor:--hk-lit;top:anchor(top);left:anchor(left);right:anchor(right);bottom:anchor(bottom);border-radius:9999px;background:rgb(var(--qc-accent-rgb) / .08);box-shadow:inset 0 0 0 1px rgb(var(--qc-accent-rgb) / .2),inset 0 1px 0 rgb(var(--qc-accent-rgb) / .25);opacity:0;transition:top .38s var(--qc-ease),left .38s var(--qc-ease),right .38s var(--qc-ease),bottom .38s var(--qc-ease),opacity .25s ease-out}
  .hk-nav__links:has(.hk-nav__link:hover,.hk-nav__link[aria-current]) .hk-nav__glide{opacity:1}
}
.hk-nav__end{display:none;flex:none;align-items:center;gap:.75rem;margin-inline-start:1rem}
.hk-nav__quiet{display:inline-flex;align-items:center;min-height:var(--qc-tap);white-space:nowrap;font-size:14px;font-weight:500;line-height:1.25rem;color:var(--qc-text-70);transition:color .15s ease}
.hk-nav__quiet:hover{color:var(--qc-text-strong)}
.hk-nav__end .hk-btn{padding-inline:16px}
.hk-nav__menu{display:grid;place-items:center;flex:none;width:var(--qc-tap);height:var(--qc-tap);border-radius:9999px;color:var(--qc-text-strong);font-size:20px;transition:background-color .2s ease}
.hk-nav__menu:hover{background:var(--qc-fill-hover)}
@media (min-width:1024px){.hk-nav__links,.hk-nav__end{display:flex}.hk-nav__menu{display:none}}
@media (min-width:1280px){.hk-nav__links{margin-inline-start:1.5rem}.hk-nav__link{padding:8px 14px}.hk-nav__link:has(.hk-nav__chev){padding-inline-end:10px}.hk-nav__end{margin-inline-start:1.5rem}.hk-nav__end .hk-btn{padding-inline:20px}}

/* Drawer: a popover, so it opens and closes with no JS at all. house-kit.js adds
   the focus trap, inert siblings and focus return. Full screen, mirrors the pill. */
.hk-drawer{pointer-events:auto;position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0 max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));border:0;color:var(--qc-text-strong);background:var(--qc-scrim-drawer);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow-y:auto;overscroll-behavior:contain;opacity:1;transition:opacity .28s ease,display .28s allow-discrete,overlay .28s allow-discrete}
.hk-drawer:popover-open,.hk-drawer[data-open]{display:flex;flex-direction:column}
@starting-style{.hk-drawer:popover-open{opacity:0}}
.hk-drawer:not(:popover-open):not([data-open]){opacity:0}
.hk-drawer::backdrop{background:transparent}
.hk-drawer__head{display:flex;flex:none;align-items:center;justify-content:space-between;width:100%;max-width:var(--qc-w-default);margin:1rem auto 0;padding:13px 20px}
html[data-hk-scrolled] .hk-drawer__head{padding-block:7px}
.hk-drawer__close{display:grid;place-items:center;flex:none;width:var(--qc-tap);height:var(--qc-tap);border-radius:9999px;color:var(--qc-text-strong);font-size:20px;transition:background-color .2s ease}
.hk-drawer__close:hover{background:var(--qc-fill-hover)}
.hk-drawer__list{flex:1 0 auto;width:100%;max-width:var(--qc-w-default);margin-inline:auto;padding:12px 20px 0}
.hk-drawer__row{border-top:1px solid var(--qc-hairline-soft)}
.hk-drawer__row:first-child{border-top:0}
.hk-drawer__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding-block:15px;list-style:none;text-align:start;font-size:2.05rem;font-weight:500;line-height:1;letter-spacing:-.025em;color:var(--qc-text-meta);transition:color .2s ease}
.hk-drawer__item::-webkit-details-marker{display:none}
.hk-drawer__item[aria-current],.hk-drawer__item:hover,details[open]>.hk-drawer__item{color:var(--qc-text-strong)}
.hk-drawer__item .hk-ico{font-size:20px;color:var(--qc-decor);transition:transform .5s var(--qc-ease),color .2s ease}
details[open]>.hk-drawer__item .hk-ico{transform:rotate(180deg);color:var(--qc-sand)}
.hk-drawer__panel{display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem 0 1.25rem}
.hk-drawer__foot{flex:none;display:flex;flex-direction:column;gap:.625rem;width:100%;max-width:var(--qc-w-default);margin-inline:auto;padding:.75rem 20px max(1rem,env(safe-area-inset-bottom))}
.hk-drawer__util{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:1.25rem;padding-top:.375rem}
.hk-drawer__util>*{white-space:nowrap}
.hk-drawer__util a{display:inline-flex;align-items:center;min-height:var(--qc-tap);font-family:var(--qc-font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--qc-text-chrome);transition:color .15s ease}
.hk-drawer__util a:hover{color:var(--qc-text-high)}
@keyframes hk-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
:is(.hk-drawer:popover-open,.hk-drawer[data-open]) :is(.hk-drawer__row,.hk-drawer__foot){animation:hk-rise .42s var(--qc-ease) both}
.hk-drawer__row:nth-child(2){animation-delay:.045s!important}.hk-drawer__row:nth-child(3){animation-delay:.09s!important}.hk-drawer__row:nth-child(4){animation-delay:.135s!important}.hk-drawer__row:nth-child(5){animation-delay:.18s!important}.hk-drawer__row:nth-child(6){animation-delay:.225s!important}
.hk-drawer__foot{animation-delay:.28s!important}
html:has(.hk-drawer:popover-open),html:has(.hk-drawer[data-open]){overflow:hidden}
/* The page behind the open drawer dims (it is inert already), so a white pill under the
   drawer cannot bloom through its blur as a smudge. The drawer material stays the main site's. */
body:has(.hk-drawer:popover-open)>:not(.hk-nav),body:has(.hk-drawer[data-open])>:not(.hk-nav){opacity:.15}
@media (min-width:1024px){.hk-drawer{display:none!important}}

/* 8 · CONTROLS ------------------------------------------------------------- */
.hk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--qc-tap);padding:10px 20px;border-radius:9999px;font-size:.875rem;font-weight:500;line-height:1.25rem;white-space:nowrap;text-align:center;touch-action:manipulation;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}
.hk-btn .hk-ico{font-size:16px;transition:transform .2s ease}
.hk-btn:hover .hk-ico--ne{transform:translate(2px,-2px)}
.hk-btn:hover .hk-ico--e{transform:translateX(2px)}
.hk-btn--lg{padding:16px 32px}
.hk-btn--md{padding:14px 28px}
.hk-btn--block{width:100%}
@media (max-width:639.98px){.hk-btn--block-sm{width:100%}}
.hk-btn--primary{background:var(--qc-primary-bg);color:var(--qc-primary-fg)}
.hk-btn--primary:hover{transform:scale(1.02)}
.hk-btn--primary:active{transform:scale(.98)}
.hk-btn--glass{color:var(--qc-text-strong);background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter);box-shadow:var(--qc-glass-ring)}
.hk-btn--glass:hover{background-color:var(--qc-fill-hover)}
.hk-btn--glass .hk-ico{font-size:15px;color:var(--qc-text-meta)}
.hk-btn--outline{color:var(--qc-text-strong);box-shadow:inset 0 0 0 1px var(--qc-line-25)}
.hk-btn--outline:hover{background-color:var(--qc-fill-hover)}
.hk-btn--sand{color:var(--qc-sand);background:rgb(var(--qc-accent-rgb) / .12);box-shadow:inset 0 0 0 1px rgb(var(--qc-accent-rgb) / .25)}
.hk-btn--sand:hover{background:var(--qc-sand);color:var(--qc-bg)}
.hk-btn--cosmic{position:relative;isolation:isolate;overflow:hidden;gap:.375rem;color:#f9f9f9;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.31);text-shadow:0 0 1px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.5);-webkit-backdrop-filter:none;backdrop-filter:none}
.hk-btn--cosmic::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:url("/assets/img/cosmic-cta-poster.webp") 50% 42%/cover no-repeat;opacity:.3;transition:opacity .52s cubic-bezier(.22,1,.36,1)}
.hk-btn--cosmic .hk-ico{font-size:15px;color:var(--qc-sand);filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.hk-btn--cosmic:hover{transform:scale(1.02)}
.hk-btn--cosmic:hover::before,.hk-btn--cosmic:focus-visible::before{opacity:1}
.hk-btn--quiet{gap:.375rem;padding:0;color:var(--qc-sand);border-radius:0}
.hk-btn--quiet:hover{color:var(--qc-ivory)}
.hk-btn[disabled],.hk-btn[aria-disabled="true"]{opacity:var(--qc-disabled-opacity);pointer-events:none}
.hk-btn[aria-busy="true"]{pointer-events:none}
.hk-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-inline-end-color:transparent;animation:hk-spin .8s linear infinite}
@keyframes hk-spin{to{transform:rotate(1turn)}}
.hk-link{color:var(--qc-sand);text-decoration:underline;text-decoration-color:var(--qc-sand-40);text-underline-offset:4px;border-radius:2px;transition:color .2s ease,text-decoration-color .2s ease}
.hk-link:hover{text-decoration-color:var(--qc-sand)}
.hk-prose a:not([class]),.hk-body a:not([class]),.hk-lede a:not([class]),.hk-small a:not([class]),.hk-meta a:not([class]){color:var(--qc-sand);text-decoration:underline;text-decoration-color:var(--qc-sand-40);text-underline-offset:4px;transition:text-decoration-color .2s ease}
.hk-prose a:not([class]):hover,.hk-body a:not([class]):hover,.hk-lede a:not([class]):hover,.hk-small a:not([class]):hover,.hk-meta a:not([class]):hover{text-decoration-color:var(--qc-sand)}
.hk-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.hk-chip{display:inline-flex;align-items:center;min-height:var(--qc-tap);padding-inline:1rem;border-radius:9999px;font-size:.8125rem;line-height:1.5;color:var(--qc-text-75);background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter);box-shadow:var(--qc-glass-ring);transition:color .15s ease,background-color .15s ease}
.hk-chip:hover{color:var(--qc-text-strong);background-color:var(--qc-fill-soft)}
.hk-chip--line{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--qc-line-15);color:var(--qc-text-70)}
.hk-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border-radius:9999px;box-shadow:inset 0 0 0 1px var(--qc-hairline);font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--qc-text-chrome)}

/* 9 · SURFACES ------------------------------------------------------------- */
/* Glass pills keep the ring. Glass cards drop it and melt into the black, as on the main site. */
.hk-glass{background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter);box-shadow:var(--qc-glass-ring)}
/* Ink card = /answers/: the visible one. Default for anything that must read as a card on black. */
.hk-card{display:block;position:relative;padding:1.75rem;border-radius:24px;border:1px solid var(--qc-hairline);background:var(--qc-bg)}
.hk-card--s{padding:1.25rem;border-radius:16px}
.hk-card--glass{border:0;background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter)}
.hk-card--feature{padding:2rem}
@media (min-width:768px){.hk-card--feature{padding:3rem}}
a.hk-card{transition:transform .3s var(--qc-ease),border-color .3s var(--qc-ease)}
a.hk-card:hover{transform:translateY(-2px);border-color:var(--qc-sand-30)}
.hk-card__title{display:block;font-weight:500;font-size:1.125rem;line-height:1.75rem;letter-spacing:-.025em;color:var(--qc-text-strong)}
@media (min-width:768px){.hk-card__title{font-size:1.25rem;line-height:1.4}}
.hk-card--s .hk-card__text{margin-top:.5rem}
.hk-card--s .hk-card__title{font-size:1.125rem;line-height:1.75rem;letter-spacing:0}
.hk-card__text{display:block;margin-top:.75rem;font-size:.875rem;line-height:1.625;color:var(--qc-text-body)}
.hk-card__more{display:flex;width:fit-content;align-items:center;gap:.375rem;margin-top:1rem;font-size:.875rem;font-weight:500;color:var(--qc-sand)}
.hk-card__more .hk-ico{font-size:14px;transition:transform .2s ease}
a.hk-card:hover .hk-card__more .hk-ico{transform:translateX(2px)}
.hk-stats{display:grid;gap:1px;grid-template-columns:minmax(0,1fr);overflow:hidden;border-radius:16px;background:var(--qc-hairline)}
@media (min-width:640px){.hk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hk-stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:1.5rem;background:var(--qc-bg)}
.hk-stat__n{font-family:var(--qc-font-display);font-size:2.25rem;font-weight:300;line-height:1.1111;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--qc-text-strong)}
.hk-stat__d{margin-top:.5rem;font-size:.875rem;line-height:1.375;color:var(--qc-text-body)}
/* Ledger rows: the /press/ fact sheet. <dl class="hk-ledger"><div><dt/><dd/></div></dl> */
.hk-ledger{border-block:1px solid var(--qc-hairline)}
.hk-ledger>div{display:grid;gap:.25rem;grid-template-columns:minmax(0,1fr);padding-block:1rem}
.hk-ledger>div+div{border-top:1px solid var(--qc-hairline)}
.hk-ledger dt{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--qc-sand-70)}
.hk-ledger dd{font-size:.9375rem;line-height:1.625;color:var(--qc-text-high);overflow-wrap:anywhere}
.hk-ledger__note{display:block;font-size:.8125rem;color:var(--qc-text-floor)}
.hk-ledger__links{display:flex;flex-wrap:wrap;column-gap:1rem;margin-top:.375rem}
.hk-ledger__links a{display:inline-flex;align-items:center;gap:.25rem;min-height:var(--qc-tap);font-size:.8125rem}
.hk-ledger__links .hk-ico{font-size:13px}
@media (min-width:640px){.hk-ledger>div{grid-template-columns:12rem minmax(0,1fr);gap:1.5rem}.hk-ledger dt{padding-top:2px}}
/* Sourced claims: /record/. Glass cards that melt: the source line carries the weight. */
.hk-claims>li{padding:1rem 1.25rem;border-radius:16px;background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter)}
.hk-claims>li+li{margin-top:.75rem}
.hk-claim__q{font-size:.9375rem;line-height:1.625;color:var(--qc-text-high)}
.hk-claim__src{margin-top:.5rem;font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--qc-sand-75)}
/* Row list inside a rounded panel: /privacy/ sub-processors. Rows ≥52px. */
.hk-rowlist{overflow:hidden;border-radius:16px;border:1px solid var(--qc-hairline)}
.hk-rowlist__row{display:grid;gap:.25rem;grid-template-columns:minmax(0,1fr);align-items:center;min-height:52px;padding:1rem;transition:background-color .2s ease}
.hk-rowlist__row+.hk-rowlist__row{border-top:1px solid var(--qc-hairline-soft)}
a.hk-rowlist__row:hover{background:var(--qc-surface-1)}
.hk-rowlist__name{font-size:.875rem;font-weight:500;color:var(--qc-ivory)}
.hk-rowlist__text{font-size:.875rem;line-height:1.5;color:var(--qc-text-meta)}
.hk-rowlist__end{font-family:var(--qc-font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--qc-text-body)}
.hk-rowlist__row>.hk-st{justify-self:start;margin-top:.25rem}
@media (min-width:640px){.hk-rowlist__row{grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:1rem;padding-inline:1.25rem}.hk-rowlist__end{text-align:end}.hk-rowlist__row>.hk-st{justify-self:end;margin-top:0}}
/* Callouts. Severity is the rule's weight, never colour alone: 2px · 3px · 6px double · 8px. */
.hk-callout{position:relative;padding:1.25rem 1.5rem 1.25rem 1.75rem;border-radius:16px;border:1px solid var(--qc-hairline);background:var(--qc-bg)}
.hk-callout::before{content:"";position:absolute;inset-block:1.25rem;inset-inline-start:0;border-inline-start:2px solid var(--qc-text-chrome)}
.hk-callout[data-kind="success"]::before{border-inline-start-width:3px;border-inline-start-color:var(--qc-text-secondary)}
.hk-callout[data-kind="warning"]::before{border-inline-start:6px double var(--qc-text-high)}
.hk-callout[data-kind="danger"]::before{inset-block:0;border-inline-start:8px solid var(--qc-text-strong);border-start-start-radius:15px;border-end-start-radius:15px}
.hk-callout[data-kind="danger"]{padding-inline-start:2.25rem}
.hk-callout__kind{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:var(--qc-text-chrome)}
.hk-callout__title{margin-top:.25rem;font-size:1rem;font-weight:500;line-height:1.5;color:var(--qc-text-strong)}
.hk-callout[data-kind="danger"] .hk-callout__title{font-weight:600}
.hk-callout__body{margin-top:.25rem;font-size:.9375rem;line-height:1.625;color:var(--qc-text-secondary)}
.hk-callout__actions{display:flex;justify-content:flex-end;margin-top:.75rem}

/* 10 · TABLE --------------------------------------------------------------- */
/* Wrapper is a keyboard stop only because it scrolls: role="region" tabindex="0" aria-label. */
.hk-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--qc-hairline);-webkit-overflow-scrolling:touch}
.hk-table{width:100%;border-collapse:collapse;text-align:start;font-size:.90625rem;line-height:1.5;font-variant-numeric:tabular-nums}
.hk-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hk-table thead tr{border-bottom:1px solid var(--qc-hairline);background:var(--qc-surface-1)}
.hk-table thead th{padding:.75rem 1.25rem;text-align:start;font-family:var(--qc-font-mono);font-size:.75rem;font-weight:400;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--qc-text-chrome);white-space:nowrap}
.hk-table thead th.is-lead{color:var(--qc-sand-85)}
.hk-table tbody tr{border-bottom:1px solid var(--qc-hairline-soft);transition:background-color .2s ease}
.hk-table tbody tr:last-child{border-bottom:0}
.hk-table tbody tr:hover{background:var(--qc-surface-1)}
.hk-table tbody th{padding:.9375rem 1.25rem;text-align:start;font-weight:500;color:var(--qc-text-80)}
.hk-table td{padding:.9375rem 1.25rem;color:var(--qc-text-meta)}
.hk-table td.is-lead{color:var(--qc-ivory)}
.hk-table .is-empty{color:var(--qc-text-floor)}
.hk-table .is-num{text-align:end}
/* Phone: every row becomes a card, the th text rides inline. Needs data-label on each td
   and explicit table roles (display:block otherwise strips table semantics). */
@media (max-width:639.98px){
  .hk-table-wrap--cards{overflow:visible;border:0;border-radius:0}
  .hk-table--cards,.hk-table--cards tbody{display:block}
  .hk-table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .hk-table--cards tbody tr{display:block;padding:.25rem 1.25rem .5rem;border:1px solid var(--qc-hairline);border-radius:16px;background:var(--qc-bg)}
  .hk-table--cards tbody tr+tr{margin-top:.75rem}
  .hk-table--cards tbody tr:hover{background:var(--qc-bg)}
  .hk-table--cards tbody tr:last-child{border-bottom:1px solid var(--qc-hairline)}
  .hk-table--cards tbody th{display:block;padding:.875rem 0 .75rem;border-bottom:1px solid var(--qc-hairline-soft);font-size:1rem;line-height:1.4;color:var(--qc-text-strong)}
  .hk-table--cards td{display:grid;grid-template-columns:minmax(0,1fr);gap:.125rem;padding:.625rem 0;color:var(--qc-text-secondary)}
  .hk-table--cards td::before{content:attr(data-label);font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--qc-text-meta)}
  .hk-table--cards td.is-lead::before{color:var(--qc-sand-85)}
  .hk-table--cards .is-num{text-align:start}
}

/* 11 · CODE ---------------------------------------------------------------- */
.hk-code{position:relative;overflow:hidden;border-radius:16px;background:var(--qc-band);box-shadow:inset 0 0 0 1px var(--qc-hairline)}
.hk-code__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.25rem .375rem .25rem 1.25rem;border-bottom:1px solid var(--qc-hairline-soft)}
.hk-code__lang{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--qc-text-chrome)}
.hk-code pre{overflow-x:auto;padding:1.125rem 1.25rem;font-family:var(--qc-font-mono);font-size:.84375rem;line-height:1.7;color:var(--qc-text-secondary);tab-size:2;-webkit-overflow-scrolling:touch}
.hk-code code{font:inherit}
.hk-code .t-k{color:var(--qc-text-strong)}       /* keywords */
.hk-code .t-s{color:var(--qc-text-secondary)}    /* strings */
.hk-code .t-c{color:var(--qc-text-floor)}        /* comments */
.hk-code .t-p{color:var(--qc-text-body)}         /* punctuation */
.hk-code .t-a{color:var(--qc-sand)}              /* the one accent: prompts, diff adds */
.hk-copy{display:inline-flex;align-items:center;gap:.375rem;min-height:36px;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:500;color:var(--qc-text-chrome);transition:color .15s ease,background-color .15s ease;position:relative}
.hk-copy::after{content:"";position:absolute;inset:-4px 0}          /* 44px hit area */
.hk-copy:hover{color:var(--qc-text-strong);background:var(--qc-fill-soft)}
.hk-copy .hk-ico{font-size:14px}
.hk-copy.is-copied{color:var(--qc-text-strong);background:var(--qc-fill-hover)}
@media (scripting:none){.hk-copy{display:none}}
/* Connect field: the MCP endpoint pattern. A phone gets the address on its own line and a full-width copy. */
.hk-endpoint{display:grid;gap:.75rem;padding:1rem;border-radius:20px;background:var(--qc-band);box-shadow:inset 0 0 0 1px var(--qc-hairline)}
.hk-endpoint code{min-width:0;font-family:var(--qc-font-mono);font-size:.875rem;line-height:1.5;color:var(--qc-text-strong);overflow-wrap:anywhere}
.hk-endpoint .hk-copy{justify-content:center;min-height:var(--qc-tap);padding-inline:1.25rem;background:var(--qc-primary-bg);color:var(--qc-primary-fg);transition:transform var(--qc-dur-fast) var(--qc-ease)}
.hk-endpoint .hk-copy::after{display:none}
.hk-endpoint .hk-copy:hover{background:var(--qc-primary-bg);color:var(--qc-primary-fg);transform:scale(1.02)}
.hk-endpoint .hk-copy.is-copied{background:var(--qc-primary-bg);color:var(--qc-primary-fg)}
@media (min-width:640px){.hk-endpoint{display:flex;align-items:center;justify-content:space-between;width:fit-content;max-width:100%;min-height:56px;padding:.375rem .375rem .375rem 1.375rem;border-radius:9999px}.hk-endpoint .hk-copy{flex:none;padding-inline:1rem}}

/* 12 · ACCORDION ----------------------------------------------------------- */
.hk-acc>details{padding-block:.5rem}
.hk-acc>details+details{border-top:1px solid var(--qc-hairline)}
.hk-acc summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--qc-tap);padding-block:1rem;list-style:none;font-size:1.125rem;font-weight:500;line-height:1.75rem;color:var(--qc-text-strong);transition:color .2s ease}
.hk-acc summary::-webkit-details-marker{display:none}
.hk-acc summary:hover{color:var(--qc-sand)}
.hk-acc__mark{flex:none;font-family:var(--qc-font-mono);font-size:1.25rem;line-height:1;color:var(--qc-sand-70);transition:transform .3s var(--qc-ease)}
.hk-acc details[open] .hk-acc__mark{transform:rotate(45deg)}
.hk-acc__body{padding-bottom:1.25rem;font-size:.9375rem;line-height:1.625;color:var(--qc-text-body);text-wrap:pretty}
@supports (interpolate-size:allow-keywords){
  .hk-acc{interpolate-size:allow-keywords}
  .hk-acc details::details-content{height:0;overflow:clip;transition:height .28s var(--qc-ease),content-visibility .28s allow-discrete}
  .hk-acc details[open]::details-content{height:auto}
}

/* 13 · TABS ---------------------------------------------------------------- */
.hk-tabs__list{position:relative;isolation:isolate;display:inline-flex;max-width:100%;padding:4px;border-radius:9999px;overflow-x:auto;scrollbar-width:none;background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter);box-shadow:var(--qc-glass-ring)}
.hk-tabs__list::-webkit-scrollbar{display:none}
.hk-tab{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--qc-tap);padding:.5rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:var(--qc-text-floor);transition:color .2s ease;touch-action:manipulation}
.hk-tab:hover{color:var(--qc-text-high)}
.hk-tab[aria-selected="true"]{color:var(--qc-ivory);background:var(--qc-fill-tab);box-shadow:var(--qc-tab-ring)}
.hk-tab[disabled]{opacity:var(--qc-disabled-opacity);pointer-events:none}
.hk-tabs__panel{margin:.5rem -1rem 0;padding:1rem;border-radius:16px;animation:hk-fade .2s ease}
.hk-tabs__heading{font-size:1.125rem;font-weight:500;line-height:1.75rem;color:var(--qc-text-strong);margin-bottom:.5rem}
@keyframes hk-fade{from{opacity:0}to{opacity:1}}
/* Line variant for long tab sets in reference pages. */
.hk-tabs--line .hk-tabs__list{display:flex;padding:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--qc-hairline);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
.hk-tabs--line .hk-tab{padding-inline:0;margin-inline-end:1.5rem;border-radius:0;color:var(--qc-text-chrome)}
.hk-tabs--line .hk-tab[aria-selected="true"]{color:var(--qc-text-strong);background:none;box-shadow:inset 0 -1px 0 var(--qc-sand)}
/* Before the script runs show one panel; with no JS at all show every panel and no tablist. */
.hk-tabs:not(.is-ready) .hk-tabs__heading{display:block}
.hk-tabs.is-ready .hk-tabs__heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (scripting:enabled){.hk-tabs:not(.is-ready) .hk-tabs__panel:not(:first-of-type){display:none}.hk-tabs:not(.is-ready) .hk-tabs__heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (scripting:none){.hk-tabs .hk-tabs__list{display:none}.hk-tabs__panel{animation:none}}

/* 14 · FORMS --------------------------------------------------------------- */
.hk-field{display:flex;flex-direction:column;gap:.375rem}
.hk-field>label,.hk-fieldlabel{font-size:.8125rem;font-weight:500;line-height:1.5;color:var(--qc-text-80)}
.hk-req{margin-inline-start:2px;color:var(--qc-sand)}
.hk-input{display:block;width:100%;min-height:var(--qc-tap);padding:.75rem 1rem;border-radius:12px;border:1px solid var(--qc-border-interactive);background:var(--qc-surface-1);color:var(--qc-text-strong);font-size:1rem;line-height:1.5;transition:border-color .2s ease,background-color .2s ease}
.hk-input::placeholder{color:var(--qc-text-floor);opacity:1}
.hk-input:hover{border-color:var(--qc-border-hover)}
.hk-input:disabled{opacity:var(--qc-disabled-opacity);cursor:not-allowed}
.hk-input[aria-invalid="true"]{border-color:var(--qc-st-outage)}
textarea.hk-input{min-height:7rem;resize:vertical}
.hk-select{position:relative;display:block}
.hk-select select{appearance:none;-webkit-appearance:none;padding-inline-end:2.5rem;background:var(--qc-surface-1)}
.hk-select select option{color:#000}
.hk-select::after{content:"▾";position:absolute;inset-block:0;inset-inline-end:1rem;display:grid;place-items:center;pointer-events:none;font-family:var(--qc-font-mono);font-size:.875rem;color:var(--qc-text-chrome)}
.hk-hint{font-size:.8125rem;line-height:1.5;color:var(--qc-text-meta)}
.hk-err{display:flex;align-items:flex-start;gap:.375rem;font-size:.8125rem;line-height:1.5;color:var(--qc-st-outage-ink)}
.hk-err .hk-ico{font-size:14px;margin-top:3px}
.hk-check{display:flex;align-items:center;gap:.625rem;min-height:var(--qc-tap);font-size:.9375rem;color:var(--qc-text-secondary);cursor:pointer}
.hk-check input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border:2px solid var(--qc-border-interactive);border-radius:4px;background:var(--qc-surface-1);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.hk-check input[type="radio"]{border-radius:50%}
.hk-check input:checked{background:var(--qc-text-strong);border-color:var(--qc-text-strong)}
.hk-check input[type="checkbox"]:checked::before{content:"";display:block;width:100%;height:100%;background:var(--qc-canvas);clip-path:polygon(14% 50%,0 64%,38% 100%,100% 22%,86% 8%,38% 72%)}
.hk-check input[type="radio"]:checked{box-shadow:inset 0 0 0 3px var(--qc-canvas)}
/* Glass pill with a round submit: the main site's footer field. Focus lights the pill. */
.hk-pillfield{display:flex;align-items:center;gap:.75rem;width:100%;max-width:28rem;padding:.5rem .5rem .5rem 1.5rem;border-radius:9999px;background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter);box-shadow:var(--qc-glass-ring)}
.hk-pillfield input{flex:1;min-width:0;background:none;border:0;color:var(--qc-text-strong);font-size:1rem;text-overflow:ellipsis}
.hk-pillfield input::placeholder{color:var(--qc-text-floor);opacity:1}
.hk-pillfield button{display:grid;place-items:center;flex:none;width:var(--qc-tap);height:var(--qc-tap);border-radius:50%;background:var(--qc-sand);color:var(--qc-bg);font-size:18px;transition:transform .2s ease}
.hk-pillfield button:hover{transform:scale(1.05)}

/* 15 · STATUS -------------------------------------------------------------- */
[data-st="operational"]{--st:var(--qc-st-operational);--st-ink:var(--qc-st-operational-ink)}
[data-st="degraded"]{--st:var(--qc-st-degraded);--st-ink:var(--qc-st-degraded-ink)}
[data-st="outage"]{--st:var(--qc-st-outage);--st-ink:var(--qc-st-outage-ink)}
[data-st="maintenance"]{--st:var(--qc-st-maintenance);--st-ink:var(--qc-st-maintenance-ink)}
[data-st="unknown"]{--st:var(--qc-st-unknown);--st-ink:var(--qc-st-unknown-ink)}
.hk-dot{position:relative;display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--st,var(--qc-st-unknown));forced-color-adjust:none}
.hk-dot--live::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:hk-pulse 2.4s ease-out infinite}
@keyframes hk-pulse{0%{opacity:.6;transform:scale(1)}70%,100%{opacity:0;transform:scale(2.6)}}
.hk-st{display:inline-flex;align-items:center;gap:.5rem;min-height:28px;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:500;line-height:1.4;color:var(--st-ink,var(--qc-st-unknown-ink));box-shadow:inset 0 0 0 1px var(--qc-hairline-strong)}
@supports (color:color-mix(in srgb,red,blue)){.hk-st{background:color-mix(in srgb,var(--st,var(--qc-st-unknown)) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--st,var(--qc-st-unknown)) 32%,transparent)}}
.hk-st--mono{font-family:var(--qc-font-mono);font-size:.75rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase}

/* 16 · STATES -------------------------------------------------------------- */
.hk-skel{display:block;position:relative;overflow:hidden;height:1rem;border-radius:8px;background:var(--qc-surface-2)}
.hk-skel--title{height:2.5rem;border-radius:10px}
.hk-skel--line{height:.875rem;border-radius:6px}
.hk-skel--block{height:7rem;border-radius:16px}
.hk-skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--qc-veil),transparent);transform:translateX(-100%);animation:hk-sweep 1.6s linear infinite}
@keyframes hk-sweep{to{transform:translateX(100%)}}
.hk-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;border-radius:24px;border:1px solid var(--qc-hairline-soft);text-align:center}
.hk-empty__text{font-size:1rem;line-height:1.625;color:var(--qc-text-secondary);max-width:32rem}
.hk-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:1.25rem 1.5rem;border-radius:16px;border:1px solid var(--qc-hairline);background:var(--qc-bg)}
.hk-error__text{font-size:.9375rem;line-height:1.625;color:var(--qc-st-outage-ink)}

/* 17 · FOOTER -------------------------------------------------------------- */
.hk-foot{position:relative;isolation:isolate;overflow:hidden;background:var(--qc-canvas);padding:0 var(--qc-gutter) max(2.5rem,env(safe-area-inset-bottom))}
/* Optional still of the footer reel, the main site's scrims on top. Omit the <img> on status. */
.hk-foot__reel{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hk-foot--cinema{padding-top:clamp(9rem,22vw,20rem)}
.hk-foot:has(>.hk-closer){padding-top:3rem}
.hk-foot--cinema::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,#000 0%,#000 22%,rgba(0,0,0,.86) 44%,rgba(0,0,0,.5) 64%,rgba(0,0,0,.2) 82%,transparent 100%) top/100% 18rem no-repeat,rgba(0,0,0,.45)}
/* Monochrome still for the docs law and the trust register: grayscale, then warm it a touch. */
.hk-foot--duotone .hk-foot__reel{filter:grayscale(1) sepia(.18) contrast(1.05) brightness(.82)}
html[data-hk-tone="mono"] .hk-foot--cinema .hk-foot__reel{filter:grayscale(1) contrast(1.05) brightness(.82)}
.hk-foot__panel{position:relative;width:100%;max-width:var(--qc-w-foot);margin-inline:auto;padding:1.5rem;border-radius:24px;overflow:hidden;background:var(--qc-glass-bg);-webkit-backdrop-filter:var(--qc-glass-filter);backdrop-filter:var(--qc-glass-filter)}
.hk-foot__panel::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.55),rgba(0,0,0,.7))}
.hk-foot__panel>*{position:relative}
/* No image behind it (status): glass has nothing to refract, so it becomes the ink surface. */
.hk-foot--plain .hk-foot__panel{background:var(--qc-bg);box-shadow:inset 0 0 0 1px var(--qc-hairline-soft),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:none;backdrop-filter:none}
.hk-foot--plain .hk-foot__panel::before{display:none}
.hk-foot__top{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);margin-bottom:1.75rem}
.hk-foot__mark{display:block;width:100%;max-width:340px;border-radius:8px;transition:opacity .2s ease}
.hk-foot__mark:hover{opacity:.9}
.hk-foot__mark img{width:100%;height:auto}
.hk-foot__tagline{margin-top:1.375rem;max-width:24rem;font-size:.875rem;line-height:1.625;color:var(--qc-text-body)}
.hk-foot__cols{display:grid;gap:1.75rem 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.hk-foot__head{margin-bottom:.5rem;font-family:var(--qc-font-mono);font-size:.75rem;line-height:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--qc-sand-70)}
.hk-foot__col a{display:flex;align-items:center;min-height:var(--qc-tap);font-size:.8125rem;line-height:1.5;color:rgba(255,255,255,.7);transition:color .15s ease}
.hk-foot__col a:hover{color:var(--qc-text-strong)}
.hk-foot__eco{padding-block:1.25rem;border-top:1px solid var(--qc-hairline)}
.hk-foot__eco ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem 1.5rem}
.hk-foot__eco li{display:inline-flex;align-items:center}
.hk-foot__eco a,.hk-foot__eco .is-here{display:inline-flex;align-items:center;gap:.375rem;min-height:var(--qc-tap);white-space:nowrap;font-size:.78125rem;line-height:1.5;color:rgba(255,255,255,.7);transition:color .15s ease}
.hk-foot__eco a:hover{color:var(--qc-text-strong)}
.hk-foot__eco .hk-ico{font-size:12px;color:rgb(var(--qc-accent-rgb) / .65);transition:color .15s ease}
.hk-foot__eco a:hover .hk-ico{color:var(--qc-sand)}
.hk-foot__eco .is-here{display:none;color:var(--qc-text-floor)}
.hk-foot__eco .hk-dot{width:6px;height:6px;margin-inline-start:2px}
.hk-foot__legal{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--qc-hairline)}
.hk-foot__id{display:flex;flex-direction:column;align-items:center;gap:.375rem;text-align:center}
.hk-foot__copy{font-size:.75rem;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--qc-text-body)}
.hk-foot__reg{font-family:var(--qc-font-mono);font-size:.75rem;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--qc-text-body)}
.hk-foot__legalnav{display:flex;flex-wrap:wrap;justify-content:center;column-gap:1rem;font-size:.75rem;color:var(--qc-text-chrome)}
.hk-foot__legalnav a{display:inline-flex;align-items:center;min-height:var(--qc-tap);transition:color .15s ease}
.hk-foot__legalnav a:hover{color:var(--qc-text-strong)}
.hk-social{display:flex;align-items:center;gap:.75rem}
.hk-social a{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:15px;transition:background-color .15s ease,color .15s ease}
.hk-social a::before{content:"";position:absolute;inset:-4px}
.hk-social a:hover{background:rgba(255,255,255,.1);color:var(--qc-text-strong)}
.hk-social .hk-ico--fill{fill:currentColor;stroke:none}
@media (min-width:640px){
  .hk-foot__eco ul{gap:.5rem 1.25rem}
  .hk-foot__eco li+li::before{content:"·";margin-inline-end:1.25rem;color:rgba(255,255,255,.2)}
  .hk-foot__eco .is-here{display:inline-flex}
  .hk-foot__copy{font-size:.75rem;line-height:1rem;letter-spacing:.18em}
  .hk-foot__reg{font-size:.75rem;line-height:1rem;letter-spacing:.16em}
}
@media (min-width:768px){
  .hk-foot__panel{padding:2.5rem}
  .hk-foot__top{grid-template-columns:repeat(12,minmax(0,1fr));gap:3rem;margin-bottom:2.25rem}
  .hk-foot__top>:first-child{grid-column:span 5}
  .hk-foot__top>:last-child{grid-column:span 7}
  .hk-foot__mark{max-width:400px}
  .hk-foot__legal{flex-direction:row;justify-content:space-between;gap:1.25rem}
  .hk-foot__id{align-items:flex-start;text-align:start}
  .hk-foot__legalnav{flex-wrap:nowrap}
}
@media (min-width:1024px){.hk-foot__cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.hk-foot__cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* The closer above the panel: "Join the 0.1%." on the main site. */
.hk-closer{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:3rem}
@media (min-width:768px){.hk-foot:has(>.hk-closer){padding-top:10vh}.hk-closer{margin-bottom:10vh}}
.hk-closer__title{font-weight:500;font-size:3rem;line-height:1;letter-spacing:-.025em;color:var(--qc-text-strong);text-shadow:0 2px 40px rgba(0,0,0,.6)}
.hk-closer__title b{font-weight:500;color:var(--qc-sand)}
.hk-closer__text{margin-top:1.25rem;max-width:36rem;font-size:1rem;line-height:1.625;color:var(--qc-text-high);text-shadow:0 1px 20px rgba(0,0,0,.5)}
.hk-closer .hk-actions{flex-direction:column;justify-content:center;margin-top:2.25rem}
.hk-closer .hk-btn{padding:14px 32px}
.hk-closer .hk-btn--primary{box-shadow:0 8px 30px rgba(0,0,0,.25)}
.hk-closer .hk-btn--primary:hover{transform:scale(1.03)}
@media (min-width:640px){.hk-closer .hk-actions{flex-direction:row}}
@media (min-width:768px){.hk-closer__title{font-size:4.5rem}}
@media (min-width:1024px){.hk-closer__title{font-size:6rem}}

/* 18 · FOCUS: owner decision D14. The control's own edge brightens. Never a ring
   around it, never an offset, never a halo, never sand, never a square on a rounded
   control. Paint only, so focus never shifts layout. Must stay after tokens.css.
   Hooks, same names as the main site: data-focus-host / data-focus-delegate (a field
   inside a pill lights the pill), data-focus-quiet (script targets), data-focus-ink
   (light fill), data-focus-text (no shape, so no box), data-focus-row (row inside a
   rounded panel). .is-focus shows the state at rest for specimens and snapshots. */
:focus{outline:none}
:focus-visible:not([data-focus-quiet]),.is-focus{outline:var(--qc-focus-w) solid var(--qc-focus-edge);outline-offset:calc(-1*var(--qc-focus-w));border-color:var(--qc-focus-edge)}
/* 2 · glass lights up, the same step as its hover */
:is(.hk-glass,.hk-btn--glass,.hk-chip,.hk-pillfield,.hk-card--glass):is(:focus-visible,.is-focus){background-image:linear-gradient(var(--qc-focus-glass),var(--qc-focus-glass))}
/* 3 · light fills: an ink hairline just inside the edge */
:is(.hk-btn--primary,.hk-skip,.hk-endpoint .hk-copy,[data-focus-ink]):is(:focus-visible,.is-focus){outline-color:var(--qc-focus-edge-ink);outline-offset:calc(-1*(var(--qc-focus-w) + var(--qc-focus-ink-inset)))}
/* 4 · text controls: no box. The words turn full white and take an underline. */
:is(a:not([class]),.hk-link,.hk-btn--quiet,.hk-nav__quiet,.hk-acc summary,.hk-drawer__item,.hk-drawer__util a,.hk-foot__col a,.hk-foot__eco a,.hk-foot__legalnav a,.hk-card__more,.hk-tabs--line .hk-tab,[data-focus-text]):is(:focus-visible,.is-focus){outline:none;color:var(--qc-focus-text);text-decoration:underline;text-decoration-color:var(--qc-focus-text);text-decoration-thickness:var(--qc-focus-w);text-underline-offset:4px}
/* 6 · a row inside a rounded panel lights as a rounded inset shape */
[data-focus-row]:is(:focus-visible,.is-focus){border-radius:var(--qc-focus-row-radius);outline-offset:calc(-1*(var(--qc-focus-w) + var(--qc-focus-row-inset)))}
/* 7 · script focus targets are not controls */
:is(main,section,article,aside,div,form,p,h1,h2,h3,h4,ul,ol,li,figure)[tabindex="-1"]:focus-visible{outline:none}
/* Delegation: the host shows it, the field shows nothing */
@supports selector(:has(*)){
  [data-focus-delegate]:focus-visible{outline:none}
  [data-focus-host]:has([data-focus-delegate]:focus-visible){outline:var(--qc-focus-w) solid var(--qc-focus-edge);outline-offset:calc(-1*var(--qc-focus-w))}
  .hk-pillfield[data-focus-host]:has([data-focus-delegate]:focus-visible){background-image:linear-gradient(var(--qc-focus-glass),var(--qc-focus-glass))}
}
/* The inputs brighten their border too (rule 1 sets border-color). */

/* 19 · REVEAL: fade and 18px rise, once, for what starts below the fold. Nothing is
   hidden without JS, under reduced motion, in print, or if it is already on screen. */
.hk-reveal-on [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--qc-ease),transform .6s var(--qc-ease)}
.hk-reveal-on [data-reveal].is-revealed{opacity:1;transform:none}
.hk-reveal-on [data-reveal][data-reveal-delay="1"]{transition-delay:.08s}
.hk-reveal-on [data-reveal][data-reveal-delay="2"]{transition-delay:.16s}
.hk-reveal-on [data-reveal][data-reveal-delay="3"]{transition-delay:.24s}

/* 20 · REDUCED MOTION ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .hk-reveal-on [data-reveal]{opacity:1;transform:none}
  .hk-skel::after{transform:none;background:var(--qc-fill-soft)}
  .hk-dot--live::after{display:none}
  .hk-spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}
}

/* 21 · FORCED COLORS: box-shadows and backgrounds vanish, so shapes need real borders. */
@media (forced-colors:active){
  :focus-visible:not([data-focus-quiet]),:is(a:not([class]),.hk-link,.hk-btn--quiet,.hk-nav__quiet,.hk-acc summary,.hk-drawer__item,.hk-drawer__util a,.hk-foot__col a,.hk-foot__eco a,.hk-foot__legalnav a,.hk-card__more,.hk-tabs--line .hk-tab,[data-focus-text]):focus-visible{outline:var(--qc-focus-w) solid Highlight;outline-offset:calc(-1*var(--qc-focus-w))}
  [data-focus-host]:has([data-focus-delegate]:focus-visible){outline:var(--qc-focus-w) solid Highlight}
  .hk-nav__pill,.hk-btn,.hk-chip,.hk-card,.hk-callout,.hk-code,.hk-endpoint,.hk-pillfield,.hk-tabs__list,.hk-foot__panel,.hk-st,.hk-badge,.hk-claims>li,.hk-error{border:1px solid CanvasText}
  .hk-btn--quiet{border:0}
  .hk-tab[aria-selected="true"]{outline:2px solid Highlight;outline-offset:-2px}
  .hk-btn--cosmic::before,.hk-foot__reel,.hk-foot--cinema::before,.hk-foot__panel::before,.hk-ambient,.hk-nav__glide,.hk-nav__link::before{display:none}
  .hk-nav__link[aria-current]{text-decoration:underline}
  .hk-label::before,.hk-seclabel__tag::before{forced-color-adjust:none;background:CanvasText}
  .hk-lockup__mono,.hk-foot__mark img{forced-color-adjust:none;background:#000;border-radius:50%}
  .hk-foot__mark img{border-radius:8px}
}

/* 22 · PRINT: light tokens forced, chrome hidden, hairline tables, URLs expanded. */
@media print{
  @page{margin:18mm}
  :root{color-scheme:light;--qc-canvas:#fff;--qc-bg:#fff;--qc-band:#f7f6f2;--qc-hairline:rgba(17,17,18,.2);--qc-hairline-soft:rgba(17,17,18,.14);--qc-hairline-strong:rgba(17,17,18,.3);--qc-surface-1:transparent;--qc-surface-2:rgba(17,17,18,.05);--qc-text-strong:#111112;--qc-text-high:rgba(17,17,18,.92);--qc-text-secondary:rgba(17,17,18,.88);--qc-text-body:rgba(17,17,18,.84);--qc-text-chrome:rgba(17,17,18,.7);--qc-text-meta:rgba(17,17,18,.66);--qc-text-floor:rgba(17,17,18,.62);--qc-text-70:rgba(17,17,18,.84);--qc-text-75:rgba(17,17,18,.86);--qc-text-80:rgba(17,17,18,.88);--qc-text-prose:rgba(17,17,18,.88);--qc-ivory:#111112;--qc-decor:rgba(17,17,18,.4);--qc-accent-rgb:127 106 74;--qc-sand:#7f6a4a;--qc-sand-text:#7f6a4a;--qc-sand-85:#7f6a4a;--qc-sand-75:#7f6a4a;--qc-sand-70:#7f6a4a;--qc-sand-40:rgb(127 106 74 / .45);--qc-st-operational-ink:#20825e;--qc-st-degraded-ink:#9f6c19;--qc-st-outage-ink:#e91b2a;--qc-st-maintenance-ink:#1773e7;--qc-st-unknown-ink:#6e6e73;--qc-st-operational:#29a778;--qc-st-degraded:#c68720;--qc-st-maintenance:#4d95ee}
  /* The monochrome law holds on paper too: the accent prints as ink, never as the brown sand. */
  html[data-hk-tone="mono"]{--qc-accent-rgb:17 17 18;--qc-sand:#111112;--qc-sand-text:#111112;--qc-sand-85:rgba(17,17,18,.85);--qc-sand-75:rgba(17,17,18,.8);--qc-sand-70:rgba(17,17,18,.78);--qc-sand-40:rgba(17,17,18,.4);--qc-sand-30:rgba(17,17,18,.3)}
  html,body{background:#fff!important;color:#111112}
  body{font-size:11pt}
  .hk-nav,.hk-drawer,.hk-skip,.hk-ambient,.hk-chips,.hk-copy,.hk-closer,.hk-foot__reel,.hk-foot__cols,.hk-foot__eco,.hk-foot__mark,.hk-foot__tagline,.hk-social,.hk-foot__legalnav,.hk-tabs__list,.hk-skel{display:none!important}
  .hk-page{padding-top:0;padding-bottom:0}
  .hk-section,.hk-band{margin-top:2rem;padding-block:0}
  .hk-lede,.hk-tab,.hk-table td,.hk-table tbody th{color:var(--qc-text-high)}
  .hk-foot,.hk-foot--cinema{padding:1.5rem 0 0;background:none}
  .hk-foot--cinema::before,.hk-foot__panel::before{display:none}
  .hk-foot__panel{max-width:none;padding:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
  .hk-foot__top{display:none}
  .hk-foot__legal{border-top:1px solid var(--qc-hairline)}
  .hk-foot__copy,.hk-foot__reg{color:#111112!important}
  .hk-card,.hk-callout,.hk-code,.hk-claims>li,.hk-stat,.hk-rowlist,.hk-error{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--qc-hairline);break-inside:avoid}
  .hk-stats{background:none;border:1px solid var(--qc-hairline);border-radius:0}
  .hk-ledger>div,.hk-table tr,.hk-acc>details,.hk-rowlist__row{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
  .hk-table-wrap{overflow:visible;border-radius:0;border:0}
  .hk-table{font-size:10pt}
  .hk-table thead tr{background:none;border-bottom:1px solid #111112}
  .hk-table tbody tr{border-bottom:1px solid var(--qc-hairline)}
  .hk-code pre{white-space:pre-wrap;overflow:visible}
  .hk-tabs__panel[hidden],.hk-tabs .hk-tabs__panel{display:block!important}
  .hk-tabs .hk-tabs__heading,.hk-tabs.is-ready .hk-tabs__heading,.hk-tabs:not(.is-ready) .hk-tabs__heading{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
  .hk-acc details::details-content{height:auto!important;content-visibility:visible!important}
  .hk-acc__mark{display:none}
  .hk-reveal-on [data-reveal]{opacity:1!important;transform:none!important}
  a[href^="http"]:not(.hk-btn):not(.hk-lockup)::after{content:" (" attr(href) ")";font-size:.85em;font-weight:400;overflow-wrap:anywhere;color:var(--qc-text-meta)}
  .hk-btn{box-shadow:none;background:none;color:#111112;border:1px solid var(--qc-hairline-strong)}
}

/* 23 · HELPERS -------------------------------------------------------------- */
.hk-section-gap{margin-top:2rem}
.hk-fieldset{min-width:0;margin:0;padding:0;border:0}
.hk-fieldset legend{padding:0;margin-bottom:.25rem}
.hk-skel-gap{margin-top:.875rem}
.hk-skel--w80{width:80%}
.hk-foot__ecomark{width:14px;height:14px;opacity:.7}
.hk-nav__pill--static{margin:0;max-width:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.hk-nav__state{flex:none}
@media (max-width:639.98px){.hk-nav__state{display:none}}
.hk-lockup--script .hk-lockup__script{display:block}
.hk-nav__quiet--hi{color:var(--qc-text-high)}
.hk-nav__quiet--xl{display:none}
@media (min-width:1280px){.hk-nav__quiet--xl{display:inline-flex}}
html[data-theme="light"] .hk-btn--sand{color:#5f4f33;background:rgb(var(--qc-accent-rgb) / .08)}
html[data-theme="light"] .hk-btn--sand:hover{color:#fff;background:#5f4f33}
/* Light paper: the ladder inks are derived for white, so the pill drops its tint there. */
html[data-theme="light"] .hk-st{background:transparent}
html[data-theme="light"] .hk-error{background:var(--qc-canvas)}
