/* ───────────────────────── FLUKE ─────────────────────────
   Three families, each with one job:
     Anton          giant words and every headline (one weight)
     General Sans   everything that is read: text, menu, buttons (400, 500, 600)
     Bodoni Moda    the connecting words in heavy italic, and the lead sentences in roman
   Six sizes in total: giant · title · habit · lede · body · small.
   ──────────────────────────────────────────────────────── */

@font-face { font-family: 'Anton'; src: url('../fonts/anton.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: block; }
@font-face { font-family: 'General Sans'; src: url('../fonts/general-sans-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('../fonts/general-sans-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('../fonts/general-sans-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Bodoni Moda'; src: url('../fonts/bodoni-moda-italic.woff2') format('woff2'); font-weight: 400 900; font-style: italic; font-display: block; }
@font-face { font-family: 'Bodoni Moda'; src: url('../fonts/bodoni-moda-roman.woff2') format('woff2'); font-weight: 400 900; font-style: normal; font-display: block; }

:root {
  --paper: #E5E1D5;
  --plastic: #CDC5AD;
  --ink: #14151F;
  --cobalt: #0A3AE5;
  --signal: #FC6C3A;
  --screen: #EDEBE0;
  --hair: rgba(20, 21, 31, .14);
  --glass: rgba(229, 225, 213, .74);

  --f-display: 'Anton', Impact, 'Arial Narrow', sans-serif;
  --f-text: 'General Sans', 'Helvetica Neue', Arial, sans-serif;
  --f-accent: 'Bodoni Moda', Didot, 'Times New Roman', serif;

  /* the whole scale */
  --fs-giant: min(31vh, 21vw);
  --fs-title: clamp(3rem, 7.4vw, 7.6rem);
  --fs-habit: clamp(2.1rem, 3.6vw, 3.6rem);
  --fs-lede: clamp(1.3rem, .7vw + 1rem, 1.65rem);
  --fs-body: clamp(1rem, .3vw + .95rem, 1.125rem);
  --fs-small: .8125rem;

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --tick: steps(10, end);

  --nav-h: 74px;
  --gutter: clamp(24px, 3.4vw, 52px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 400 var(--fs-body)/1.5 var(--f-text); font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip;
}
body.is-loading { overflow: hidden; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; }
::selection { background: var(--cobalt); color: var(--screen); }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 3px; border-radius: 4px; }

.sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 12px; top: -64px; z-index: 400; background: var(--ink); color: var(--screen); padding: 12px 18px; border-radius: 999px; font-weight: 600; text-decoration: none; transition: top .2s var(--ease-out); }
.skip:focus { top: 12px; }

/* ───────── roles ───────── */
.giant, .title, .habit-title { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; color: var(--cobalt); margin: 0; }
.giant { font-size: var(--fs-giant); line-height: .88; letter-spacing: -.03em; }
.title { font-size: var(--fs-title); line-height: .92; letter-spacing: -.02em; }
.habit-title { font-size: var(--fs-habit); line-height: 1; letter-spacing: -.01em; color: var(--screen); }
.accent { font-family: var(--f-accent); font-style: italic; font-weight: 700; text-transform: none; letter-spacing: -.01em; color: var(--ink); }
.lede { font-family: var(--f-accent); font-style: normal; font-weight: 400; font-size: var(--fs-lede); line-height: 1.18; letter-spacing: -.012em; text-wrap: balance; font-optical-sizing: auto; }
.split-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.split-w > span { display: inline-block; will-change: transform; }
.body { font-size: var(--fs-body); line-height: 1.5; max-width: 34em; text-wrap: pretty; }
.small { font-size: var(--fs-small); line-height: 1.45; opacity: .7; max-width: 44em; }
.title--light, .body--light, .giant--light { color: var(--screen); }

.btn-wrap { display: inline-block; }
.btn {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .9em; min-height: 58px; padding: 0 1.15em 0 1.9em;
  border: 0; border-radius: 999px; text-decoration: none; cursor: pointer;
  font: 500 var(--fs-body)/1 var(--f-text); letter-spacing: -.005em;
  will-change: transform;
}
.btn--liquid {
  color: var(--screen); background: rgba(20, 21, 31, .9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(0, 0, 0, .4), 0 14px 34px -12px rgba(20, 21, 31, .55), 0 2px 6px rgba(20, 21, 31, .18);
}
.btn--liquid::before { /* rim of light, brightest towards the pointer */
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 1.2px; pointer-events: none;
  background: conic-gradient(from var(--rim, 220deg), rgba(255, 255, 255, .85), rgba(255, 255, 255, .12) 14%, rgba(255, 255, 255, .02) 40%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .02) 64%, rgba(255, 255, 255, .85));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.btn--liquid::after { /* glass rim and top sheen */
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 48%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.btn-blob { position: absolute; z-index: 0; left: var(--bx, 50%); top: var(--by, 50%); width: 180%; aspect-ratio: 1; border-radius: 50%; background: var(--cobalt); transform: translate(-50%, -50%) scale(0); transition: transform .7s var(--ease-out); }
.btn:hover .btn-blob, .btn:focus-visible .btn-blob { transform: translate(-50%, -50%) scale(1); }
.btn-label { position: relative; z-index: 1; display: block; overflow: hidden; line-height: 1.25; padding: .1em 0; }
.btn-roll { position: relative; display: block; transition: transform .55s var(--ease-out); }
.btn-roll::after { content: attr(data-text); position: absolute; left: 0; top: 100%; }
.btn:hover .btn-roll, .btn:focus-visible .btn-roll { transform: translateY(-100%); }
.btn-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; overflow: hidden; background: rgba(255, 255, 255, .12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25); }
.btn-icon svg { grid-area: 1 / 1; transition: transform .55s var(--ease-out); }
.btn-icon svg + svg { transform: translateY(-160%); }
.btn[href="#winner"]:hover .btn-icon svg:first-child { transform: translateY(160%); }
.btn[href="#winner"]:hover .btn-icon svg + svg { transform: translateY(0); }
.btn[href="#note"] .btn-icon svg + svg { transform: translateX(-160%); }
.btn[href="#note"]:hover .btn-icon svg:first-child { transform: translateX(160%); }
.btn[href="#note"]:hover .btn-icon svg + svg { transform: translateX(0); }

/* ───────── loader ───────── */
.loader { position: fixed; inset: 0; z-index: 300; pointer-events: none; visibility: hidden; }
.loader > * { visibility: visible; }
.loader.is-gone, .loader.is-gone > * { visibility: hidden; }
.loader-half { position: absolute; left: 0; right: 0; height: 50.3%; background: var(--cobalt); will-change: transform; }
.loader-half--top { top: 0; }
.loader-half--bottom { bottom: 0; }
.loader-content { position: absolute; inset: 0; display: grid; place-items: center; color: var(--screen); }
.loader-mark { position: relative; width: min(38vw, 440px); aspect-ratio: 1581 / 539; margin-top: -4vh; }
.loader-letters { position: absolute; left: 0; top: 0; width: calc(1493 / 1581 * 100%); height: 100%; overflow: hidden; }
.loader-letters i { position: absolute; inset: 0; background: url('../assets/logo-cream.png') center / 100% 100% no-repeat; }
.loader-dot { position: absolute; left: calc((1588 - 118) / 1581 * 100%); top: calc((624 - 198) / 539 * 100%); width: calc(109 / 1581 * 100%); aspect-ratio: 1; border-radius: 50%; background: var(--signal); }
.loader-count { position: absolute; left: var(--gutter); bottom: calc(var(--gutter) * .5); margin: 0; padding-top: .06em; font: 400 var(--fs-giant)/1 var(--f-display); color: var(--screen); letter-spacing: -.02em; overflow: hidden; }
.loader-count span { display: inline-block; min-width: 2.2ch; }
.loader-line { position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; background: #fff; transform: scaleX(0); opacity: 0; }

/* ───────── liquid glass ───────── */
.lg {
  position: relative; isolation: isolate;
  background: rgba(252, 250, 244, .16);
  -webkit-backdrop-filter: blur(6px) saturate(1.6); backdrop-filter: blur(6px) saturate(1.6);
  /* shadows with small blur radii: soft 44px shadows on big glass panes cost a frame on every scroll. The highlights are gradients (cheap), not blurred inset shadows. */
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, 0) 38%), linear-gradient(0deg, rgba(20, 21, 31, .06), rgba(20, 21, 31, 0) 30%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 10px 20px -14px rgba(20, 21, 31, .34), 0 1px 4px rgba(20, 21, 31, .1);
}
.lg::before { /* the rim: brightest where the pointer is */
  content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; padding: 1.2px; pointer-events: none; will-change: transform;
  background: conic-gradient(from var(--rim, 220deg), rgba(255, 255, 255, 1), rgba(255, 255, 255, .25) 12%, rgba(255, 255, 255, .06) 30%, rgba(255, 255, 255, .06) 42%, rgba(255, 255, 255, .55) 50%, rgba(255, 255, 255, .08) 62%, rgba(255, 255, 255, .25) 88%, rgba(255, 255, 255, 1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.lg::after { /* the body of the glass: a soft caustic under the upper rim */
  content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .34), rgba(255, 255, 255, 0) 55%);
  mix-blend-mode: soft-light;
}
.lg > * { position: relative; z-index: 1; }
.lg-defs { position: absolute; width: 0; height: 0; pointer-events: none; }

/* ───────── navigation ───────── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 80; display: flex; justify-content: center; padding: 14px var(--gutter) 0; pointer-events: none; }
.lg-nav { pointer-events: auto; border-radius: 30px; overflow: hidden; width: var(--nav-w, auto); transition: background .5s, color .5s; color: var(--ink); }

/* Safari 26 paints the strips behind its bars with the background of any fixed or sticky element at least 90% wide that touches the screen edge; if that background is transparent it photographs a colour once and keeps it: a flat beige band over the blue sections. A container that is visibility:hidden, whose visible children all sit on their own layers, is skipped: no band, the page scrolls under the bars, full screen, and the bars stay transparent. (The same fix as on the portfolio.) */
.nav, .winner-pin, .services-pin, .method-stick, .end-pin { visibility: hidden; }
:where(.nav, .winner-pin, .services-pin, .method-stick, .end-pin) > * { visibility: visible; }

/* The refraction of the glass edge, drawn once instead of computed on every frame: a red fringe on the left rim, a blue one on the right, a bright bevel above, a soft dark one below and a thin lens-like band inside the edge. */
.lg-nav { background-image: linear-gradient(90deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 9%, rgba(255, 255, 255, 0) 91%, rgba(255, 255, 255, .5)), linear-gradient(180deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 40%, rgba(20, 21, 31, .05)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), inset 2.6px 0 1.6px -1.4px rgba(255, 60, 90, .62), inset -2.6px 0 1.6px -1.4px rgba(50, 130, 255, .7), inset 3.4px 0 0 -2.6px rgba(255, 255, 255, .8), inset -3.4px 0 0 -2.6px rgba(255, 255, 255, .8), inset 0 0 16px -3px rgba(255, 255, 255, .7), inset 0 -3px 5px -3px rgba(20, 21, 31, .24), 0 10px 20px -14px rgba(20, 21, 31, .36), 0 1px 4px rgba(20, 21, 31, .1); }
.lg-nav.is-dark { background-image: linear-gradient(90deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 9%, rgba(255, 255, 255, 0) 91%, rgba(255, 255, 255, .22)), linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 40%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), inset 2.6px 0 1.6px -1.4px rgba(255, 70, 100, .5), inset -2.6px 0 1.6px -1.4px rgba(70, 140, 255, .62), inset 3.4px 0 0 -2.6px rgba(255, 255, 255, .34), inset -3.4px 0 0 -2.6px rgba(255, 255, 255, .34), inset 0 0 16px -4px rgba(255, 255, 255, .2), inset 0 -3px 5px -3px rgba(0, 0, 0, .35), 0 10px 20px -14px rgba(0, 0, 0, .55); }
.btn--liquid { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), inset 1.5px 0 1.3px -1px rgba(255, 90, 70, .4), inset -1.5px 0 1.3px -1px rgba(80, 140, 255, .46), inset 0 0 10px -3px rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .4), 0 14px 26px -14px rgba(20, 21, 31, .55), 0 2px 6px rgba(20, 21, 31, .18); }
.nav-bar { height: 60px; margin: 0 auto; display: flex; align-items: center; gap: clamp(14px, 2.6vw, 34px); padding: 0 8px 0 22px; }
.nav-logo { display: grid; place-items: center; height: 44px; flex: none; }
.nav-logo img { grid-area: 1 / 1; height: 31px; width: auto; transition: opacity .4s; }
.nav-logo .logo-dark { opacity: 0; }
.nav-links { position: relative; }
.nav-links ul { display: flex; gap: 2px; }
.nav-goo { /* the droplet: two blobs that stretch apart while moving and melt back together */
  position: absolute; inset: -14px -24px; pointer-events: none; filter: url(#lg-goo); opacity: 0; z-index: 0 !important;
}
.nav-goo i { position: absolute; left: 24px; top: 50%; height: 40px; width: 0; margin-top: -20px; border-radius: 999px; background: #fff; will-change: transform, width; }
.nav-link { position: relative; z-index: 1; white-space: nowrap; appearance: none; border: 0; background: transparent; padding: 0 16px; height: 40px; border-radius: 999px; font: 500 .9375rem/1 var(--f-text); color: inherit; letter-spacing: -.005em; cursor: pointer; opacity: .82; transition: opacity .25s; }
.nav-link:hover, .nav-link[aria-expanded='true'], .nav-link.is-current { opacity: 1; }
.nav-cta { flex: none; display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 999px; background: var(--ink); color: var(--screen); font: 500 .9375rem/1 var(--f-text); text-decoration: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 4px 12px -4px rgba(20, 21, 31, .5); transition: background .3s, transform .3s var(--ease-out); }
.nav-cta:hover { background: var(--cobalt); }
.nav-burger { display: none; }

.nav-body { overflow: hidden; }
.panel { padding: 6px 22px 26px; }
.panel[hidden], .nav-sheet[hidden] { display: none; }
.panel-list { display: grid; gap: 2px; }
.panel-list a { display: grid; gap: 4px; padding: 14px 16px; border-radius: 18px; text-decoration: none; transition: background .25s; }
.panel-list a:hover, .panel-list a:focus-visible { background: rgba(255, 255, 255, .42); }
.panel-list b { font: 500 1.25rem/1.15 var(--f-text); letter-spacing: -.015em; }
.panel-list span { font-size: var(--fs-small); opacity: .62; }
.nav-scrim { position: fixed; inset: 0; z-index: -1; background: rgba(20, 21, 31, .16); opacity: 0; transition: opacity .4s; pointer-events: auto; }
.nav-scrim.is-open { opacity: 1; }
.nav-scrim[hidden] { display: none; }

/* on cobalt and ink the glass darkens and the words turn light */
.lg-nav.is-open { background: rgba(246, 243, 236, .74); }
.lg-nav.is-dark { color: var(--screen); background: rgba(10, 12, 30, .3); }
.lg-nav.is-dark::after { background: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%); }
.lg-nav.is-dark.is-open { background: rgba(14, 16, 40, .66); }
.lg-nav.is-dark .logo-light { opacity: 0; }
.lg-nav.is-dark .logo-dark { opacity: 1; }
.lg-nav.is-dark .nav-goo i { background: rgba(255, 255, 255, 1); }
.lg-nav.is-dark .nav-cta { background: var(--screen); color: var(--ink); }
.lg-nav.is-dark .panel-list a:hover { background: rgba(255, 255, 255, .12); }

.nav-sheet { padding: 4px 22px 24px; }
.nav-sheet a { display: block; padding: 4px 0; font: 400 clamp(2.6rem, 13vw, 4.5rem)/.98 var(--f-display); text-transform: uppercase; letter-spacing: -.02em; color: inherit; text-decoration: none; }

/* ───────── light on the paper ───────── */
.atmos { position: fixed; inset: 0; z-index: 1; pointer-events: none; visibility: hidden; overflow: hidden; }
.atmos > * { visibility: visible; }
.blinds {
  position: absolute; inset: -30% -20%; opacity: 0; mix-blend-mode: soft-light;
  /* soft edges drawn into the gradient: a blur filter on a layer this big cost a frame on every scroll */
  background: repeating-linear-gradient(-24deg, rgba(255, 249, 232, 0) 0 34px, rgba(255, 248, 228, .95) 62px 104px, rgba(255, 249, 232, 0) 132px 150px);
  will-change: transform, opacity;
}
.lamp-glow { position: absolute; left: 0; top: 0; width: 900px; height: 520px; margin: -260px 0 0 -450px; border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(255, 200, 110, .5), rgba(255, 200, 110, .18) 50%, rgba(255, 200, 110, 0)); mix-blend-mode: soft-light; will-change: transform, opacity; }
@media (hover: none) and (pointer: coarse) { .blinds { display: none; } }
.lite .blinds, .lite .lamp-glow { display: none; }
/* while the page is moving, the big glass panes drop their backdrop filter (re-blurring what is under them on every frame was the slowest thing on the page); it comes back 0.2 s after the scroll stops */
.is-moving .lg, .is-moving .btn--liquid { -webkit-backdrop-filter: blur(6px) saturate(1.5) !important; backdrop-filter: blur(6px) saturate(1.5) !important; }
.is-moving .what .pane { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background-color: rgba(250, 248, 240, .66) !important; }

/* ───────── stage ───────── */
.stage { position: fixed; left: 0; top: 0; width: 100%; height: 100%; height: 100lvh; z-index: 2; pointer-events: none; visibility: hidden; }
.stage canvas { visibility: visible; display: block; width: 100%; height: 100%; }

/* ───────── hero ───────── */
.hero { position: relative; height: 100svh; min-height: 640px; overflow-x: clip; }
.type { position: absolute; inset: 0; pointer-events: none; }
.type--behind { z-index: 1; }
.type--front { z-index: 3; }
.giant--1, .giant--2 { position: absolute; left: var(--gutter); }
.giant--1 { top: calc(var(--nav-h) + var(--fs-giant) * .26); }
.giant--2 { top: calc(var(--nav-h) + var(--fs-giant) * 1.18); }
.giant { line-height: .9; }
.mask { display: block; overflow: hidden; padding: .08em .06em .02em; margin: -.08em -.06em -.02em; }
.word { display: block; will-change: transform; }
.acc {
  position: absolute; white-space: nowrap; line-height: 1;
  font-family: var(--f-accent); font-style: italic; font-weight: 900; font-size: calc(var(--fs-giant) * .5); letter-spacing: -.02em;
  /* cream on the blue letters; where it leaves them, a blue edge keeps it readable on the paper */
  color: #F4F1E8; -webkit-text-stroke: .085em var(--cobalt); paint-order: stroke fill;
  text-shadow: 0 .05em .1em rgba(6, 10, 60, .18);
}
.acc--1 { left: calc(var(--gutter) + var(--fs-giant) * .05); top: calc(var(--nav-h) + var(--fs-giant) * .25); }
.acc--2 { left: calc(var(--gutter) + var(--fs-giant) * .06); top: calc(var(--nav-h) + var(--fs-giant) * 1.12); }
.ch { display: inline-block; will-change: transform; transform-origin: 50% 100%; }
.acc { clip-path: inset(-30% -10% -30% -10%); }

.hero-copy { position: absolute; z-index: 3; left: var(--gutter); bottom: clamp(28px, 6vh, 64px); max-width: min(33rem, 44vw); display: grid; gap: 1.6rem; justify-items: start; }

/* ───────── idea ───────── */
.idea { position: relative; z-index: 3; min-height: 130svh; display: grid; align-items: center; padding: calc(var(--nav-h) + 8vh) var(--gutter) 8vh; }
.idea-inner { max-width: min(60rem, 62vw); display: grid; gap: 3rem; }
.tline { display: block; overflow: hidden; padding: .03em 0 .01em; }
.tline > * { display: inline-block; will-change: transform; }
.title .accent { font-size: .4em; vertical-align: .62em; margin-right: .2em; }

/* ───────── winner: inside the computer ───────── */
.winner { position: relative; z-index: 3; height: 500vh; }
.winner-pin { position: sticky; top: 0; height: 100svh; overflow-x: clip; overflow-y: visible; }
.inside { position: absolute; inset: 0 0 auto 0; width: 100%; height: 100%; height: 100lvh; image-rendering: pixelated; opacity: 0; display: block; }
.crt { position: absolute; inset: 0 0 auto 0; height: 100%; height: 100lvh; pointer-events: none; opacity: 0;
  background:
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .09) 0 1px, rgba(0, 0, 0, 0) 1px 3px),
    radial-gradient(120% 120% at 50% 50%, rgba(0, 0, 0, 0) 58%, rgba(0, 0, 0, .38) 100%);
  box-shadow: inset 0 0 120px rgba(0, 0, 0, .35); }
.inside-ui { position: absolute; inset: 0 0 auto 0; height: 100%; height: 100lvh; pointer-events: none; }
.pix-hit { position: absolute; pointer-events: auto; appearance: none; border: 0; background: transparent; color: transparent; font-size: 1px; cursor: pointer; border-radius: 2px; }
.pix-hit:focus-visible { outline: 3px solid var(--cobalt); outline-offset: 2px; }


/* ───────── services: the computer stays, the three apps are the choices ───────── */
/* the section scrolls like any page: the computer comes up with it, holds while you read, leaves with it */
.services { position: relative; z-index: 3; height: 215vh; --o-ink: #101318; --o-paper: #F2F0E6; }
.services-pin { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.svc-text { position: absolute; z-index: 3; left: var(--gutter); top: calc(var(--nav-h) + 3.4vh); bottom: 4vh; width: min(38vw, 34rem); display: grid; grid-template-rows: auto auto auto auto; gap: clamp(.9rem, 2.6vh, 1.8rem); align-content: start; }
.svc-text .title { font-size: min(clamp(2.4rem, 4.2vw, 4.2rem), 7.4vh); }
.svc-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hair); }
.svc-item { border-bottom: 1px solid var(--hair); }
.svc-tab { appearance: none; border: 0; background: transparent; width: 100%; display: grid; grid-template-columns: 3.6rem 1fr auto 34px; align-items: center; gap: 1rem; padding: clamp(.6rem, 1.5vh, 1rem) 0; cursor: pointer; text-align: left; color: var(--ink); }
.svc-no { position: relative; font: italic 400 1rem/1 var(--f-accent); color: rgba(20, 21, 31, .6); white-space: nowrap; transition: color .3s, opacity .3s; }
.svc-ok { position: absolute; left: 0; top: 50%; width: 1.25rem; height: 1.25rem; margin-top: -.625rem; fill: none; stroke: var(--cobalt); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .6s var(--ease-out) .1s; }
.svc-item.is-seen .svc-no { color: transparent; } .svc-item.is-seen .svc-ok { stroke-dashoffset: 0; }
.svc-name { font: 400 clamp(1.5rem, 2.1vw, 2.1rem)/1 var(--f-display); text-transform: uppercase; letter-spacing: -.005em; transition: color .3s; }
.svc-state { font: 600 .6875rem/1 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: rgba(20, 21, 31, .55); white-space: nowrap; }
.svc-item[data-svc='check'] .svc-state { color: var(--cobalt); } .svc-item[data-svc='verified'] .svc-state { color: var(--ink); }
.svc-tab i { position: relative; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--hair); transition: background .35s, border-color .35s, color .35s, transform .5s var(--ease-out); }
.svc-tab i::before, .svc-tab i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.6px; margin: -.8px 0 0 -6px; background: currentColor; transition: transform .5s var(--ease-out); }
.svc-tab i::after { transform: rotate(90deg); }
.svc-tab:hover .svc-name, .svc-item.is-open .svc-name { color: var(--cobalt); }
.svc-item.is-open .svc-tab i { background: var(--ink); border-color: var(--ink); color: var(--screen); transform: rotate(180deg); }
.svc-item.is-open .svc-tab i::after { transform: rotate(0deg); }
/* the row of the app that is lighting up on the screen lights up with it */
.svc-item.is-hint .svc-tab i { background: var(--cobalt); border-color: var(--cobalt); color: var(--screen); }
.svc-item.is-hint .svc-name { color: var(--cobalt); }
.svc-tab:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 4px; border-radius: 8px; }
/* one reading place: the four texts share the same cell, so nothing below ever moves */
.svc-detail { display: grid; align-content: start; min-height: 0; }
.svc-p { grid-area: 1 / 1; display: grid; gap: clamp(.55rem, 1.4vh, .9rem); align-content: start; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s, transform .6s var(--ease-out), visibility 0s .35s; }
.svc-p.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .5s .1s, transform .8s var(--ease-out) .1s, visibility 0s; }
.svc-p h3 { margin: 0; font: 400 clamp(1.6rem, 2.3vw, 2.3rem)/.98 var(--f-display); text-transform: uppercase; color: var(--ink); }
.svc-p p { margin: 0; max-width: 31em; } .svc-p em { font-family: var(--f-accent); }
.svc-lead { font: 400 var(--fs-lede)/1.35 var(--f-accent); max-width: 24em !important; }
.svc-quote { font: 500 clamp(1.1rem, 1.4vw, 1.35rem)/1.25 var(--f-text); color: var(--cobalt); letter-spacing: -.02em; }
/* a sign of the old interface, not a button: it barely moves, in 3D, so it reads as an object and not as something to press */
.svc-win { justify-self: start; margin-top: .5rem; perspective: 520px; padding: 4px 8px 8px 0; }
.svc-win canvas { display: block; image-rendering: pixelated; transform-origin: 30% 60%; animation: winfloat 9s ease-in-out infinite; will-change: transform; }
@keyframes winfloat { 0%, 100% { transform: translate3d(0, 0, 0) rotateX(0deg) rotateY(0deg); } 33% { transform: translate3d(0, -2px, 0) rotateX(2deg) rotateY(-2.4deg); } 66% { transform: translate3d(0, 1px, 0) rotateX(-1.4deg) rotateY(2deg); } }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.svc-count span { font-weight: 500; letter-spacing: .06em; }
.svc-note a { color: var(--cobalt); font-weight: 600; text-underline-offset: 3px; }
.svc-note { font-size: .875rem; line-height: 1.45; color: rgba(20, 21, 31, .68); padding-top: clamp(.4rem, 1vh, .7rem); border-top: 1px solid var(--hair); }
.svc-foot { position: relative; display: grid; align-items: center; justify-items: start; min-height: 64px; }
.svc-count { grid-area: 1 / 1; margin: 0; font: 600 .6875rem/1 var(--f-text); text-transform: uppercase; letter-spacing: .12em; color: rgba(20, 21, 31, .55); transition: opacity .4s; }
.svc-count b { color: var(--cobalt); font-weight: 600; }
.svc-go { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(10px) scale(.94); transform-origin: 0 50%; transition: opacity .5s, transform .9s var(--ease-out), visibility 0s .5s; }
.svc-foot.is-done .svc-go { opacity: 1; visibility: visible; transform: none; transition: opacity .5s, transform .9s var(--ease-out), visibility 0s; }
.svc-foot.is-done .svc-count { opacity: 0; }
.btn--blue { background: var(--cobalt); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -1px 0 rgba(0, 0, 0, .25), 0 12px 26px -14px rgba(10, 58, 229, .7); }
.btn--blue .btn-blob { background: var(--ink); }
.btn[href="#method"]:hover .btn-icon svg:first-child { transform: translateY(160%); }
.btn[href="#method"]:hover .btn-icon svg + svg { transform: translateY(0); }
.svc-text > * { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease-out), transform 1s var(--ease-out); }
.services-pin.is-in .svc-text > * { opacity: 1; transform: none; }
.services-pin.is-in .svc-text > :nth-child(2) { transition-delay: .1s; } .services-pin.is-in .svc-text > :nth-child(3) { transition-delay: .2s; } .services-pin.is-in .svc-text > :nth-child(4) { transition-delay: .3s; }
/* the blue of the method rises with its section, under the 3D stage */
.wipe { position: fixed; left: 0; top: 0; width: 100%; height: 100lvh; z-index: 1; transform: translate3d(0, 100lvh, 0); visibility: hidden; pointer-events: none; will-change: transform; }
.wipe > i { display: none; position: absolute; inset: 0; background: var(--cobalt); visibility: visible; will-change: transform; }
.wipe.is-on > i { display: block; }

/* over the glass of the 3D computer: takes the clicks, the arrow is drawn on the screen itself */
.os { position: absolute; z-index: 2; left: 0; top: 0; width: 100px; height: 66px; cursor: none !important; touch-action: pan-y; -webkit-tap-highlight-color: transparent; will-change: transform; }
@media (hover: none) and (pointer: coarse), (max-width: 820px) {
  .services { height: 200vh; }
  .svc-text { left: 0; right: 0; width: auto; top: 60%; bottom: 0; gap: .5rem; padding: 4px var(--gutter) max(12px, env(safe-area-inset-bottom)); background: var(--paper); grid-template-rows: auto minmax(0, 1fr) auto; }
  .svc-detail { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
  .svc-detail::-webkit-scrollbar { display: none; }
  .svc-text .title { display: none; }
  .svc-tab { grid-template-columns: 2.6rem 1fr auto 26px; gap: .6rem; padding: .42rem 0; }
  .svc-name { font-size: 1.2rem; } .svc-no { font-size: .8125rem; } .svc-tab i { width: 26px; height: 26px; }
  .svc-p { gap: .4rem; } .svc-p h3 { font-size: 1.15rem; } .svc-p p { font-size: .84rem; line-height: 1.38; } .svc-note { font-size: .75rem !important; padding-top: .35rem !important; } .svc-quote { font-size: .95rem; }
  .svc-lead { font-size: 1rem !important; }
  .svc-foot { min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) { .svc-win canvas { animation: none; } }
@media (prefers-reduced-motion: reduce) { .svc-p, .svc-ok, .svc-text > *, .svc-go, .svc-count { transition: none; } }

/* ───────── the Macintosh cursors: the arrow everywhere, the pointing hand on what can be pressed ───────── */
@media (hover: hover) and (pointer: fine) {
  html, body { cursor: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='32' shape-rendering='crispEdges'><rect x='0' y='0' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='2' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='2' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='4' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='4' width='2' height='2' fill='%2314151F'/><rect x='4' y='4' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='6' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='6' width='2' height='2' fill='%2314151F'/><rect x='4' y='6' width='2' height='2' fill='%2314151F'/><rect x='6' y='6' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='8' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='8' width='2' height='2' fill='%2314151F'/><rect x='4' y='8' width='2' height='2' fill='%2314151F'/><rect x='6' y='8' width='2' height='2' fill='%2314151F'/><rect x='8' y='8' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='10' width='2' height='2' fill='%2314151F'/><rect x='4' y='10' width='2' height='2' fill='%2314151F'/><rect x='6' y='10' width='2' height='2' fill='%2314151F'/><rect x='8' y='10' width='2' height='2' fill='%2314151F'/><rect x='10' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='12' width='2' height='2' fill='%2314151F'/><rect x='4' y='12' width='2' height='2' fill='%2314151F'/><rect x='6' y='12' width='2' height='2' fill='%2314151F'/><rect x='8' y='12' width='2' height='2' fill='%2314151F'/><rect x='10' y='12' width='2' height='2' fill='%2314151F'/><rect x='12' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='14' width='2' height='2' fill='%2314151F'/><rect x='4' y='14' width='2' height='2' fill='%2314151F'/><rect x='6' y='14' width='2' height='2' fill='%2314151F'/><rect x='8' y='14' width='2' height='2' fill='%2314151F'/><rect x='10' y='14' width='2' height='2' fill='%2314151F'/><rect x='12' y='14' width='2' height='2' fill='%2314151F'/><rect x='14' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='16' width='2' height='2' fill='%2314151F'/><rect x='4' y='16' width='2' height='2' fill='%2314151F'/><rect x='6' y='16' width='2' height='2' fill='%2314151F'/><rect x='8' y='16' width='2' height='2' fill='%2314151F'/><rect x='10' y='16' width='2' height='2' fill='%2314151F'/><rect x='12' y='16' width='2' height='2' fill='%2314151F'/><rect x='14' y='16' width='2' height='2' fill='%2314151F'/><rect x='16' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='18' width='2' height='2' fill='%2314151F'/><rect x='4' y='18' width='2' height='2' fill='%2314151F'/><rect x='6' y='18' width='2' height='2' fill='%2314151F'/><rect x='8' y='18' width='2' height='2' fill='%2314151F'/><rect x='10' y='18' width='2' height='2' fill='%2314151F'/><rect x='12' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='20' width='2' height='2' fill='%2314151F'/><rect x='4' y='20' width='2' height='2' fill='%2314151F'/><rect x='6' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='20' width='2' height='2' fill='%2314151F'/><rect x='10' y='20' width='2' height='2' fill='%2314151F'/><rect x='12' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='22' width='2' height='2' fill='%2314151F'/><rect x='4' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='22' width='2' height='2' fill='%2314151F'/><rect x='12' y='22' width='2' height='2' fill='%2314151F'/><rect x='14' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='0' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='2' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='24' width='2' height='2' fill='%2314151F'/><rect x='12' y='24' width='2' height='2' fill='%2314151F'/><rect x='14' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='26' width='2' height='2' fill='%2314151F'/><rect x='14' y='26' width='2' height='2' fill='%2314151F'/><rect x='16' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='28' width='2' height='2' fill='%2314151F'/><rect x='14' y='28' width='2' height='2' fill='%2314151F'/><rect x='16' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='30' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='30' width='2' height='2' fill='%23F2F0E6'/></svg>") 1 1, default; }
  a, button, summary, label, [role="button"], .btn, .nav-link, .pix-hit, .svc-tab, .switch, .qa summary, .seg-btn { cursor: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' shape-rendering='crispEdges'><rect x='8' y='0' width='2' height='2' fill='%2314151F'/><rect x='10' y='0' width='2' height='2' fill='%2314151F'/><rect x='6' y='2' width='2' height='2' fill='%2314151F'/><rect x='8' y='2' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='2' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='2' width='2' height='2' fill='%2314151F'/><rect x='6' y='4' width='2' height='2' fill='%2314151F'/><rect x='8' y='4' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='4' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='4' width='2' height='2' fill='%2314151F'/><rect x='6' y='6' width='2' height='2' fill='%2314151F'/><rect x='8' y='6' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='6' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='6' width='2' height='2' fill='%2314151F'/><rect x='6' y='8' width='2' height='2' fill='%2314151F'/><rect x='8' y='8' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='8' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='8' width='2' height='2' fill='%2314151F'/><rect x='14' y='8' width='2' height='2' fill='%2314151F'/><rect x='16' y='8' width='2' height='2' fill='%2314151F'/><rect x='6' y='10' width='2' height='2' fill='%2314151F'/><rect x='8' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='10' width='2' height='2' fill='%2314151F'/><rect x='14' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='10' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='10' width='2' height='2' fill='%2314151F'/><rect x='20' y='10' width='2' height='2' fill='%2314151F'/><rect x='22' y='10' width='2' height='2' fill='%2314151F'/><rect x='6' y='12' width='2' height='2' fill='%2314151F'/><rect x='8' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='12' width='2' height='2' fill='%2314151F'/><rect x='14' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='12' width='2' height='2' fill='%2314151F'/><rect x='20' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='12' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='12' width='2' height='2' fill='%2314151F'/><rect x='26' y='12' width='2' height='2' fill='%2314151F'/><rect x='0' y='14' width='2' height='2' fill='%2314151F'/><rect x='2' y='14' width='2' height='2' fill='%2314151F'/><rect x='6' y='14' width='2' height='2' fill='%2314151F'/><rect x='8' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='14' width='2' height='2' fill='%2314151F'/><rect x='14' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='14' width='2' height='2' fill='%2314151F'/><rect x='20' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='14' width='2' height='2' fill='%2314151F'/><rect x='26' y='14' width='2' height='2' fill='%23F2F0E6'/><rect x='28' y='14' width='2' height='2' fill='%2314151F'/><rect x='0' y='16' width='2' height='2' fill='%2314151F'/><rect x='2' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='4' y='16' width='2' height='2' fill='%2314151F'/><rect x='6' y='16' width='2' height='2' fill='%2314151F'/><rect x='8' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='16' width='2' height='2' fill='%2314151F'/><rect x='28' y='16' width='2' height='2' fill='%23F2F0E6'/><rect x='30' y='16' width='2' height='2' fill='%2314151F'/><rect x='0' y='18' width='2' height='2' fill='%2314151F'/><rect x='2' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='4' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='6' y='18' width='2' height='2' fill='%2314151F'/><rect x='8' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='28' y='18' width='2' height='2' fill='%23F2F0E6'/><rect x='30' y='18' width='2' height='2' fill='%2314151F'/><rect x='2' y='20' width='2' height='2' fill='%2314151F'/><rect x='4' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='6' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='28' y='20' width='2' height='2' fill='%23F2F0E6'/><rect x='30' y='20' width='2' height='2' fill='%2314151F'/><rect x='2' y='22' width='2' height='2' fill='%2314151F'/><rect x='4' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='6' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='22' width='2' height='2' fill='%23F2F0E6'/><rect x='28' y='22' width='2' height='2' fill='%2314151F'/><rect x='4' y='24' width='2' height='2' fill='%2314151F'/><rect x='6' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='24' width='2' height='2' fill='%23F2F0E6'/><rect x='28' y='24' width='2' height='2' fill='%2314151F'/><rect x='4' y='26' width='2' height='2' fill='%2314151F'/><rect x='6' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='8' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='26' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='26' width='2' height='2' fill='%2314151F'/><rect x='6' y='28' width='2' height='2' fill='%2314151F'/><rect x='8' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='10' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='12' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='14' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='16' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='18' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='20' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='22' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='24' y='28' width='2' height='2' fill='%23F2F0E6'/><rect x='26' y='28' width='2' height='2' fill='%2314151F'/><rect x='6' y='30' width='2' height='2' fill='%2314151F'/><rect x='8' y='30' width='2' height='2' fill='%2314151F'/><rect x='10' y='30' width='2' height='2' fill='%2314151F'/><rect x='12' y='30' width='2' height='2' fill='%2314151F'/><rect x='14' y='30' width='2' height='2' fill='%2314151F'/><rect x='16' y='30' width='2' height='2' fill='%2314151F'/><rect x='18' y='30' width='2' height='2' fill='%2314151F'/><rect x='20' y='30' width='2' height='2' fill='%2314151F'/><rect x='22' y='30' width='2' height='2' fill='%2314151F'/><rect x='24' y='30' width='2' height='2' fill='%2314151F'/><rect x='26' y='30' width='2' height='2' fill='%2314151F'/></svg>") 8 1, pointer !important; }
}

/* ───────── what fluke does ───────── */
.what { position: relative; z-index: 3; background: var(--paper); min-height: 100svh; overflow: hidden; padding: calc(var(--nav-h) + 12vh) var(--gutter) 14vh; display: grid; gap: clamp(3rem, 7vh, 5rem); }
.what-curves { position: absolute; left: 0; bottom: 3%; width: 100%; height: 64%; pointer-events: none; }
.what-lens { position: absolute; left: 0; top: 0; z-index: 2; width: 210px; height: 210px; border-radius: 50%; pointer-events: none; opacity: 0; will-change: transform; background: transparent; box-shadow: inset 0 0 0 1px rgba(20, 21, 31, .06), inset 0 -8px 12px -8px rgba(20, 21, 31, .14), 0 14px 22px -16px rgba(20, 21, 31, .3); }
.what-lens::after { background: radial-gradient(60% 40% at 50% 8%, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 70%); mix-blend-mode: normal; }
.what-lens::before { padding: 1.6px; }
.what-head { position: relative; display: grid; gap: 2rem; max-width: 62rem; }
.what-head .lede { max-width: 30em; }
.glassboard { position: relative; display: grid; grid-template-columns: 1.25fr .85fr; grid-template-rows: auto auto; gap: clamp(1rem, 2vw, 1.6rem); max-width: 74rem; }
.pane { border-radius: 28px; padding: clamp(1.3rem, 2.4vw, 2rem); display: grid; gap: 1rem; align-content: start; color: var(--ink); background: rgba(252, 250, 244, .32); }
.pane header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.pane-kicker { font: 500 var(--fs-small)/1 var(--f-text); opacity: .7; }
.pane-tag { font: 500 .75rem/1 var(--f-text); padding: .5em .85em; border-radius: 999px; background: rgba(255, 255, 255, .55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9); }
.pane-tag--dark { background: var(--ink); color: var(--screen); box-shadow: none; }
.pane h3 { font: 400 clamp(2rem, 3.4vw, 3.2rem)/.95 var(--f-display); text-transform: uppercase; letter-spacing: -.015em; color: var(--cobalt); }
.pane p { max-width: 26em; }
.pane-toc { margin: 0; padding: 0 0 0 1.2em; display: grid; gap: .45rem; font: 400 1.1rem/1.3 var(--f-accent); }
.pane-toc li::marker { font: 500 .8rem var(--f-text); color: var(--cobalt); }
.pane-link { justify-self: start; display: inline-flex; align-items: center; gap: .6em; font: 500 var(--fs-body)/1 var(--f-text); text-decoration: none; padding: .7em 1.1em; border-radius: 999px; background: var(--ink); color: var(--screen); transition: background .3s, gap .4s var(--ease-out); }
.pane-link:hover { background: var(--cobalt); gap: .9em; }
.pane--notes { grid-column: 1; grid-row: 1; }
.pane--check { grid-column: 1 / -1; grid-row: 2; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: clamp(1.2rem, 3vw, 2.6rem); }
.pane--check header { grid-column: 1 / -1; }
.pane--check p { font: 400 var(--fs-lede)/1.25 var(--f-accent); max-width: 22em; }
.pane--check .pane-link { justify-self: end; }
.pane--log { grid-column: 2; grid-row: 1; }
.mini-gauge { width: 150px; overflow: visible; }
.mg-track, .mg-fill { fill: none; stroke-width: 10; stroke-linecap: round; }
.mg-track { stroke: rgba(20, 21, 31, .12); }
.mg-fill { stroke: var(--cobalt); stroke-dasharray: 208; stroke-dashoffset: 208; animation: mg 6s var(--ease-io) infinite; }
.mg-needle { transform-origin: 80px 86px; animation: mgn 6s var(--ease-io) infinite; }
.mg-needle path { stroke: var(--signal); stroke-width: 4; stroke-linecap: round; }
.mg-needle circle { fill: var(--signal); }
@keyframes mg { 0%, 12% { stroke-dashoffset: 208; } 45%, 62% { stroke-dashoffset: 52; } 92%, 100% { stroke-dashoffset: 208; } }
@keyframes mgn { 0%, 12% { transform: rotate(-90deg); } 45%, 62% { transform: rotate(45deg); } 92%, 100% { transform: rotate(-90deg); } }
.log { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .1rem; }
.log li { transition: opacity .38s var(--ease-out), transform .5s var(--ease-out); }
.log li.is-out { opacity: 0; transform: translateY(-8px); }
.log li.is-new { opacity: 0; transform: translateY(10px); }
.log li svg path { vector-effect: non-scaling-stroke; }
.log li { display: grid; grid-template-columns: 4.6em 1fr auto; align-items: center; gap: .8rem; padding: .55rem 0; border-bottom: 1px solid rgba(20, 21, 31, .1); font: 500 .9rem/1 var(--f-text); }
.log li svg { width: 100%; height: 22px; overflow: visible; }
.log li svg path { fill: none; stroke: var(--ink); stroke-width: 1.4; opacity: .7; }
.log li.kept svg path { stroke: var(--signal); stroke-width: 2.4; opacity: 1; }
.log .st { font-size: .75rem; padding: .35em .6em; border-radius: 999px; background: rgba(20, 21, 31, .07); }
.log li.kept .st { background: var(--signal); color: var(--ink); }
.pane small { opacity: .55; font-size: .75rem; }


/* ───────── the fluke check ───────── */
.check { position: relative; z-index: 3; background: var(--ink); min-height: 115svh; padding: calc(var(--nav-h) + 10vh) var(--gutter) 12vh; color: var(--screen); display: grid; gap: clamp(2.5rem, 6vh, 4.5rem); align-content: center; }
.check-head { display: grid; gap: 1.2rem; }
.check-why { max-width: 36em; opacity: .75; }
.check-demo { font: 400 var(--fs-small)/1.3 var(--f-text); opacity: 0; transition: opacity .5s; }
.check-demo.is-on { opacity: .7; }
.check .title .accent { color: var(--screen); }
.check-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.check-list li { position: relative; transition: background .5s var(--ease-out); }
.check-list li::before { content: ''; position: absolute; inset: 0 calc(var(--gutter) * -.4); border-radius: 18px; background: rgba(237, 235, 224, .08); opacity: 0; transition: opacity .5s var(--ease-out); pointer-events: none; }
.check-list li.is-demo::before { opacity: 1; }
.check-list li { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid rgba(237, 235, 224, .14); font-size: var(--fs-body); }
.switch { width: 62px; height: 36px; border-radius: 999px; border: 0; padding: 0; cursor: pointer; background: rgba(255, 255, 255, .08); transition: background .45s var(--ease-out); }
.switch i { position: absolute; top: 4px; left: 4px; width: 28px; height: 28px; border-radius: 50%; background: var(--screen); box-shadow: 0 3px 10px rgba(0, 0, 0, .35), inset 0 -2px 4px rgba(0, 0, 0, .12); transition: transform .55s cubic-bezier(.3, 1.5, .45, 1), width .2s; }
.switch:active i { width: 34px; }
.switch[aria-checked='true'] { background: rgba(10, 58, 229, .85); }
.switch[aria-checked='true'] i { transform: translateX(26px); }
.switch[aria-checked='true']:active i { transform: translateX(20px); }
.gauge { display: grid; gap: .8rem; justify-items: center; text-align: center; }
.gauge-dial { width: min(100%, 420px); overflow: visible; }
.gauge-track, .gauge-fill { fill: none; stroke-width: 18; stroke-linecap: round; }
.gauge-track { stroke: rgba(237, 235, 224, .12); }
.gauge-fill { stroke: var(--cobalt); stroke-dasharray: 409; stroke-dashoffset: 409; }
.gauge-ticks line { stroke: rgba(237, 235, 224, .4); stroke-width: 2; }
#gauge-needle path { stroke: var(--signal); stroke-width: 6; stroke-linecap: round; }
#gauge-needle circle { fill: var(--signal); }
.gauge-labels { width: min(100%, 420px); display: flex; justify-content: space-between; font: 400 2rem/1 var(--f-display); text-transform: uppercase; letter-spacing: -.01em; }
.gauge-verdict { font: 400 var(--fs-lede)/1.2 var(--f-accent); min-height: 2.4em; }

/* ───────── faq ───────── */
.faq { position: relative; z-index: 3; background: var(--paper); min-height: 115svh; padding: calc(var(--nav-h) + 10vh) var(--gutter) 14vh; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.faq .title .accent { font-size: .6em; vertical-align: 0; }
.faq-list { border-top: 1px solid var(--hair); }
.qa { border-bottom: 1px solid var(--hair); }
.qa summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.5rem 0; cursor: pointer; font: 500 1.3rem/1.25 var(--f-text); letter-spacing: -.015em; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--hair); transition: background .35s, transform .5s var(--ease-out); }
.qa summary i::before, .qa summary i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.6px; margin: -.8px 0 0 -6px; background: currentColor; transition: transform .5s var(--ease-out); }
.qa summary i::after { transform: rotate(90deg); }
.qa[open] summary i { background: var(--ink); color: var(--screen); transform: rotate(180deg); }
.qa[open] summary i::after { transform: rotate(0deg); }
.qa.is-closing summary i { background: transparent; color: inherit; transform: none; }
.qa.is-closing summary i::after { transform: rotate(90deg); }
.qa summary:hover span { color: var(--cobalt); }
.qa-a { overflow: hidden; }
.qa-a p { padding: 0 0 1.6rem; max-width: 40em; color: rgba(20, 21, 31, .82); }

/* ───────── method ───────── */
.method { position: relative; z-index: 3; height: 680vh; color: var(--screen); }
.method-stick { position: sticky; top: 0; height: 100svh; overflow: hidden; }
/* no glow behind the words: a blurred text-shadow on type this big was repainted on every scroll frame (13 ms) */
.method-head { position: absolute; z-index: 4; top: calc(var(--nav-h) + 4vh); left: var(--gutter); max-width: min(64rem, 56vw); display: grid; gap: 1rem; }
.rail { position: absolute; inset: 0; display: flex; width: max-content; will-change: transform; }
.habit { flex: 0 0 100vw; height: 100%; position: relative; padding: 0 var(--gutter) 9vh; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 1.1rem; }
.habit .giant { margin-bottom: .1em; font-size: calc(var(--fs-giant) * .86); }
.habit-title .accent { color: var(--screen); font-size: .9em; text-transform: none; margin-right: .1em; }
.habit .body { max-width: 24em; }

/* ───────── notes ───────── */
.notes { position: relative; z-index: 3; min-height: 170svh; display: grid; align-content: center; padding: calc(var(--nav-h) + 10vh) var(--gutter) 12vh; }
.notes-copy { display: grid; gap: 3rem; max-width: min(40rem, 46vw); }
.giant--notes { font-size: var(--fs-title); line-height: .94; max-width: 11ch; text-wrap: balance; }
.giant--notes .accent { font-size: .4em; vertical-align: .6em; margin-right: .12em; }
.giant--notes .gw { display: inline-block; }
.notes-body { display: grid; gap: 1.6rem; justify-items: start; }

/* ───────── end + footer ───────── */
.end { position: relative; z-index: 3; color: var(--screen); }
.end-scroll { position: relative; height: 340vh; }
.end-pin { position: sticky; top: 0; height: 100svh; padding: calc(var(--nav-h) + 8vh) var(--gutter) 6vh; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }
.end-top { display: grid; gap: 2.2rem; justify-items: start; max-width: 50vw; }
.giant--end { font-size: var(--fs-title); line-height: .94; color: var(--screen); }
.giant--end .accent { color: var(--screen); font-size: .4em; vertical-align: .6em; margin-right: .12em; }
.end .btn--liquid { background: rgba(237, 235, 224, .94); color: var(--ink); }
.end .btn-icon { background: rgba(20, 21, 31, .08); }
.end-mark { grid-row: 3; position: relative; width: min(58vw, 880px); aspect-ratio: 900 / 307; }
.end-logo { will-change: clip-path; }
.end-logo { position: absolute; inset: 0; background: url('../assets/logo-end.png') center / 100% 100% no-repeat; clip-path: inset(0 100% 0 0); }
.end-dot.is-landed { animation: land .7s var(--ease-out); }
@keyframes land { 0% { transform: scale(1.25, .78); box-shadow: 0 0 0 0 rgba(252, 108, 58, .55); } 45% { transform: scale(.92, 1.08); } 100% { transform: none; box-shadow: 0 0 0 26px rgba(252, 108, 58, 0); } }
.end-dot { position: absolute; left: calc(838 / 900 * 100%); top: calc(243 / 307 * 100%); width: calc(59 / 900 * 100%); aspect-ratio: 1; border-radius: 50%; background: var(--signal); opacity: 0; }
.fly-dot { position: fixed; left: 0; top: 0; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; background: var(--signal); z-index: 3; pointer-events: none; opacity: 0; will-change: transform; box-shadow: 0 0 24px rgba(252, 108, 58, .55); }
.foot { position: relative; z-index: 4; background: var(--ink); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 2.5rem clamp(2rem, 5vw, 5rem); border-top: 1px solid rgba(237, 235, 224, .2); margin: 0 var(--gutter); padding: 3rem 0 3rem; }
.foot::before { content: ''; position: absolute; inset: 0 calc(var(--gutter) * -1) 0; background: var(--ink); z-index: -1; }
.foot-brand { display: grid; gap: 1rem; align-content: start; }
.foot-brand img { height: 36px; width: auto; }
.foot-brand p { opacity: .7; max-width: 18em; }
.foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.foot-cols h3 { font: 500 var(--fs-small)/1 var(--f-text); text-transform: none; opacity: .55; margin-bottom: 1.1rem; }
.foot-cols ul { display: grid; gap: .7rem; }
.foot-cols a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--ease-out); }
.foot-cols a:hover { background-size: 100% 1px; }
.foot-cols li { opacity: .9; }
.foot-bar { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 1rem; font-size: var(--fs-small); opacity: .6; border-top: 1px solid rgba(237, 235, 224, .14); padding-top: 1.2rem; }
.foot-bar a { text-decoration: none; }

/* ───────── note sheet ───────── */
.note-layer { position: fixed; inset: 0; z-index: 150; display: grid; place-items: center; padding: calc(var(--nav-h) + 12px) 16px 16px; }
.note-layer[hidden] { display: none; }
.note-scrim { position: absolute; inset: 0; background: rgba(20, 21, 31, .36); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sheet { position: relative; width: min(44rem, 100%); max-height: calc(100svh - var(--nav-h) - 32px); display: flex; flex-direction: column; background: var(--paper); border-radius: 24px; box-shadow: 0 30px 80px rgba(20, 21, 31, .28); overflow: hidden; outline: 0; }
.sheet-bar { flex: none; display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 14px 26px; border-bottom: 1px solid var(--hair); }
.sheet-title { font: 500 var(--fs-small)/1 var(--f-text); }
.sheet-close { appearance: none; border: 0; width: 36px; height: 36px; border-radius: 50%; background: rgba(20, 21, 31, .08); color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background .2s; }
.sheet-close:hover { background: rgba(20, 21, 31, .16); }
.sheet-body { overflow: auto; padding: clamp(22px, 4vw, 44px); display: grid; gap: 1.1rem; overscroll-behavior: contain; }
.sheet-h { font: 400 var(--fs-title)/.92 var(--f-display); letter-spacing: -.02em; color: var(--cobalt); text-transform: uppercase; }
.sheet-body h4 { font: 500 1.35rem/1.2 var(--f-text); letter-spacing: -.01em; margin-top: .5rem; }
.sheet-sign { font-size: var(--fs-lede); margin-top: .4rem; }
.noscript { position: fixed; bottom: 0; left: 0; right: 0; background: var(--ink); color: var(--screen); padding: 1rem; z-index: 500; }

/* ───────── narrow screens ───────── */
@media (max-width: 820px) {
  :root { --nav-h: 66px; --fs-giant: min(21vh, 31vw); --fs-title: clamp(2.8rem, 14vw, 5rem); }
  .nav { padding: 10px 10px 0; }
  .lg-nav { width: 100%; border-radius: 26px; }
  .nav-bar { height: 54px; padding: 0 6px 0 18px; justify-content: space-between; }
  .nav-logo img { height: 27px; }
  .nav-links, .nav-cta { display: none; }
  .panel { display: none !important; }
  .nav-burger { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: transparent; border: 0; cursor: pointer; position: relative; color: inherit; }
  .nav-burger span { position: absolute; left: 13px; right: 13px; height: 1.5px; background: currentColor; transition: transform .45s var(--ease-out); }
  .nav-burger span:first-child { top: 18px; } .nav-burger span:last-child { top: 25px; }
  .nav-burger[aria-expanded='true'] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .nav-burger[aria-expanded='true'] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .hero { min-height: 600px; }
  .hero-copy { max-width: none; right: var(--gutter); bottom: calc(env(safe-area-inset-bottom, 0px) + 22px); gap: 1.2rem; }
  .idea-inner, .winner-head, .method-head { max-width: none; }
  .method-head { right: var(--gutter); }
  .winner-ui { justify-self: stretch; max-width: none; background: var(--paper); border-radius: 22px; padding: 14px 16px 16px; margin: 0 -8px; }
  .habit .giant { font-size: calc(var(--fs-giant) * .72); }
  .habit { padding-bottom: 5vh; gap: .8rem; }
  .giant--light { font-size: min(26vh, 30vw); }
  .btn { min-height: 54px; }
  .seg-btn { white-space: nowrap; padding: 0 16px; font-size: .875rem; }
  .lg-nav.is-open { background: rgba(244, 241, 233, .95); }
  .glassboard { grid-template-columns: 1fr; }
  .what-lens { width: 150px; height: 150px; z-index: 0; }
  .glassboard { z-index: 1; }
  .pane--notes, .pane--check, .pane--log { grid-column: 1; grid-row: auto; }
  .pane--check { grid-template-columns: auto minmax(0, 1fr); }
  .pane--check .pane-link { grid-column: 1 / -1; justify-self: start; }
  .mini-gauge { width: 110px; }
  .pane--check p { font-size: 1.15rem; }
  .what-curves { height: 60%; bottom: 2%; }
  .gauge { order: -1; position: sticky; top: calc(var(--nav-h) + 6px); z-index: 2; background: var(--ink); padding: 10px 0 8px; margin: 0 calc(var(--gutter) * -1); box-shadow: 0 18px 24px -18px rgba(0, 0, 0, .6); }
  .gauge-dial { width: 210px; }
  .gauge-labels { width: 210px; font-size: 1.3rem; }
  .gauge .small { display: none; }
  .end-top { max-width: none; }
  .end-mark { width: 100%; }
  .check-body, .faq { grid-template-columns: 1fr; }
  .notes-copy { max-width: none; }
  .notes { align-content: start; padding-top: calc(var(--nav-h) + 6vh); }
  .foot { grid-template-columns: 1fr; }
  .foot-cols { grid-template-columns: 1fr 1fr; }
  .qa summary { font-size: 1.1rem; }
  .lg-nav.is-dark.is-open { background: rgba(16, 18, 40, .95); }
}

@media (prefers-reduced-motion: reduce) {
  .btn-blob, .btn-roll, .btn-icon svg { transition: none; }
}
@media print { .stage, .loader, .nav { display: none !important; } body { background: #fff; } }
