:root {
  color-scheme: light;
  --paper: #f7f6f0;
  --ink: #343a32;
  --muted: #626b5d;
  --bronze: #89765a;
  --line: rgb(68 73 59 / 22%);
  --sans: "DM Sans", sans-serif;
  --serif: "Instrument Serif", serif;
  --mono: "IBM Plex Mono", monospace;
  --edge: clamp(25px, 3.5vw, 68px);
  --plan-width: 108px;
  --plan-gutter: calc(var(--plan-width) + 40px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #c1c3b5 var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button, a { color: inherit; -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
a { text-decoration: none; }
button:disabled { cursor: default; opacity: .45; }
a, button, input, textarea { outline-offset: 5px; }
:focus-visible { outline: 2px solid var(--bronze); }
::selection { background: #d8d3c2; color: #343a32; }
[hidden] { display: none !important; }
h1, h2, p { margin-top: 0; }
em { font-weight: 400; }
.skip-link { position: fixed; top: 15px; left: 20px; z-index: 100; padding: 13px 20px; background: var(--ink); color: var(--paper); transform: translateY(-180%); }
.skip-link:focus { transform: none; }

/* An authored architectural plate remains underneath the real-time scene. */
.world { position: absolute; inset: 0 0 auto; height: 100svh; overflow: hidden; pointer-events: none; }
.has-scene:not(.reading-view):not(.reduced-motion) .world { position: fixed; height: 100%; }
.architectural-poster, #architecture-canvas, .reading-light, .film-grain { position: absolute; inset: 0; width: 100%; height: 100%; }
#architecture-canvas { display: block; opacity: 0; transition: opacity 900ms ease; }
.has-scene #architecture-canvas { opacity: 1; }
.reading-light { background: linear-gradient(90deg, rgb(247 246 240 / 77%), rgb(247 246 240 / 43%) 19%, rgb(247 246 240 / 0%) 48%); transition: opacity 450ms ease; }
.film-grain { opacity: .021; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23grain)' opacity='.6' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }

.masthead { position: fixed; top: 0; left: 0; right: 0; height: 132px; z-index: 30; padding: 24px var(--edge); display: flex; align-items: center; gap: 40px; }
.masthead::before { content: ""; position: absolute; inset: 0 0 -36px; z-index: -1; background: linear-gradient(rgb(247 246 240 / 80%), rgb(247 246 240 / 35%) 56%, transparent); pointer-events: none; }
.wordmark { display: inline-flex; flex-direction: column; gap: 9px; flex-shrink: 0; }
.wordmark svg { display: block; width: 136px; height: 34px; stroke: currentColor; stroke-width: 1.8; }
.wordmark > span { font: 12px/1.35 var(--mono); text-transform: uppercase; letter-spacing: .025em; }
.masthead-note { color: var(--muted); font-size: 13px; line-height: 1.65; letter-spacing: .005em; margin: 4px auto 0 30px; }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: 32px; font-size: 15px; font-weight: 450; }
.primary-nav > a, .primary-nav > button { min-height: 44px; padding: 13px 0; background: none; }
.primary-nav > a:hover, .primary-nav > button:hover { color: var(--bronze); }
.index-trigger { display: flex; align-items: center; gap: 17px; }
.index-trigger > span:last-child { display: block; font-size: 18px; font-weight: 400; transition: transform 200ms; }
.index-trigger[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }
.primary-nav .lang-toggle { min-height: 0; padding: 7px 13px; font: 12px var(--mono); letter-spacing: .08em; }
.lang-toggle:hover { color: var(--bronze); }
.primary-nav .enquire-link { border-bottom: 1px solid var(--ink); padding: 12px 0; display: flex; align-items: center; gap: 36px; }
.enquire-link > span:last-child { font-size: 18px; line-height: .7; }
.house-index { position: fixed; z-index: 40; right: var(--edge); top: 116px; width: 375px; max-height: calc(100svh - 140px); overflow-y: auto; padding: 28px; border: 1px solid #d3d5c9; background: #f7f6f0; box-shadow: 0 20px 60px rgb(49 53 43 / 9%); }
.house-index .eyebrow { font-size: 12px; margin-bottom: 19px; }
.house-index > a { display: flex; align-items: center; gap: 19px; padding: 13px 0; border-top: 1px solid #dbddd2; font: 25px var(--serif); }
.house-index > a > span { font: 12px var(--mono); color: var(--muted); }
.house-index > a > i { margin-left: auto; font: 16px var(--sans); }
.house-index > a:hover { color: var(--bronze); }
.reading-toggle { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 44px; margin-top: 17px; padding: 12px 0; background: none; font: 12px var(--mono); color: var(--muted); }

.chapter { position: relative; min-height: 100svh; padding: 155px var(--edge) 145px; display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.chapter:not(.chapter--arrival) { background: var(--paper); border-top: 1px solid var(--line); }
/* When the real-time house is live but the window cannot pin the copy, chapters
   stay translucent (as on small screens) so the journey remains visible behind them. */
body.has-scene:not(.reading-view):not(.is-immersive) .chapter:not(.chapter--arrival) {
  border-top: 0;
  background: linear-gradient(0deg, rgb(247 246 240 / 99%), rgb(247 246 240 / 95%) 28%, rgb(247 246 240 / 77%) 49%, rgb(247 246 240 / 0%) 82%);
}
body.has-scene:not(.reading-view):not(.is-immersive) .static-study { display: none; }
.chapter-copy { width: 430px; max-width: 100%; flex: 0 0 auto; }
.chapter--arrival .chapter-copy { width: 525px; }
.eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 25px; font: 12px/1.6 var(--mono); text-transform: uppercase; letter-spacing: .045em; }
.small-rule { height: 1px; width: 25px; background: var(--bronze); }
.chapter-folio { color: var(--bronze); }
h1, .chapter h2, dialog h2 { font-family: var(--serif); font-weight: 400; }
h1 { font-size: clamp(70px, 6.8vw, 106px); line-height: .92; letter-spacing: -.025em; margin-bottom: 27px; }
.chapter h2 { font-size: clamp(57px, 5.05vw, 79px); line-height: .99; letter-spacing: -.024em; margin-bottom: 24px; }
.chapter-copy > p:not(.eyebrow) { max-width: 350px; font-size: 16px; line-height: 1.7; letter-spacing: .003em; color: #596353; margin-bottom: 26px; }
.chapter-copy > .intro { font-size: 16px; }
.entry-link { display: inline-flex; align-items: center; gap: 16px; padding: 0; margin-top: 4px; background: none; text-align: left; font-size: 15px; font-weight: 500; }
.entry-circle { width: 51px; height: 51px; display: grid; place-items: center; border: 1px solid #8e9686; border-radius: 50%; font-size: 24px; font-weight: 400; transition: background 250ms, color 250ms, transform 250ms; }
.entry-link:hover .entry-circle { background: var(--ink); color: var(--paper); transform: translate(2px, -2px); }
.entry-link small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; font-weight: 400; }
.margin-note { margin: 26px 0 22px; border-left: 1px solid #a2aa96; padding-left: 15px; font-size: 14px; color: var(--muted); line-height: 1.6; }
.margin-note > span:first-child { display: block; margin-bottom: 6px; color: var(--ink); font: 12px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .02em; }
.next-link { display: inline-flex; align-items: center; gap: 30px; min-height: 44px; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--line); }
.next-link > span { font-size: 18px; transition: transform 200ms; }
.next-link:hover > span { transform: translateX(5px); }
.return-link { display: flex; align-items: center; margin-top: 20px; min-height: 44px; width: fit-content; padding: 10px 0; color: var(--muted); font: 12px var(--mono); }
.return-link > span { margin-left: 13px; }
.project-note { display: none; }
.static-study { width: 49%; max-width: 630px; color: #7e8775; stroke: currentColor; stroke-width: 1.3; }
.static-study .study-sun { stroke: #b99f65; stroke-opacity: .5; }
.static-study text { fill: currentColor; stroke: none; font: 14px "IBM Plex Mono", monospace; letter-spacing: 1px; }

/* Scroll is native. The camera is driven by this single continuous document. */
.is-immersive .chapter { height: 108vh; min-height: 0; padding: 0; background: transparent; border: 0; pointer-events: none; }
.is-immersive .chapter:last-child { height: 100vh; }
.is-immersive .chapter-copy { position: fixed; z-index: 5; bottom: clamp(120px, 16vh, 180px); left: var(--edge); opacity: var(--copy-opacity, 0); transform: translate3d(var(--copy-shift, 0px), 0, 0); pointer-events: none; }
.is-immersive .chapter.is-current .chapter-copy { pointer-events: auto; }
.is-immersive .chapter--arrival .chapter-copy { bottom: 20vh; }
.is-immersive .chapter--right .chapter-copy { left: auto; right: calc(var(--edge) + var(--plan-gutter)); width: clamp(380px, 32vw, 470px); }
/* Short-but-viable windows keep the journey with a lower copy baseline. */
body.tight-copy.is-immersive .chapter-copy { bottom: clamp(96px, 11vh, 128px); }
body.tight-copy.is-immersive .chapter--arrival .chapter-copy { bottom: 14vh; }
body.tight-copy.is-immersive .chapter h2 { font-size: clamp(48px, 4.4vw, 68px); }
.is-immersive[data-chapter="3"] .reading-light { background: linear-gradient(270deg, rgb(247 246 240 / 76%), rgb(247 246 240 / 48%) 23%, transparent 55%); }
.is-immersive .static-study { display: none; }
.is-immersive .project-note { position: fixed; right: calc(var(--edge) + var(--plan-gutter)); bottom: 158px; display: flex; align-items: flex-start; gap: 17px; font-size: 15px; opacity: var(--arrival-opacity, 1); }
.project-note small { display: block; margin-top: 7px; font: 12px/1.5 var(--mono); color: var(--muted); }
.project-cross { color: var(--bronze); font: 19px/1 var(--sans); }
.orientation { display: none; position: fixed; right: var(--edge); bottom: 154px; z-index: 10; width: var(--plan-width); pointer-events: none; text-align: center; }
.is-immersive .orientation { display: block; }
.orientation-label { font: 12px var(--mono); letter-spacing: .03em; }
.orientation svg { display: block; width: 100%; margin: 12px 0; }
.plan-water { fill: #a4c4bd; fill-opacity: .22; stroke: #9db5a7; stroke-width: .5; }
.plan-walls { stroke: var(--ink); stroke-width: 1; stroke-opacity: .65; }
.plan-opening { stroke: var(--ink); stroke-width: .7; stroke-opacity: .35; }
.plan-tree { stroke: #839075; stroke-width: .8; }
.plan-path { stroke: #9e9984; stroke-width: .7; stroke-dasharray: 2 3; }
#plan-position { fill: var(--bronze); stroke: var(--paper); stroke-width: 1.3; }
.orientation-caption { font: 12px var(--mono); letter-spacing: .015em; white-space: nowrap; }

.experience-bar { position: fixed; z-index: 20; bottom: 0; left: var(--edge); right: var(--edge); height: 96px; display: grid; grid-template-columns: 1fr 264px 1fr; align-items: center; gap: 32px; border-top: 1px solid var(--line); }
.experience-bar::before { content: ""; position: absolute; inset: -35px calc(var(--edge) * -1) 0; z-index: -1; background: linear-gradient(transparent, rgb(247 246 240 / 93%) 76%); pointer-events: none; }
.location { display: flex; align-items: center; gap: 22px; }
.location-number { font: 12px var(--mono); white-space: nowrap; }
.location-number > i { font-style: normal; color: #a9ae9e; margin: 0 5px; }
.location-name { font-size: 13px; color: var(--muted); }
.journey-nav { position: relative; display: flex; align-self: stretch; align-items: center; justify-content: space-between; }
.journey-nav > a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 44px; height: 56px; padding-bottom: 5px; font: 12px var(--mono); color: var(--muted); }
.journey-nav > a::before { content: ""; position: absolute; width: 1px; height: 7px; top: 12px; background: #929b86; transition: height 200ms; }
.journey-nav > a[aria-current="step"] { color: var(--ink); }
.journey-nav > a[aria-current="step"]::before { width: 3px; height: 13px; top: 9px; background: var(--bronze); }
.journey-nav > a:hover::before { height: 13px; background: var(--bronze); }
.journey-track { position: absolute; left: 22px; right: 22px; height: 1px; top: calc(50% - 13px); background: #b7beab; }
.journey-track > span { display: block; width: 100%; height: 100%; background: #978768; transform: scaleX(var(--progress, 0)); transform-origin: left; }
.scene-controls { display: flex; align-items: center; justify-self: end; gap: 20px; }
.scene-controls button { display: flex; align-items: center; gap: 12px; min-width: 44px; min-height: 48px; padding: 12px 2px; background: none; font-size: 15px; font-weight: 500; white-space: nowrap; }
.scene-controls button:hover, .scene-controls button[aria-pressed="true"], .scene-controls button[aria-expanded="true"] { color: var(--bronze); }
.scene-controls svg { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.2; }
.control-divider { width: 1px; height: 22px; background: var(--line); }
.space-toggle, .control-divider { display: none !important; }
.is-immersive .space-toggle { display: flex !important; }
.is-immersive .control-divider { display: block !important; }
.space-only .chapter-copy, .space-only .project-note { visibility: hidden; }
.space-only .reading-light { opacity: 0; }
.scroll-invitation { display: flex; position: fixed; bottom: 124px; left: 50%; transform: translateX(-50%); align-items: center; gap: 12px; font: 12px var(--mono); text-transform: uppercase; letter-spacing: .035em; opacity: var(--arrival-opacity, 1); pointer-events: none; white-space: nowrap; }
.scroll-mark { position: relative; height: 27px; width: 1px; background: #8b937f; }
.scroll-mark::after { content: ""; position: absolute; width: 4px; height: 4px; left: -2px; bottom: 0; border-right: 1px solid #8b937f; border-bottom: 1px solid #8b937f; transform: rotate(45deg); }

.sun-study { position: fixed; z-index: 35; right: var(--edge); bottom: 110px; width: min(420px, calc(100vw - 46px)); padding: 31px 33px 24px; border: 1px solid #d1d5c6; background: #f8f7f1; box-shadow: 0 18px 65px rgb(52 58 43 / 11%); }
.sun-study-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.sun-study-heading > label { font-size: 17px; font-weight: 500; }
.sun-study-heading > output { font: 15px var(--mono); color: var(--bronze); }
input[type="range"] { width: 100%; height: 52px; margin: 0; appearance: none; background: transparent; cursor: ew-resize; accent-color: var(--bronze); }
input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: #aeb6a4; }
input[type="range"]::-moz-range-track { height: 2px; background: #aeb6a4; }
input[type="range"]::-webkit-slider-thumb { appearance: none; width: 25px; height: 25px; border: 4px solid #f8f7f1; outline: 1px solid #9b8868; border-radius: 50%; margin-top: -12px; background: #8b7657; }
input[type="range"]::-moz-range-thumb { width: 17px; height: 17px; border: 4px solid #f8f7f1; outline: 1px solid #9b8868; border-radius: 50%; background: #8b7657; }
.sun-labels { display: flex; justify-content: space-between; font: 13px var(--mono); color: var(--muted); margin-top: 7px; }
.sun-study > p { font-size: 15px; line-height: 1.6; margin: 24px 0 0; color: var(--muted); }
.sun-reset { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; background: none; padding: 15px 0 0; font: 14px var(--mono); color: var(--bronze); }

dialog { width: min(585px, calc(100% - 30px)); max-height: calc(100svh - 32px); padding: 45px 46px 34px; border: 1px solid #cdd2c2; color: var(--ink); background: #f8f7f1; overflow-y: auto; }
dialog::backdrop { background: rgb(39 45 33 / 38%); backdrop-filter: blur(9px); }
.dialog-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; background: none; color: #737b68; font-size: 29px; font-weight: 400; }
dialog .eyebrow { font-size: 12px; margin: 14px 0 24px; }
dialog h2 { font-size: 59px; line-height: .97; letter-spacing: -.02em; margin-bottom: 29px; }
.service-picker { padding: 0; margin: 0 0 28px; border: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.service-picker legend { font-size: 14px; margin-bottom: 12px; }
.service-picker label { position: relative; cursor: pointer; }
.service-picker input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.service-picker label > span { display: flex; align-items: center; min-height: 44px; padding: 11px 13px; font-size: 13px; border: 1px solid #c8cebd; }
.service-picker input:checked + span { background: #e3e5d8; border-color: #9ca88b; }
.service-picker input:focus-visible + span { outline: 2px solid var(--bronze); outline-offset: 3px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 26px; }
.form-row > label, .message-label { font-size: 14px; }
.form-row input, textarea { display: block; width: 100%; min-height: 44px; padding: 12px 0; background: none; color: var(--ink); border: 0; border-bottom: 1px solid #c8cebd; border-radius: 0; font-size: 16px; }
.form-row input::placeholder, textarea::placeholder { color: #8e9584; }
.message-label { display: block; margin-bottom: 27px; }
textarea { resize: vertical; min-height: 76px; }
.form-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 18px 20px; background: #3b4534; color: #f8f7f1; font-size: 15px; }
.form-submit > .arrow { font-size: 20px; }
.form-submit:hover { background: #59644c; }
.prototype-note { margin: 14px 0 0; font: 12px/1.6 var(--mono); color: var(--muted); }
.brief-summary { margin: 0 0 29px; }
.brief-summary dt { margin-bottom: 7px; font: 12px var(--mono); color: var(--muted); text-transform: uppercase; }
.brief-summary dd { margin: 0 0 20px; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; }

@media (min-width: 1750px) {
  .chapter-copy { width: 500px; }
  h1 { font-size: 118px; }
  .chapter h2 { font-size: 88px; }
  .chapter-copy > p:not(.eyebrow) { font-size: 16px; max-width: 360px; }
}
@media (max-width: 1150px) {
  .masthead { gap: 30px; }
  .masthead-note { margin-left: 0; }
  .primary-nav { gap: 25px; }
  .experience-bar { grid-template-columns: 1fr 264px 1fr; gap: 20px; }
  .space-toggle > span { display: none; }
  .location { gap: 13px; }
  .chapter-copy { width: 380px; }
  .static-study { width: 46%; }
}
@media (max-height: 790px) and (min-width: 761px) {
  :root { --plan-width: 100px; }
  .masthead { height: 116px; padding-block: 19px; }
  h1 { font-size: clamp(65px, 6.2vw, 93px); }
  .chapter h2 { font-size: clamp(54px, 4.65vw, 71px); }
  .chapter-copy > p:not(.eyebrow) { font-size: 15px; margin-bottom: 20px; }
  .eyebrow { margin-bottom: 16px; }
  .margin-note { margin-block: 16px; }
  .is-immersive .chapter-copy { bottom: 112px; }
  .is-immersive .chapter--arrival .chapter-copy { bottom: 19vh; }
  .experience-bar { height: 88px; }
  .scroll-invitation { bottom: 114px; }
  .orientation { bottom: 135px; }
  .is-immersive .project-note { bottom: 139px; }
  .sun-study { bottom: 102px; }
}
@media (max-width: 760px) {
  :root { --edge: 23px; }
  .masthead { height: 116px; padding-block: 20px; gap: 20px; }
  .wordmark { gap: 8px; }
  .wordmark svg { width: 99px; height: 26px; }
  .wordmark > span { font-size: 10px; line-height: 1.3; letter-spacing: .01em; }
  .masthead-note, .philosophy-link { display: none; }
  .primary-nav { gap: 17px; font-size: 12px; }
  .lang-toggle { padding: 8px 9px; }
  .index-trigger { gap: 8px; }
  .index-trigger > span, .primary-nav .enquire-link > span { font-size: 15px; }
  .primary-nav .enquire-link { gap: 11px; }
  .house-index { left: 23px; right: 23px; top: 108px; width: auto; max-height: calc(100svh - 132px); overflow-y: auto; }
  .chapter { min-height: 104svh; padding: 150px var(--edge) 140px; align-items: flex-end; gap: 0; }
  .chapter--arrival, .chapter:last-child { min-height: 100svh; }
  .chapter--arrival { padding-top: 44svh; }
  .chapter-copy { width: 100%; max-width: 460px; }
  .chapter--arrival .chapter-copy { width: 100%; }
  .has-scene:not(.reading-view) .chapter { border: 0; background: linear-gradient(0deg, rgb(247 246 240 / 99%), rgb(247 246 240 / 95%) 28%, rgb(247 246 240 / 77%) 49%, rgb(247 246 240 / 0%) 82%); }
  .reading-light { background: linear-gradient(0deg, rgb(247 246 240 / 65%), transparent 70%); }
  h1 { font-size: clamp(62px, 14.9vw, 90px); letter-spacing: -.019em; margin-bottom: 23px; }
  .chapter h2 { font-size: clamp(53px, 12.6vw, 75px); }
  .chapter-copy > p:not(.eyebrow) { max-width: 350px; font-size: 16px; line-height: 1.7; }
  .eyebrow { font-size: 12px; margin-bottom: 24px; gap: 12px; letter-spacing: .015em; }
  .small-rule { width: 19px; }
  .entry-circle { width: 47px; height: 47px; }
  .entry-link { font-size: 15px; }
  .entry-link small { font-size: 12px; }
  .margin-note { margin-block: 25px; font-size: 14px; }
  .static-study { display: none; }
  .orientation, .project-note, .scroll-invitation { display: none !important; }
  .experience-bar { height: 88px; grid-template-columns: minmax(264px, 1fr) 44px; gap: 18px; }
  .location { display: none; }
  .journey-nav { max-width: 500px; }
  .scene-controls button { padding: 12px; }
  .sun-trigger > span { display: none; }
  .sun-study { right: 23px; bottom: 102px; padding: 27px 25px 21px; }
  .render-status { bottom: 104px; font-size: 12px; }
  dialog { padding: 40px 26px 28px; }
  dialog h2 { font-size: 54px; }
  .form-row { gap: 17px; }
  .service-picker label > span { padding: 11px 10px; font-size: 13px; }
  .prototype-note { font-size: 12px; }
}
@media (max-width: 380px) {
  .masthead { gap: 10px; }
  .primary-nav { gap: 14px; }
  .index-trigger { gap: 6px; }
  .primary-nav .enquire-link { gap: 10px; }
  .experience-bar { height: 112px; grid-template-columns: 1fr; grid-template-rows: 44px 56px; row-gap: 0; padding-top: 5px; }
  .scene-controls { grid-row: 1; }
  .scene-controls button { padding: 10px 0 10px 12px; }
  .sun-trigger > span { display: inline; }
  .journey-nav { grid-row: 2; width: 100%; }
  .sun-study { bottom: 126px; }
  .render-status { bottom: 130px; }
  .chapter { padding-bottom: 155px; }
}
@media (max-width: 370px) {
  :root { --edge: 19px; }
  .wordmark svg { width: 87px; }
  .wordmark > span { font-size: 9px; }
  .chapter-copy > p:not(.eyebrow) { font-size: 15px; }
  .entry-link small { font-size: 12px; }
  .form-row { grid-template-columns: 1fr; gap: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .world { position: absolute !important; height: 100svh !important; }
  .orientation, .scroll-invitation { display: none !important; }
}
