/* built by scripts/promote.py from lab/offer/o18.html (commit bb29d5e, blob 89fc4a1c4b) - do not edit; re-run the script */

/* ---- public/css/land-tokens.css ---- */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-italic-math.woff2") format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-italic-symbols.woff2") format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-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: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-math.woff2") format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-symbols.woff2") format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/fonts/bodoni-moda-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("/fonts/geist-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/geist-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;
}
:root {

  --shell: #EBE1D6;
  --paper: #FBF6EE;
  --ink: #26222B;
  --text-2: #6C6457;
  --text-3: #9A9083;
  --text-4: #C0B7A9;
  --line: rgba(38, 34, 43, 0.16);
  --line-soft: rgba(38, 34, 43, 0.09);
  --fill: #E3D8CB;
  --bg: var(--shell);
  --danger: #B3402F;

  --stock: #181C24;
  --bone: #F2E8DA;
  --bone-body: rgba(242, 232, 218, 0.92);
  --bone-line: rgba(242, 232, 218, 0.30);

  --madder: #A0453F;
  --madder-lum: #D96A5B;
  --wine: #7A2238;
  --wine-ink: #F2E8DA;

  --ember: #FF8A3D;
  --coral: #FF7A59;
  --rose: #FF5B72;
  --pink: #F5487C;
  --amber: #FFB13D;
  --magenta: #E93FB0;
  --blush: #FFB4A6;

  --free: #E3D8CB;
  --free-ink: #6E6659;

  --serif: 'Bodoni Moda', Georgia, serif;
  --sans: 'Geist', -apple-system, sans-serif;
  --card-shadow: 0 2px 5px rgba(38, 34, 43, 0.10), 0 14px 34px rgba(38, 34, 43, 0.16);
  --stage-bg: #E0D5C7;

  --fs-eyebrow: 9.5px;
  --fs-label: 11px;
  --fs-meta: 12px;
  --fs-support: 13px;
  --fs-note: 14px;
  --fs-body: 15px;

  --fs-nav: 17px;
  --fs-btn: 16px;
  --fs-index: 18px;
  --fs-code: 19px;
  --fs-title-dlg: 20px;
  --fs-amount: 26px;
  --fs-amount-lg: 34px;
  --fs-reading: 16px;

  --disp-s: 24px;
  --disp-m: 26px;
  --disp-title: 28px;
  --disp-shelf: 30px;
  --disp-l: 34px;
  --disp-name: 36px;
  --disp-wordmark: 36px;
  --disp-headline: 40px;
  --disp-xl: 44px;
  --disp-hero: 52px;

  --glyph-s: 16px;
  --glyph-m: 18px;
  --glyph-l: 20px;
  --glyph-xl: 22px;

  --track-caps: 0.22em;
  --track-caps-lg: 0.16em;
  --track-tight: -0.005em;
  --track-display: -0.01em;
  --track-amount: -0.02em;

  --lh-solid: 1;
  --lh-headline: 1.14;
  --lh-support: 1.4;
  --lh-note: 1.45;
  --lh-body: 1.5;
  --lh-reading: 1.55;
  --lh-doc: 1.65;

  --r-card: 16px;
  --r-card-m: 20px;
  --r-card-f: 24px;
  --r-float: 18px;
  --r-object: 14px;
  --r-chip: 12px;
  --r-sheet-top: 22px;
  --r-pill: 100px;
  --r-circle: 50%;

  --shadow-sm: 0 1px 6px rgba(38, 34, 43, 0.10);
  --shadow-float: 0 3px 6px rgba(38, 34, 43, 0.10), 0 18px 44px rgba(38, 34, 43, 0.18);
  --shadow-lift: 0 2px 4px rgba(38, 34, 43, 0.14), 0 10px 22px rgba(38, 34, 43, 0.20), 0 24px 50px rgba(38, 34, 43, 0.16);
  --shadow-lift-max: 0 6px 12px rgba(38, 34, 43, 0.12), 0 30px 64px rgba(38, 34, 43, 0.26);
  --shadow-night: inset 0 0 0 1px rgba(242, 232, 218, 0.16), 0 2px 4px rgba(0, 0, 0, 0.55), 0 8px 18px rgba(0, 0, 0, 0.42), 0 18px 44px rgba(38, 34, 43, 0.18);
  --shadow-night-sm: inset 0 0 0 1px color-mix(in srgb, var(--bone) 7%, transparent), 0 2px 7px rgba(0, 0, 0, 0.40);

  --t-tap: 80ms;
  --t-fast: 160ms;
  --t-quick: 240ms;
  --t-base: 300ms;
  --t-move: 460ms;
  --t-page: 560ms;
  --t-reveal: 620ms;
  --t-grand: 700ms;
  --ease-out: cubic-bezier(0.32, 0.72, 0.24, 1);
  --ease-pop: cubic-bezier(0.2, 1.25, 0.35, 1);
  --ease-bounce: cubic-bezier(0.2, 1.6, 0.4, 1);

  --handle: rgba(38, 34, 43, 0.18);
  --scrim: rgba(38, 30, 24, 0.40);

  --opsz-text: 24;

  --edge-object: 16px;
  --edge-type: 22px;
}
*,
*::before,
*::after { box-sizing: border-box; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--ink);
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

/* ---- public/css/wishcard.css ---- */
.wish-full {
  border: none; border-radius: var(--r-card-m); padding: 26px 24px 18px;
  background: var(--stock); color: var(--bone);
  text-align: left;
  box-shadow: var(--shadow-float);
  display: flex; flex-direction: column; overflow: hidden;
  container-type: inline-size;
}
.wc-eyebrow {
  font-family: var(--sans); font-size: var(--fs-eyebrow); font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--bone-body); margin-bottom: 8px; flex-shrink: 0;
}
.wc-eyebrow .plate-hot { color: var(--madder-lum); }
.wc-eyebrow + .wf-title { margin-top: 0; }
.wish-full .wf-title,
.shelf-card .wf-title {
  font-family: var(--serif); font-weight: 400;
  letter-spacing: var(--track-display);
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--bone);
  font-size: min(40px, calc(11.4286cqi + 5.486px));
  line-height: 1.04; margin-top: 0;
}
.wf-rule { border-top: 1px solid var(--bone-line); margin: 10px 0 8px; width: 180px; }
.wish-full .wf-body {
  color: var(--bone-body); font-size: var(--fs-support);
  line-height: var(--lh-reading); max-width: 92%;
  margin-top: 8px; flex: 0 5 auto; min-height: 63px; overflow: hidden;
}
.wf-art {
  flex: 1 0 auto; aspect-ratio: 1200 / 675; min-height: 0;
  margin: 8px -24px 0;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; pointer-events: none;
}
.wf-art img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.wish-full .wf-foot {
  border-top: 1px solid var(--bone-line);
  padding-top: 8px; margin-top: 6px;
  display: flex; align-items: center; justify-content: space-between;
}
.card-meta {
  font-family: var(--sans); font-size: var(--fs-eyebrow); font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
.wish-full .card-meta { color: var(--bone); }
.wf-plate { color: var(--bone); }
.wf-plate .plate-hot { color: var(--madder-lum); }
.wf-foot .plate-hot { color: var(--bone); }
.wish-full .card-meta.deadline { color: var(--madder-lum); }
.intensity { color: var(--madder); font-size: var(--fs-meta); letter-spacing: var(--track-caps); }
.wish-full .intensity { color: var(--madder-lum); }
.wish-full.attention { border: none; box-shadow: 0 0 0 1.5px var(--madder), var(--card-shadow); }
.blurred { filter: blur(4px); user-select: none; }
.heart-btn {
  border: none; background: transparent; cursor: pointer;
  color: var(--bone); font-size: var(--glyph-l); padding: 0;
  line-height: var(--lh-solid);
}
.heart-btn svg { width: 1em; height: 1em; display: inline-block; vertical-align: -0.13em; }
.shelf-card {
  border: none; border-radius: var(--r-card); padding: 16px 16px 12px;
  background: var(--stock); color: var(--bone);
  box-shadow: var(--shadow-night-sm);
  display: flex; flex-direction: column; overflow: hidden;
  container-type: inline-size;
  text-align: left;
}
.shelf-card .wf-title { font-size: min(24px, 12.5cqi); }
.shelf-card .wf-art { margin: 8px -16px 0; }
.shelf-card .wc-eyebrow { margin-bottom: 6px; }

/* ---- lab/hero/common.css ---- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--shell);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: var(--lh-reading);
  min-width: 320px;
}
:root {
  --v-line: 12px;
  --v-block: 22px;
  --v-object: 32px;
  --v-major: 44px;
  --v-sect: 88px;
}
.sect-bleed { overflow-x: clip; }
.wrap { width: 100%; max-width: 430px; margin-inline: auto; padding-inline: var(--edge-type); }
.wrap-obj { width: 100%; max-width: 430px; margin-inline: auto; padding-inline: var(--edge-object); }
.band-paper { background: var(--paper); }
.q {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(27px, 7.6vw, 33px);
  line-height: 1.16;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--madder);
  text-align: right;
  max-width: 16ch; margin-left: auto;
  text-wrap: balance;
}
h1.display {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(38px, 10.6vw, 48px);
  line-height: 1.05; letter-spacing: -0.022em;
}
.speech p { max-width: 34ch; }
.punch {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(24px, 6.6vw, 28px);
  line-height: 1.18;
  font-variation-settings: 'opsz' var(--opsz-text);
}
.wm {
  font-family: var(--serif); font-weight: 400; font-size: 28px;
  letter-spacing: var(--track-display);
  font-variation-settings: 'opsz' var(--opsz-text);
}
.stack {
  position: relative;
  width: 100%; max-width: 358px; margin-inline: auto;
  cursor: pointer; touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.stack .held {
  position: absolute; left: 50%; bottom: 0;
  width: min(88.7vw, 346px);
  transform-origin: 50% 96%;
  transition: transform 620ms var(--ease-out), filter 620ms var(--ease-out), opacity 620ms var(--ease-out);
}
.stack .held .wish-full { width: 100%; }
.held.p0 { transform: translateX(-50%); z-index: 4; }
.held.p1 { transform: translateX(-50%) translate(-8px, var(--y1, -26px)) rotate(-3deg) scale(0.91); z-index: 3; filter: brightness(0.88); }
.held.p2 { transform: translateX(-50%) translate(8px, var(--y2, -20px)) rotate(2.5deg) scale(0.91); z-index: 2; filter: brightness(0.84); }
.held.p3 { transform: translateX(-50%) translate(0, var(--y3, -30px)) rotate(-1deg) scale(0.88); z-index: 1; filter: brightness(0.80); opacity: 0.9; }
.held.out { transform: translateX(-50%) translate(-112%, -26px) rotate(-14deg); opacity: 0; z-index: 5; }
.held.no-t { transition: none; }
.consent {
  display: flex; gap: 9px; align-items: baseline;
  font-size: var(--fs-support); color: var(--text-2); max-width: 42ch;
}
.consent input { accent-color: var(--wine); }
.form-done { display: none; }
.claim.done .form-live { display: none; }
.claim.done .form-done { display: block; }
@media (prefers-reduced-motion: reduce) {
  .stack .held { transition: none; }
}

/* ---- lab/mechanic/mech.css ---- */
.mech { padding: var(--v-sect) 0; }
.mech .statement { margin-top: var(--v-line); }
.mech-lines { margin-top: var(--v-block); }
.mech-lines .ml {
  font-size: 16.5px; line-height: var(--lh-reading);
  max-width: 34ch;
  color: var(--text-3);
  transition: color var(--t-move) ease;
  margin-top: 5px;
}
.mech-lines .ml.turn {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(19px, 5.4vw, 22px); line-height: 1.2;
  margin-top: var(--v-line);
}
.mech-lines .ml.lit { color: var(--ink); }
.demo-seat { margin-top: var(--v-object); }
.demo {
  opacity: 0; transform: translateY(16px) scale(0.97);
  transition: opacity var(--t-reveal) ease, transform 940ms var(--ease-out);
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.mech.play .demo { opacity: 1; transform: none; }
.demo .wish-full { position: relative; transition: box-shadow var(--t-move) ease; }
.mech.play .demo.lp-sent { transform: translateY(-12px); transition-duration: var(--t-reveal), var(--t-page); }
.demo.lp-sent .wish-full { box-shadow: var(--shadow-lift-max); }
.demo .eyebrow-stack { position: relative; display: block; height: 12px; }
.demo .eb {
  position: absolute; left: 0; top: 0; white-space: nowrap;
  opacity: 0; transition: opacity var(--t-move) ease;
}
.demo .opt {
  display: inline-block; color: var(--bone-body); transform: translateY(3px);
  transition: color var(--t-base) ease, opacity var(--t-base) ease,
              transform var(--t-page) var(--ease-out);
}
.demo .osep {
  display: inline-block; color: var(--bone-line); margin: 0 6px;
  transition: opacity var(--t-base) ease;
}
.demo.lp-row .eb-row { opacity: 1; }
.demo.lp-row .opt,
.demo.lp-pick .opt { transform: none; }
.demo.lp-row .opt-tm { transition-delay: var(--t-tap); }
.demo.lp-row .opt-tw { transition-delay: var(--t-fast); }
.demo.lp-pick .eb-row { opacity: 0; transition-delay: var(--t-grand); }
.demo.lp-pick .opt-tm,
.demo.lp-pick .opt-tw,
.demo.lp-pick .osep { opacity: 0; transition-delay: var(--t-tap); }
.demo.lp-pick .opt-tn { color: var(--madder-lum); transform: scale(1.07); }
.demo.lp-pick .eb-picked { opacity: 1; transition-delay: var(--t-grand); }
.demo.lp-acc  .eb-picked { opacity: 1; }
.demo.lp-sent .eb-wait { opacity: 1; }
.demo .heart { color: var(--bone); font-size: var(--glyph-l); line-height: var(--lh-solid); }
.demo .heart svg { width: 1em; height: 1em; display: inline-block; vertical-align: -0.13em; }
.demo .heat { transition: opacity var(--t-move) ease; }
.demo.lp-acc .heat,
.demo.lp-done .heat { opacity: 0; }
.demo .snt-band {
  position: absolute; left: 0; right: 0; top: 20px; z-index: 4;
  padding: 9px 24px; background: var(--madder);
  font-family: var(--sans); font-size: var(--fs-eyebrow); font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--bone);
  opacity: 0; transform: translateY(-7px); pointer-events: none;
  transition: opacity var(--t-base) ease, transform var(--t-page) var(--ease-out);
}
.demo.lp-done .snt-band { opacity: 1; transform: none; }
.mech.scrolly { height: 185svh; padding-bottom: 0; }
.mech.scrolly .mech-pin { position: sticky; top: 0; padding-top: 34px; }
.band-stock { background: var(--stock); }
.seam3 { padding: var(--v-sect) 0 42svh; }
.seam3 .q { color: var(--madder-lum); }
@media (prefers-reduced-motion: reduce) {
  .demo,
  .demo .wish-full,
  .demo .eb,
  .demo .opt,
  .demo .osep,
  .demo .heat,
  .demo .snt-band,
  .mech-lines .ml { transition-duration: 1ms; }
}

/* ---- lab/mechanic/mech3.css ---- */
.m3 {
  background: var(--paper);
  min-height: 100%;
  display: flex; flex-direction: column;
  scroll-snap-align: start; scroll-snap-stop: always;
  overflow-x: clip;
}
.m3 .sp-a { flex: 1 1 18px; }
.m3 .sp-b { flex: 0 0 68px; }
.m3 .m3-head { flex: 0 0 auto; }
.m3 .nzone { position: relative; height: 64px; margin-top: var(--v-line); }
.m3 .nz {
  position: absolute; left: 0; right: 0; top: 0;
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(21px, 5.8vw, 24px); line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--ink); max-width: 26ch;
  opacity: 0; filter: blur(5px); transform: translateY(9px);
  transition: opacity var(--t-base) ease,
              filter 440ms ease,
              transform var(--t-reveal) var(--ease-out);
}
.m3 .nz.on { opacity: 1; filter: none; transform: none; transition-delay: var(--t-quick); }
.stack .held .wish-full,
.m3 .demo .wish-full {
  width: 350px; height: 462px;
  transform: scale(calc(min(88.7vw, 346px) / 350px));
}
.stack .held .wish-full { transform-origin: left bottom; }
.m3 .demo .wish-full { transform-origin: left top; }
.m3 .demo { height: calc(min(88.7vw, 346px) * 1.32); }
.stack .held .wish-full .wc-eyebrow,
.m3 .demo .wish-full .wc-eyebrow,
.stack .held .wish-full .wf-title,
.m3 .demo .wish-full .wf-title,
.stack .held .wish-full .wf-rule,
.m3 .demo .wish-full .wf-rule,
.stack .held .wish-full .wf-foot,
.m3 .demo .wish-full .wf-foot {
  flex-shrink: 0;
}
.stack .held .wish-full .wf-body,
.m3 .demo .wish-full .wf-body {
  min-height: 0;
}
.stack .held.p1 { --y1: -61px; }
.stack .held.p2 { --y2: -56px; }
.stack .held.p3 { --y3: -65px; }
.m3 .m3-seat { flex: 0 0 auto; margin-top: var(--v-object); }
.m3 .demo {
  width: min(88.7vw, 346px);
  margin-inline: auto;
}
.m3 .demo .eyebrow-stack { height: 15px; }
.m3 .demo .eb-pack { opacity: 1; }
.m3 .demo.lp-row .eb-pack,
.m3 .demo.lp-pick .eb-pack,
.m3 .demo.lp-sent .eb-pack,
.m3 .demo.lp-acc .eb-pack,
.m3 .demo.lp-done .eb-pack { opacity: 0; transition-duration: var(--t-fast); }
.m3 .demo.lp-row .eb-row { transition-delay: var(--t-quick); }
.m3 .demo.lp-row .opt-tm { transition-delay: calc(var(--t-quick) + var(--t-tap)); }
.m3 .demo.lp-row .opt-tw { transition-delay: calc(var(--t-quick) + var(--t-fast)); }
.m3.play .demo { opacity: 1; transform: none; }
.m3.play .demo.lp-sent { transform: translateY(-12px); transition-duration: var(--t-reveal), var(--t-page); }
@media (prefers-reduced-motion: reduce) {
  .m3 .nz { transition-duration: 1ms; filter: none; }
}

/* ---- lab/mechanic/mech5.css ---- */
.m5-pile { position: relative; width: 100%; height: 100%; }
.m5-pile .pv {
  position: absolute; left: 0; top: 0; width: 100%;
  transform-origin: 50% 90%;
  transition: transform 560ms var(--ease-out), filter 560ms var(--ease-out),
              opacity 560ms var(--ease-out);
}
.m5-pile .pv.v0 { transform: none; z-index: 3; }
.m5-pile .pv.v1 { transform: translateY(-5px) scale(0.975); z-index: 2; filter: brightness(0.88); }
.m5-pile .pv.v2 { transform: translateY(-9px) scale(0.95);  z-index: 1; filter: brightness(0.8); }
.m5-pile .pv.out { transform: translateX(-116%) translateY(-20px) rotate(-13deg); opacity: 0; z-index: 4; }
.m5-pile .pv.no-t { transition: none; }
.m3 .demo { position: relative; }
.m3 .demo .m5-pile .wish-full { position: static; }
.m5-veil {
  position: absolute; inset: 0; z-index: 5;
  overflow: hidden; border-radius: var(--r-card);
  pointer-events: none;
}
.m5-scrim {
  position: absolute; inset: 0;
  background: rgba(28, 26, 32, 0.38);
  opacity: 0;
  transition: opacity var(--t-base) ease;
}
.m5-sheet {
  position: absolute; left: 0; bottom: 0; z-index: 6;
  width: 350px; padding: 10px 22px 22px;
  transform-origin: left bottom;
  transform: scale(calc(var(--col-card, min(88.7vw, 346px)) / 350px)) translateY(108%);
  background: var(--paper);
  border-radius: var(--r-card) var(--r-card) 0 0;
  box-shadow: 0 -6px 28px rgba(0, 0, 0, 0.35);
  opacity: 0; pointer-events: none;
  transition: transform 480ms var(--ease-out), opacity var(--t-base) ease;
}
.demo.sh-up .m5-scrim,
.demo.sh-pick .m5-scrim { opacity: 1; }
.demo.sh-up .m5-sheet,
.demo.sh-pick .m5-sheet {
  opacity: 1;
  transform: scale(calc(var(--col-card, min(88.7vw, 346px)) / 350px)) translateY(0);
}
@supports not (transform: scale(calc(1px / 1px))) {
  .m5-sheet {
      transform: scale(var(--col-card-scale, 1)) translateY(108%);
    }
  .demo.sh-up .m5-sheet,
  .demo.sh-pick .m5-sheet {
      transform: scale(var(--col-card-scale, 1)) translateY(0);
    }
}
.m5-handle {
  width: 36px; height: 4px; border-radius: 2px;
  background: var(--line); margin: 0 auto 14px;
}
.m5-title {
  font-family: var(--serif); font-weight: 500; font-size: 22px;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--ink); line-height: 1.15;
}
.m5-sub { font-size: 13px; color: var(--text-2); margin-top: 4px; }
.m5-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 9px;
  margin-top: 16px;
}
.m5-btn {
  border: 1.5px solid var(--line); border-radius: 999px;
  padding: 12px; text-align: center;
  font-size: 14px; font-weight: 500; color: var(--ink);
  transition: background var(--t-fast) ease, border-color var(--t-fast) ease,
              color var(--t-fast) ease;
}
.m5-btn.fw { grid-column: 1 / -1; }
.demo.sh-pick .m5-btn.is-pick {
  border-color: var(--wine); background: var(--wine); color: var(--wine-ink);
}
.m5-send {
  margin-top: 14px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background: var(--wine); color: var(--wine-ink);
  border-radius: var(--r-card);
  font-size: 15px; font-weight: 600;
}
.m3 .vzone { position: relative; height: 48px; margin-top: 10px; }
.m3 .vz {

  position: absolute; left: var(--edge-type); right: var(--edge-type); bottom: 0;
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(21px, 5.8vw, 24px); line-height: 1.2;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--madder);
  opacity: 0; filter: blur(5px); transform: translateY(9px);
  transition: opacity var(--t-base) ease,
              filter 440ms ease,
              transform var(--t-reveal) var(--ease-out);
}
.m3 .vz.on { opacity: 1; filter: none; transform: none; transition-delay: var(--t-quick); }
.m3 .vz.right { text-align: right; }
.m3 .vlabel {
  display: block;
  font-family: var(--sans); font-style: normal; font-weight: 500;
  font-size: 10px; letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 4px;
}
.m3 .pzone + .m3-seat { margin-top: var(--v-line); }
.m3 .m3-seat + .wrap { margin-block: auto; padding-top: 10px; }
.m3 .anchor-ask { margin-top: 0; }
.m3 .nz { text-align: center; margin-inline: auto; }
.m3 .nz .nz-sub {
  display: block;
  font-family: var(--sans); font-style: italic; font-weight: 400;
  font-size: 15px; letter-spacing: 0;
  color: var(--text-2);
  margin-top: 3px;
}
.m3 .nz.act {
  font-family: var(--sans); font-style: italic; font-weight: 400;
  font-size: 15px; letter-spacing: 0;
  color: var(--text-2);
  padding-top: 5px;
}
.m3 .pzone {
  position: relative; height: 20px; margin-top: var(--v-line);
  display: flex; justify-content: center; align-items: center;
}
.m3 .mprog { display: inline-flex; gap: 7px; align-items: center; }
.m3 .mprog i {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--line);
  transition: background var(--t-base) ease;
}
.m3 .mprog i.on { background: var(--madder); }
.m3 .mp-line {
  display: none; width: 72px; height: 1.5px;
  background: var(--line); overflow: hidden;
}
.m3 .mp-line i {
  display: block; height: 100%; width: 100%;
  background: var(--madder);
  transform: scaleX(0); transform-origin: left;
  transition: transform 640ms var(--ease-out);
}
.m3.p-line .mp-line { display: block; }
.m3.p-line .mprog { display: none; }
.m3 .mp-replay {
  display: none; height: 18px; padding: 0; border: 0;
  background: none; cursor: pointer; text-align: center;
  font-family: var(--sans); font-size: 11px; font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--text-2);
  -webkit-tap-highlight-color: transparent;
}
.m3.rested .mp-replay { display: inline-block; }
.m3.rested .mprog,
.m3.rested .mp-line { display: none; }
.m5-toast {

  position: absolute; left: 50%; top: -15px; z-index: 7;
  transform: translateX(-50%) translateY(-10px);
  white-space: nowrap;
  background: var(--stock); color: var(--bone);
  font-family: var(--sans); font-size: 13px; font-weight: 500;
  padding: 10px 16px; border-radius: var(--r-object);
  box-shadow: inset 0 0 0 1px rgba(242, 232, 218, 0.16),
              0 4px 14px rgba(0, 0, 0, 0.45);
  opacity: 0; pointer-events: none;
  transition: opacity var(--t-base) ease, transform var(--t-page) var(--ease-out);
}
.demo.lp-toast .m5-toast { opacity: 1; transform: translateX(-50%) translateY(0); }
.demo.lp-toast .eb-pack { opacity: 0; transition-duration: var(--t-fast); }
.demo.lp-toast .eb-picked { opacity: 1; }
.demo.lp-toast .heat { opacity: 0; }
.m5-fx {
  position: absolute; inset: 0;
  pointer-events: none; overflow: visible; z-index: 6;
  --fx-launch: 0ms;
}
.m5-fx .mp { position: absolute; top: 52%; display: block; }
.m5-fx .mp-dot { width: var(--sz); height: var(--sz); border-radius: 50%; background: var(--mc); }
.m5-fx .mp-tri {
  width: var(--sz); height: var(--sz); background: var(--mc);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.m5-fx .mp-half { width: var(--sz); height: calc(var(--sz) / 2); background: var(--mc); border-radius: var(--sz) var(--sz) 0 0; }
.m5-fx .mp-bar { width: calc(var(--sz) * 0.34); height: var(--sz); background: var(--mc); border-radius: 0.5px; }
.m5-fx.fx-fall .mp {
  margin: calc(var(--sz) / -2) 0 0 calc(var(--sz) / -2);
  animation: mpFall var(--dur, 3000ms) linear
             calc(var(--d, 0ms) + var(--fx-launch, 0ms)) both;
}
@keyframes mpFall {
  0%   { transform: translate(0, 0) rotate(0deg) scale(0.4); opacity: 0; }
  6%   { transform: translate(calc(var(--sway) * 0.12), calc(var(--rise) * -0.3))
                    rotate(calc(var(--spin) * 0.06)) scale(0.64); opacity: 1; }
  15%  { transform: translate(calc(var(--sway) * 0.3), calc(var(--rise) * -0.75))
                    rotate(calc(var(--spin) * 0.15)) scale(1); }
  20%  { transform: translate(calc(var(--sway) * 0.4), calc(var(--rise) * -1))
                    rotate(calc(var(--spin) * 0.2)) scale(1); }
  32%  { transform: translate(calc(var(--sway) * 0.1), calc(var(--rise) * -0.94))
                    rotate(calc(var(--spin) * 0.32)) scale(1); }
  42%  { transform: translate(calc(var(--sway) * -0.15), calc(var(--rise) * -0.802 + 8.24vh))
                    rotate(calc(var(--spin) * 0.42)) scale(1); }
  62%  { transform: translate(calc(var(--sway) * 0.55), calc(var(--rise) * -0.525 + 24.71vh))
                    rotate(calc(var(--spin) * 0.62)) scale(1); }
  82%  { transform: translate(calc(var(--sway) * 0.05), calc(var(--rise) * -0.249 + 41.18vh))
                    rotate(calc(var(--spin) * 0.82)) scale(1); }
  92%  { transform: translate(calc(var(--sway) * 0.411), calc(var(--rise) * -0.111 + 49.41vh))
                    rotate(calc(var(--spin) * 0.92)) scale(1); opacity: 1; }
  100% { transform: translate(calc(var(--sway) * 0.7), 56vh)
                    rotate(var(--spin)) scale(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .m5-fx { display: none; }
}
.m3 .demo .wf-body { transition: filter 560ms ease, opacity 560ms ease; }
.demo.lp-recv .wf-body { filter: blur(4px); opacity: 0.85; user-select: none; }
.demo.lp-recv .eb-pack,
.demo.lp-open .eb-pack { opacity: 0; transition-duration: var(--t-fast); }
@media (prefers-reduced-motion: reduce) {
  .m5-pile .pv,
  .m5-scrim,
  .m5-sheet,
  .m5-btn,
  .m5-toast,
  .m3 .mprog i,
  .m3 .mp-line i { transition-duration: 1ms; }
}

/* ---- lab/library/lib2.css ---- */
.s3a,
.s3b {
  background: var(--stock); color: var(--bone);
  overflow-x: clip;
  min-height: 100%;
  display: flex; flex-direction: column;
}
.s3a .q { color: var(--madder-lum); margin-top: 24px; }
.s3x-answer {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(26px, 7.2vw, 30px);
  line-height: 1.14; letter-spacing: -0.016em;
  color: var(--bone); max-width: 23ch;
  margin-top: var(--v-block);
}
.s3x-support {
  font-size: 16.5px; line-height: var(--lh-reading);
  color: var(--bone-body); max-width: 34ch;
  margin-top: var(--v-line);
}
.s3x-quiet {
  font-size: var(--fs-support); line-height: var(--lh-support);
  color: var(--bone-body);
  margin-top: var(--v-object);
}
.fig170 {
  font-family: var(--serif); font-weight: 400;
  font-size: min(54vw, 260px); line-height: 0.82;
  letter-spacing: -0.035em;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--bone); opacity: 0.92;
  margin: var(--v-line) 0 0; margin-right: -0.16em;
  white-space: nowrap; user-select: none;
}
.s3a .sp-mid { flex: 1 1 24px; }
.s3a .sp-end { flex: 0 0 36px; }
.pack-seat {
  position: relative;
  width: min(100vw - 32px, 358px);
  height: calc(min(100vw - 32px, 358px) * 0.8386);
  margin-inline: auto;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.pack-seat .pk {
  position: absolute; inset: 0;

  transform: translateX(112%) rotate(4deg); opacity: 0;
  transition: transform var(--t-page) var(--ease-out),
              opacity var(--t-move) ease;
}
.pack-seat .pk.pk-in { transform: none; opacity: 1; }
.pack-seat .pk.pk-out {
  transform: translateX(-118%) rotate(-5deg); opacity: 0;
}
.pack-seat .pk.no-t { transition: none; }
.pack-seat .pk .pack-card {
  width: 316px; height: 265px;
  transform: scale(calc(min(100vw - 32px, 358px) / 316px));
  transform-origin: left top;
}
@media (prefers-reduced-motion: reduce) {
  .pack-seat .pk { transition-duration: 1ms; }
}
.pack-card {
  overflow: hidden;
  background: var(--stock); border-radius: var(--r-card);
  box-shadow: var(--shadow-night-sm);
  padding: 24px 24px 14px;
  display: flex; flex-direction: column;
}
.pc-name {
  font-family: var(--serif); font-weight: 400; color: var(--bone);
  font-size: var(--disp-name); line-height: 1.04;
  letter-spacing: var(--track-display);
  font-variation-settings: 'opsz' var(--opsz-text);
  max-width: 72%; position: relative; z-index: 1;
}
.pc-desc {
  font-size: var(--fs-note); color: var(--bone-body);
  margin-top: 16px; max-width: 56%; position: relative; z-index: 1;
}
.pc-art {
  position: absolute; right: 0; top: 0; bottom: 46px; width: 42%;
  display: flex; align-items: flex-end; justify-content: flex-end;
  overflow: hidden; pointer-events: none;
}
.pc-art img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.wf-art picture, .pc-art picture { display: contents; }
.pc-foot {
  position: relative; z-index: 1; margin-top: auto;
  border-top: 1px solid var(--bone-line); padding-top: 10px;
  display: flex; align-items: baseline; justify-content: space-between;
  background: var(--stock);
}
.pc-plate { color: var(--bone); }
.pc-plate .pc-hot { color: var(--madder-lum); }
.pc-arrow { color: var(--bone); font-size: var(--glyph-m); line-height: var(--lh-solid); }
.s3b .head { padding-top: var(--v-major); }
.s3b .sp-mid { flex: 1 1 20px; }
.s3b .sp-end { flex: 0 0 40px; }
.stream { overflow: clip; padding-block: 14px; }
.stream-track {
  display: flex; gap: 16px; width: max-content;
  animation: stream 96s linear infinite;
}
.stream .slot {
  flex: 0 0 min(88.7vw, 346px);
  height: calc(min(88.7vw, 346px) * 1.32);
}
.stream .slot .wish-full {
  width: 350px; height: 462px;
  transform: scale(calc(min(88.7vw, 346px) / 350px));
  transform-origin: left top;

  box-shadow: var(--shadow-night);
}
@keyframes stream { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .stream-track { animation: none; }
}

/* ---- lab/offer/offer5.css ---- */
.s4a,
.s4b {
  background: var(--shell);
  overflow-x: clip;
  scroll-snap-align: start;
}
.s4a { padding-top: var(--v-sect); }
.s4-answer {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(26px, 7.2vw, 30px);
  line-height: 1.14; letter-spacing: -0.016em;
  color: var(--ink); max-width: 23ch;
  margin-top: var(--v-block);
}
.tier-seat {
  width: min(88.7vw, 346px);
  margin: var(--v-object) auto 0;
}
.s4a .tier-seat {
  opacity: 0; transform: translateY(16px) scale(0.97);
  transition: opacity var(--t-reveal) ease, transform 940ms var(--ease-out);
}
.s4a.play .tier-seat { opacity: 1; transform: none; }
.tier-card {
  background: var(--stock); border-radius: var(--r-card);
  box-shadow: inset 0 0 0 1px rgba(242, 232, 218, 0.14), var(--card-shadow);
  padding: 4px 20px 6px;
}
.tt-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 18px; padding: 18px 0;
}
.tt-rule { height: 1px; background: var(--bone-line); }
.tt-text { flex: 1; min-width: 0; }
.tier-plate {
  display: block; font-family: var(--sans); font-size: var(--fs-eyebrow); font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--bone-body);
}
.tier-plate.is-hot { color: var(--madder-lum); }
.tier-name {
  font-family: var(--sans); font-size: var(--fs-nav); font-weight: 600;
  letter-spacing: var(--track-tight); color: var(--bone); line-height: 1.25;
  margin-top: 5px;
}
.tt-num {
  flex-shrink: 0; white-space: nowrap; display: flex; align-items: baseline;
  font-variant-numeric: tabular-nums;
}
.tt-num b {
  font-family: var(--sans); font-size: var(--fs-amount); font-weight: 600;
  letter-spacing: var(--track-amount); color: var(--bone); line-height: var(--lh-solid);
}
.tt-unit {
  font-family: var(--sans); font-size: var(--fs-body); font-weight: 400; letter-spacing: 0;
  color: var(--bone-body); margin-left: 7px;
}
.tt-num.is-hot b,
.tt-num.is-hot .tt-unit { color: var(--madder-lum); }
.tt-foot {
  font-family: var(--sans); font-size: var(--fs-support); line-height: var(--lh-body);
  color: var(--bone-body); padding: 0 0 14px; margin: -2px 0 0;
}
[data-rows="three"] { display: none; }
.or-line {
  font-size: 16.5px; line-height: var(--lh-reading);
  max-width: 34ch; color: var(--ink);
  margin-top: var(--v-block);
}
.s4b { padding-top: var(--v-major); }
.s4b-header {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(26px, 7.2vw, 30px);
  line-height: 1.14; letter-spacing: -0.016em;
  color: var(--ink); max-width: 23ch;
}
.s4b .punch-seat { margin-top: var(--v-block); }
.s4b .punch { position: relative; display: inline-block; }
.s4b .punch .ink-u {
  position: absolute; left: -2px; right: -6px; bottom: -9px;
  width: calc(100% + 10px); height: 12px; overflow: visible;
}
.s4b .punch .ink-u path {
  fill: none; stroke: var(--madder); stroke-width: 2.2; stroke-linecap: round;
  stroke-dasharray: 230; stroke-dashoffset: 230;
}
.s4b.ink-on .punch .ink-u path {
  animation: inkDraw 640ms var(--ease-out) 260ms forwards;
}
@keyframes inkDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .s4a .tier-seat { opacity: 1; transform: none; transition: none; }
  .s4b .punch .ink-u path { stroke-dashoffset: 0; animation: none; }
}
.s4b .smallprint {
  font-size: 11.5px; color: var(--text-3);
  line-height: var(--lh-note); margin-top: var(--v-object); max-width: 52ch;
}
.s4b .foot {
  background: var(--shell); padding: var(--v-major) 0 40px;
  font-size: 13px; color: var(--text-2); line-height: 1.85;
}
.s4b .foot a { color: var(--text-2); }

/* ---- lab/offer/o18.html <style> ---- */
html,
body { height: 100%; overflow: hidden; }
html { background: #EBE1D6; }
.pager {
  position: fixed; inset: 0;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  overscroll-behavior: contain;
}
.pager:focus { outline: none; }
.stop { scroll-snap-align: start; scroll-snap-stop: always; }
.q {
  font-size: clamp(21px, 6vw, 24px);
  line-height: 1.2;
}
.voice-punch {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(19px, 5.4vw, 22px);
  line-height: 1.2; color: var(--ink);
}
h1.display { font-size: clamp(36px, 10.2vw, 44px); }
.body-line { font-size: 16.5px; line-height: var(--lh-reading); max-width: 34ch; }
.support { font-size: 13px; line-height: 1.45; color: var(--text-2); }
.stop1 {
  min-height: 100%;
  display: flex; flex-direction: column;
  overflow-x: clip;
}
.mast { padding: 14px var(--edge-type) 0; max-width: 430px; margin-inline: auto; width: 100%; }
.wm {
  font-family: var(--serif); font-weight: 400;
  font-size: var(--disp-wordmark); letter-spacing: var(--track-display);
  font-variation-settings: 'opsz' var(--opsz-text);
}
.statement {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(25px, 7.3vw, 29px);
  line-height: 1.14; letter-spacing: -0.02em;

  white-space: nowrap;
  margin-top: var(--v-block);
}
.grounding {
  font-size: 15px; line-height: var(--lh-support);

  color: var(--text-2);
  margin-top: 8px;
}
.launch-note {
  margin-right: -0.22em; text-align: right;
  font-size: 11px; letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--text-2); position: relative;
}
.caption-w { margin-top: auto; }
.caption-w .launch-note { margin-bottom: 4px; }
.launch-note .oct { position: relative; color: var(--ink); }
.launch-note .oct svg { position: absolute; left: -2%; right: -2%; bottom: -5px; width: 104%; height: 7px; }
.launch-note .oct path { fill: none; stroke: var(--madder); stroke-width: 2; stroke-linecap: round; }
@media (min-height: 761px) and (max-height: 843px) {
  .statement { margin-top: 14px; }
  .stop1 .deck-seat { padding-top: 2px; }
  .stop1 .stack { height: calc(var(--col-card) * 1.32 + 4px); }
  .hero-cta { margin-top: 14px; padding-bottom: 14px; }
}
.deck-seat { margin-block: auto; padding-top: 8px; }
.stack { height: 466px; }
.stack .held { bottom: 0; }
.stack .held.p1 { --y1: -22px; }
.stack .held.p2 { --y2: -18px; }
.stack .held.p3 { --y3: -20px; }
.m3 .nz {
  font-size: clamp(26px, 7.2vw, 30px);
  line-height: 1.14; letter-spacing: -0.016em; max-width: 23ch;
}
.m3 .nzone { height: auto; min-height: 32px; }
.m3 .sp-a { flex: 0 1 24px; }
.m3 .sp-b { flex: 0 0 16px; }
.fig500 {
  font-family: var(--serif); font-weight: 400;
  font-size: min(54vw, 260px); line-height: 0.82;
  letter-spacing: -0.035em;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--ink);

  margin: var(--v-line) 0 0; margin-left: -0.03em;
  white-space: nowrap; user-select: none;
}
.s4b .s4b-header.after-fig { margin-top: var(--v-line); }
.stream {
  display: flex; gap: 16px;
  overflow-x: auto; overflow-y: clip;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 14px max(22px, calc((100vw - var(--col-card)) / 2)) 14px;
}
.stream::-webkit-scrollbar { display: none; }
.stream .slot { scroll-snap-align: center; flex: 0 0 var(--col-card); }
.covers-line {
  font-size: 16.5px; line-height: var(--lh-reading);
  color: var(--ink); margin-top: var(--v-object);
}
.price-seat { margin-top: var(--v-block); }
.price-card { padding: 20px 20px 16px; }
.price-card .tt-unit { color: var(--madder-lum); }
.price-card .tt-foot { padding: 8px 0 0; margin: 0; }
.claim-note { margin-top: 10px; }
.demo .snt-band { top: 21px; padding: 4px 24px; line-height: 1.2; }
.s3b .s3x-quiet {
  font-size: 16.5px; line-height: var(--lh-reading);
  color: var(--bone-body); max-width: 30ch;
  margin-top: var(--v-block);
}
.hero-cta { margin-block: auto; padding-block: 8px 10px; text-align: center; }
.hero-cta a {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(20px, 5.7vw, 22px); line-height: 1.2;
  letter-spacing: var(--track-tight); color: var(--ink);
  cursor: pointer; text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  display: inline-block; padding-block: 4px;
}
.hero-cta .cta-eyebrow {
  display: block; font-size: 11px; font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  color: var(--text-2); margin-bottom: 6px;
}
.hero-cta .u-seat { position: relative; display: inline-block; }
.hero-cta .u-seat .ink-u {
  position: absolute; left: -2px; right: -4px; bottom: -8px;
  width: calc(100% + 8px); height: 11px; overflow: visible;
}
.hero-cta .cta-arrow { color: var(--madder); margin-left: 6px; }
.hero-cta a:active { opacity: 0.7; }
.hero-cta .u-seat .ink-u path,
.anchor-ask .ink-u path {
  fill: none; stroke: var(--madder); stroke-width: 2.2; stroke-linecap: round;
  stroke-dasharray: 230; stroke-dashoffset: 230;
  animation: inkLive 8s linear 600ms infinite;
}
@keyframes inkLive {
  0% { stroke-dashoffset: 230; }
  9% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cta .u-seat .ink-u path,
  .anchor-ask .ink-u path { stroke-dashoffset: 0; animation: none; }
}
.s3b { min-height: 0; scroll-snap-align: start; padding-bottom: var(--v-sect); }
.s3b .head { padding-top: var(--v-major); }
.s3b .stream { margin-top: var(--v-block); }
.fig170 { margin-left: -0.05em; }
.s4b .punch { color: var(--madder); }
.s4b .punch .ink-u path { stroke: var(--madder); }
.cta-eyebrow,
.pack-count { margin-right: -0.22em; }
.foot-mark {
  margin-top: var(--v-major); padding-top: var(--v-block);
  border-top: 1px solid var(--madder);
  font-family: var(--serif); font-weight: 400; font-size: 18px;
  letter-spacing: var(--track-display);
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--text-3);
}
.pack-card {
  background: var(--stock);
  box-shadow: inset 0 0 0 1px rgba(242, 232, 218, 0.16), 0 2px 7px rgba(0, 0, 0, 0.40);
}
.pc-foot { background: transparent; }
.pack-count {
  font-family: var(--sans); font-size: var(--fs-eyebrow); font-weight: 500;
  letter-spacing: var(--track-caps); text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: var(--bone-body); text-align: center; margin-top: 10px;
}
.fig170 { font-size: min(72vw, 320px); }
.s3a .s3-breath { min-height: 30svh; }
.s4b .smallprint { font-size: 12.5px; color: var(--text-2); }
.price-line {
  font-size: 16.5px; line-height: var(--lh-reading); color: var(--ink);
  margin: 0; max-width: 34ch;
}
.price-line b {
  font-weight: 600; letter-spacing: var(--track-tight);
  font-variant-numeric: tabular-nums;
}
.seat-above { display: none; margin-top: var(--v-block); }
body.ps-above .seat-above { display: block; }
.seat-below { display: none; margin-top: 12px; }
body.ps-below .seat-below { display: block; }
.seat-below .price-line { font-size: var(--fs-support); line-height: var(--lh-support); color: var(--text-2); }
.seat-below .price-line b { color: var(--ink); }
.held.p1 { transform: translateX(-50%) translate(-6px, var(--y1, -26px)) rotate(-2.5deg) scale(0.91); }
.held.p2 { transform: translateX(-50%) translate(6px, var(--y2, -20px)) rotate(2deg) scale(0.91); }
.anchor-ask { margin-top: var(--v-block); }
.anchor-ask a {
  font-family: var(--serif); font-style: italic; font-weight: 500;
  font-size: clamp(24px, 6.6vw, 28px); line-height: 1.18;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--madder); text-decoration: none;
  position: relative; display: inline-block; cursor: pointer;
}
.anchor-ask .ink-u {
  position: absolute; left: -2px; right: -6px; bottom: -9px;
  width: calc(100% + 10px); height: 12px; overflow: visible;
}
.anchor-ask .ink-u path {
  fill: none; stroke: var(--madder); stroke-width: 2.2; stroke-linecap: round;
}
.wish-full .wf-body { flex: 0 0 auto; overflow: visible; max-width: 92%; }
.wish-full .wf-art { flex: 1 1 0; min-height: 88px; }
:root {
  --v-line: 12px; --v-block: 22px; --v-object: 32px; --v-major: 44px; --v-sect: 88px;
  --col-card: min(88.7vw, 346px);
  --col-pack: min(100vw - 32px, 358px);
}
.stack { height: calc(var(--col-card) * 1.32 + 14px); }
.stack .held { width: var(--col-card); }
.stack .held .wish-full,
.m3 .demo .wish-full { transform: scale(calc(var(--col-card) / 350px)); }
.m3 .demo { height: calc(var(--col-card) * 1.32); }
.stream .slot { flex-basis: var(--col-card); height: calc(var(--col-card) * 1.32); }
.stream .slot .wish-full { transform: scale(calc(var(--col-card) / 350px)); }
.pack-seat { width: var(--col-pack); height: calc(var(--col-pack) * 0.8386); }
.pack-seat .pk .pack-card { transform: scale(calc(var(--col-pack) / 316px)); }
@supports not (transform: scale(calc(1px / 1px))) {
  .stack .held .wish-full,
  .m3 .demo .wish-full { transform: scale(var(--col-card-scale, 1)); }
  .stream .slot .wish-full { transform: scale(var(--col-card-scale, 1)); }
  .pack-seat .pk .pack-card { transform: scale(var(--col-pack-scale, 1)); }
}
.tier-seat,
.plan-seat { width: var(--col-card); }
@media (max-height: 760px) {
  :root {
      --col-card: min(80vw, 312px);
      --col-pack: min(80vw, 312px);
      --v-sect: 64px; --v-major: 32px;
    }
  .fig500,
  .fig170 { font-size: min(44vw, 190px); }
  .s3-breath { min-height: 12svh; padding-top: 44px; }
  .m3 .sp-b { flex: 0 0 44px; }
  .launch-note { margin-top: 8px; }
  .stream { padding-block: 8px 10px; }
  .statement { font-size: 26px; }
  .m3 .nz { font-size: 24px; }
  .m3 .nzone { min-height: 58px; }
  .m3 .sp-a { flex: 0 1 24px; }
  .hero-cta { margin-top: 8px; padding-bottom: 10px; }
  .hero-cta a { font-size: 18px; }
  .hero-cta .cta-eyebrow { margin-bottom: 3px; }
  .deck-seat { padding-top: 2px; }
  .stack { height: calc(var(--col-card) * 1.32); }
}
.claim { margin-top: var(--v-object); padding-bottom: 18px; position: relative; }
.plaque {
  display: flex; align-items: center;
  background: var(--paper); border-radius: var(--r-card);
  height: 52px; padding: 0 16px;
  border: 1.5px solid transparent; transition: border-color var(--t-fast) ease;
}
.plaque:focus-within { border-color: var(--ink); }
.plaque input {
  width: 100%; border: none; background: transparent; outline: none; padding: 0;
  font-family: var(--sans); font-size: var(--fs-nav); font-weight: 500;
  line-height: 1.1; color: var(--ink);
}
.plaque input::placeholder { color: var(--text-2); font-weight: 400; }
.btn-slab {
  display: block; width: 100%; border: none; cursor: pointer;
  background: var(--wine); color: var(--wine-ink);
  font-family: var(--sans); font-size: var(--fs-nav); font-weight: 600;
  height: 52px; padding: 0 14px; border-radius: var(--r-card);
  margin-top: 12px;
}
.disclosure { margin-top: 12px; }
.done-line { margin-top: 12px; }
.done-line b { color: var(--ink); font-weight: 600; }
.b1 .wrap,
.b2 .wrap,
.s4b .wrap { padding-inline: max(var(--edge-type), calc((100vw - var(--col-card)) / 2)); }
.air { flex: 0 0 0; }
.air-a { flex-grow: 3; }
.air-b { flex-grow: 2; }
.b1 { justify-content: flex-start; }
.b1 > .wrap { padding-top: 24px; }
.b1 .b1-setup { margin: 0; }
.b1-lock { display: flex; align-items: baseline; gap: 0.3em; margin: 14px 0 0; }
.b1-lock .num {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(56px, calc(100svh - 575px), 112px); line-height: 0.8;
  letter-spacing: -0.03em; color: var(--bone); margin-left: -0.03em;
  font-variation-settings: 'opsz' var(--opsz-text); font-variant-numeric: lining-nums;
}
.b1-lock .noun {
  font-family: var(--sans); font-weight: 500;
  font-size: 13px; line-height: 1; letter-spacing: var(--track-caps-lg); text-transform: uppercase;
  color: var(--bone-body);
}
.b1-sub { font-family: var(--sans); font-weight: 400; font-size: 16.5px; line-height: var(--lh-reading); color: var(--bone-body); margin: 10px 0 0; max-width: 34ch; }
.b1 .stream { margin-top: 0; padding-block: 22px 0; }
.stream .slot { width: var(--col-card); min-width: 0; }
.stream .slot .wish-full { box-shadow: var(--shadow-night-sm); }
.send-seat { margin-top: 12px; padding-bottom: max(20px, env(safe-area-inset-bottom, 0px)); }
.btn-send {
  display: block; width: var(--col-card); margin-inline: auto;
  border: none; cursor: pointer; border-radius: var(--r-card);
  background: var(--wine); color: var(--wine-ink);
  font-family: var(--sans); font-size: var(--fs-nav); font-weight: 600;
  height: 52px; padding: 0 14px;
}
@media (max-height: 700px) {
  .b1 > .wrap { padding-top: 8px; }
  .b1 .stream { padding-top: 10px; }
  .b1-lock { margin-top: 10px; }
  .b1-sub { margin-top: 6px; line-height: 1.35; }
  .b1 .send-seat { padding-bottom: max(14px, env(safe-area-inset-bottom, 0px)); }
}
.b2 { min-height: 100%; padding-bottom: 28px; }
.b2 .head { padding-top: var(--v-major); margin-top: 0; }
.b2 .pack-seat { margin-top: var(--v-block); }
.model { margin-top: 0; padding-top: 28px; text-align: center; }
.bridge-seat { text-align: center; }
.prop { font-family: var(--sans); font-weight: 600; font-size: 19px; line-height: 1.3; letter-spacing: -0.012em; color: var(--bone); margin: 0; }
.prop .u-seat { position: relative; display: inline-block; }
.prop .u-seat .ink-u { position: absolute; left: -2px; right: -4px; bottom: -7px; width: calc(100% + 6px); height: 10px; overflow: visible; }
.prop .u-seat .ink-u path { fill: none; stroke: var(--madder); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 230; stroke-dashoffset: 230; }
.b2.ink-on .prop .u-seat .ink-u path { animation: propDraw 620ms var(--ease-out) 220ms forwards; }
@keyframes propDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .prop .u-seat .ink-u path { stroke-dashoffset: 0; animation: none; }
}
.price { display: inline-flex; align-items: baseline; margin-top: 14px; }
.price .fig {
  font-family: var(--sans); font-weight: 600;
  font-size: var(--fs-amount-lg); line-height: var(--lh-solid); letter-spacing: var(--track-amount);
  color: var(--bone); font-variant-numeric: tabular-nums;
}
.price .unit { font-family: var(--sans); font-size: var(--fs-body); font-weight: 400; letter-spacing: 0; color: var(--madder-lum); margin-left: 9px; }
.free { font-size: 13.5px; line-height: 1.5; color: var(--bone-body); max-width: 30ch; margin: 12px auto 0; }
.free b { font-weight: 500; color: var(--bone); }
.bridge { margin: 0; padding-top: 40px; }
.bridge a { font-family: var(--sans); font-size: 19px; font-weight: 600; letter-spacing: var(--track-tight); color: var(--madder-lum); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; display: inline-block; padding-block: 4px; }
.bridge .u-seat { position: relative; display: inline-block; }
.bridge .u-seat .ink-u { position: absolute; left: -2px; right: -4px; bottom: -8px; width: calc(100% + 8px); height: 11px; overflow: visible; }
.bridge .u-seat .ink-u path { fill: none; stroke: var(--madder); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 230; stroke-dashoffset: 230; animation: inkLive 8s linear 600ms infinite; }
@media (prefers-reduced-motion: reduce) {
  .bridge .u-seat .ink-u path { stroke-dashoffset: 0; animation: none; }
}
.bridge a .cta-arrow {
  color: var(--madder-lum); margin-left: 6px; display: inline-block; font-size: 1.18em; line-height: 1;
  animation: nudge 1.6s ease-in-out infinite;
}
@keyframes nudge { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) {
  .bridge a .cta-arrow { animation: none; }
}
.bridge a:active { opacity: 0.7; }
@media (max-height: 760px) {
  .b2 { padding-bottom: 18px; }
  .b2 .head { padding-top: 16px; }
  .b2 .pack-seat { margin-top: 12px; }
  .b2 .pack-count { margin-top: 6px; }
  .model { padding-top: 18px; }
  .price { margin-top: 10px; }
  .free-line { margin-top: 10px; }
  .bridge { padding-top: 22px; }
}
.s4b { scroll-snap-align: start; }
.fig-oct {
  position: relative; display: inline-block;
  font-family: var(--serif); font-weight: 400;
  font-size: min(16.5vw, 72px); line-height: 0.92; letter-spacing: -0.02em;
  font-variation-settings: 'opsz' var(--opsz-text);
  color: var(--ink); margin: var(--v-line) 0 0; margin-left: -0.03em;
  white-space: nowrap; user-select: none;
}
.oct-ink { position: absolute; left: -1%; right: -1%; bottom: -6px; width: 102%; height: 9px; overflow: visible; }
.oct-ink path { fill: none; stroke: var(--madder); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 70; stroke-dashoffset: 70; }
.s4b.ink-on .oct-ink path { animation: octDraw 560ms var(--ease-out) 200ms forwards; }
@keyframes octDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .s4b .oct-ink path,
  .s4b.ink-on .oct-ink path { stroke-dashoffset: 0; animation: none; }
}
.offer { margin-top: 30px; }
.offer .eyebrow { font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-2); margin: 0; }
.offer .line {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(22px, 6.2vw, 25px); line-height: 1.16; letter-spacing: -0.016em;
  color: var(--ink); margin: 8px 0 0; max-width: 22ch;
}
.offer .line .n5 {

  font-family: var(--sans); font-weight: 600; font-size: 1.12em; line-height: 0.9;
  letter-spacing: -0.016em; color: var(--madder);
  font-variant-numeric: lining-nums tabular-nums;
}
.launch-sub { font-size: 13px; line-height: 1.5; color: var(--text-2); margin-top: 26px; max-width: 34ch; }
.s4b .claim { margin-top: 12px; }
.facts { margin-top: 16px; font-size: 14.5px; line-height: 1.5; color: var(--text-2); }
.facts p { margin: 0; }
.s4b { min-height: 100%; display: flex; flex-direction: column; justify-content: flex-start; }
.s4b .head { padding-top: var(--v-block); }
.s4b .claim { margin: 0; padding-top: 28px; padding-bottom: max(22px, env(safe-area-inset-bottom, 0px)); }
.s4b .claim .launch-sub { margin-top: 0; margin-bottom: 10px; }
.facts { margin-top: 14px; }
@media (max-height: 760px) {
  .s4b .head { padding-top: 20px; }
  .offer { margin-top: 20px; }
  .s4b .claim { padding-top: 20px; }
  .facts { margin-top: 12px; font-size: 13.5px; line-height: 1.45; }
}
@media (max-height: 700px) {
  .fig-oct { font-size: min(16.5vw, 64px); }
  .offer { margin-top: 16px; }
  .s4b .claim { padding-top: 16px; }
}
.foot-stop {
  min-height: 100%; display: flex; flex-direction: column; justify-content: center;
  background: var(--shell); color: var(--ink); overflow-x: clip;
}
.fs-block { padding-block: var(--v-major) max(var(--v-major), env(safe-area-inset-bottom, 0px)); }
.fs-mark { margin: 0; }
.fs-mark .wm {
  font-size: min(16.5vw, 72px); line-height: 0.92; letter-spacing: -0.02em;
  color: var(--ink); display: inline-block; margin-left: -0.03em;
}
.fs-rule { width: 44px; border-top: 1px solid var(--madder); margin: 22px 0 28px; }
.fs-line { font-family: var(--sans); font-size: 15px; line-height: var(--lh-reading); color: var(--text-2); margin: 10px 0 0; max-width: 34ch; }
.fs-rule + .fs-line { margin-top: 0; }
.fs-notes { margin-top: var(--v-object); }
.fs-links { margin-top: var(--v-object); display: flex; gap: 28px; }
.fs-links a { font-family: var(--sans); font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--madder); }
.fs-links a { padding-block: 4px; margin-block: -4px; }
@media (max-height: 700px) {
  .mast { padding-top: 10px; line-height: 1.15; }
  .wm { font-size: 28px; }
  .statement { font-size: 23px; }
  .deck-seat { padding-top: 0; }
  .hero-cta { margin-top: 4px; padding-block: 4px 5px; }
  .hero-cta a { font-size: 17px; }
  .m3 .sp-a { flex: 0 1 8px; }
  .m3 .sp-b { flex: 0 0 16px; }
  .m3 .m3-seat + .wrap { padding-top: 6px; }
}
