:root {
  --ink: #06100e;
  --deep: #0c2622;
  --mid: #14463d;
  --teal: #2a9d86;
  --mint: #97fce4;
  --paper: #eef5e8;
  --hot: #ff5b3a;
  --disp: 'Stardos Stencil', 'Impact', sans-serif;
  --body: 'Zilla Slab', 'Georgia', serif;
  --hand: 'Gochi Hand', 'Comic Sans MS', cursive;
  --type: 'Courier Prime', 'Courier New', monospace;
  --gutter: clamp(16px, 4vw, 64px);
  --grid: linear-gradient(rgba(151,252,228,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(151,252,228,.07) 1px, transparent 1px);
}
* { box-sizing: border-box; margin: 0; }
html { background: var(--ink); -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body {
  background: var(--ink); color: var(--mint);
  font-family: var(--body); font-size: clamp(18px, 1.35vw, 22px); line-height: 1.38;
  overflow-x: clip;
}
h1, h2, h3, h4 { font-weight: 700; }
img, svg, canvas { display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 3px solid var(--hot); outline-offset: 3px; }
.t-disp { font-family: var(--disp); font-weight: 700; }
.t-mono { font-family: var(--type); font-weight: 700; }
.t-scrawl { font-family: var(--hand); }

.grain { position: fixed; inset: 0; z-index: 60; pointer-events: none; opacity: .16; }

/* ---- running head ---- */
.runhead { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; justify-content: space-between; align-items: center; padding: 12px var(--gutter); font-family: var(--type); font-size: 13px; pointer-events: none; }
.runhead a { pointer-events: auto; }
.runhead-mark, .runhead-chapter { background: var(--mint); color: var(--ink); padding: 4px 9px 3px; font-weight: 700; }
.runhead-mark { display: inline-flex; gap: 7px; align-items: center; text-decoration: none; rotate: -1deg; }
.runhead-chapter { rotate: .7deg; }
.runhead-left { display: inline-flex; gap: 8px; align-items: center; }
.runhead-x { background: var(--ink); color: var(--mint); border: 2px solid var(--mint); padding: 2px 8px 1px; text-decoration: none; font-weight: 700; rotate: .8deg; }
.runhead-x:hover { background: var(--mint); color: var(--ink); }

/* ---- contract address bars ---- */
.ca { display: inline-flex; align-items: stretch; max-width: 100%; padding: 0; cursor: pointer; text-align: left; transition: transform .12s, box-shadow .12s; font-family: var(--type); font-weight: 700; font-size: 13px; background: var(--ink); color: var(--mint); border: 2px solid var(--mint); box-shadow: 4px 4px 0 rgba(151, 252, 228, .25); }
.ca-label { background: var(--mint); color: var(--ink); padding: 5px 9px 4px; }
.ca-addr { font-family: inherit; padding: 5px 11px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ca-copy { border-left: 2px solid var(--mint); padding: 5px 11px 4px; font-weight: 700; text-transform: uppercase; color: var(--mint); }
.ca:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 rgba(151, 252, 228, .25); }
.ca:hover .ca-copy, .ca-done .ca-copy { background: var(--mint); color: var(--ink); }
.ca:active { transform: translate(4px, 4px); box-shadow: none; }
.ca-top { position: absolute; top: 12px; left: 50%; translate: -50% 0; z-index: 6; max-width: min(520px, calc(100vw - 2 * var(--gutter))); }
.ca-big { font-size: clamp(14px, 1.5vw, 19px); border-width: 3px; }
.ca-big .ca-copy { border-left-width: 3px; }
.runhead-logo { width: 14px; height: 14px; display: inline-block; }

/* ---- shared ---- */
.tag { background: var(--paper); color: var(--ink); font-family: var(--type); font-size: 13.5px; line-height: 1.38; padding: 14px 16px 15px; max-width: 310px; box-shadow: 6px 8px 0 rgba(151, 252, 228, .22); }
.tag b { font-weight: 700; }
.tag-no { font-size: 11px; opacity: .62; margin-bottom: 5px; }
.tag-small { margin-top: 7px; opacity: .72; font-size: 12px; }
.scrawl { font-family: var(--hand); color: var(--mint); font-size: clamp(23px, 2.1vw, 33px); line-height: 1.08; }
.arrow path { fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.sec-head { display: flex; align-items: flex-end; gap: clamp(12px, 2vw, 28px); }
.sec-head h2 { font-family: var(--disp); font-size: clamp(32px, 5.2vw, 88px); line-height: .96; color: var(--paper); }
.numeral { font-family: var(--disp); font-weight: 700; font-size: clamp(50px, 8.5vw, 150px); line-height: .78; color: var(--mint); }
.scene svg { width: 100%; height: auto; overflow: visible; }
.lead { font-size: clamp(25px, 2.9vw, 50px); line-height: 1.1; font-weight: 600; }

/* pinned stage used by most chapters */
.stage-sec { position: relative; z-index: 2; }
.stage { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.stage > .sec-head { position: absolute; top: 56px; left: var(--gutter); right: var(--gutter); z-index: 4; }
.stage .scene { position: absolute; inset: 0; }
.stage .scene svg { width: 100%; height: 100%; }
.lines { position: absolute; left: var(--gutter); top: 60px; width: min(620px, 62vw); z-index: 5; }
.line { position: absolute; left: -10px; top: 0; font-size: clamp(23px, 2.5vw, 42px); line-height: 1.1; font-weight: 600; color: var(--paper); background: rgba(6, 16, 14, .86); padding: 6px 12px 8px; }
.js .line { opacity: 0; }
.counter { position: absolute; right: var(--gutter); bottom: 3.5vh; z-index: 6; text-align: right; font-family: var(--disp); font-weight: 700; line-height: .9; color: var(--mint); }
.counter-label { display: block; font-family: var(--type); font-size: 13px; margin-bottom: 5px; color: var(--paper); }
.counter-num { display: block; font-size: clamp(44px, 8.6vw, 150px); font-variant-numeric: tabular-nums; }
.counter-hot { color: var(--hot); }

/* ---- caution tape ---- */
.tape { overflow: hidden; position: relative; z-index: 4; background: var(--mint); color: var(--ink); padding: 11px 0 9px; border-block: 6px solid var(--ink); rotate: -.7deg; margin: -8px -12px;
  background-image: repeating-linear-gradient(-45deg, var(--mint) 0 26px, var(--ink) 26px 52px); }
.tape-track { display: flex; width: max-content; font-family: var(--disp); font-weight: 700; font-size: clamp(21px, 2.6vw, 38px); white-space: nowrap; will-change: transform; }
.tape-track span { background: var(--mint); padding: 1px .55em 0; margin-right: 54px; }

/* ---- HERO ---- */
.hero { background: var(--ink); position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.hero-stage { position: relative; height: 100%; width: 100%; overflow: hidden; background-image: var(--grid); background-size: 64px 64px; }
.hero-title { position: absolute; top: clamp(60px, 8.5vh, 92px); left: 0; right: 0; display: flex; justify-content: center; font-family: var(--disp); font-size: min(30vw, 44vh); line-height: .82; color: var(--mint); white-space: nowrap; }
.hero-title span { display: inline-block; will-change: transform; }
.hero-floor { position: absolute; left: 50%; bottom: 3vh; width: min(92vh, 74vw); height: 7vh; translate: -50% 0; border-radius: 50%; background: rgba(151, 252, 228, .16); filter: blur(22px); }
.house-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; }
.hero-slogan { position: absolute; left: var(--gutter); bottom: clamp(20px, 5vh, 56px); z-index: 3; font-family: var(--disp); font-weight: 700; font-size: clamp(30px, 4.3vw, 78px); line-height: .94; color: var(--paper); }
.hero-slogan span { display: block; }
.hero-tag { position: absolute; right: var(--gutter); bottom: clamp(20px, 5vh, 56px); z-index: 3; rotate: 1.5deg; }
.hero-scrawl { position: absolute; right: calc(var(--gutter) + 3vw); top: 56vh; z-index: 3; rotate: -3deg; text-align: right; }
.hero-scrawl .arrow { width: 90px; margin: 2px 0 0 12px; }

/* ---- PREMISE ---- */
.premise { background: var(--ink); color: var(--paper); position: relative; z-index: 2; }
.premise-stage { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 12vh var(--gutter); }
.premise-text { font-size: clamp(34px, 5.8vw, 104px); line-height: 1.02; font-weight: 600; max-width: 17em; }
.premise-text em { color: var(--mint); font-style: normal; font-family: var(--disp); font-weight: 700; }
.js .premise-text .w { opacity: .13; }
.premise-note { margin-top: 28px; rotate: -1deg; align-self: flex-end; text-align: right; }

/* ---- I. FIRE ---- */
.fire { background: #070d0c; }
/* ---- II. PLAN ---- */
.plan { background: #0b2b26; background-image: var(--grid); background-size: 48px 48px; }
.plan .draw { stroke-dasharray: 1; stroke-dashoffset: 1; }
.js .plan .note { opacity: 0; }
/* ---- III. MORTGAGE ---- */
.mortgage { background: var(--mint); color: var(--ink); position: relative; z-index: 2; padding: 13vh var(--gutter) 0; overflow: hidden; }
.mortgage .sec-head h2, .mortgage .numeral { color: var(--ink); }
.mort-copy { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 5vw; margin: 4vh 0 5vh; align-items: end; }
.mort-scene { margin-inline: calc(var(--gutter) * -1); }
/* ---- IV. KEYS ---- */
.keys { background: var(--ink); }
.keys .counter { top: 62px; bottom: auto; }
.keys .counter-num { font-size: clamp(38px, 5.6vw, 96px); }
/* ---- V. CRANE ---- */
.crane { background: var(--deep); background-image: var(--grid); background-size: 64px 64px; }

/* ---- VI. FLOOD ---- */
.flood { background: #050c0b; position: relative; z-index: 2; }
.flood-stage { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.flood-stage > .sec-head { position: absolute; top: 56px; left: var(--gutter); right: var(--gutter); z-index: 6; }
.flood-world { position: absolute; left: 0; bottom: 0; height: 100%; aspect-ratio: 4 / 1; will-change: transform; z-index: 2; }
.flood-svg { width: 100%; height: 100%; overflow: visible; }
.waves { position: absolute; left: 0; width: 240vw; will-change: transform; }
.waves.w2 { bottom: 12vh; height: 17vh; z-index: 1; color: #0f6f5f; }
.waves.w1 { bottom: -2vh; height: 20vh; z-index: 4; color: var(--teal); }
.waves path { fill: currentColor; }
.flood-lines { width: min(680px, 62vw); z-index: 6; }
.bob { animation: bob 3.4s ease-in-out infinite alternate; }
.b2 { animation-duration: 2.7s; }
.spout { animation: spout 1.4s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes spout { from { transform: scaleY(.72); } to { transform: scaleY(1.06); } }
@keyframes bob { from { transform: translateY(0); } to { transform: translateY(-16px); } }

/* ---- VII. STORM ---- */
.storm { background: #040908; }
.rain { position: absolute; inset: -10%; z-index: 3; pointer-events: none; background-image: repeating-linear-gradient(105deg, rgba(151,252,228,.2) 0 1.5px, transparent 1.5px 58px), repeating-linear-gradient(101deg, rgba(151,252,228,.1) 0 1px, transparent 1px 37px); opacity: 0; animation: rain .35s linear infinite; }
@keyframes rain { to { background-position: -30px 120px, -22px 90px; } }
.stamp { position: absolute; left: 50%; top: 44%; z-index: 7; translate: -50% -50%; rotate: -8deg; font-family: var(--disp); font-weight: 700; font-size: clamp(42px, 11vw, 196px); line-height: 1; color: var(--hot); border: .05em solid var(--hot); padding: .03em .16em; background: rgba(4, 9, 8, .88); white-space: nowrap; }
.js .stamp { visibility: hidden; }
.storm-punch { position: absolute; left: var(--gutter); right: var(--gutter); top: 37%; translate: 0 -50%; z-index: 8; text-align: center; font-family: var(--disp); font-weight: 700; font-size: clamp(38px, 7vw, 124px); line-height: .98; color: var(--mint); text-shadow: 0 0 34px #040908, 0 0 14px #040908; }
.storm-punch span { display: block; font-family: var(--hand); font-weight: 400; font-size: clamp(22px, 2.3vw, 36px); margin-top: 16px; color: var(--paper); }
.js .storm-punch { opacity: 0; }

/* ---- VIII. HOUSE ---- */
.house { background: #0a1f1b; color: var(--paper); position: relative; z-index: 2; }
.house-stage { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.house-cam { position: absolute; inset: 0; }
.house-world { position: absolute; left: 0; top: 0; width: 2400px; height: 1800px; transform-origin: 0 0; will-change: transform; }
.house-svg { width: 2400px; height: 1800px; overflow: visible; }
.house-dark { position: absolute; inset: 0; z-index: 3; background: #040a09; opacity: .95; pointer-events: none; }
.house-title { position: absolute; left: var(--gutter); top: 13vh; z-index: 4; max-width: min(680px, 88vw); }
.house-title .numeral { display: block; }
.house-title h2 { font-family: var(--disp); font-size: clamp(36px, 5.8vw, 100px); line-height: .96; margin: 8px 0 18px; }
.house-title p { font-size: clamp(21px, 2vw, 32px); line-height: 1.14; }
.room-cards { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.room-card { position: absolute; left: var(--gutter); bottom: clamp(20px, 6vh, 60px); width: min(450px, calc(100vw - 2 * var(--gutter))); background: var(--paper); color: var(--ink); padding: 16px 18px 18px; box-shadow: 7px 9px 0 rgba(6, 16, 14, .6); rotate: -1deg; }
.room-card h3 { font-family: var(--disp); font-size: clamp(26px, 2.6vw, 42px); line-height: 1; margin-bottom: 7px; }
.room-card p { font-size: clamp(18px, 1.45vw, 23px); line-height: 1.16; }
.js .room-card { opacity: 0; visibility: hidden; }
.house-whole { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 3.5vh; z-index: 5; text-align: center; font-size: clamp(22px, 2.6vw, 44px); line-height: 1.08; font-weight: 600; }
.house-whole em { font-family: var(--disp); font-weight: 700; font-style: normal; font-size: 1.5em; color: var(--mint); }
.js .house-whole { opacity: 0; }
.ghost-coin { animation: bob 3.2s ease-in-out infinite alternate; animation-delay: var(--d); }
.steam path { stroke-dasharray: 34 20; animation: steam 1.7s linear infinite; }
@keyframes steam { to { stroke-dashoffset: -54; } }
.belt { animation: belt .9s linear infinite; }
@keyframes belt { to { stroke-dashoffset: -38; } }
.fl-b, .flick { transform-box: fill-box; transform-origin: 50% 100%; }
.flick { animation: flick .42s ease-in-out infinite alternate; }
.fl-b { animation: flick .5s ease-in-out infinite alternate; }
@keyframes flick { from { scale: .94 1; } to { scale: 1.04 1.12; } }
.water { animation: slosh 3.2s ease-in-out infinite alternate; }
@keyframes slosh { from { transform: translateX(-14px); } to { transform: translateX(14px); } }
.floatie { animation: float 3.2s ease-in-out infinite alternate; }
@keyframes float { from { transform: translate(-30px, 2px); } to { transform: translate(30px, -5px); } }

/* ---- YARD ---- */
.yard { background: var(--mint); color: var(--ink); position: relative; z-index: 2; }
.yard-stage { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.yard-copy { position: absolute; left: 0; right: 0; top: 9.5vh; z-index: 4; text-align: center; padding-inline: var(--gutter); }
.yard-copy h2 { font-family: var(--disp); font-size: clamp(38px, 6.6vw, 122px); line-height: .94; }
.yard-copy p { margin: 14px auto 0; max-width: 30em; font-size: clamp(20px, 1.8vw, 29px); line-height: 1.14; font-weight: 600; }
.yard .scene { position: absolute; inset: 0; }
.yard .scene svg { width: 100%; height: 100%; }
.asph { animation: sway 3s ease-in-out infinite alternate; animation-delay: var(--d); transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes sway { from { rotate: -3deg; } to { rotate: 4deg; } }

/* ---- LOG ---- */
.log { background: var(--deep); color: var(--paper); position: relative; z-index: 2; padding: 13vh var(--gutter) 11vh; background-image: var(--grid); background-size: 48px 48px; }
.log-head h2 { font-family: var(--disp); font-size: clamp(44px, 8.4vw, 152px); line-height: .92; color: var(--mint); }
.log-head .scrawl { rotate: -1.5deg; margin-bottom: 7px; }
.log-list { list-style: none; padding: 0; margin-top: 6vh; border-top: 2px solid var(--mint); }
.log-list li { display: grid; grid-template-columns: 11em minmax(0, 1fr) auto; gap: 18px; padding: 14px 0; border-bottom: 1px dashed rgba(151, 252, 228, .4); align-items: baseline; }
.log-list time { font-family: var(--type); font-weight: 700; color: var(--mint); font-size: .86em; }
.log-list a { font-family: var(--type); font-size: 13px; color: var(--mint); }
.log-foot { margin-top: 22px; font-family: var(--type); font-size: 14px; color: var(--mint); }

/* ---- TOKEN ---- */
.shop { background: var(--paper); color: var(--ink); position: relative; z-index: 2; padding: 13vh var(--gutter) 11vh; overflow: hidden; }
.shop .scrawl { color: #0f5c50; }
.shop-head h2 { font-family: var(--disp); font-size: clamp(50px, 9.6vw, 172px); line-height: .92; }
.shop-head .scrawl { rotate: -1.5deg; margin-bottom: 7px; }
.shop-row { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 90px); margin-top: 6vh; align-items: start; }
.tablet { background: var(--ink); color: var(--paper); padding: clamp(24px, 3.4vw, 48px); clip-path: polygon(0 1.6%, 18% 0, 47% 1.2%, 100% 0, 99.2% 36%, 100% 71%, 98.4% 100%, 62% 98.6%, 21% 100%, .9% 98.4%, 1.4% 44%); rotate: -.6deg; }
.tablet h3 { font-family: var(--disp); font-size: clamp(30px, 3vw, 50px); line-height: 1; margin-bottom: 20px; color: var(--mint); }
.tablet dl > div { display: flex; justify-content: space-between; gap: 22px; padding: 9px 0; border-bottom: 1px dashed rgba(151, 252, 228, .36); }
.tablet dt { font-family: var(--type); font-size: 14px; }
.tablet dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.tablet code { font-family: var(--type); font-size: 14px; }
.tablet-warn { font-family: var(--type); font-size: 13px; margin-top: 15px; opacity: .78; }
.btn-copy { font-family: var(--type); font-size: 14px; font-weight: 700; margin-top: 15px; background: var(--mint); color: var(--ink); padding: 7px 13px; }
.steps { list-style: none; padding: 0; display: grid; gap: clamp(16px, 2.2vw, 30px); }
.steps li { display: flex; gap: 16px; align-items: flex-start; }
.step-n { font-family: var(--disp); font-weight: 700; font-size: clamp(42px, 4.6vw, 72px); line-height: .84; color: var(--teal); min-width: .9em; }
.steps h4 { font-family: var(--disp); font-size: clamp(25px, 2.4vw, 40px); line-height: 1.02; }
.steps p { margin-top: 2px; line-height: 1.2; }
.cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8vh; align-items: stretch; }
.btn { font-family: var(--disp); font-weight: 700; font-size: clamp(20px, 1.9vw, 30px); text-decoration: none; line-height: 1; padding: 15px 22px 13px; border: 3px solid var(--ink); background: transparent; color: var(--ink); box-shadow: 5px 5px 0 var(--ink); transition: transform .12s, box-shadow .12s; display: inline-flex; align-items: center; }
.btn-main { background: var(--mint); font-size: clamp(24px, 2.9vw, 46px); padding: 19px 28px 16px; }
.btn:not([aria-disabled="true"]):hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink); }
.btn[aria-disabled="true"] { cursor: default; box-shadow: none; border-style: dashed; }
.btn[aria-disabled="true"]:not(.btn-main) { opacity: .7; }
.oracle { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; margin-top: 7vh; }
.oracle-btn { font-weight: 600; font-size: clamp(21px, 1.9vw, 30px); text-decoration: underline wavy var(--teal) 2px; text-underline-offset: 6px; }
.oracle-out { flex: 1 1 280px; }

/* ---- FOOT ---- */
.foot { background: var(--ink); color: var(--paper); position: relative; z-index: 2; padding: 5vh var(--gutter) 6vh; overflow: hidden; }
.foot-big { pointer-events: none; font-family: var(--disp); font-weight: 700; font-size: 34vw; line-height: .84; white-space: nowrap; color: var(--mint); margin-inline: -.02em; text-align: center; }
.foot-row { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 14px; margin-top: 30px; }
.foot-x { display: inline-flex; align-items: center; font-family: var(--disp); font-weight: 700; font-size: clamp(18px, 1.7vw, 24px); text-decoration: none; background: var(--mint); color: var(--ink); padding: 8px 16px 6px; box-shadow: 4px 4px 0 rgba(151, 252, 228, .25); }
.foot-x:hover { background: var(--paper); }
.foot-legal { font-family: var(--type); font-size: 13px; line-height: 1.44; max-width: 80ch; margin-top: 30px; opacity: .8; }

.js .rv { opacity: 0; }

/* ---- small screens ---- */
@media (max-width: 760px) {
  .runhead-chapter { display: none; }
  .ca-top { top: 64px; }
  .ca-big { width: 100%; }
  .hero-title { font-size: 40vw; top: 112px; }
  .hero-tag, .hero-scrawl { display: none; }
  .hero-floor { bottom: 19vh; width: 88vw; height: 4vh; }
  .hero-slogan { font-size: 10.5vw; }
  .mort-copy, .shop-row { grid-template-columns: minmax(0, 1fr); }
  .lines, .flood-lines { width: calc(100vw - 32px); top: 52px; }
  .line { font-size: 23px; }
  .stage > .sec-head, .flood-stage > .sec-head { top: 56px; }
  .counter-num { font-size: 14vw; }
  .keys .counter { top: auto; bottom: 3vh; right: 16px; }
  .keys .counter-num { font-size: 13vw; }
  .room-card { width: calc(100vw - 32px); }
  .house-title { top: 9vh; }
  .log-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .log-list li time { grid-column: 1 / -1; }
  .cta-row .btn { flex: 1 1 auto; justify-content: center; }
  .btn-main { flex-basis: 100%; }
  .foot-big { font-size: 38vw; }
}

/* ---- reduced motion: a plain long page ---- */
.reduce .ghost-coin, .reduce .steam path, .reduce .water, .reduce .floatie, .reduce .asph, .reduce .bob, .reduce .spout, .reduce .flick, .reduce .fl-b, .reduce .belt, .reduce .rain { animation: none; }
.reduce .premise-text .w, .reduce .rv, .reduce .line, .reduce .storm-punch, .reduce .room-card, .reduce .house-whole, .reduce .plan .note { opacity: 1 !important; visibility: visible !important; }
.reduce .plan .draw { stroke-dasharray: none; stroke-dashoffset: 0; }
.reduce .stage, .reduce .flood-stage, .reduce .house-stage, .reduce .yard-stage { height: auto; min-height: 100svh; overflow: visible; padding: 90px var(--gutter) 40px; }
.reduce .stage > .sec-head, .reduce .flood-stage > .sec-head, .reduce .lines, .reduce .line, .reduce .storm-punch, .reduce .room-cards, .reduce .room-card, .reduce .house-title, .reduce .house-whole, .reduce .counter, .reduce .yard-copy, .reduce .stage .scene, .reduce .yard .scene, .reduce .flood-world { position: static; translate: none; width: auto; margin-bottom: 18px; aspect-ratio: auto; height: auto; }
.reduce .rain, .reduce .house-dark, .reduce .stamp, .reduce .waves { display: none; }
.reduce .stage .scene svg, .reduce .yard .scene svg { height: auto; }
.reduce .flood-svg { height: auto; overflow: hidden; }
.reduce .house-cam, .reduce .house-world { position: static; width: 100%; height: auto; }
.reduce .house-svg { width: 100%; height: auto; overflow: hidden; }
