:root{--ink:#120608;--ink-2:#21090d;--red:#ff3b27;--hot:#ff7a18;--cream:#ffe2b9;--paper:#f1cda6;--cyan:#20f2d2;--pink:#ff4fc8;--blue:#8ca9ff;--time:.0;--steam:.35}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink);overflow-x:clip}
body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% 20%,#46110e 0,#180609 30%,#080507 72%);color:#fff4e5;font-family:'Outfit',sans-serif;font-size:18px;line-height:1.55}
a{color:inherit}button,input{font:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.09;background-image:radial-gradient(circle,#fff 0 .55px,transparent .7px),radial-gradient(circle,#000 0 .55px,transparent .75px);background-size:4px 4px,5px 5px;background-position:0 0,1px 2px}
#steam{position:fixed;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;opacity:var(--steam)}
.market-header{height:74px;position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,70px);border-bottom:1px solid #ffffff2b;background:#0d05078c;backdrop-filter:blur(12px)}
.brand{font-family:'Baloo 2';font-weight:800;letter-spacing:.08em;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:10px;color:var(--red);border:1px solid var(--red);border-radius:50%}
.market-header nav{display:flex;gap:30px}.market-header nav a,.sound-toggle{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-decoration:none}.market-header nav a{padding:14px 2px}.market-header nav a:hover{color:var(--cyan)}
.sound-toggle{min-height:44px;color:#fff4e5;border:1px solid #ffffff3d;background:#19090b;padding:0 16px;cursor:pointer}.sound-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#70433f}.sound-toggle[aria-pressed="true"] .sound-dot{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:130px clamp(22px,7vw,120px) 80px;overflow:hidden;background:linear-gradient(180deg,#100507c9,#17040799 62%,#0d0507),repeating-linear-gradient(100deg,transparent 0 8%,#ffffff08 8.2%,transparent 8.5%),radial-gradient(ellipse at 78% 38%,#ff3b2730,transparent 28%),radial-gradient(ellipse at 20% 70%,#ff7a1821,transparent 25%)}
.hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-3vh;height:23vh;background:linear-gradient(180deg,#280609,#0b0608 54%);clip-path:polygon(0 30%,48% 15%,100% 36%,100% 100%,0 100%);border-top:2px solid #ff3b2766;box-shadow:0 -20px 80px #ff3b271c;z-index:-0}
.hero>*{position:relative;z-index:2}
.lanterns{position:absolute;inset:70px 0 auto;display:flex;justify-content:space-around;z-index:1;filter:drop-shadow(0 18px 22px #ff321f88)}.lanterns i{display:block;width:clamp(44px,6vw,84px);height:clamp(64px,9vw,120px);border-radius:45% 45% 38% 38%;background:repeating-linear-gradient(90deg,#9a110f 0 6%,#ff5838 9% 17%,#a00f0e 20%);border-top:6px solid #4b1211;opacity:.8;transform-origin:top;animation:sway 4s ease-in-out infinite alternate}.lanterns i:before{content:"";position:absolute;width:2px;height:80px;background:#571714;transform:translate(20px,-80px)}.lanterns i:nth-child(even){transform:translateY(-30px);animation-delay:-2s}.lanterns i:nth-child(3){opacity:.32}
.eyebrow,.kicker{font-size:11px;letter-spacing:.28em;font-weight:800;color:#ffbda4}.hero>.eyebrow{padding-left:4px;margin:0 0 25px}
.hero-lockup{display:flex;align-items:center;gap:3vw}.hero h1{font-family:'Baloo 2';font-size:clamp(66px,11.4vw,180px);font-weight:800;line-height:.73;letter-spacing:-.07em;margin:0;text-transform:uppercase;text-shadow:0 8px 30px #000}.hero h1 em{font-style:normal;color:var(--red);text-shadow:0 0 6px #ff3b27,0 0 32px #f20b13,0 0 90px #ff3b2766}.hero-stamp{flex:0 0 auto;width:clamp(84px,11vw,150px);height:clamp(84px,11vw,150px);display:grid;place-items:center;font-family:'Baloo 2';font-size:clamp(32px,5vw,68px);font-weight:800;line-height:.68;color:var(--ink);background:var(--red);transform:rotate(5deg);box-shadow:0 0 45px #ff3b276b}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:55px;max-width:1150px}.lede{max-width:540px;margin:0;font-size:clamp(20px,2.1vw,31px);line-height:1.3}.open-hours{margin:0;text-align:right;font-family:'Baloo 2';font-size:25px;font-weight:700;line-height:1.1;color:var(--cream)}.open-hours span{font-size:10px;letter-spacing:.25em;color:var(--hot);margin-right:8px}.open-hours small{font:700 9px 'Outfit';letter-spacing:.22em}
.crawl-cue{position:absolute;right:clamp(22px,4vw,70px);bottom:24px;display:flex;gap:12px;align-items:center;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.crawl-cue b{font-size:24px;color:var(--red)}
.load-in{opacity:0;transform:translateY(24px);animation:arrive .8s cubic-bezier(.2,.8,.2,1) forwards}.hero-lockup{animation-delay:.12s}.hero-bottom{animation-delay:.25s}.crawl-cue{animation-delay:.4s}

.clock-dock{position:sticky;top:0;z-index:15;min-height:118px;padding:18px clamp(22px,4vw,70px);display:grid;grid-template-columns:minmax(270px,1fr) auto minmax(320px,1fr);align-items:center;gap:3vw;background:#f0442a;color:#180507;box-shadow:0 14px 70px #000,0 2px 0 #ffb273 inset}.clock-copy .kicker{margin:0;color:#4b060a}.clock-copy h2{font:800 26px/1 'Baloo 2';margin:2px 0}.clock-copy>p:last-child{margin:0;font-size:13px}.clock-face{text-align:center;min-width:150px}.clock-face output{display:block;font:800 46px/.8 'Baloo 2';letter-spacing:-.04em}.clock-status{font-size:9px;letter-spacing:.16em;font-weight:900}.clock-control{position:relative}.clock-control input{width:100%;height:44px;margin:0;appearance:none;background:transparent;cursor:grab}.clock-control input:active{cursor:grabbing}.clock-control input::-webkit-slider-runnable-track{height:4px;background:#42080b;border-radius:4px}.clock-control input::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-12px;background:#ffe2b9;border:5px solid #1a0507;border-radius:50%;box-shadow:0 3px 0 #7f1211}.clock-control input::-moz-range-track{height:4px;background:#42080b}.clock-control input::-moz-range-thumb{width:20px;height:20px;background:#ffe2b9;border:5px solid #1a0507;border-radius:50%}.clock-ticks{display:flex;justify-content:space-between;margin:-8px 3px 0;font-size:9px;font-weight:800}
.lane-intro{max-width:1180px;margin:0 auto;padding:110px 35px 45px;display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff1f}.lane-intro span{font-size:11px;letter-spacing:.25em;color:var(--hot);font-weight:800}.lane-intro p{max-width:450px;margin:0;font-size:15px;color:#ddc7bf;text-align:right}
.market-lane{position:relative;max-width:1240px;margin:auto;padding:0 30px}.market-lane:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(#ff3b2700,#ff3b2766 10%,#ff3b2744 90%,transparent);box-shadow:0 0 22px var(--red)}
.stall{--neon:var(--red);position:relative;min-height:650px;padding:86px 4% 102px;border-bottom:1px solid #ffffff1a;transition:filter .8s,opacity .8s;overflow:clip;background:linear-gradient(102deg,transparent 49.8%,color-mix(in srgb,var(--neon) 15%,transparent) 50%,transparent 50.2%),radial-gradient(ellipse at 20% 44%,color-mix(in srgb,var(--neon) 12%,transparent),transparent 35%)}
.stall:nth-child(even){background:radial-gradient(ellipse at 80% 44%,color-mix(in srgb,var(--neon) 12%,transparent),transparent 35%)}
.stall-number{position:absolute;top:44px;right:4%;font:600 11px 'Outfit';letter-spacing:.2em;color:#baa49c}.neon-mount{position:relative;min-height:145px;margin-bottom:50px}.neon-mount:after{content:"";position:absolute;left:15%;right:15%;top:108%;height:64px;background:var(--neon);filter:blur(17px);opacity:.14;transform:scaleY(-.3) perspective(200px) rotateX(38deg);transform-origin:top;mask-image:linear-gradient(#000,transparent)}
.neon-sign{width:100%;height:145px;overflow:visible}.neon-text{font:800 92px 'Baloo 2';letter-spacing:.03em;fill:transparent;stroke:var(--neon);stroke-width:2.6;paint-order:stroke;filter:url(#glow);animation:hum 3.7s linear infinite}.neon-fail{animation:fail 6.4s steps(1) infinite}.neon-wire{stroke:#262125;stroke-width:2;fill:none}
.stall-grid{display:grid;grid-template-columns:1.02fr .78fr;gap:clamp(45px,8vw,110px);align-items:start}.stall-grid.flip .stall-story{grid-column:2}.stall-grid.flip .ticket{grid-column:1;grid-row:1;transform:rotate(-1deg)}
.stall-story h2{font:800 clamp(38px,5vw,66px)/.95 'Baloo 2';letter-spacing:-.04em;margin:14px 0 25px;max-width:630px}.stall-story>p:not(.kicker):not(.whisper){color:#dac8c3;max-width:620px}.stall-story blockquote{margin:35px 0 0;padding:16px 0 16px 24px;border-left:3px solid var(--neon);font:500 23px/1.35 'Baloo 2';color:#fff1de}.stall-story cite{display:block;margin-top:8px;font:700 10px 'Outfit';letter-spacing:.18em;color:var(--neon);text-transform:uppercase}
.ticket{position:relative;color:#2b1410;background:var(--paper);padding:28px 30px 24px;transform:rotate(1.2deg);box-shadow:0 22px 65px #0008,0 0 45px color-mix(in srgb,var(--neon) 14%,transparent);clip-path:polygon(0 0,100% 0,100% 96%,97% 98%,94% 96%,91% 99%,88% 96%,85% 99%,82% 96%,79% 99%,76% 96%,73% 99%,70% 96%,67% 99%,64% 96%,61% 99%,58% 96%,55% 99%,52% 96%,49% 99%,46% 96%,43% 99%,40% 96%,37% 99%,34% 96%,31% 99%,28% 96%,25% 99%,22% 96%,19% 99%,16% 96%,13% 99%,10% 96%,7% 99%,4% 96%,0 98%)}
.ticket:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 6px,#3f181108 7px);pointer-events:none}.ticket.orange{background:#e9af6d}.ticket.cyan{background:#9edbd1}.ticket.pink{background:#e8a6c9}.ticket.blue{background:#b4c0dc}.ticket.cream{background:#f1ddba}.ticket-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:2px dashed #4f281e;font-size:10px;letter-spacing:.17em;font-weight:800}.ticket-head b{font:800 38px 'Baloo 2'}.ticket ul{position:relative;list-style:none;padding:0;margin:0}.ticket li{display:flex;gap:15px;justify-content:space-between;padding:17px 0;border-bottom:1px solid #4f281e33}.ticket li span{display:flex;flex-direction:column}.ticket li b{font:700 18px 'Baloo 2'}.ticket li small{font-size:11px;line-height:1.2}.ticket li strong{font:800 18px 'Baloo 2'}.ticket-note{position:relative;margin:18px 0 5px;font-size:8px;font-weight:900;letter-spacing:.16em;text-align:center}
.shutter{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;transform:scaleY(0);transform-origin:top;transition:transform 1.2s cubic-bezier(.7,0,.25,1);background:repeating-linear-gradient(0deg,#171316 0 34px,#090708 35px 39px);box-shadow:0 15px 35px #000 inset}.shutter:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff0c,transparent 60%)}.shutter span{padding:16px 25px;border:2px solid #685f5d;font:800 clamp(18px,3vw,35px) 'Baloo 2';letter-spacing:.12em;color:#918684;transform:rotate(-4deg)}.stall.closed .shutter{transform:scaleY(1)}.stall.closed{filter:saturate(.1);opacity:.82}.stall.closing .neon-text{animation:panic .22s steps(1) infinite}
.heat-scale{display:flex;align-items:center;gap:9px;margin-top:35px;font-size:8px;font-weight:800;letter-spacing:.12em}.heat-scale i{width:18px;height:18px;border:1px solid var(--hot);transform:rotate(45deg)}.heat-scale i:nth-of-type(n+3){background:var(--hot);box-shadow:0 0 12px var(--hot)}
.weather-list{margin-top:32px}.weather-list div{display:grid;grid-template-columns:110px 1fr;padding:10px 0;border-bottom:1px solid #20f2d244}.weather-list dt{font-size:10px;color:var(--cyan);letter-spacing:.17em;font-weight:800}.weather-list dd{margin:0;color:#d8c6c1}
.fold-count{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-top:35px}.fold-count b{font:800 38px 'Baloo 2';color:var(--pink)}.fold-count span{font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.1em}
.whisper{margin-top:40px!important;font-size:10px;font-weight:800;letter-spacing:.18em}.whisper span{color:var(--blue)}
.ladle-order{margin-top:35px;border:1px solid #ffe0a651;padding:22px}.order-title{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--cream)}.ladle-order ol{margin:14px 0 0;padding-left:23px}.ladle-order li{padding:6px;color:#d8c6c1}.ladle-order b{color:#fff1de}
.stall-noodle{--neon:#ff3b27}.stall-skewer{--neon:#ff8a1e}.stall-tea{--neon:#20f2d2}.stall-dumpling{--neon:#ff4fc8}.stall-sweets{--neon:#8ca9ff}.stall-congee{--neon:#ffe0a6}
.field-notes{position:relative;display:grid;grid-template-columns:.8fr 1.7fr;gap:6vw;padding:150px max(6vw,30px);background:#e33b25;color:#240608;box-shadow:0 0 80px #ff3b2744}.notes-heading{position:sticky;top:160px;align-self:start}.notes-heading .kicker{color:#57080b}.notes-heading h2{font:800 clamp(54px,7vw,105px)/.8 'Baloo 2';letter-spacing:-.06em;margin:22px 0}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#4e0a0e}.notes-grid article{min-height:300px;padding:40px;background:#ee4c32}.notes-grid article:nth-child(2),.notes-grid article:nth-child(3){background:#da321e}.notes-grid article>b{font:800 45px 'Baloo 2';color:#7e0e10}.notes-grid h3{font:800 28px 'Baloo 2';margin:30px 0 10px}.notes-grid p{font-size:15px}
.last-call{min-height:70vh;display:grid;place-items:center;align-content:center;gap:60px;text-align:center;background:radial-gradient(circle,#4b100f,#0c0507 55%)}.last-call>p{font:500 24px 'Baloo 2';color:#cbb1a8}.last-call-time{display:grid}.last-call-time span{font-size:10px;letter-spacing:.35em;color:var(--hot)}.last-call-time strong{font:800 clamp(76px,15vw,210px)/.75 'Baloo 2';letter-spacing:-.06em;color:var(--red);text-shadow:0 0 35px #ff3b2788}.last-call-time i{font:700 22px 'Baloo 2';font-style:normal}
footer{min-height:120px;padding:35px clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#080405;border-top:1px solid #ffffff1b;color:#bda9a3;font-size:12px}footer nav{display:flex;gap:25px}footer a{text-underline-offset:4px}footer a:hover{color:var(--cyan)}
@keyframes arrive{to{opacity:1;transform:none}}@keyframes sway{to{transform:rotate(4deg) translateY(6px)}}@keyframes hum{0%,94%,100%{opacity:1}95%{opacity:.55}96%{opacity:.9}97%{opacity:.4}}@keyframes fail{0%,13%,17%,72%,75%,100%{opacity:1}14%,16%,73%,74%{opacity:.08}}@keyframes panic{0%,42%,100%{opacity:1}43%,70%{opacity:.1}}
@media(max-width:900px){
  .market-header{position:absolute}.market-header nav{display:none}.clock-dock{grid-template-columns:1fr auto;padding-block:14px}.clock-copy>p:last-child{display:none}.clock-control{grid-column:1/-1}.clock-face output{font-size:38px}.market-lane{padding:0 22px;overflow:clip}.stall{min-height:0;padding:82px 2% 96px}.neon-text{font-size:92px}.stall-grid{gap:40px;grid-template-columns:1fr 1fr}.field-notes{grid-template-columns:1fr}.notes-heading{position:static}.notes-heading br{display:none}
}
@media(max-width:600px){
  body{font-size:16px}.market-header{height:66px;padding:0 15px}.brand{font-size:14px}.brand span{width:29px;height:29px;margin-right:5px}.sound-toggle{padding:0 11px;font-size:10px}.hero{min-height:755px;padding:118px 20px 70px}.lanterns{top:66px}.lanterns i{width:38px;height:58px}.lanterns i:first-child,.lanterns i:last-child{display:none}.hero>.eyebrow{margin-bottom:24px}.hero-lockup{display:block}.hero h1{font-size:clamp(54px,16.6vw,68px);line-height:.8;letter-spacing:-.075em}.hero-stamp{position:absolute;right:2px;bottom:-49px;width:62px;height:62px;font-size:25px}.hero-bottom{display:block;margin-top:64px}.lede{font-size:19px;max-width:315px}.open-hours{text-align:left;margin-top:29px;font-size:20px}.crawl-cue{left:20px;right:auto}.clock-dock{min-height:116px;padding:8px 18px 6px}.clock-copy h2{font-size:18px}.clock-copy .kicker{display:none}.clock-face{min-width:88px}.clock-face output{font-size:33px}.clock-status{font-size:6.5px}.clock-control input{height:34px}.clock-ticks{margin-top:-8px}.lane-intro{padding:64px 20px 30px;display:block}.lane-intro p{text-align:left;margin-top:12px}.market-lane{padding:0 16px}.market-lane:before{left:16px}.stall{padding:66px 4px 82px 20px}.stall-number{top:25px}.neon-mount{min-height:103px;margin:0 -3px 30px}.neon-sign{height:103px}.neon-text{font-size:100px;stroke-width:2.4}.neon-mount:after{top:91%;height:34px;left:18%;right:18%;opacity:.12}.stall-grid,.stall-grid.flip{display:flex;flex-direction:column;gap:32px}.stall-grid.flip .stall-story,.stall-grid.flip .ticket{grid-column:auto;grid-row:auto}.stall-story h2{font-size:39px}.stall-story blockquote{font-size:19px}.ticket,.stall-grid.flip .ticket{width:calc(100% - 8px);padding:22px 20px;transform:rotate(.35deg)}.ticket li b{font-size:16px}.ticket li small{font-size:10px}.fold-count{grid-template-columns:auto 1fr}.field-notes{padding:80px 20px}.notes-heading h2{font-size:55px}.notes-grid{grid-template-columns:1fr}.notes-grid article{min-height:215px;padding:28px}.last-call{min-height:480px;padding:70px 20px}.last-call-time strong{font-size:73px}footer{display:block;text-align:center;padding:40px 20px}footer nav{flex-direction:column;gap:12px;margin-top:25px}
  #steam{display:none}.hero-stamp{bottom:-62px;width:56px;height:56px;font-size:23px}.brand,.crawl-cue{min-height:44px;display:flex;align-items:center}.clock-control{min-height:44px;display:grid;align-items:center}.clock-control input{height:44px}footer nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.load-in{opacity:1;transform:none;animation:none}.lanterns i,.neon-text,.neon-fail{animation:none!important}.stall,.shutter{transition:none}#steam{display:none}}

/* Pass 2 — the market becomes a place, not a stack of sections. */
.skip-link{position:fixed;left:18px;top:12px;z-index:100;transform:translateY(-150%);padding:12px 16px;background:var(--cyan);color:#07100f;font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none}.skip-link:focus{transform:none}
body{background-color:#090406;background-image:linear-gradient(rgba(9,4,6,calc(.18 + var(--night,0)*.54)),rgba(9,4,6,calc(.18 + var(--night,0)*.54))),radial-gradient(circle at 50% 14%,#5b160f 0,#21080b 25%,#090507 68%);transition:background-color .8s}
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5vw - 1px),#d9695d33 calc(12.5vw - 1px) 12.5vw),repeating-linear-gradient(0deg,transparent 0 78px,#d9695d1f 78px 79px);transform:perspective(380px) rotateX(58deg) scale(1.35);transform-origin:50% 100%;mask-image:linear-gradient(transparent 7%,#000 48%,#000)}
main,footer,.market-header{position:relative}
.market-header{background:linear-gradient(90deg,#0c0406eb,#190609d9 50%,#0c0406eb);box-shadow:0 14px 50px #0007}
.market-header nav a{position:relative}.market-header nav a:after{content:"";position:absolute;left:2px;right:2px;bottom:7px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.market-header nav a:hover:after,.market-header nav a:focus-visible:after{transform:scaleX(1)}
.sound-toggle{transition:border-color .25s,box-shadow .25s,background .25s}.sound-toggle:hover{border-color:#ff7a1888;background:#2a0b0c}.sound-toggle[aria-pressed="true"]{border-color:#20f2d277;box-shadow:0 0 24px #20f2d21c inset}
.hero{isolation:isolate;min-height:max(780px,100svh);background:linear-gradient(180deg,#100507b8,#17040766 57%,#080507 94%),radial-gradient(ellipse at 79% 37%,#ff3b2739,transparent 30%),radial-gradient(ellipse at 16% 73%,#ff7a1826,transparent 25%)}
.hero:before{content:"";position:absolute;inset:74px 0 0;z-index:0;pointer-events:none;background:linear-gradient(103deg,transparent 0 12%,#ff9b5721 12.15%,transparent 12.45% 77%,#20f2d20c 77.12%,transparent 77.35%),linear-gradient(77deg,transparent 0 20%,#ff3b2719 20.1%,transparent 20.3% 82%,#ff3b2717 82.1%,transparent 82.25%)}
.lanterns{justify-content:space-between;padding:0 7vw;filter:none}.lanterns i{position:relative;border-radius:48% 48% 42% 42%;box-shadow:0 0 0 2px #6b120e,0 0 22px #ff321faa,0 0 70px #ff321f4f;background:repeating-linear-gradient(90deg,#7d0e0c 0 8%,#ff5d39 9% 18%,#b41b12 20% 28%)}
.lanterns i:after{content:"";position:absolute;left:24%;right:24%;bottom:-9px;height:11px;background:#49100e;clip-path:polygon(0 0,100% 0,80% 100%,20% 100%)}
.lane-depth{position:absolute;inset:22% -5% 0;z-index:0;overflow:hidden;perspective:600px}.lane-depth:before,.lane-depth:after{content:"";position:absolute;bottom:-12%;width:48%;height:72%;background:linear-gradient(180deg,#0b050600,#160708 18%,#060405 73%);border:1px solid #ff56341b;box-shadow:0 -40px 90px #ff3b270d}.lane-depth:before{left:-8%;transform:skewY(8deg)}.lane-depth:after{right:-8%;transform:skewY(-8deg)}.lane-depth i{position:absolute;bottom:13%;width:1px;height:54%;background:linear-gradient(transparent,#ff3b2761,transparent);box-shadow:0 0 25px #ff3b2780}.lane-depth i:nth-child(1){left:13%;transform:rotate(9deg)}.lane-depth i:nth-child(2){left:34%;height:34%;transform:rotate(4deg)}.lane-depth i:nth-child(3){right:32%;height:39%;transform:rotate(-4deg)}.lane-depth i:nth-child(4){right:12%;transform:rotate(-9deg)}
.hero-lockup{width:min(1220px,100%)}.hero h1{font-size:clamp(70px,11vw,166px);line-height:.7;letter-spacing:-.075em}.hero h1 em{filter:saturate(1.1);text-shadow:0 0 3px #fff0d4,0 0 12px #ff5b33,0 0 42px #f20b13,0 0 110px #ff3b2780}
.hero-stamp{clip-path:polygon(4% 0,100% 3%,96% 97%,0 100%);background:linear-gradient(135deg,#ff5c37,#f32b20);box-shadow:0 0 0 1px #ffb06e inset,0 0 55px #ff3b276b}
.hero-aside{position:absolute;right:5vw;top:28%;display:grid;gap:7px;text-align:right;font-size:8px;font-weight:800;letter-spacing:.22em;color:#d7a697;writing-mode:vertical-rl}.hero-signal{position:absolute;left:50%;bottom:28px;display:flex;align-items:center;gap:9px;transform:translateX(-50%);font-size:8px;font-weight:800;letter-spacing:.22em;color:#be9890}.hero-signal i{width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);animation:signal 1.8s ease infinite}
.hero-bottom{position:relative;padding-top:28px}.hero-bottom:before{content:"";position:absolute;top:0;left:0;width:min(650px,70vw);height:1px;background:linear-gradient(90deg,#ff745d88,transparent)}
.lede{font-weight:450;color:#fff0e4}.open-hours{padding:15px 18px;border-right:2px solid var(--hot);background:linear-gradient(90deg,transparent,#ff6c1810)}

.clock-dock{min-height:152px;grid-template-columns:minmax(235px,.9fr) auto minmax(330px,1.2fr);grid-template-rows:auto auto;gap:8px 3vw;padding-block:14px;background:linear-gradient(100deg,#d92d20,#ff5331 46%,#e53b25);box-shadow:0 18px 80px #000b,0 1px 0 #ffc196 inset,0 -1px 0 #660b0d inset}.clock-dock:before{content:"MARKET TIME / ARRASTRE";position:absolute;right:18px;top:8px;font-size:7px;letter-spacing:.2em;font-weight:900;color:#590a0c80}.clock-copy h2{letter-spacing:-.035em}.clock-face{padding:5px 18px;border-left:1px solid #5b0a0c55;border-right:1px solid #5b0a0c55}.clock-face output{font-size:50px;text-shadow:0 2px 0 #ff8c64}.clock-control input::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,#ffe2b9 0 var(--thumb,0%),#4b090c var(--thumb,0%) 100%);box-shadow:0 1px 0 #ff9a72}.closing-ledger{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:4px;background:#650c0e42;border-top:1px solid #60090b55}.closing-ledger span{min-width:0;display:flex;align-items:center;gap:6px;padding:7px 9px;color:#49080a;font-size:8px;font-weight:900;letter-spacing:.09em;white-space:nowrap;transition:opacity .35s,background .35s}.closing-ledger i{flex:0 0 auto;width:6px;height:6px;border:1px solid #4a090b;border-radius:50%;background:#ffdba9;box-shadow:0 0 7px #fff2d1}.closing-ledger b{margin-left:auto;font-size:7px}.closing-ledger .is-next{background:#ffb36b66}.closing-ledger .is-next i{animation:signal .7s ease infinite}.closing-ledger .is-closed{opacity:.38;text-decoration:line-through;background:#4e070a33}.closing-ledger .is-closed i{background:#41080a;box-shadow:none}
.lane-intro{position:relative;align-items:end;padding-top:95px}.lane-intro:before{content:"LANE MAP";position:absolute;left:35px;top:42px;font:800 44px/.8 'Baloo 2';letter-spacing:-.04em;color:#ffffff07}.lane-intro strong{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--cyan);white-space:nowrap}
.market-lane{isolation:isolate}.market-lane:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 89px,#ffffff07 89px 90px)}
.stall{min-height:720px;padding-top:82px;background:linear-gradient(102deg,transparent 49.87%,color-mix(in srgb,var(--neon) 21%,transparent) 49.95%,transparent 50.11%),radial-gradient(ellipse at 20% 44%,color-mix(in srgb,var(--neon) 14%,transparent),transparent 36%)}
.stall:nth-child(even){background:linear-gradient(78deg,transparent 49.87%,color-mix(in srgb,var(--neon) 21%,transparent) 49.95%,transparent 50.11%),radial-gradient(ellipse at 80% 44%,color-mix(in srgb,var(--neon) 14%,transparent),transparent 36%)}
.stall:before{content:"";position:absolute;top:32px;left:4%;right:4%;height:24px;border-top:5px solid #261014;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--neon) 38%,#16080a) 0 54px,#100709 54px 86px);clip-path:polygon(0 0,100% 0,98% 38%,96% 0,94% 40%,92% 0,90% 42%,88% 0,86% 38%,84% 0,82% 42%,80% 0,78% 39%,76% 0,74% 40%,72% 0,70% 42%,68% 0,66% 38%,64% 0,62% 42%,60% 0,58% 39%,56% 0,54% 41%,52% 0,50% 42%,48% 0,46% 39%,44% 0,42% 42%,40% 0,38% 38%,36% 0,34% 42%,32% 0,30% 39%,28% 0,26% 42%,24% 0,22% 38%,20% 0,18% 42%,16% 0,14% 39%,12% 0,10% 42%,8% 0,6% 38%,4% 0,2% 42%,0 0)}
.stall-number{top:65px}.neon-mount{min-height:236px;margin:-4px 0 20px}.neon-mount:after{display:none}.neon-sign{height:236px}.neon-text{font-size:95px;stroke-width:2.2}.neon-mirror{opacity:.42;stroke-width:4}.neon-bracket{fill:none;stroke:#3d2529;stroke-width:3}.neon-reflection{opacity:.47;mix-blend-mode:screen}
.stall-grid{position:relative}.stall-grid:before{content:"COUNTER  /  WET TILE  /  NIGHTLY";position:absolute;left:-12px;top:-24px;font-size:6px;letter-spacing:.2em;color:color-mix(in srgb,var(--neon) 75%,white);writing-mode:vertical-rl;transform:translateX(-100%)}
.stall:nth-child(3n+2) .ticket{transform:translateY(20px) rotate(-1.8deg)}.stall:nth-child(3n) .ticket{transform:translateY(-8px) rotate(1.7deg)}.stall:nth-child(3n+2) .stall-grid.flip .ticket{transform:translateY(20px) rotate(1.4deg)}
.stall-story h2{text-wrap:balance;text-shadow:0 10px 36px #000}.stall-story>p:not(.kicker):not(.whisper){font-weight:350;line-height:1.65}.kicker{line-height:1.45}
.ticket{border-top:5px solid color-mix(in srgb,var(--neon) 28%,#5b2218);box-shadow:0 28px 80px #000b,0 0 55px color-mix(in srgb,var(--neon) 17%,transparent)}.ticket:after{content:"PAID";position:absolute;right:20px;bottom:36px;padding:2px 8px;border:2px solid #5c211c66;border-radius:50%;font:800 11px 'Outfit';letter-spacing:.14em;color:#5c211c66;transform:rotate(-13deg);opacity:.7}.ticket li{position:relative}.ticket li:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px dotted #51231e33}.ticket li strong{font-variant-numeric:tabular-nums}.ticket-note{padding-right:52px;text-align:left}
.shutter{background:repeating-linear-gradient(0deg,#191619 0 25px,#080708 26px 30px),linear-gradient(90deg,#111,#252025,#111);box-shadow:0 22px 60px #000 inset}.shutter:after{content:"SHUTTER No. " attr(data-shutter);position:absolute;top:25px;right:25px;color:#7c716f;font-size:8px;letter-spacing:.25em}.stall.closed{opacity:calc(.86 - var(--night)*.14)}
.reveal-ready .neon-mount,.reveal-ready .stall-grid{opacity:1;transform:none}.reveal-ready.revealed .neon-mount{animation:stall-arrive .85s cubic-bezier(.16,1,.3,1) both}.reveal-ready.revealed .stall-grid{animation:stall-arrive .9s .08s cubic-bezier(.16,1,.3,1) both}

.field-notes{grid-template-columns:minmax(280px,.72fr) 1.45fr;overflow:hidden;background:linear-gradient(115deg,#ee3d27,#c8221c 76%);box-shadow:0 0 100px #ff3b274b}.field-notes:before{content:"";position:absolute;inset:0;opacity:.2;background:repeating-linear-gradient(0deg,transparent 0 58px,#5a090c 58px 59px),linear-gradient(90deg,transparent 49.8%,#5a090c 50%,transparent 50.2%)}.notes-heading{z-index:1}.notes-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:58px 64px;background:none;padding:20px 0}.notes-grid:before{content:"";position:absolute;left:50%;top:-25px;bottom:-25px;width:2px;background:#60090c66;transform:rotate(8deg);transform-origin:center}.notes-grid article{position:relative;min-height:235px;padding:26px 20px 32px 0;background:transparent!important;border-top:2px solid #620a0d}.notes-grid article:nth-child(even){transform:translateY(66px);padding-left:22px;padding-right:0}.notes-grid article>b{font-size:64px;line-height:.8;color:#790e11}.notes-grid article>b:after{content:" / TILE";font:800 7px 'Outfit';letter-spacing:.18em}.notes-grid h3{font-size:31px;margin:26px 0 8px}.notes-grid p{max-width:290px;line-height:1.45}.queue-whisper{grid-column:2;z-index:1;max-width:630px;margin:85px 0 0;padding-left:40px;border-left:5px solid #65090d;font:600 22px/1.35 'Baloo 2';color:#4a0709}.notes-grid article.reveal-ready{opacity:1}.notes-grid article.revealed{animation:note-arrive .75s cubic-bezier(.16,1,.3,1) both}.notes-grid article:nth-child(even).revealed{transform:translateY(66px)}
.last-call{position:relative;min-height:82vh;overflow:hidden;background:radial-gradient(circle at 50% 47%,#5b130f,#130609 42%,#070405 72%)}.last-call:before{content:"";position:absolute;inset:auto -20% 0;height:48%;background:repeating-linear-gradient(90deg,transparent 0 11.8%,#ff3b2710 11.9% 12%),repeating-linear-gradient(0deg,transparent 0 70px,#ffffff0a 71px 72px);transform:perspective(350px) rotateX(57deg);transform-origin:bottom}.last-call>p,.last-call-time{position:relative;z-index:2}.last-note{position:absolute!important;left:5vw;bottom:48px;max-width:310px;text-align:left;font:500 13px/1.5 'Outfit'!important;color:#997d77!important}.empty-lane{position:absolute;left:50%;bottom:9%;width:min(720px,80vw);height:90px;transform:translateX(-50%);display:flex;justify-content:space-around;align-items:end}.empty-lane i{width:70px;height:22px;border:1px solid #6b252033;border-radius:50%;box-shadow:0 0 35px #ff3b2717}.last-call-time strong{text-shadow:0 0 4px #ffcab9,0 0 24px #ff3b27,0 0 80px #ff3b276f}
@keyframes signal{50%{opacity:.28;box-shadow:0 0 3px currentColor}}@keyframes stall-arrive{from{opacity:.42;filter:blur(3px) brightness(.65);transform:translateY(22px)}}@keyframes note-arrive{from{opacity:.45;filter:blur(2px);translate:0 18px}}

@media(max-width:900px){
  .market-header .header-nav{display:flex;gap:18px}.clock-dock{grid-template-columns:1fr auto;min-height:164px}.closing-ledger{grid-template-columns:repeat(6,1fr)}.closing-ledger span{display:grid;justify-items:center;gap:2px;padding:5px 2px}.closing-ledger b{display:none}.lane-intro{align-items:center}.lane-intro strong{margin-left:auto}.neon-mount,.neon-sign{height:205px;min-height:205px}.stall{padding-top:74px}.field-notes{grid-template-columns:1fr}.queue-whisper{grid-column:1}.hero-aside{display:none}
}
@media(max-width:600px){
  .market-header{height:66px}.market-header .header-nav{display:flex;position:absolute;left:0;right:0;top:66px;height:44px;align-items:center;justify-content:center;gap:0;border-bottom:1px solid #ffffff20;background:#0b0406e8;backdrop-filter:blur(12px)}.header-nav a{min-height:44px;display:flex;align-items:center;padding:0 15px!important;font-size:9px!important}.sound-toggle{min-width:92px}.hero{min-height:800px;padding-top:154px}.lanterns{top:108px;padding:0 11vw}.lanterns i{width:35px;height:54px}.hero:before{inset-top:110px}.hero h1{font-size:clamp(52px,16.4vw,64px)}.hero-bottom{margin-top:70px}.hero-aside{display:none}.hero-signal{display:none}.clock-dock{min-height:154px;padding:7px 15px 5px}.clock-copy h2{font-size:17px}.clock-face output{font-size:32px}.clock-face{padding:4px 8px}.clock-control{grid-column:1/-1}.closing-ledger{gap:0;margin-inline:-15px}.closing-ledger span{font-size:6px;letter-spacing:.03em}.lane-intro{display:grid;grid-template-columns:1fr auto;padding-top:72px}.lane-intro p{grid-column:1/-1}.lane-intro:before{left:20px;top:30px;font-size:34px}.lane-intro strong{font-size:7px}.market-lane:before{left:16px}.stall{padding-top:58px}.stall:before{left:20px;right:0;top:23px;height:18px}.stall-number{top:48px}.neon-mount{min-height:168px;height:168px;margin-bottom:10px}.neon-sign{height:168px}.neon-text{font-size:102px;stroke-width:2.8}.stall-grid:before{display:none}.stall:nth-child(3n+2) .ticket,.stall:nth-child(3n) .ticket,.stall:nth-child(3n+2) .stall-grid.flip .ticket{transform:rotate(.5deg)}.ticket:after{right:12px}.field-notes{padding-top:95px}.notes-grid{grid-template-columns:1fr;gap:18px;padding-left:24px}.notes-grid:before{left:0;top:0;bottom:0;transform:none}.notes-grid article,.notes-grid article:nth-child(even){min-height:0;padding:24px 0 30px;transform:none}.notes-grid article:nth-child(even).reveal-ready,.notes-grid article:nth-child(even).revealed{transform:none}.notes-grid article>b{font-size:50px}.queue-whisper{margin-top:28px;padding-left:22px;font-size:19px}.last-call{min-height:620px;gap:42px}.last-note{left:20px;right:20px;bottom:32px;text-align:center}.last-call-time strong{font-size:70px}.empty-lane{bottom:16%;height:60px}.empty-lane i{width:34px}
}
@media(prefers-reduced-motion:reduce){.hero-signal i,.closing-ledger .is-next i,.reveal-ready.revealed .neon-mount,.reveal-ready.revealed .stall-grid,.notes-grid article.revealed{animation:none}.reveal-ready .neon-mount,.reveal-ready .stall-grid,.notes-grid article.reveal-ready{opacity:1;transform:none}.market-header nav a:after{transition:none}}

/* Pass 3 — rain wakes the wet tile. */
:root{color-scheme:dark}
html{scroll-padding-top:170px;scrollbar-color:#ff4c33 #090406;scrollbar-width:thin}
body{font-optical-sizing:auto;-webkit-tap-highlight-color:#20f2d22b}
body::-webkit-scrollbar{width:11px}
body::-webkit-scrollbar-track{background:#090406}
body::-webkit-scrollbar-thumb{border:3px solid #090406;border-radius:20px;background:linear-gradient(#ff7a18,#ff3b27)}
::selection{color:#160507;background:#20f2d2;text-shadow:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
h1,h2,h3{text-wrap:balance}
p,li,dd{overflow-wrap:break-word;text-wrap:pretty}
.clock-face output,.clock-ticks,.closing-ledger,.open-hours,.ticket li strong,.fold-count b,.last-call-time i{font-variant-numeric:tabular-nums lining-nums}
.hero>.eyebrow{animation-delay:.08s}
.hero h1{animation-delay:.18s}
.hero-stamp{animation-delay:.31s}
.hero-bottom{animation-delay:.42s}
.crawl-cue{animation-delay:.58s}
.market-header a,.guide-back,footer a,.rain-trigger{transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}
.brand:hover,.brand:focus-visible{color:#fff;filter:drop-shadow(0 0 12px #ff3b2766)}
.crawl-cue:hover,.crawl-cue:focus-visible{color:var(--cyan);transform:translateY(2px)}
footer a:hover,footer a:focus-visible{color:var(--cyan);text-decoration-thickness:2px}
.lane-instruments{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.rain-trigger{min-height:44px;padding:0 15px;border:1px solid #20f2d266;background:#0d1010;color:#bffaf0;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;cursor:pointer;white-space:nowrap;box-shadow:0 0 0 1px #000 inset,0 0 22px #20f2d20e}
.rain-trigger span{display:inline-block;margin-right:8px;color:var(--cyan);font-size:18px;line-height:0;transform:rotate(-12deg)}
.rain-trigger:hover,.rain-trigger:focus-visible,.rain-trigger.is-raining{border-color:var(--cyan);background:#12312d;color:#fff;box-shadow:0 0 26px #20f2d233,0 0 0 1px #20f2d229 inset;transform:translateY(-2px)}
.market-lane{--rain-shift:-8%;}
.rain-curtain{position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none;opacity:0;mix-blend-mode:screen}
.rain-curtain:before{content:"";position:absolute;inset:-5% -12%;background:repeating-linear-gradient(104deg,transparent 0 17px,#e9ffff24 18px,#e9ffff00 19px 31px),linear-gradient(90deg,transparent,#20f2d218 48%,#fff8de24 51%,transparent 63%);transform:translate3d(-18%,-8%,0)}
.rain-curtain:after{content:"RAIN PASS / TILE REMEMBERS LIGHT";position:absolute;left:50%;top:20px;padding:7px 12px;border:1px solid #20f2d25c;background:#07100fdb;color:#bffaf0;font-size:8px;font-weight:800;letter-spacing:.22em;white-space:nowrap;transform:translateX(-50%)}
.market-lane.rain-wake .rain-curtain{animation:rain-visibility 4.5s ease both}
.market-lane.rain-wake .rain-curtain:before{animation:rain-cross 4.5s cubic-bezier(.16,.72,.22,1) both}
.market-lane.rain-wake .stall .neon-sign{animation:rain-surge .72s cubic-bezier(.16,1,.3,1) calc(var(--stall-index,0) * .15s) 2 alternate}
.market-lane.rain-wake .stall{box-shadow:inset 0 0 80px color-mix(in srgb,var(--neon) 12%,transparent)}
.stall:nth-of-type(1){--stall-index:0}.stall:nth-of-type(2){--stall-index:1}.stall:nth-of-type(3){--stall-index:2}.stall:nth-of-type(4){--stall-index:3}.stall:nth-of-type(5){--stall-index:4}.stall:nth-of-type(6){--stall-index:5}
.ticket{transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,filter .38s ease}
.stall:not(.closed):hover .ticket{filter:brightness(1.035);box-shadow:0 34px 95px #000d,0 0 72px color-mix(in srgb,var(--neon) 22%,transparent)}
.stall:not(.closed):hover .neon-reflection{opacity:.62}
@keyframes rain-visibility{0%,100%{opacity:0}8%,84%{opacity:.82}}
@keyframes rain-cross{0%{transform:translate3d(-18%,-8%,0)}100%{transform:translate3d(20%,8%,0)}}
@keyframes rain-surge{0%{opacity:.42;filter:brightness(.72)}100%{opacity:1;filter:brightness(1.68)}}
@media(max-width:900px){.lane-intro{display:grid;grid-template-columns:1fr auto}.lane-intro p{grid-column:1/-1;grid-row:2}.lane-instruments{grid-column:2;grid-row:1;flex-direction:column;align-items:end;gap:8px}.rain-trigger{padding-inline:11px}.rain-curtain:after{top:10px}}
@media(max-width:600px){html{scroll-padding-top:154px}.lane-intro{grid-template-columns:1fr}.lane-instruments{grid-column:1;grid-row:auto;align-items:stretch;margin-top:14px}.lane-instruments strong{text-align:left}.rain-trigger{width:100%;justify-content:center}.rain-curtain:after{font-size:6px;letter-spacing:.12em}.stall:not(.closed):hover .ticket{filter:none}}
@media(prefers-reduced-motion:reduce){.market-header a,.guide-back,footer a,.rain-trigger,.ticket{transition:none}.market-lane.rain-wake .rain-curtain{animation:none;opacity:.32}.market-lane.rain-wake .rain-curtain:before,.market-lane.rain-wake .stall .neon-sign{animation:none}.market-lane.rain-wake .stall{box-shadow:inset 0 0 45px color-mix(in srgb,var(--neon) 10%,transparent)}}
