:root{--ink: #2b2018;--paper: rgba(255, 251, 243, .92);--accent: #e5913c;--shadow: 0 12px 40px rgba(43, 32, 24, .18);--serif: "Iowan Old Style", "Palatino", Georgia, serif;--sans: -apple-system, "Inter", "Helvetica Neue", sans-serif}.station-overlay{position:absolute;right:clamp(24px,6vw,96px);top:50%;transform:translateY(calc(-50% + 18px));width:min(420px,80vw);background:var(--paper);border-radius:18px;padding:28px 30px 26px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}.station-overlay.visible{opacity:1;pointer-events:auto;transform:translateY(-50%)}.station-overlay .kicker{font-family:var(--sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 8px;opacity:0;transform:translate(-10px);transition:opacity .25s ease,transform .25s ease}.station-overlay.visible .kicker{opacity:1;transform:none;transition:opacity .4s ease .05s,transform .4s cubic-bezier(.22,1,.36,1) .05s}.heading-mask{overflow:hidden;margin:0 0 10px}.station-overlay h2{font-family:var(--serif);font-size:30px;margin:0;color:var(--ink);letter-spacing:-.01em;transform:translateY(112%);transition:transform .3s ease}.station-overlay.visible h2{transform:none;transition:transform .6s cubic-bezier(.22,1,.36,1) .14s}.station-overlay p{font-family:var(--sans);font-size:15.5px;line-height:1.55;margin:0;color:#2b2018d1}.station-overlay .station-body{opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}.station-overlay.visible .station-body{opacity:1;transform:none;transition:opacity .45s ease .3s,transform .45s cubic-bezier(.22,1,.36,1) .3s}.station-overlay.left{right:auto;left:clamp(72px,9vw,140px)}.station-link{display:inline-block;margin-top:14px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.station-link:hover,.station-link:focus-visible{text-decoration:underline}.station-overlay>.station-link{opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.station-overlay.visible>.station-link{opacity:1;transform:none;transition:opacity .45s ease .42s,transform .45s cubic-bezier(.22,1,.36,1) .42s}.project-list{margin-top:16px;display:flex;flex-direction:column;gap:4px}.project-row{display:flex;gap:14px;align-items:baseline;border-top:1px solid rgba(43,32,24,.12);padding:12px 10px 10px;margin:0 -10px;border-radius:10px;opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,background-color .25s ease}.station-overlay.visible .project-row{opacity:1;transform:none;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1),background-color .25s ease}.station-overlay.visible .project-row:nth-child(1){transition-delay:.4s,.4s,0s}.station-overlay.visible .project-row:nth-child(2){transition-delay:.5s,.5s,0s}.station-overlay.visible .project-row:nth-child(3){transition-delay:.6s,.6s,0s}.project-row:hover,.project-row:focus-within{background-color:#e5913c17}.project-num{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;color:#2b201859;flex:none;transition:color .25s ease}.project-row:hover .project-num,.project-row:focus-within .project-num{color:var(--accent)}.project-info{min-width:0}.project-row h3{font-family:var(--serif);font-size:19px;margin:0 0 4px;color:var(--ink)}.project-row p{font-size:14px;line-height:1.5}.project-row .station-link{margin-top:6px;font-size:13px}.chapter-title{position:absolute;left:clamp(72px,9vw,140px);right:clamp(24px,6vw,96px);bottom:clamp(20px,5vh,52px);pointer-events:none;opacity:0;transition:opacity .35s ease}.chapter-title.visible{opacity:1}.chapter-count{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.22em;color:#fff;text-shadow:0 1px 8px rgba(43,32,24,.5);margin:0 0 4px;opacity:0}.chapter-title.visible .chapter-count{animation:chapter-count-in .5s ease .3s forwards}@keyframes chapter-count-in{to{opacity:.9}}.chapter-mask{overflow:hidden}.chapter-word{display:inline-block;font-family:var(--serif);font-size:clamp(44px,7.5vw,104px);line-height:1.04;letter-spacing:-.015em;color:#fffbf3eb;text-shadow:0 2px 24px rgba(43,32,24,.25);transform:translateY(112%)}.chapter-title.visible .chapter-word{animation:chapter-sweep 1.6s cubic-bezier(.22,1,.36,1) forwards}@keyframes chapter-sweep{0%{transform:translateY(112%);opacity:1}35%{transform:translateY(0);opacity:1}to{transform:translateY(0);opacity:.42}}@media(max-width:720px){.chapter-title{left:clamp(56px,12vw,90px)}.chapter-word{font-size:clamp(34px,9vw,56px)}}.spine-nav{position:absolute;left:clamp(18px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:0;z-index:10}.spine-nav .rail{position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:#ffffff8c;border-radius:1px}.spine-notch{position:relative;display:flex;align-items:center;gap:12px;background:none;border:none;padding:9px 0;cursor:pointer}.spine-notch .dot{position:relative;width:12px;height:12px;border-radius:50%;background:#ffffffbf;border:2px solid rgba(43,32,24,.25);transition:transform .25s ease,background .25s ease;flex:none}.spine-notch:hover .dot,.spine-notch:focus-visible .dot{transform:scale(1.35);background:var(--accent)}.spine-notch.active .dot{background:var(--accent);border-color:#ffffffe6;transform:scale(1.25);animation:notch-fill .5s cubic-bezier(.34,1.56,.64,1)}.spine-notch.active .dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:notch-ring .8s ease-out forwards}@keyframes notch-fill{0%{transform:scale(.7)}60%{transform:scale(1.5)}to{transform:scale(1.25)}}@keyframes notch-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.spine-notch .label{font-family:var(--sans);font-size:12.5px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(43,32,24,.45);background:#2b20188c;padding:4px 10px;border-radius:999px;opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;white-space:nowrap}.spine-notch:hover .label,.spine-notch:focus-visible .label,.spine-notch.active .label{opacity:1;transform:translate(0)}.spine-notch.active.quiet:not(:hover):not(:focus-visible) .label{opacity:0;transform:translate(-6px)}.wordmark{position:absolute;top:22px;right:clamp(24px,4vw,48px);display:flex;align-items:baseline;gap:8px;z-index:10;pointer-events:none}.wordmark-name{pointer-events:auto;background:none;border:none;padding:0;cursor:pointer;font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--ink);text-shadow:0 1px 10px rgba(255,251,243,.75),0 0 2px rgba(255,251,243,.6);transition:color .25s ease}.wordmark-name:hover,.wordmark-name:focus-visible{color:var(--accent)}.wordmark-tag{font-family:var(--serif);font-style:italic;font-size:13px;color:#2b2018b8;text-shadow:0 1px 10px rgba(255,251,243,.75);white-space:nowrap}@media(max-width:720px){.wordmark-tag{display:none}}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(43,32,24,.5);animation:hint-bob 2.2s ease-in-out infinite;pointer-events:none;transition:opacity .5s ease}.scroll-hint.hidden{opacity:0}@keyframes hint-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}@media(prefers-reduced-motion:reduce){.station-overlay,.station-overlay .kicker,.station-overlay h2,.station-overlay .station-body,.station-overlay>.station-link,.project-row,.chapter-title,.chapter-count,.chapter-word,.spine-notch .dot,.scroll-hint{transition:none!important;animation:none!important}.spine-notch.active .dot:after{animation:none!important;content:none}.chapter-title.visible .chapter-count{opacity:.9}.chapter-title.visible .chapter-word{transform:none;opacity:.42}}
