:root {
  --ink:#20283d; --night:#293f62; --blue:#3272a8; --sky:#75b6c9;
  --paper:#fff2d1; --cream:#f4d8a3; --peach:#eaa47b; --orange:#d87544;
  --red:#b7443e; --wine:#74333d; --brown:#76513b; --tan:#aa7f55;
  --yellow:#f0c04a; --moss:#476855; --green:#5b8b62; --mint:#9bcf9b;
  --pixel:'Silkscreen',monospace; --prose:'Manrope',sans-serif;
  --border:3px solid var(--ink); --gutter:clamp(18px,4vw,64px);
}
*{box-sizing:border-box}
::selection{background:var(--red);color:var(--paper)}
html{scroll-behavior:smooth;scroll-padding-top:76px;scrollbar-color:var(--orange) var(--ink);scrollbar-width:thin}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--prose);overflow-x:hidden;font-optical-sizing:auto;text-rendering:optimizeLegibility}
::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--orange);border:3px solid var(--ink)}
a{color:inherit} button,a{touch-action:manipulation}
button{font-family:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:99;left:1rem;top:-90px;background:var(--yellow);border:var(--border);padding:.9rem;font:700 .66rem var(--pixel)}
.skip-link:focus{top:1rem}
a:focus-visible,button:focus-visible{outline:4px solid var(--blue);outline-offset:4px}

.site-header{height:72px;border-bottom:var(--border);display:flex;align-items:center;padding:0 var(--gutter);gap:36px;background:var(--paper);position:relative;z-index:20}
.brand{font:700 1.05rem var(--pixel);letter-spacing:.03em;text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap}
.brand-cube{width:22px;height:22px;background:var(--orange);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--yellow);transition:transform .25s steps(3)}
.brand:hover .brand-cube{transform:rotate(90deg)}
.site-header nav{display:flex;gap:clamp(12px,2.5vw,36px);margin-left:auto}
.site-header nav a{font:400 .64rem var(--pixel);letter-spacing:.04em;text-decoration:none;padding:15px 3px;border-bottom:3px solid transparent}
.site-header nav a:hover{border-color:var(--red);color:var(--red)}
.clock{font:400 .58rem var(--pixel);display:flex;align-items:center;gap:8px;padding-left:24px;border-left:2px solid var(--ink);min-width:125px}
#clockDot{width:9px;height:9px;background:var(--yellow);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--sky)}

.hero{padding:clamp(42px,6vw,82px) var(--gutter) 32px;background:var(--paper);position:relative;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(0deg,transparent 0 3px,var(--tan) 3px 4px)}
.hero:after{content:"";position:absolute;z-index:-1;right:0;top:0;width:31vw;height:38vw;max-height:560px;background:var(--cream);clip-path:polygon(100% 0,100% 100%,0 100%)}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);grid-template-rows:auto auto;column-gap:7vw;align-items:end;margin-bottom:30px}
.eyebrow,.section-kicker{font:400 .62rem var(--pixel);letter-spacing:.08em}
.hero-copy .eyebrow{grid-column:1/3;margin:0 0 26px}.eyebrow span{color:var(--red)}
.hero h1,.chronicle h2,.district-intro h2,.transit h2,.landmark h2,.visit h2{font-family:var(--pixel);margin:0;line-height:.86;letter-spacing:-.075em}
.hero h1{grid-column:1;font-size:clamp(3.15rem,7.3vw,7.4rem);display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.18em}
.hero h1 i{font-style:normal;color:var(--red)}
.hero h1 span{color:var(--red);font-size:.58em;line-height:.92;letter-spacing:-.055em}
.hero-brief{grid-column:2;padding-bottom:6px}.lede{font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.58;margin:0;padding-left:26px;border-left:6px solid var(--yellow);font-weight:700}
.hero-stamp{display:inline-block;margin:20px 0 0 32px;padding:7px 9px;border:2px solid var(--red);color:var(--red);font:700 .48rem var(--pixel);transform:rotate(-2deg)}

.city-shell{display:grid;grid-template-columns:minmax(0,1fr) 272px;border:var(--border);box-shadow:11px 11px 0 var(--ink);background:var(--sky);position:relative}
.canvas-wrap{position:relative;height:clamp(520px,48vw,680px);overflow:hidden;background:var(--sky)}
#cityCanvas{width:100%;height:100%;display:block;image-rendering:pixelated}
.canvas-label{position:absolute;background:var(--paper);border:2px solid var(--ink);font:400 .5rem var(--pixel);padding:8px 10px;box-shadow:3px 3px 0 var(--ink)}
.canvas-label span{color:var(--red);margin-left:8px}.label-nw{left:14px;top:14px}.label-se{right:14px;bottom:16px}
.city-legend{position:absolute;left:14px;top:56px;display:flex;flex-direction:column;gap:5px;font:400 .43rem var(--pixel);color:var(--paper)}
.city-legend span{display:flex;align-items:center;gap:6px}.city-legend i{width:9px;height:9px;border:1px solid var(--ink);display:inline-block}.road-key{background:var(--cream)}.home-key{background:var(--orange)}.light-key{background:var(--yellow)}
.day-track{position:absolute;left:14px;bottom:16px;width:146px;height:8px;background:var(--ink);border:2px solid var(--ink)}
.day-track span{display:block;height:100%;width:0;background:var(--yellow)}
.bell-button{position:absolute;z-index:3;left:50%;bottom:15px;transform:translateX(-50%);min-height:44px;padding:10px 14px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink);font:700 .48rem var(--pixel);letter-spacing:.035em;cursor:pointer;transition:transform .16s steps(2),box-shadow .16s steps(2),background-color .16s steps(2)}
.bell-button span{color:var(--red);margin-right:7px}.bell-button:hover{transform:translate(calc(-50% + 2px),2px);box-shadow:2px 2px 0 var(--ink);background:var(--yellow)}.bell-button:active{transform:translate(calc(-50% + 4px),4px);box-shadow:0 0 0 var(--ink)}.bell-button[aria-pressed="true"]{background:var(--red);color:var(--paper)}.bell-button[aria-pressed="true"] span{color:var(--yellow)}
.festival-notice{position:absolute;z-index:4;left:50%;top:74px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:9px 12px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--red);font:400 .47rem/1.45 var(--pixel);letter-spacing:.025em;text-align:center;animation:notice-in .4s steps(4)}
.festival-notice[hidden]{display:none}

.census{background:var(--paper);border-left:var(--border);padding:21px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.census:after{content:"041";position:absolute;right:-12px;top:125px;writing-mode:vertical-rl;font:700 5rem/.75 var(--pixel);color:var(--cream);z-index:0}
.census>*{position:relative;z-index:1}.census-head{display:flex;justify-content:space-between;align-items:center;font:400 .5rem var(--pixel)}.census-head p{margin:0}
.live-pip{background:var(--red);color:var(--paper);padding:6px 7px;animation:blink 2s steps(2) infinite}
.census h2{font:700 1.38rem/.95 var(--pixel);margin:28px 0 20px;letter-spacing:-.04em}
.census dl{margin:0;border-top:2px solid var(--ink)}.census dl div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding:9px 0}
.census dt{font:700 .56rem var(--pixel)}.census dd{font:700 1.3rem var(--pixel);margin:0;color:var(--red);font-variant-numeric:tabular-nums}
.works-log{margin:15px 0 0;padding:10px 11px;background:var(--night);color:var(--paper);min-height:64px}.works-log span{font:400 .46rem var(--pixel);color:var(--yellow)}.works-log p{font-size:.69rem;line-height:1.35;margin:6px 0 0;font-weight:700}
.mayor-note{margin:13px 0;background:var(--cream);padding:11px;border-left:5px solid var(--orange)}.mayor-note span{font:400 .45rem var(--pixel)}.mayor-note p{font-size:.7rem;line-height:1.4;margin:5px 0 0;font-weight:700}
.found-button{margin-top:auto;min-height:58px;border:var(--border);background:var(--yellow);color:var(--ink);font:700 .61rem var(--pixel);box-shadow:5px 5px 0 var(--ink);cursor:pointer;transition:transform .12s steps(2),box-shadow .12s steps(2)}
.found-button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink);background:var(--peach)}.found-button:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--ink)}.found-button span{font-size:1rem}
.watch-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:25px 4px 0;font:400 .53rem/1.5 var(--pixel)}.watch-note p{margin:0}.watch-note b{color:var(--red)}.watch-arrow{font-size:1.2rem;color:var(--red)}.watch-coord{text-align:right;color:var(--brown)}

.ticker{overflow:hidden;background:var(--ink);color:var(--paper);height:46px;display:flex;align-items:center;font:400 .57rem var(--pixel);white-space:nowrap;border-top:3px solid var(--ink)}
.ticker div{min-width:max-content;animation:ticker 28s linear infinite}.ticker i{display:inline-block;width:10px;height:10px;background:var(--yellow);margin:0 28px;box-shadow:4px 4px 0 var(--red)}
.section-pad{padding:clamp(76px,9vw,138px) clamp(20px,7vw,106px)}

.chronicle{background:var(--cream);border-bottom:var(--border);position:relative}.chronicle:after{content:"PUBLIC WORKS / 001—041";position:absolute;right:14px;bottom:10px;font:400 .46rem var(--pixel);color:var(--brown)}
.chronicle-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;margin-top:48px}.chronicle h2,.district-intro h2,.transit h2,.landmark h2,.visit h2{font-size:clamp(2.6rem,5vw,5.5rem)}.chronicle h2 span,.visit h2 span{color:var(--red)}
.big-copy{font-size:clamp(1.1rem,1.75vw,1.55rem);line-height:1.55;max-width:610px;font-weight:650}
.chronicle blockquote{margin:56px 0 0;padding:20px 22px 22px;border:var(--border);box-shadow:7px 7px 0 var(--orange);font:700 1rem/1.55 var(--prose);transform:rotate(-1deg)}.chronicle blockquote span{display:block;margin-bottom:12px;color:var(--red);font:400 .5rem var(--pixel)}
.timeline{list-style:none;margin:0;padding:0;counter-reset:work}.timeline li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:0 0 23px;margin-bottom:23px;border-bottom:2px solid var(--ink);position:relative}.timeline li:before{counter-increment:work;content:"0" counter(work);position:absolute;right:0;top:-13px;font:700 2.4rem var(--pixel);color:var(--paper)}
.timeline li>b{font:700 .72rem var(--pixel);color:var(--red);z-index:1}.timeline h3{font:700 .78rem var(--pixel);margin:0 0 8px;position:relative}.timeline p{margin:0;line-height:1.55;position:relative}

.districts{background:var(--moss);color:var(--paper);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;overflow:hidden}.districts:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(45deg,transparent 49%,var(--mint) 50%,transparent 51%);background-size:24px 24px}
.districts>*{position:relative}.district-intro{grid-column:1/3}.district-intro p{font-size:1.08rem;max-width:510px;line-height:1.55}.district-map{grid-column:3/5;min-height:290px;display:grid;grid-template:repeat(4,1fr)/repeat(4,1fr);transform:rotate(45deg) scale(.64);align-self:center}
.map-block{display:grid;place-items:center;border:4px solid var(--ink);font:700 1rem var(--pixel);color:var(--ink);box-shadow:8px 8px 0 var(--ink)}.block-a{grid-area:1/2/3/4;background:var(--yellow)}.block-b{grid-area:3/1/5/3;background:var(--orange)}.block-c{grid-area:3/3/5/5;background:var(--sky)}.block-d{grid-area:2/4/3/5;background:var(--mint)}
.district-card{border:var(--border);color:var(--ink);padding:24px;min-height:224px;box-shadow:7px 7px 0 var(--ink);transition:transform .25s steps(3);overflow:hidden}.district-card:hover{transform:translateY(-8px) rotate(-1deg)}.district-card>span,.district-card>b{font:400 .54rem var(--pixel);position:relative}.district-card h3{font:700 .91rem var(--pixel);margin:48px 0 12px;position:relative}.district-card p{line-height:1.5;position:relative}.district-card>i{position:absolute;right:-10px;bottom:-34px;font:700 8rem var(--pixel);color:var(--paper);opacity:.22;font-style:normal}.d1{grid-column:1;background:var(--yellow)}.d2{grid-column:2;background:var(--sky);transform:translateY(20px)}.d3{grid-column:3/5;background:var(--peach);padding-right:28%}.d3 p{max-width:420px}

.transit{background:var(--paper);display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;position:relative}.transit-board{background:var(--ink);color:var(--paper);padding:clamp(28px,5vw,62px);box-shadow:12px 12px 0 var(--yellow)}.transit-board h2{font-size:clamp(2.2rem,4vw,4.7rem);margin:25px 0 42px}.departures>div{display:grid;grid-template-columns:55px 1fr auto;padding:16px 0;border-top:2px dashed var(--tan);align-items:center}.departures b,.departures em{font:700 .65rem var(--pixel);font-style:normal}.departures b{color:var(--yellow)}
.route-line{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin-top:40px;font:400 .43rem var(--pixel);color:var(--sky)}.route-line i{width:13px;height:13px;background:var(--yellow);border:2px solid var(--paper);transform:rotate(45deg)}.route-line span{height:2px;background:var(--sky);font-size:0;position:relative}
.ticket{background:var(--yellow);border:var(--border);padding:30px;align-self:start;transform:rotate(3deg);box-shadow:8px 8px 0 var(--ink);display:flex;flex-direction:column;min-height:300px;position:relative}.ticket:before,.ticket:after{content:"";position:absolute;left:-9px;width:15px;height:15px;border:3px solid var(--ink);background:var(--paper);border-radius:50%}.ticket:before{top:55px}.ticket:after{bottom:55px}.ticket p,.ticket b,.ticket span{font:400 .53rem var(--pixel)}.ticket strong{font:700 1.65rem var(--pixel);margin:38px 0 15px}.ticket b{margin-top:30px}.ticket span+ b:after{content:"";display:block;height:34px;margin-top:28px;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 7px)}
.transit-copy{grid-column:2;line-height:1.65;font-weight:650;margin-top:-68px;padding-left:30px;border-left:5px solid var(--orange)}.transit-copy a{font:700 .59rem var(--pixel);text-decoration-thickness:3px;text-underline-offset:5px}

.landmark{background:var(--blue);color:var(--paper);display:grid;grid-template-columns:.2fr 1fr .8fr;gap:4vw;overflow:hidden;position:relative}.landmark:after{content:"";position:absolute;left:0;right:0;bottom:0;height:21px;background:repeating-linear-gradient(90deg,var(--night) 0 21px,var(--sky) 21px 42px)}.landmark-number{font:700 clamp(5rem,11vw,11rem)/.7 var(--pixel);color:var(--yellow);writing-mode:vertical-rl}.landmark-copy{position:relative;z-index:1}.landmark-copy p{font-size:1.08rem;line-height:1.7;max-width:650px}.landmark dl{display:flex;gap:28px;margin-top:38px}.landmark dl div{border-left:4px solid var(--yellow);padding-left:12px}.landmark dt{font:400 .5rem var(--pixel)}.landmark dd{font:700 1rem var(--pixel);margin:8px 0}
.tower-art{position:relative;min-height:470px;align-self:end}.tower-art>*{position:absolute}.tower-moon{width:200px;height:200px;right:-20px;top:5px;background:var(--sky);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 85%,15% 85%,15% 70%,0 70%,0 55%,15% 55%,15% 40%,0 40%)}.tank{width:190px;height:112px;left:50%;top:72px;transform:translateX(-50%);background:var(--orange);border:4px solid var(--paper);box-shadow:10px 10px 0 var(--ink)}.tank i{display:block;width:36px;height:36px;border:5px solid var(--ink);background:var(--yellow);margin:33px auto}.antenna{width:12px;height:75px;left:50%;top:0;transform:translateX(-50%);background:var(--yellow);border:4px solid var(--paper)}.tower-leg{width:18px;height:290px;top:175px;background:var(--ink);transform-origin:top}.tower-leg.l{left:31%;transform:rotate(10deg)}.tower-leg.r{right:31%;transform:rotate(-10deg)}.tower-cross{width:170px;height:12px;left:50%;background:var(--yellow);transform-origin:center}.x1{top:270px;transform:translateX(-50%) rotate(28deg)}.x2{top:350px;transform:translateX(-50%) rotate(-28deg)}.tower-caption{right:0;bottom:38px;background:var(--yellow);color:var(--ink);padding:8px;font:400 .48rem var(--pixel)}

.visit{background:var(--yellow);position:relative;min-height:700px}.visit:before{content:"";position:absolute;width:170px;height:170px;right:5vw;top:4vw;background:var(--orange);clip-path:polygon(40% 0,60% 0,60% 40%,100% 40%,100% 60%,60% 60%,60% 100%,40% 100%,40% 60%,0 60%,0 40%,40% 40%);opacity:.45}.visit h2{font-size:clamp(3rem,6.8vw,7.1rem);margin:34px 0 56px;position:relative}.visit-grid{display:grid;grid-template-columns:1.5fr .6fr .7fr;gap:5vw;border-top:var(--border);padding-top:28px}.visit-grid>p{font-size:1.22rem;line-height:1.6;margin:0;max-width:700px}.visit-grid div{display:flex;flex-direction:column;gap:12px}.visit-grid span{font:400 .5rem var(--pixel)}.visit-grid b{font:700 .7rem var(--pixel)}
.back-city{display:flex;justify-content:space-between;align-items:center;margin-top:65px;padding:20px 0;border-top:var(--border);border-bottom:var(--border);font:700 .78rem var(--pixel);text-decoration:none}.back-city span{font-size:2rem;transition:transform .2s steps(2)}.back-city:hover span{transform:translateY(-8px)}
footer{min-height:112px;padding:28px var(--gutter);background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.75rem}footer nav{display:flex;gap:26px;flex-wrap:wrap}footer a{text-underline-offset:4px;text-decoration-thickness:1px;transition:color .18s steps(2),text-decoration-color .18s steps(2)}footer a:hover{color:var(--yellow);text-decoration-color:var(--red)}

.ceremony{position:fixed;z-index:80;inset:0;background:color-mix(in srgb,var(--ink) 88%,transparent);display:grid;place-items:center;padding:20px}.ceremony[hidden]{display:none}.ceremony-card{max-width:590px;width:100%;background:var(--paper);border:5px solid var(--ink);box-shadow:14px 14px 0 var(--yellow);padding:clamp(30px,6vw,66px);text-align:center;animation:pop .48s steps(5);position:relative;overflow:hidden}.ceremony-card:before{content:"";position:absolute;inset:10px;border:2px dashed var(--tan);pointer-events:none}.ceremony-card>p:first-child{font:400 .55rem var(--pixel);position:relative}.ceremony h2{font:400 clamp(1.4rem,4vw,2.6rem)/1.35 var(--pixel);position:relative}.ceremony h2 b{display:inline-block;color:var(--red);margin-top:12px}.tiny-city{height:34px;display:flex;justify-content:center;align-items:end;gap:4px}.tiny-city i{display:block;width:22px;height:18px;background:var(--green);border:2px solid var(--ink)}.tiny-city i:nth-child(2){height:31px;background:var(--orange)}.ribbon{height:12px;background:var(--red);margin:25px -80px -12px}.ceremony button{position:relative;background:var(--yellow);border:var(--border);box-shadow:5px 5px 0 var(--ink);font:700 .65rem var(--pixel);padding:16px 20px;margin-top:25px;min-height:50px;cursor:pointer}

.reveal{opacity:0;transform:translateY(18px);animation:reveal .72s cubic-bezier(.16,1,.3,1) forwards}.city-shell{animation-delay:.14s}.watch-note{animation-delay:.34s}.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .6s steps(5),transform .6s cubic-bezier(.16,1,.3,1)}.scroll-reveal.in-view{opacity:1;transform:none}
@keyframes reveal{to{opacity:1;transform:none}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pop{from{transform:scale(.78) rotate(-2deg)}to{transform:scale(1)}}@keyframes blink{50%{background:var(--wine)}}@keyframes notice-in{from{transform:translate(-50%,-12px);opacity:0}to{transform:translateX(-50%);opacity:1}}

@media(max-width:980px){
  .site-header{gap:15px}.clock{display:none}.hero-copy{grid-template-columns:1fr;gap:24px}.hero-copy .eyebrow,.hero h1,.hero-brief{grid-column:1}.hero-copy .eyebrow{margin-bottom:0}.hero h1{font-size:clamp(3rem,10vw,5.3rem)}.hero-brief{max-width:650px}.city-shell{grid-template-columns:minmax(0,1fr) 220px}.canvas-wrap{height:590px}.census{padding:18px}.census h2{font-size:1.13rem}.works-log{display:none}.chronicle-grid{gap:6vw}.districts{grid-template-columns:1fr 1fr}.district-intro,.district-map,.d3{grid-column:1/3}.district-map{min-height:260px}.d1{grid-column:1}.d2{grid-column:2}.d3{padding-right:24px}.landmark{grid-template-columns:.13fr 1fr .65fr}.tower-art{min-height:400px;transform:scale(.8);transform-origin:bottom center}.landmark-number{font-size:5rem}.visit{min-height:0}
}
@media(max-width:680px){
  html{scroll-padding-top:62px}.site-header{height:62px;padding:0 15px}.brand{font-size:.78rem}.brand-cube{width:18px;height:18px;box-shadow:4px 4px 0 var(--yellow)}.site-header nav{gap:0}.site-header nav a{font-size:.5rem;padding:15px 8px;min-height:46px;display:flex;align-items:center}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}
  .hero{padding:40px 14px 27px}.hero:after{width:50vw;height:80vw}.hero h1{font-size:clamp(2.7rem,13.2vw,3.4rem);line-height:.91}.hero h1 span{font-size:.55em}.eyebrow{font-size:.5rem}.eyebrow span{display:none}.lede{font-size:.95rem;padding-left:15px}.hero-stamp{margin-left:20px}.city-shell{grid-template-columns:1fr;box-shadow:6px 6px 0 var(--ink)}.canvas-wrap{height:440px}.census{border-left:0;border-top:var(--border);padding:17px}.census h2{margin:17px 0 11px}.census dl{display:grid;grid-template-columns:1fr 1fr}.census dl div{padding:8px 5px}.census dl div:nth-child(odd){border-right:2px solid var(--ink)}.census dl div:last-child{grid-column:1/3;border-right:0}.census:after{display:none}.mayor-note{display:none}.found-button{margin-top:16px}.city-legend{display:none}.canvas-label{font-size:.44rem}.canvas-label span{display:none}.label-se{bottom:70px}.day-track{width:86px}.bell-button{left:auto;right:12px;transform:none;bottom:14px;padding:9px 10px;font-size:.42rem}.bell-button:hover,.bell-button:active{transform:translate(2px,2px)}.festival-notice{top:62px;font-size:.4rem}.watch-note{grid-template-columns:auto 1fr;font-size:.47rem}.watch-coord{display:none}
  .section-pad{padding:74px 20px}.chronicle-grid{grid-template-columns:1fr;gap:42px;margin-top:34px}.big-copy{font-size:1.04rem}.chronicle blockquote{margin-top:36px}.timeline li{grid-template-columns:63px 1fr;gap:12px}.districts{grid-template-columns:1fr}.district-intro,.district-map,.d1,.d2,.d3{grid-column:1}.district-intro h2{font-size:2.12rem}.district-map{min-height:210px;margin:-16px 0 0}.district-card{min-height:180px}.district-card h3{margin-top:28px}.d2{transform:none}.d3{padding-right:24px}
  .transit{grid-template-columns:1fr;gap:42px}.transit-board{padding:27px 20px;box-shadow:7px 7px 0 var(--yellow)}.transit-board h2{font-size:1.95rem;margin-bottom:30px}.departures>div{grid-template-columns:42px 1fr auto;gap:8px}.departures span{font-size:.82rem}.route-line{margin-top:30px}.ticket{grid-column:1;transform:rotate(1deg);min-height:260px;margin:0 12px}.transit-copy{grid-column:1;margin:0;padding-left:18px}
  .landmark{grid-template-columns:1fr;padding-top:72px}.landmark-number{writing-mode:initial;font-size:4.8rem}.landmark h2{font-size:2.08rem}.landmark dl{gap:11px;flex-wrap:wrap}.tower-art{display:block;min-height:330px;transform:scale(.68);transform-origin:bottom center;margin:-15px -45px -6px}
  .visit h2{font-size:2.45rem}.visit-grid{grid-template-columns:1fr}.visit-grid>p{grid-column:1;font-size:1.12rem}.visit-grid div{border-top:2px solid var(--ink);padding-top:14px}.back-city{font-size:.62rem;margin-top:54px}footer{flex-direction:column;align-items:flex-start;min-height:160px}footer nav{gap:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.scroll-reveal{opacity:1;transform:none;animation:none;transition:none}.ticker div,.live-pip,.ceremony-card,.festival-notice{animation:none}.district-card,.brand-cube,.back-city span,.bell-button{transition:none}}
