:root {
  --white: #f4f8f8;
  --snow: #dce9ec;
  --ice: #9db9c2;
  --blue: #3b6675;
  --ink: #0e2935;
  --deep: #071b24;
  --orange: #f16a21;
  --red: #c72d26;
  --line: rgba(14, 41, 53, .18);
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; background: var(--deep); }
body { margin: 0; color: var(--ink); background: var(--white); font-family: 'Sora', sans-serif; overflow-x: clip; }
button, a { font: inherit; }
a { color: inherit; }
button { color: inherit; }
::selection { color: var(--white); background: var(--red); }
* { scrollbar-color: var(--red) var(--deep); scrollbar-width: thin; }
::-webkit-scrollbar { width: 9px; }
::-webkit-scrollbar-track { background: var(--deep); }
::-webkit-scrollbar-thumb { background: var(--red); border: 2px solid var(--deep); }

.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 100; padding: .8rem 1rem; color: var(--white); background: var(--deep); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

.grain { position: fixed; inset: 0; z-index: 90; opacity: .055; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
#snow { position: fixed; inset: 0; z-index: 32; width: 100%; height: 100%; pointer-events: none; }
.whiteout-veil { position: fixed; inset: 0; z-index: 31; opacity: 0; pointer-events: none; background: #faffff; will-change: opacity; }

.rope-layer { --knot-y: 48%; position: fixed; z-index: 42; top: 0; bottom: 0; left: clamp(1.15rem, 6.2vw, 6.5rem); width: 38px; pointer-events: none; filter: drop-shadow(0 2px 1px rgba(35,0,0,.25)); }
.rope-layer svg { width: 100%; height: 100%; overflow: visible; }
.rope-layer path { fill: none; vector-effect: non-scaling-stroke; }
.rope-shadow { stroke: rgba(77,7,4,.5); stroke-width: 7px; }
.rope { stroke: var(--red); stroke-width: 4px; stroke-dasharray: 2 1; transition: stroke-width .3s, filter .3s; }
.rope-answered .rope { stroke-width: 7px; }
.rope-answered .traveler-knot { box-shadow: 0 0 0 3px rgba(244,248,248,.9), 0 0 28px 8px rgba(199,45,38,.42); }
.traveler-knot { position: absolute; top: var(--knot-y); left: 50%; width: 22px; height: 16px; border: 4px solid var(--red); border-radius: 50%; transform: translate(-50%,-50%) rotate(-18deg); background: transparent; box-shadow: 0 0 0 2px rgba(244,248,248,.75), 0 0 18px rgba(199,45,38,.35); transition: top .18s linear; }
.traveler-knot::after { content: ''; position: absolute; inset: -11px; border: 1px solid rgba(199,45,38,.45); border-radius: 50%; animation: knot-ping 1.8s ease-out infinite; }
.rope-signal { position: absolute; top: var(--knot-y); left: 40px; width: max-content; display: grid; gap: .28rem; padding: .55rem .7rem; color: var(--white); background: rgba(7,27,36,.92); border-left: 3px solid var(--red); transform: translateY(-50%); transition: top .18s linear, opacity .25s; }
.rope-signal b, .rope-signal i { font-family: 'JetBrains Mono'; font-style: normal; text-transform: uppercase; }
.rope-signal b { font-size: .54rem; letter-spacing: .11em; }
.rope-signal i { color: var(--ice); font-size: .46rem; letter-spacing: .06em; }

.site-header { position: fixed; z-index: 60; top: 0; left: 0; width: 100%; height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; padding: 0 var(--gutter) 0 clamp(5.5rem, 11vw, 11rem); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.2); background: linear-gradient(to bottom, rgba(4,20,27,.94), rgba(4,20,27,.34)); backdrop-filter: blur(10px); transition: color .3s, background .3s, opacity .35s, transform .35s; }
.site-header.scrolled { color: var(--ink); background: rgba(239,246,247,.88); border-color: var(--line); }
.wordmark { min-height: 44px; display: flex; align-items: center; gap: .75rem; font-size: .74rem; font-weight: 700; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; transition: opacity .25s; }
.wordmark:hover { opacity: .72; }
.wordmark-mark { padding: .38rem .48rem; color: var(--white); background: var(--red); font-family: 'JetBrains Mono', monospace; }
.site-header nav { display: flex; align-items: center; gap: 2rem; }
.site-header nav a { position: relative; padding: 1rem .25rem; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-header nav a::after { content: ''; position: absolute; right: .25rem; bottom: .7rem; left: .25rem; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.site-header nav a:hover::after { transform: scaleX(1); }
.conditions-toggle { justify-self: end; min-height: 44px; padding: 0; border: 0; color: inherit; background: none; font: 600 .66rem/1 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: opacity .25s; }
.conditions-toggle:hover { opacity: .72; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: .45rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(241,106,33,.2); animation: pulse 1.6s ease-in-out infinite; transition: transform .25s; }
.conditions-toggle:hover .status-dot { transform: scale(1.3); }
.conditions-toggle[aria-pressed="false"] .status-dot { background: var(--ice); animation: none; }

.weather-console { position: fixed; z-index: 55; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: rgba(7,27,36,.94); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); transition: opacity .35s, transform .35s; }
.is-whiteout .site-header { opacity: .04; transform: translateY(-100%); }
.is-whiteout .site-header:focus-within { opacity: 1; transform: none; }
.is-whiteout .weather-console { opacity: .04; transform: translateY(100%); }
.is-whiteout .rope-signal { color: var(--red); background: rgba(255,255,255,.86); border-color: var(--red); box-shadow: 0 0 45px 20px rgba(255,255,255,.85); }
.is-whiteout .rope-signal i { color: #7b1713; }
.weather-console div { display: grid; grid-template-columns: auto auto; align-items: baseline; min-width: 116px; padding: .8rem 1rem; border-right: 1px solid rgba(255,255,255,.13); }
.weather-console span { grid-column: 1/-1; margin-bottom: .2rem; color: var(--ice); font: 600 .55rem/1 'JetBrains Mono', monospace; letter-spacing: .12em; }
.weather-console strong { font: 400 1.3rem/1 'JetBrains Mono', monospace; }
.weather-console small { margin-left: .3rem; color: var(--ice); font: .52rem/1 'JetBrains Mono', monospace; }

main { position: relative; }
.hero { position: relative; min-height: 100svh; display: flex; align-items: end; overflow: hidden; color: var(--white); background: var(--deep); }
.hero-film { position: absolute; inset: 0; overflow: hidden; contain: paint; }
.hero-film video { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; filter: saturate(.42) contrast(1.22) brightness(.72) hue-rotate(-5deg); animation: camera-drift 14s cubic-bezier(.45,0,.55,1) infinite alternate; }
.hero-film::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 34%, rgba(0,14,20,.38) 100%), repeating-linear-gradient(90deg, transparent 0 17%, rgba(220,244,248,.025) 17.1% 17.2%); box-shadow: inset 0 0 12vw rgba(0,10,15,.58); mix-blend-mode: multiply; }
.film-scrim { position: absolute; inset: 0; background: radial-gradient(circle at 69% 42%, transparent 0 13%, rgba(5,24,32,.16) 38%, rgba(2,13,18,.62) 85%), linear-gradient(90deg, rgba(2,17,24,.9) 0%, rgba(5,24,32,.23) 58%, rgba(5,24,32,.68) 100%), linear-gradient(0deg, rgba(2,14,20,.88), transparent 58%); }
.polar-flare { position: absolute; z-index: 1; top: 27%; right: -12%; width: 78%; height: 2px; opacity: .58; background: linear-gradient(90deg, transparent, rgba(188,235,247,.9) 35%, white 52%, rgba(241,106,33,.5) 58%, transparent 85%); box-shadow: 0 0 17px 4px rgba(207,241,248,.33), 0 0 70px 12px rgba(157,185,194,.16); transform: rotate(-3deg); animation: flare-breathe 6s ease-in-out infinite alternate; }
.lens-breath { position: absolute; inset: -10%; opacity: .25; background: radial-gradient(ellipse at 77% 31%, rgba(238,253,255,.76) 0, rgba(157,185,194,.14) 13%, transparent 31%); mix-blend-mode: screen; animation: lens-breath 8s ease-in-out infinite; }
.film-timecode { position: absolute; top: 96px; right: var(--gutter); font: 500 .58rem/1 'JetBrains Mono', monospace; letter-spacing: .12em; }
.film-stock { position: absolute; right: var(--gutter); bottom: 3.4rem; color: rgba(220,235,239,.72); font: 500 .5rem/1.55 'JetBrains Mono'; letter-spacing: .12em; text-align: right; }
.hero-copy { position: relative; z-index: 2; width: 100%; padding: 10rem var(--gutter) 8.5rem clamp(5.5rem, 11vw, 11rem); }
.hero-kicker { margin: 0 0 2rem; color: #dbeaec; font: 600 .7rem/1.4 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { max-width: 1200px; margin: 0; font-size: clamp(3.6rem, 9.2vw, 9.6rem); font-weight: 650; line-height: .82; letter-spacing: -.075em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 .outline { color: transparent; -webkit-text-stroke: 1.5px var(--white); }
.hero h1 .red { width: fit-content; max-width: 100%; margin-left: min(18vw, 16rem); padding: .03em .1em .08em; color: var(--white); background: var(--red); font-size: .92em; white-space: nowrap; transform: rotate(-1.2deg); }
.hero-lower { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 2.5rem; padding-left: min(18vw, 16rem); }
.hero-lower p { max-width: 34rem; margin: 0; color: #deeaec; font-size: clamp(.9rem, 1.2vw, 1.08rem); line-height: 1.65; }
.rope-cta { flex: none; display: inline-flex; align-items: center; gap: 1.5rem; min-height: 56px; padding: 0 1.4rem; color: var(--white); border: 1px solid rgba(255,255,255,.55); text-decoration: none; font: 600 .68rem/1 'JetBrains Mono', monospace; letter-spacing: .1em; white-space: nowrap; text-transform: uppercase; transition: color .25s, background .25s, transform .25s; }
.rope-cta i { color: var(--orange); font-style: normal; font-size: 1.1rem; }
.rope-cta:hover { color: var(--deep); background: var(--white); transform: translateY(-3px); }
.letterbox { position: absolute; z-index: 3; right: 0; left: 0; height: clamp(12px, 2.2vw, 32px); background: #020d12; }
.letterbox.top { top: 72px; }
.letterbox.bottom { bottom: 0; }
.reveal { opacity: 0; transform: translateY(28px); animation: load-in .9s cubic-bezier(.2,.8,.2,1) forwards; }
.hero h1 span:nth-child(1) { animation-delay: .15s; }
.hero h1 span:nth-child(2) { animation-delay: .28s; }
.hero h1 span:nth-child(3) { animation-delay: .41s; }
.hero-lower { animation-delay: .58s; }

.chapter { position: relative; min-height: 100svh; padding: clamp(7rem, 11vw, 11rem) var(--gutter) clamp(7rem, 10vw, 10rem) clamp(5.5rem, 11vw, 11rem); }
.section-index { position: absolute; top: 2rem; right: var(--gutter); font: 600 .63rem/1 'JetBrains Mono', monospace; letter-spacing: .12em; }
.mono-label { margin: 0 0 1.3rem; color: var(--blue); font: 700 .65rem/1.4 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.chapter h2 { margin: 0; font-size: clamp(3.1rem, 7vw, 7.6rem); font-weight: 600; line-height: .92; letter-spacing: -.065em; text-transform: uppercase; }

.doctrine { display: grid; grid-template-columns: 1fr 1.35fr; align-content: center; gap: 5rem 7vw; color: var(--ink); background: linear-gradient(120deg, #edf5f6 0%, #c9dce1 100%); overflow: hidden; }
.doctrine::before { content: 'HOLD'; position: absolute; right: -1.5vw; bottom: -4vw; color: rgba(14,41,53,.04); font-size: 24vw; font-weight: 800; line-height: .8; letter-spacing: -.1em; }
.doctrine-heading { align-self: end; }
.rope-team { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); grid-column: 1/-1; gap: 1rem; padding: 4rem 0 2rem; }
.team-line { position: absolute; top: 5.5rem; right: 5%; left: 5%; height: 7px; background: var(--red); transform: rotate(-1.5deg); box-shadow: 0 2px 0 rgba(71,4,0,.28); }
.rope-team article { position: relative; min-height: 160px; padding-top: 5.3rem; text-align: center; }
.rope-team article::before { content: ''; position: absolute; z-index: 1; top: .75rem; left: 50%; width: 37px; height: 37px; border: 8px solid var(--red); border-radius: 50%; background: var(--snow); transform: translateX(-50%); }
.rope-team b { position: absolute; z-index: 2; top: 1.65rem; left: 50%; color: var(--white); font: 700 .58rem/1 'JetBrains Mono', monospace; transform: translateX(-50%); }
.rope-team span { display: block; font-size: .77rem; font-weight: 750; letter-spacing: .12em; }
.rope-team small { display: block; margin-top: .5rem; color: var(--blue); font: .66rem/1.3 'JetBrains Mono', monospace; }
.doctrine-note { display: grid; grid-template-columns: 1fr 1.2fr; grid-column: 1/-1; gap: 4rem; border-top: 1px solid var(--line); padding-top: 2rem; }
.doctrine-note > p { max-width: 44rem; margin: 0; font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.55; }
.doctrine-note dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; }
.doctrine-note dl div { padding-left: 1rem; border-left: 2px solid var(--red); }
.doctrine-note dt { color: var(--blue); font: .56rem/1.3 'JetBrains Mono', monospace; text-transform: uppercase; }
.doctrine-note dd { margin: .5rem 0 0; font: 650 .9rem/1 'JetBrains Mono', monospace; }
.shelter-beacon { position: absolute; top: 50%; right: 2rem; writing-mode: vertical-rl; color: var(--red); font: 700 .58rem/1 'JetBrains Mono', monospace; letter-spacing: .12em; }
.shelter-beacon span { display: inline-block; width: 9px; height: 9px; margin-bottom: .7rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 8px rgba(241,106,33,.17); }

.crossing { min-height: 148svh; display: grid; align-content: center; color: #163845; background: linear-gradient(116deg, #dce9ec, #f9fcfc 45%, #bdd1d7); overflow: hidden; }
.crossing::before { content: ''; position: absolute; inset: 0; opacity: .42; background: repeating-linear-gradient(103deg, transparent 0 54px, rgba(255,255,255,.65) 55px 57px), radial-gradient(ellipse at 80% 20%, white, transparent 48%); }
.crossing-copy { position: relative; max-width: 62rem; }
.crossing-copy .mono-label { color: #8d1f1a; }
.crossing-copy h2 { max-width: 11ch; font-size: clamp(4rem, 10.6vw, 11rem); line-height: .8; }
.crossing-copy > p:last-child { max-width: 34rem; margin: 3rem 0 0 auto; font-size: clamp(1rem, 1.45vw, 1.25rem); line-height: 1.7; }
.ghost-team { position: absolute; right: 6vw; bottom: 12%; width: 48%; height: 28%; opacity: .18; filter: blur(6px); }
.ghost-team::after { content: ''; position: absolute; top: 55%; right: 4%; left: 1%; height: 5px; background: var(--red); transform: rotate(-7deg); }
.ghost-team i { position: absolute; bottom: 0; width: clamp(18px, 3vw, 42px); height: clamp(74px, 12vw, 166px); border-radius: 45% 45% 25% 25%; background: var(--deep); transform: rotate(7deg); }
.ghost-team i::before { content: ''; position: absolute; top: -20%; left: 7%; width: 86%; aspect-ratio: 1; border-radius: 50%; background: var(--deep); }
.ghost-team i:nth-child(1) { left: 4%; transform: scale(.72) rotate(7deg); }
.ghost-team i:nth-child(2) { left: 24%; transform: scale(.86) rotate(7deg); }
.ghost-team i:nth-child(3) { left: 46%; }
.ghost-team i:nth-child(4) { left: 68%; transform: scale(.9) rotate(7deg); }
.ghost-team i:nth-child(5) { left: 88%; transform: scale(.76) rotate(7deg); }
.rope-order { position: fixed; z-index: 44; bottom: clamp(3.5rem, 9vh, 7rem); left: clamp(5.7rem, 11vw, 11.5rem); display: none; color: var(--red); text-transform: uppercase; }
.is-whiteout .rope-order { display: grid; gap: .5rem; }
.rope-order span, .rope-order small { font: 700 .54rem/1.3 'JetBrains Mono'; letter-spacing: .12em; }
.rope-order strong { font-size: clamp(1.8rem, 4vw, 4rem); line-height: .84; letter-spacing: -.06em; }
.grip-console { --grip: 0; position: fixed; z-index: 46; right: var(--gutter); bottom: clamp(4rem, 8vh, 6rem); width: min(340px, calc(100vw - 8rem)); padding: 1rem; color: var(--white); border: 1px solid rgba(199,45,38,.45); background: rgba(7,27,36,.94); box-shadow: 0 24px 70px rgba(7,27,36,.34); opacity: 0; pointer-events: none; transform: translateY(18px); transition: opacity .45s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1); }
.is-crossing .grip-console { opacity: 1; pointer-events: auto; transform: none; }
.grip-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; margin-bottom: .75rem; }
.grip-heading span, .grip-heading b, .grip-feedback { font-family: 'JetBrains Mono', monospace; text-transform: uppercase; }
.grip-heading span { color: var(--ice); font-size: .47rem; letter-spacing: .09em; }
.grip-heading b { color: var(--white); font-size: .6rem; letter-spacing: .05em; }
.grip-button { position: relative; width: 100%; min-height: 58px; overflow: hidden; padding: 0 1rem; color: var(--white); border: 1px solid var(--red); background: transparent; cursor: grab; font: 700 .62rem/1 'JetBrains Mono', monospace; letter-spacing: .07em; text-align: left; text-transform: uppercase; touch-action: none; transition: color .2s, border-color .2s, transform .2s; }
.grip-button::before { content: ''; position: absolute; inset: 0; background: var(--red); transform: scaleX(var(--grip)); transform-origin: left; }
.grip-button::after { content: 'HOLD'; position: absolute; top: 50%; right: 1rem; color: var(--ice); font-size: .48rem; letter-spacing: .14em; transform: translateY(-50%); }
.grip-button > * { position: relative; z-index: 1; }
.grip-button:hover { border-color: var(--white); transform: translateY(-2px); }
.grip-button.is-holding { cursor: grabbing; }
.grip-button.is-holding::after { color: var(--white); }
.grip-button.is-complete { color: var(--deep); border-color: var(--white); background: var(--white); cursor: default; }
.grip-button.is-complete::after { content: '5 / 5'; color: var(--red); }
.grip-feedback { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 28px; padding-top: .65rem; color: var(--ice); font-size: .46rem; letter-spacing: .05em; }
.pulse-return { flex: none; display: flex; gap: .36rem; }
.pulse-return i { width: 7px; height: 7px; border: 1px solid var(--ice); border-radius: 50%; background: transparent; }
.rope-answered .pulse-return i { background: #58bd96; border-color: #58bd96; box-shadow: 0 0 0 4px rgba(88,189,150,.12); animation: tag-return .32s cubic-bezier(.16,1,.3,1) both; }
.rope-answered .pulse-return i:nth-child(2) { animation-delay: .12s; }
.rope-answered .pulse-return i:nth-child(3) { animation-delay: .24s; }
.rope-answered .pulse-return i:nth-child(4) { animation-delay: .36s; }
.rope-answered .pulse-return i:nth-child(5) { animation-delay: .48s; }

.shelter { display: grid; grid-template-columns: .72fr 1.28fr; gap: 4rem 6vw; overflow: hidden; color: var(--deep); background: #e9f2f3; }
.shelter::after { content: ''; position: absolute; inset: 0 0 auto 50%; height: 44%; background: linear-gradient(145deg, transparent 49.8%, rgba(59,102,117,.08) 50%); pointer-events: none; }
.shelter-intro { position: relative; z-index: 2; align-self: center; }
.shelter-intro h2 { color: var(--orange); }
.shelter-intro > p:last-child { max-width: 32rem; margin: 2rem 0 0; color: #254b59; font-size: 1rem; line-height: 1.7; }
.cutaway { position: relative; z-index: 2; align-self: center; margin: 0; }
.thermal-split { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; color: var(--blue); font: 650 .52rem/1 'JetBrains Mono'; letter-spacing: .08em; }
.thermal-split b { flex: 1; padding: .55rem .8rem; color: var(--deep); border-right: 1px solid var(--ice); border-left: 1px solid var(--ice); text-align: center; }
.cutaway svg { display: block; width: 100%; height: auto; overflow: visible; }
.tent-shell { fill: url(#tentFill); stroke: var(--deep); stroke-width: 5; }
.tent-inner { fill: #d7e6e9; stroke: var(--deep); stroke-width: 4; }
.snow-bank { fill: #c7dce1; }
.pole { stroke: var(--deep); stroke-width: 7; }
.sleep-system { fill: var(--blue); stroke: var(--deep); stroke-width: 4; }
.stove-unit { fill: var(--deep); }
.heat { fill: none; stroke: var(--orange); stroke-width: 6; stroke-linecap: round; }
.callout line { stroke: var(--deep); stroke-width: 2; stroke-dasharray: 4 4; }
.callout circle { fill: var(--red); }
.callout text { fill: var(--deep); font: 700 13px 'JetBrains Mono', monospace; letter-spacing: .05em; }
.cutaway figcaption { padding-top: 1rem; border-top: 1px solid var(--line); color: var(--blue); font: .62rem/1.5 'JetBrains Mono', monospace; }
.shelter-stats { display: grid; grid-template-columns: repeat(3, 1fr); grid-column: 1/-1; gap: 1px; background: var(--ice); border: 1px solid var(--ice); }
.shelter-stats div { padding: 1.4rem; background: var(--white); }
.shelter-stats strong { display: block; color: var(--red); font: 500 clamp(1.5rem, 3vw, 2.8rem)/1 'JetBrains Mono', monospace; }
.shelter-stats span { display: block; margin-top: .6rem; color: var(--blue); font: .6rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }

.cold { color: var(--white); background: var(--deep); }
.cold::before { content: ''; position: absolute; inset: 0; opacity: .35; background: radial-gradient(circle at 72% 25%, #3b6675 0, transparent 35%), repeating-linear-gradient(112deg, transparent 0 40px, rgba(255,255,255,.025) 41px 42px); }
.cold > * { position: relative; }
.cold .mono-label { color: var(--ice); }
.cold-heading { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; }
.cold-heading .mono-label { grid-column: 1/-1; }
.cold-heading p:last-child { max-width: 28rem; margin: 0 0 .5rem 3rem; color: #bad0d6; line-height: 1.7; }
.ladder { display: grid; grid-template-columns: .78fr .92fr 1.08fr 1.28fr; align-items: end; margin-top: 4rem; border-bottom: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.ladder article { position: relative; min-height: 255px; padding: 2rem 1.5rem; border-top: 1px solid rgba(255,255,255,.2); border-right: 1px solid rgba(255,255,255,.2); border-bottom: 6px solid var(--ice); background: linear-gradient(180deg, rgba(61,105,118,.12), rgba(7,27,36,.58)); backdrop-filter: blur(1.5px); transition: color .35s cubic-bezier(.2,.8,.2,1), background .35s, transform .35s cubic-bezier(.2,.8,.2,1); }
.ladder article:nth-child(2) { min-height: 300px; }
.ladder article:nth-child(3) { min-height: 350px; }
.ladder article:nth-child(4) { min-height: 405px; }
.ladder article:nth-child(2) { border-bottom-color: #70a1ad; }
.ladder article:nth-child(3) { border-bottom-color: var(--orange); }
.ladder article.critical { border-bottom-color: var(--red); }
.ladder article:hover { z-index: 2; color: var(--deep); background: var(--white); transform: translateY(-14px); }
.ladder-temp { display: block; color: var(--ice); font: .57rem/1 'JetBrains Mono', monospace; }
.ladder b { display: block; margin: 2rem 0 1.2rem; color: var(--ice); font: 300 2.5rem/1 'JetBrains Mono', monospace; }
.ladder h3 { margin: 0; font-size: 1.1rem; text-transform: uppercase; }
.ladder p { color: #d8e5e8; font-size: .85rem; line-height: 1.6; }
.ladder article:hover p, .ladder article:hover .ladder-temp { color: var(--blue); }
.ladder strong { position: absolute; right: 1.5rem; bottom: 1.8rem; left: 1.5rem; font: 650 .61rem/1.4 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.medical-note { max-width: 52rem; margin: 2rem 0 0; padding: .65rem .8rem; color: #d6e4e7; background: rgba(7,27,36,.48); font: .6rem/1.6 'JetBrains Mono', monospace; }

.stove { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 6vw; color: var(--ink); background: linear-gradient(118deg, #f2f7f7 0 48%, #d1e1e4 48% 100%); }
.stove-copy > p:not(.mono-label) { max-width: 33rem; color: #315866; line-height: 1.7; }
.drill-start { width: 100%; min-height: 64px; display: flex; align-items: center; justify-content: space-between; margin-top: 2rem; padding: 0 1.3rem; color: var(--white); border: 0; background: var(--red); font: 700 .68rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; box-shadow: 8px 8px 0 rgba(14,41,53,.16); transition: transform .2s, box-shadow .2s; }
.drill-start:hover { transform: translate(4px,4px); box-shadow: 4px 4px 0 rgba(14,41,53,.16); }
.drill-start span { color: #ffd4bc; font-size: 1rem; }
.simulator { position: relative; min-height: 560px; padding: 2rem; color: var(--white); background: #09232e; border: 10px solid #274b58; border-radius: 42px; box-shadow: inset 0 0 0 2px #517783, 0 30px 70px rgba(7,27,36,.25); overflow: hidden; }
.simulator::before { content: ''; position: absolute; inset: 0; opacity: .06; background: repeating-linear-gradient(0deg, transparent 0 3px, white 4px); pointer-events: none; }
.sim-topline { position: relative; display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.18); font: .6rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; }
.sim-topline strong { color: var(--orange); }
.dex-readout { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; margin-top: 1.1rem; color: var(--ice); font: 600 .5rem/1 'JetBrains Mono'; letter-spacing: .08em; }
.dex-readout i { height: 4px; overflow: hidden; background: rgba(157,185,194,.2); }
.dex-readout i b { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--red), var(--orange)); transform: scaleX(var(--dex, 1)); transform-origin: left; }
.dex-readout strong { color: var(--orange); font-weight: 600; }
.dial { position: relative; width: 180px; height: 180px; display: grid; place-content: center; margin: 2rem auto; border: 2px solid var(--ice); border-radius: 50%; text-align: center; box-shadow: inset 0 0 35px rgba(157,185,194,.18); }
.dial::before, .dial::after { content: ''; position: absolute; background: var(--ice); }
.dial::before { width: 1px; height: 20px; top: -10px; left: 50%; }
.dial::after { width: 20px; height: 1px; top: 50%; right: -10px; }
.dial i { position: absolute; inset: 9px; border: 7px solid transparent; border-top-color: var(--orange); border-radius: 50%; transform: rotate(var(--dial, 0deg)); transition: transform .1s linear; }
.dial span { font: 400 2.5rem/1 'JetBrains Mono', monospace; }
.dial small { margin-top: .5rem; color: var(--ice); font: .55rem/1 'JetBrains Mono', monospace; letter-spacing: .12em; }
.control-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.control-grid button { min-height: 92px; padding: .8rem .4rem; color: var(--ice); border: 1px solid #587c86; background: #102f3a; font: 650 .62rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; cursor: pointer; transition: transform .15s, color .15s, background .15s, box-shadow .15s; }
.control-grid button span { display: block; margin-bottom: .7rem; font-size: .52rem; }
.control-grid button:disabled { cursor: not-allowed; opacity: .45; }
.control-grid button.ready { color: var(--deep); background: var(--orange); box-shadow: 0 0 0 4px rgba(241,106,33,.25), 0 0 24px rgba(241,106,33,.4); animation: control-jitter .22s steps(2) infinite; }
.control-grid button.done { color: var(--white); background: var(--blue); }
.simulator > p { position: relative; margin: 1.2rem 0 0; color: #bad0d6; font: .6rem/1.55 'JetBrains Mono', monospace; text-align: center; }
.simulator.success { box-shadow: inset 0 0 0 2px #517783, 0 0 70px rgba(241,106,33,.45); }
.ritual-strip { grid-column: 1/-1; display: flex; align-items: center; margin-top: 1rem; color: var(--blue); font: 650 .57rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; }
.ritual-strip i { flex: 1; height: 1px; margin: 0 1rem; background: var(--red); }

.debrief { min-height: 100svh; color: var(--deep); background: var(--orange); overflow: hidden; }
.debrief::before { content: 'ALL FIVE'; position: absolute; right: -3vw; bottom: -3vw; color: rgba(255,255,255,.14); font-size: 18vw; font-weight: 800; line-height: .8; letter-spacing: -.09em; white-space: nowrap; }
.debrief-copy { display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
.debrief-copy .mono-label { grid-column: 1/-1; color: #71301a; }
.debrief-copy p:last-child { max-width: 28rem; margin: 0 0 .6rem 3rem; line-height: 1.7; }
.debrief blockquote { max-width: 64rem; margin: 6rem 0 4.5rem auto; padding-left: 2rem; border-left: 6px solid var(--red); }
.debrief blockquote p { margin: 0; font-size: clamp(1.8rem, 4vw, 4.6rem); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.debrief blockquote cite { display: block; margin-top: 1.5rem; color: #6a321c; font: 600 .65rem/1 'JetBrains Mono', monospace; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.all-returned { display: grid; grid-template-columns: repeat(5, 1fr); max-width: 64rem; margin: -1.5rem 0 4rem auto; border-top: 1px solid rgba(7,27,36,.38); border-bottom: 1px solid rgba(7,27,36,.38); }
.all-returned span { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 .8rem; border-right: 1px solid rgba(7,27,36,.25); font: 700 .58rem/1 'JetBrains Mono'; }
.all-returned b { position: relative; padding-left: 1rem; color: #4a251a; font-weight: 700; }
.all-returned b::before { content: ''; position: absolute; top: 50%; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #0e6a52; box-shadow: 0 0 0 4px rgba(14,106,82,.14); transform: translateY(-50%); }
.route-log { position: relative; display: grid; grid-template-columns: repeat(4,1fr); border-top: 2px solid var(--deep); }
.route-log div { padding: 1.2rem 1rem 1.2rem 0; }
.route-log time { display: block; font: 700 1.2rem/1 'JetBrains Mono', monospace; }
.route-log span { display: block; margin-top: .5rem; font: .6rem/1.4 'JetBrains Mono', monospace; text-transform: uppercase; }
.return-line { position: relative; display: inline-flex; align-items: center; gap: 2rem; min-height: 50px; margin-top: 4rem; border-bottom: 2px solid var(--deep); text-decoration: none; font: 700 .65rem/1 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; transition: gap .3s cubic-bezier(.16,1,.3,1); }
.return-line:hover { gap: 2.8rem; }
.return-line span { color: var(--white); font-size: 1.2rem; }

footer { position: relative; z-index: 45; min-height: 300px; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "mark mark" "credit nav"; align-items: end; gap: 2rem 4rem; padding: 4rem var(--gutter) 3.5rem clamp(5.5rem, 11vw, 11rem); color: var(--white); background: var(--deep); }
.footer-mark { grid-area: mark; align-self: start; display: flex; align-items: start; gap: 1rem; }
.footer-mark span { padding: .35rem .45rem; color: var(--white); background: var(--red); font: 700 .6rem/1 'JetBrains Mono', monospace; }
.footer-mark strong { font-size: clamp(2rem, 4vw, 4rem); line-height: .82; letter-spacing: -.07em; }
footer > p { grid-area: credit; margin: 0; color: var(--ice); font: .58rem/1.5 'JetBrains Mono', monospace; }
footer nav { grid-area: nav; display: flex; flex-wrap: wrap; justify-content: end; gap: .5rem 1.5rem; }
footer nav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); font: .6rem/1 'JetBrains Mono', monospace; text-underline-offset: 5px; transition: color .2s, text-underline-offset .2s; }
footer nav a:hover { color: #ffc29f; text-underline-offset: 8px; }

@keyframes load-in { to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 50% { box-shadow: 0 0 0 10px rgba(241,106,33,0); } }
@keyframes shiver { 0%,100% { transform: translate(0); } 25% { transform: translate(.7px,-.4px); } 50% { transform: translate(-.5px,.5px); } 75% { transform: translate(.4px,.4px); } }
@keyframes control-jitter { 50% { transform: translate(1px,-1px) rotate(.4deg); } }
@keyframes knot-ping { 0% { opacity: .8; transform: scale(.55); } 80%,100% { opacity: 0; transform: scale(1.45); } }
@keyframes camera-drift { from { transform: scale(1.01) translate3d(-.2%,0,0); } to { transform: scale(1.055) translate3d(.8%,-.35%,0); } }
@keyframes flare-breathe { from { opacity: .2; transform: rotate(-3deg) scaleX(.82); } to { opacity: .72; transform: rotate(-2deg) scaleX(1.04); } }
@keyframes lens-breath { 0%,100% { opacity: .13; transform: translate3d(0,0,0); } 50% { opacity: .36; transform: translate3d(-2%,1%,0); } }
@keyframes tag-return { from { opacity: .2; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
.storm-shiver { animation: shiver .12s steps(2) infinite; }

/* guide */
.guide-page { color: var(--ink); background: radial-gradient(circle at 72% 8%, rgba(255,255,255,.94), transparent 32rem), repeating-linear-gradient(102deg, transparent 0 110px, rgba(59,102,117,.025) 111px 112px), linear-gradient(120deg, #eff6f7, #cadde1); }
.guide-page .site-header { position: sticky; color: var(--white); background: var(--deep); }
.guide-main { padding: clamp(6rem, 10vw, 10rem) var(--gutter) 5rem clamp(5.5rem, 11vw, 11rem); }
.guide-hero { display: grid; grid-template-columns: 1.35fr .65fr; gap: 3rem 5vw; align-items: end; padding-bottom: 3rem; border-bottom: 2px solid var(--ink); }
.guide-hero .mono-label { color: var(--red); }
.guide-hero h1 { margin: 0; font-size: clamp(4rem, 10vw, 10rem); line-height: .82; letter-spacing: -.08em; text-transform: uppercase; }
.guide-hero > p { max-width: 25rem; margin: 0; line-height: 1.7; }
.guide-layer-map { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 1rem; color: var(--ink); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.guide-layer-map span { min-height: 68px; display: flex; align-items: center; gap: .65rem; padding: 0 1rem; border-right: 1px solid var(--line); font: 650 .55rem/1.2 'JetBrains Mono'; letter-spacing: .08em; }
.guide-layer-map b { color: var(--red); font-size: 1.1rem; }
.guide-body { display: grid; grid-template-columns: minmax(170px,.35fr) 1fr; gap: 6vw; max-width: 1160px; margin-top: 5rem; }
.guide-toc { position: sticky; top: 110px; align-self: start; padding-top: 1rem; border-top: 4px solid var(--red); }
.guide-toc span { display: block; color: var(--blue); font: .6rem/1 'JetBrains Mono', monospace; }
.guide-toc strong { display: block; margin-top: .7rem; font-size: 1.1rem; }
.guide-copy { counter-reset: guide-section; }
.guide-copy section { position: relative; margin-bottom: 4.5rem; counter-increment: guide-section; }
.guide-copy section::before { content: '0' counter(guide-section); position: absolute; top: .2rem; left: -3.8rem; color: var(--red); font: 700 .58rem/1 'JetBrains Mono'; }
.guide-copy h2 { margin: 0 0 1.5rem; font-size: clamp(2rem, 4vw, 4.2rem); line-height: .95; letter-spacing: -.055em; text-transform: uppercase; }
.guide-copy p { max-width: 48rem; color: #234856; font-size: 1rem; line-height: 1.85; }
.guide-copy code { padding: .12rem .35rem; color: var(--white); background: var(--blue); font: .78em/1 'JetBrains Mono', monospace; }
.token-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 2rem; }
.token { min-height: 130px; padding: 1rem; display: flex; flex-direction: column; justify-content: end; border: 1px solid var(--line); font: .58rem/1.5 'JetBrains Mono', monospace; }
.token:nth-child(1) { background: var(--white); }
.token:nth-child(2) { background: var(--ice); }
.token:nth-child(3) { color: var(--white); background: var(--orange); }
.token:nth-child(4) { color: var(--white); background: var(--red); }
.prompt-block { padding: 2rem; color: var(--white); background: var(--deep); border-left: 7px solid var(--red); font: .8rem/1.8 'JetBrains Mono', monospace; }
.guide-page footer { z-index: 2; }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; padding-left: 5rem; }
  .site-header nav { display: none; }
  .hero-copy, .chapter, footer, .guide-main { padding-left: 5.5rem; }
  .hero h1 { font-size: clamp(4.2rem, 11vw, 7rem); }
  .hero h1 .red { margin-left: 12vw; font-size: .82em; }
  .hero-lower { padding-left: 0; }
  .doctrine, .stove { grid-template-columns: 1fr; }
  .rope-team { gap: .4rem; }
  .doctrine-note { grid-template-columns: 1fr; gap: 2rem; }
  .shelter { grid-template-columns: 1fr; }
  .cutaway { max-width: 700px; }
  .cold-heading { grid-template-columns: 1fr; }
  .cold-heading p:last-child { margin: 2rem 0 0; }
  .ladder { grid-template-columns: repeat(2, 1fr); align-items: stretch; }
  .ladder article, .ladder article:nth-child(2), .ladder article:nth-child(3), .ladder article:nth-child(4) { min-height: 310px; }
  .stove { background: linear-gradient(160deg, #f2f7f7 0 44%, #d1e1e4 44% 100%); }
  .simulator { min-height: 520px; }
  .debrief-copy { grid-template-columns: 1fr; }
  .debrief-copy p:last-child { margin: 2rem 0 0; }
  .all-returned { margin-top: 0; }
  .guide-hero { grid-template-columns: 1fr; }
  .guide-layer-map { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 64px; }
  .rope-layer { left: .55rem; width: 28px; }
  .rope-signal { left: 20px; max-width: none; padding: .42rem .35rem; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); }
  .rope-signal b { font-size: .46rem; }
  .rope-signal i { display: none; }
  .site-header { height: 64px; padding: 0 1rem 0 3rem; gap: .5rem; }
  .wordmark { gap: .45rem; font-size: .6rem; }
  .wordmark-mark { padding: .32rem; }
  .conditions-toggle { font-size: .55rem; }
  .hero-copy, .chapter, footer, .guide-main { padding-left: 3.5rem; padding-right: 1rem; }
  .hero-copy { padding-top: 8rem; padding-bottom: 7rem; }
  .film-timecode { top: 84px; right: 1rem; max-width: 170px; text-align: right; line-height: 1.5; }
  .hero h1 { font-size: clamp(3.15rem, 14.6vw, 4.3rem); line-height: .86; }
  .hero h1 .red { width: auto; margin-left: 0; font-size: 1em; white-space: normal; }
  .hero-kicker { margin-bottom: 1.2rem; }
  .hero-lower { display: block; margin-top: 2rem; }
  .hero-lower p { font-size: .78rem; }
  .film-stock { display: none; }
  .polar-flare { top: 24%; width: 110%; }
  .rope-cta { margin-top: 1.5rem; }
  .letterbox.top { top: 64px; }
  .weather-console { left: 2rem; right: 0; grid-template-columns: repeat(3,1fr); }
  .weather-console div { min-width: 0; padding: .6rem .55rem; }
  .weather-console strong { font-size: .95rem; }
  .weather-console small { font-size: .42rem; }
  .chapter { min-height: auto; padding-top: 6.5rem; padding-bottom: 7rem; }
  .section-index { top: 1.5rem; right: 1rem; }
  .chapter h2 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .doctrine { gap: 3rem; }
  .rope-team { grid-template-columns: 1fr; padding-top: 1rem; }
  .team-line { top: 0; bottom: 0; left: 24px; width: 6px; height: auto; transform: none; }
  .rope-team article { min-height: 72px; padding: .3rem 0 .3rem 5rem; text-align: left; }
  .rope-team article::before { top: .2rem; left: 27px; width: 28px; height: 28px; border-width: 6px; }
  .rope-team b { top: .87rem; left: 27px; font-size: .48rem; }
  .doctrine-note dl { grid-template-columns: 1fr; }
  .shelter-beacon { display: none; }
  .crossing { min-height: 135svh; padding-top: 8rem; }
  .crossing-copy h2 { font-size: clamp(3.5rem, 17vw, 5rem); }
  .crossing-copy > p:last-child { margin-top: 2rem; font-size: .86rem; }
  .ghost-team { right: -12%; bottom: 15%; width: 85%; }
  .rope-order { left: 3.7rem; }
  .is-crossing .rope-order { display: none; }
  .grip-console { right: 1rem; bottom: 4.2rem; width: calc(100vw - 4.5rem); padding: .8rem; }
  .grip-heading { align-items: start; }
  .grip-heading span { max-width: 9rem; line-height: 1.4; }
  .grip-feedback { align-items: start; }
  .grip-feedback > span { max-width: 10rem; line-height: 1.4; }
  .thermal-split { flex-wrap: wrap; line-height: 1.4; }
  .thermal-split b { order: 3; flex-basis: 100%; }
  .shelter-intro > p:last-child { font-size: .88rem; }
  .cutaway { margin: 0 -1rem 0 -2.6rem; }
  .cutaway figcaption { margin-left: 2.6rem; padding-left: 0; }
  .callout text { font-size: 16px; }
  .shelter-stats { grid-template-columns: repeat(3, 1fr); }
  .shelter-stats div { padding: 1rem .55rem; }
  .shelter-stats strong { font-size: 1.25rem; }
  .shelter-stats span { font-size: .46rem; line-height: 1.35; }
  .cold-heading p:last-child { font-size: .88rem; }
  .ladder { grid-template-columns: 1fr; margin-top: 3rem; }
  .ladder article, .ladder article:nth-child(2), .ladder article:nth-child(3), .ladder article:nth-child(4) { min-height: 245px; }
  .stove { gap: 3.5rem; }
  .simulator { min-height: 510px; margin-left: -2.3rem; padding: 1.25rem; border-width: 6px; border-radius: 26px; }
  .dial { width: 150px; height: 150px; }
  .control-grid { grid-template-columns: repeat(2,1fr); }
  .control-grid button { min-height: 72px; }
  .dex-readout { grid-template-columns: auto 1fr; }
  .dex-readout strong { grid-column: 1/-1; justify-self: end; margin-top: -.3rem; }
  .ritual-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; line-height: 1.4; }
  .ritual-strip i { display: none; }
  .debrief blockquote { margin: 5rem 0 4rem; }
  .all-returned { grid-template-columns: 1fr; margin: -1rem 0 3rem; }
  .all-returned span { min-height: 38px; border-right: 0; border-bottom: 1px solid rgba(7,27,36,.18); }
  .route-log { grid-template-columns: 1fr 1fr; }
  footer { min-height: 330px; grid-template-columns: 1fr; grid-template-areas: "mark" "credit" "nav"; gap: 1.25rem; padding-top: 3rem; padding-bottom: 5.5rem; }
  footer nav { justify-content: start; }
  .guide-hero h1 { font-size: 4.3rem; }
  .guide-hero { padding-bottom: 3.5rem; }
  .guide-layer-map { grid-template-columns: 1fr 1fr; }
  .guide-layer-map span { min-height: 52px; padding: 0 .55rem; font-size: .47rem; }
  .guide-body { grid-template-columns: 1fr; }
  .guide-body { margin-top: 3.5rem; }
  .guide-toc { position: static; }
  .guide-copy section::before { position: static; display: block; margin-bottom: .65rem; }
  .token-grid { grid-template-columns: 1fr 1fr; }
  .prompt-block { padding: 1.4rem; font-size: .7rem; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  #snow { display: none; }
  .whiteout-veil { display: none; }
  .hero-film video { display: none; }
  .hero-film { background: url('/assets/gen/whiteout/hero.jpg') center/cover no-repeat; }
  .traveler-knot::after { display: none; }
  .rope-answered .pulse-return i { animation: none; }
}
