:root {
  --night:#0b1210;
  --iron:#111915;
  --iron-2:#1a2621;
  --fog:#789084;
  --fog-pale:#b7c7bc;
  --paper:#d4d0b8;
  --gold:#e7b34d;
  --gold-hot:#ffd87b;
  --blue:#78d6e7;
  --oak:#8e633c;
  --display:'IM Fell English', serif;
  --mono:'IBM Plex Mono', monospace;
  --pad:clamp(1.25rem,4vw,4.8rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;overflow-x:hidden;background:var(--night);color:var(--paper);font-family:var(--display);font-size:18px;line-height:1.55}
a{color:inherit}
button,input{font:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:.8rem 1rem;background:var(--gold-hot);color:var(--night);transform:translateY(-150%)}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.grain{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.cursor-pole{position:fixed;left:0;top:0;width:2px;height:110px;background:linear-gradient(var(--oak),#332215);z-index:1100;pointer-events:none;transform:translate(-50%,-100%) rotate(12deg);transform-origin:bottom;opacity:0;transition:opacity .2s}
.cursor-pole::before{content:"";position:absolute;left:-6px;top:-9px;width:14px;height:14px;border:2px solid #b68a51;border-bottom-color:transparent;border-radius:50%;transform:rotate(-25deg)}
.cursor-pole span{position:absolute;left:-4px;top:-7px;width:10px;height:15px;border-radius:60% 40% 60% 40%;background:var(--blue);filter:drop-shadow(0 0 8px var(--gold-hot));animation:flicker .5s infinite alternate}
body.has-pointer .cursor-pole{opacity:1}
.site-header{position:absolute;inset:0 0 auto;z-index:20;height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(183,199,188,.22);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.seal{display:flex;align-items:center;gap:.6rem;text-decoration:none;min-height:44px}.seal svg{width:32px;fill:none;stroke:var(--fog-pale);stroke-width:1.5}.seal svg path:nth-child(2){fill:var(--blue);stroke:none}
.header-mark{display:flex;align-items:center;gap:1rem;color:var(--fog-pale)}.header-mark i{width:70px;height:1px;background:currentColor;opacity:.35}
.round-link{min-height:44px;display:flex;align-items:center;gap:.7rem;text-decoration:none;border-bottom:1px solid var(--gold);color:var(--gold-hot)}
.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#24352f 0%,#14211d 62%,#0b1210 100%)}
#fogCanvas,.hero-sky{position:absolute;inset:0;width:100%;height:100%}
#fogCanvas{z-index:-1;opacity:.56}.hero-sky{z-index:-2;background:radial-gradient(ellipse at 24% 34%,rgba(170,190,175,.2),transparent 38%),linear-gradient(110deg,transparent 0 58%,rgba(3,8,7,.38) 58% 100%)}
.hero::before{content:"";position:absolute;inset:58% -10% -5%;z-index:-1;background:repeating-linear-gradient(92deg,transparent 0 12%,rgba(0,0,0,.22) 12.2% 12.7%),linear-gradient(170deg,transparent 0 14%,rgba(5,10,8,.92) 14.2% 100%);clip-path:polygon(0 18%,100% 0,100% 100%,0 100%)}
.hero-copy{position:absolute;left:var(--pad);top:clamp(9rem,19vh,13rem);z-index:3}.kicker,.index{margin:0 0 1.4rem;font-family:var(--mono);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-hot)}
.hero h1{margin:0;font-size:clamp(6rem,17vw,16rem);line-height:.62;font-weight:400;letter-spacing:-.065em;text-shadow:0 16px 50px rgba(0,0,0,.32)}.hero h1 span{display:block}.hero h1 span:last-child{margin-left:clamp(2rem,14vw,12rem);color:var(--gold-hot)}
.hero-deck{display:flex;justify-content:space-between;width:min(48rem,70vw);margin-top:3.5rem;padding-top:1rem;border-top:1px solid rgba(212,208,184,.42);font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--fog-pale)}.hero-deck p{margin:0}
.hero-lamp{position:absolute;right:10vw;bottom:-12vh;width:250px;height:78vh;z-index:2}.lamp-crown{position:absolute;top:0;left:70px;width:118px;height:25px;border:4px solid #0a0f0d;border-radius:50% 50% 0 0}.lamp-box{position:absolute;top:18px;left:76px;width:105px;height:150px;background:rgba(163,183,165,.06);border:10px solid #0a0f0d;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.lamp-box::after{content:"";position:absolute;inset:-10px 42px;background:#0a0f0d}.flame{position:absolute;left:35px;bottom:18px;width:20px;height:48px;background:radial-gradient(ellipse at 50% 60%,var(--blue) 0 18%,var(--gold-hot) 23% 48%,rgba(231,179,77,.2) 55% 100%);border-radius:58% 42% 55% 45% / 70% 70% 30% 30%;filter:drop-shadow(0 0 24px var(--gold))}.lamp-arm{position:absolute;top:162px;left:50px;width:155px;height:22px;border:8px solid #0a0f0d;border-top:0;border-radius:0 0 50% 50%}.lamp-post{position:absolute;top:177px;left:117px;width:24px;height:calc(100% - 177px);background:linear-gradient(90deg,#080c0b,#27342e 45%,#080c0b);clip-path:polygon(30% 0,70% 0,58% 100%,42% 100%)}.lit::after{content:"";position:absolute;top:-10%;left:-15%;width:140%;height:55%;z-index:-1;background:radial-gradient(circle,rgba(255,216,123,.23),rgba(231,179,77,.07) 45%,transparent 70%);filter:blur(4px)}
.hero-quote{position:absolute;right:var(--pad);bottom:3rem;z-index:4;width:min(30rem,38vw);padding-left:1.2rem;border-left:1px solid var(--gold);font-size:clamp(1.05rem,1.6vw,1.5rem);font-style:italic}.hero-quote span,.hero-quote small{display:block}.hero-quote small{margin-top:.7rem;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-pale)}
.scroll-cue{position:absolute;left:var(--pad);bottom:2rem;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog-pale)}.scroll-cue span{display:inline-block;width:42px;height:1px;margin-right:10px;vertical-align:middle;background:var(--gold);animation:breathe 2s ease-in-out infinite}
.reveal{opacity:0;transform:translateY(22px);animation:arrive .9s cubic-bezier(.2,.7,.2,1) forwards}.hero h1{animation-delay:.12s}.hero-deck{animation-delay:.3s}.hero-quote{animation-delay:.5s}
.round-section{padding:clamp(6rem,12vw,11rem) var(--pad);background:linear-gradient(180deg,#0b1210,#111d18 55%,#0c1411)}
.section-intro{display:grid;grid-template-columns:minmax(9rem,.5fr) 1.5fr;gap:4vw;max-width:1160px;margin:0 auto 7rem}.section-intro h2,.ordinance h2,.tools-section h2,.mantle-section h2,.knocker h2,.last-round h2{margin:0;font-weight:400;font-size:clamp(3.8rem,8vw,8rem);line-height:.86;letter-spacing:-.045em}.section-intro>div>p,.ordinance-head>p,.mantle-copy>p,.knocker-copy>p,.last-copy>p{max-width:39rem;color:var(--fog-pale)}
.lamp-route{position:relative;max-width:1400px;margin:0 auto 5rem;min-height:540px;padding:3rem 2rem 1rem;overflow:hidden;background:linear-gradient(180deg,#18251f,#0b1210 88%);border:1px solid rgba(183,199,188,.18);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.lamp-route::before{content:"ASHDOWN ROW · WEST TO EAST";position:absolute;left:1.2rem;top:1rem;font:9px var(--mono);letter-spacing:.18em;color:var(--fog)}
.route-fog{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(160,181,167,.17),transparent 32%),radial-gradient(ellipse at 80% 25%,rgba(160,181,167,.1),transparent 28%),linear-gradient(171deg,transparent 55%,rgba(0,0,0,.52) 55.3%);pointer-events:none}
.lamp-route ol{position:absolute;inset:3rem 2.5rem 3.2rem;display:flex;align-items:flex-end;gap:0;list-style:none;margin:0;padding:0;transform:perspective(800px) rotateX(2deg)}
.lamp-route li{flex:1;height:calc(72% + var(--step)*2%);min-width:0}
.route-lamp{position:relative;width:100%;height:100%;min-width:44px;padding:0;border:0;background:transparent;color:var(--fog-pale);cursor:pointer}
.lantern{position:absolute;top:0;left:50%;width:44px;height:64px;transform:translateX(-50%);border:5px solid #080d0b;clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);background:rgba(120,144,132,.07);transition:background .4s,filter .4s}.lantern::before{content:"";position:absolute;inset:-5px 16px;background:#080d0b}.wick{position:absolute;left:15px;bottom:8px;width:8px;height:20px;border-radius:60% 40% 55% 45%;background:#2b3a33;transition:.35s}.iron{position:absolute;top:62px;bottom:29px;left:calc(50% - 4px);width:8px;background:linear-gradient(90deg,#050806,#2b3932,#050806);clip-path:polygon(20% 0,80% 0,62% 100%,38% 100%)}.street{position:absolute;bottom:0;left:50%;width:100px;transform:translateX(-50%) rotate(-4deg);font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7e9187;transition:color .3s}.lamp-no{position:absolute;top:-25px;left:50%;transform:translateX(-50%);font:8px var(--mono);color:#6f8379}
.route-lamp:hover .lantern,.route-lamp:focus-visible .lantern,.route-lamp.is-lit .lantern{background:rgba(255,216,123,.35);filter:drop-shadow(0 0 9px var(--gold)) drop-shadow(0 0 28px rgba(231,179,77,.55))}.route-lamp:hover .wick,.route-lamp:focus-visible .wick,.route-lamp.is-lit .wick{background:radial-gradient(ellipse at 50% 70%,var(--blue) 0 25%,var(--gold-hot) 30% 70%,transparent 72%);filter:drop-shadow(0 0 7px var(--gold-hot));animation:flicker .6s infinite alternate}.route-lamp.is-lit .street{color:var(--gold-hot)}
.route-status{position:absolute;right:1.2rem;top:1rem;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hot)}
.ledger{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(183,199,188,.22);border-left:1px solid rgba(183,199,188,.22)}
.route-record{position:relative;min-height:290px;padding:2.2rem;border-right:1px solid rgba(183,199,188,.22);border-bottom:1px solid rgba(183,199,188,.22);background:#0c1511;transition:background .6s,box-shadow .6s}.route-record:nth-child(even){transform:translateY(1.5rem)}.record-no,.tool-code{margin:0 0 1.5rem;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fog)}.route-record h3,.tool h3,.clauses h3{margin:0 0 .8rem;font-weight:400;font-size:1.7rem;line-height:1.05}.record-body{margin:0;color:#687b71;filter:blur(4px);user-select:none;transition:.5s}.record-lock{position:absolute;right:1rem;top:1rem;font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#718379}.route-record.unlocked{background:linear-gradient(140deg,rgba(231,179,77,.11),#101914 55%);box-shadow:inset 0 0 45px rgba(231,179,77,.04)}.route-record.unlocked .record-body{color:var(--fog-pale);filter:none;user-select:auto}.route-record.unlocked .record-lock{color:var(--gold-hot)}.final-record{grid-column:2/4}.final-record.unlocked{background:radial-gradient(circle at 15% 20%,rgba(231,179,77,.18),#101914 60%)}
.ordinance{position:relative;display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(2rem,7vw,9rem);padding:clamp(7rem,12vw,12rem) var(--pad);background:var(--paper);color:var(--iron);overflow:hidden}.ordinance::before{content:"ORDINANCE";position:absolute;left:-.03em;bottom:-.25em;font:clamp(7rem,20vw,20rem)/1 var(--display);color:rgba(17,25,21,.045);letter-spacing:-.05em}.ordinance .index{color:#6b552e}.ordinance-head{position:sticky;top:4rem;align-self:start}.ordinance-head>p{color:#44514a}.clauses{position:relative;border-top:2px solid var(--iron)}.clauses article{display:grid;grid-template-columns:60px 1fr;gap:0 1rem;padding:2.5rem 0;border-bottom:1px solid rgba(17,25,21,.25)}.clauses article>span{grid-row:1/3;font:12px var(--mono);color:#735a2c}.clauses h3{font-size:2rem}.clauses p{margin:.3rem 0 0;color:#34413a}.wax-seal{width:130px;height:130px;margin:3rem 2rem 0 auto;display:grid;place-content:center;text-align:center;border:4px double #6f2d25;border-radius:50%;color:#6f2d25;transform:rotate(-9deg);box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 8px #6f2d25}.wax-seal span{font-size:2.7rem;line-height:.8}.wax-seal small{font:8px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.tools-section{padding:clamp(7rem,12vw,11rem) var(--pad);background:#13201b}.section-intro.compact{margin-bottom:5rem}.tool-bench{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr .9fr .9fr;align-items:end;gap:1px;background:rgba(183,199,188,.18);border:1px solid rgba(183,199,188,.18)}.tool{padding:2.5rem;background:#101a16}.tool-drawing{height:320px;margin-bottom:2rem;position:relative}.pole-drawing i{position:absolute;width:12px;height:310px;left:48%;top:0;background:linear-gradient(90deg,#52371f,#ac7a45,#3b2818);transform:rotate(28deg);border-radius:8px}.pole-drawing .hook{position:absolute;left:68%;top:-2%;width:70px;height:85px;border:8px solid #a77b48;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(12deg)}.ladder-drawing{margin-inline:auto;width:190px;transform:perspective(500px) rotateY(-8deg)}.ladder-drawing::before,.ladder-drawing::after{content:"";position:absolute;top:0;width:18px;height:310px;background:linear-gradient(90deg,#50331d,#9a6c40,#3a2415)}.ladder-drawing::after{right:0}.ladder-drawing i{position:absolute;left:10px;right:10px;height:13px;background:#815936;top:calc(var(--r,1)*60px)}.ladder-drawing i:nth-child(1){--r:1}.ladder-drawing i:nth-child(2){--r:2}.ladder-drawing i:nth-child(3){--r:3}.ladder-drawing i:nth-child(4){--r:4}.ladder-drawing i:nth-child(5){--r:5}.key-drawing::before{content:"";position:absolute;left:50%;top:45px;width:110px;height:110px;border:18px solid #a67d48;border-radius:50%;transform:translateX(-50%);box-shadow:inset 0 0 0 5px #2d2318}.key-drawing::after{content:"";position:absolute;left:calc(50% - 9px);top:150px;width:18px;height:150px;background:#a67d48}.key-drawing i{position:absolute;left:50%;top:270px;width:80px;height:24px;background:#a67d48}.tool p:last-child{color:var(--fog-pale)}
.mantle-section{min-height:850px;display:grid;grid-template-columns:1fr 1fr;background:#09100e}.mantle-copy{padding:clamp(6rem,10vw,10rem) var(--pad);align-self:center}.mantle-copy h2{font-size:clamp(3.5rem,6.5vw,7rem)}.mantle-copy label{display:flex;justify-content:space-between;max-width:540px;margin:3rem 0 .8rem;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hot)}input[type=range]{appearance:none;width:min(100%,540px);height:2px;background:linear-gradient(90deg,#b16a32,var(--blue));accent-color:var(--blue)}input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border:6px solid var(--night);border-radius:50%;background:var(--gold-hot);box-shadow:0 0 0 1px var(--gold-hot)}.spectrum{width:min(100%,540px);display:flex;justify-content:space-between;margin-top:.7rem;font:8px var(--mono);text-transform:uppercase;color:var(--fog)}.flame-theatre{position:relative;overflow:hidden;min-height:700px;display:grid;place-items:center;background:radial-gradient(circle at 50% 52%,rgba(231,179,77,calc(var(--air)*.16)),transparent 40%),#0d1713}.light-field{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,216,123,calc(var(--air)*.22)),rgba(231,179,77,.04) 40%,transparent 68%);filter:blur(15px)}.mantle-wire{position:absolute;top:17%;left:50%;width:180px;height:360px;transform:translateX(-50%);border:2px dashed rgba(212,208,184,.45);border-radius:45% 45% 35% 35% / 20% 20% 70% 70%;filter:drop-shadow(0 0 calc(var(--air)*12px) rgba(255,216,123,.8))}.outer-flame{position:relative;width:180px;height:370px;background:radial-gradient(ellipse at 50% 60%,rgba(255,250,211,.84) 0 12%,rgba(255,216,123,calc(.4 + var(--air)*.45)) 35%,rgba(231,179,77,.18) 58%,transparent 72%);border-radius:48% 52% 45% 55%/68% 70% 30% 32%;filter:drop-shadow(0 0 38px rgba(231,179,77,.55));transform:scale(calc(.8 + var(--air)*.25));transition:.2s}.blue-heart{position:absolute;left:50%;bottom:25%;width:54px;height:125px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 65%,white 0 4%,var(--blue) 18%,rgba(37,124,174,.68) 48%,transparent 69%);border-radius:60% 40% 58% 42%/75% 75% 25% 25%;filter:drop-shadow(0 0 10px var(--blue))}.flame-label{position:absolute;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fog-pale)}.flame-label::before{content:"";position:absolute;width:90px;height:1px;top:12px;background:currentColor;opacity:.4}.blue-label{left:7%;bottom:24%}.blue-label::before{left:110%;transform:rotate(-8deg);transform-origin:left}.gold-label{right:5%;top:20%;text-align:right}.gold-label::before{right:110%;transform:rotate(12deg);transform-origin:right}
.knocker{position:relative;display:grid;grid-template-columns:1.4fr .8fr;min-height:780px;background:#1d2c25;overflow:hidden}.facade{position:relative;background:linear-gradient(90deg,rgba(0,0,0,.28) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.2) 1px,transparent 1px),#2a3c33;background-size:90px 45px}.facade::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 50%,rgba(0,0,0,.4))}.window{position:absolute;width:130px;height:190px;border:14px solid #101814;background:#101814;box-shadow:0 20px 40px rgba(0,0,0,.4)}.window::before,.window::after{content:"";position:absolute;background:#29362f}.window::before{left:50%;top:0;bottom:0;width:7px}.window::after{top:50%;left:0;right:0;height:7px}.window i{position:absolute;inset:12px;background:radial-gradient(circle at 50% 75%,rgba(231,179,77,.5),rgba(231,179,77,.1) 45%,transparent 65%);opacity:.25}.w1{left:12%;top:18%}.w2{left:43%;top:40%}.w3{right:10%;top:10%}.pea-path{position:absolute;right:13%;bottom:12%;width:70%;height:60%;border-top:1px dashed rgba(212,208,184,.35);border-radius:50%;transform:rotate(-28deg)}.pea-path span{position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#adc35e;box-shadow:0 0 10px #d9ef83;animation:pea 3.5s ease-in-out infinite}.knocker-copy{position:relative;z-index:2;align-self:center;padding:5rem var(--pad) 5rem 3rem}.knocker-copy h2{font-size:clamp(4rem,6vw,7rem)}blockquote{margin:2rem 0;font-size:clamp(1.5rem,2.2vw,2.4rem);line-height:1.15;font-style:italic;color:var(--gold-hot)}.caption{font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.last-round{position:relative;min-height:1000px;display:grid;grid-template-columns:.8fr 1.2fr;overflow:hidden;background:linear-gradient(180deg,#111b17,#060b09)}.last-light{position:relative;min-height:800px}.memorial-lantern{position:absolute;left:50%;top:20%;width:160px;height:220px;transform:translateX(-50%);border:14px solid #050806;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);background:rgba(255,216,123,.08)}.memorial-lantern::before{content:"";position:absolute;inset:-14px 60px;background:#050806}.memorial-lantern i{position:absolute;left:50%;bottom:25px;width:30px;height:80px;transform:translateX(-50%);border-radius:60% 40% 55% 45%;background:radial-gradient(ellipse at 50% 70%,var(--blue) 0 20%,white 24%,var(--gold-hot) 35%,rgba(231,179,77,.22) 65%,transparent 70%);filter:drop-shadow(0 0 18px var(--gold-hot));animation:flicker .8s infinite alternate}.memorial-post{position:absolute;left:calc(50% - 14px);top:calc(20% + 210px);width:28px;height:65%;background:linear-gradient(90deg,#030504,#29362f 50%,#030504);clip-path:polygon(30% 0,70% 0,60% 100%,40% 100%)}.memorial-glow{position:absolute;left:50%;top:0;width:130%;aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(circle,rgba(231,179,77,.19),rgba(231,179,77,.035) 38%,transparent 68%)}.last-copy{position:relative;z-index:2;align-self:center;padding:8rem var(--pad) 8rem 2rem;max-width:760px}.last-copy .lead{font-size:1.5rem;color:var(--paper)}.changeover{margin:3.5rem 0;border-top:1px solid rgba(183,199,188,.22)}.changeover p{display:grid;grid-template-columns:70px 1fr;margin:0;padding:1.2rem 0;border-bottom:1px solid rgba(183,199,188,.22);color:var(--fog-pale)}.changeover span{font:10px var(--mono);color:var(--gold-hot)}
.site-footer{position:relative;padding:7rem var(--pad) 4rem;text-align:center;background:#050907;border-top:1px solid rgba(183,199,188,.15);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fog)}.site-footer nav{display:flex;justify-content:center;gap:2rem;margin:2rem 0}.site-footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--paper);border-bottom:1px solid transparent}.site-footer a:hover{border-color:var(--gold);color:var(--gold-hot)}.footer-note{max-width:620px;margin:3rem auto 0;color:#64766d}.footer-flame{width:22px;height:55px;margin:0 auto 2rem;border-radius:55% 45% 55% 45%;background:radial-gradient(ellipse,var(--blue),var(--gold-hot) 45%,transparent 70%);filter:drop-shadow(0 0 15px var(--gold))}
@keyframes arrive{to{opacity:1;transform:none}}@keyframes flicker{to{transform:scale(.94) rotate(2deg);filter:drop-shadow(0 0 10px var(--gold-hot))}}@keyframes breathe{50%{width:70px;opacity:.35}}@keyframes pea{0%{transform:translate(0,0);opacity:0}10%{opacity:1}85%{transform:translate(620px,-220px);opacity:1}100%{transform:translate(640px,-230px);opacity:0}}

/* Guide */
.guide-page{background:linear-gradient(180deg,#17251f,#0b1210 34rem)}.guide-hero{min-height:62vh;padding:11rem var(--pad) 6rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(183,199,188,.18)}.guide-hero::after{content:"";position:absolute;right:8vw;top:5rem;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--gold-hot) 0 1%,rgba(231,179,77,.18) 4%,rgba(231,179,77,.04) 30%,transparent 67%)}.guide-hero h1{position:relative;z-index:1;max-width:900px;margin:0;font-size:clamp(4.7rem,11vw,11rem);font-weight:400;line-height:.78;letter-spacing:-.05em}.guide-hero h1 i{display:block;margin-left:14vw;color:var(--gold-hot);font-weight:400}.guide-hero p{max-width:540px;margin:3rem 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--fog-pale)}.guide-article{max-width:1120px;margin:auto;padding:7rem var(--pad);counter-reset:section}.guide-block{display:grid;grid-template-columns:260px 1fr;gap:clamp(2rem,7vw,7rem);padding:4rem 0;border-top:1px solid rgba(183,199,188,.2)}.guide-block h2{margin:0;font-weight:400;font-size:2.4rem;color:var(--gold-hot)}.guide-block p{margin:0 0 1.2rem;color:var(--fog-pale)}.guide-block code{font-family:var(--mono);font-size:.8em;color:var(--blue)}.token-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:2rem 0;background:rgba(183,199,188,.2)}.token{min-height:110px;padding:1rem;background:var(--night);font:9px var(--mono);text-transform:uppercase}.token::before{content:"";display:block;height:45px;margin-bottom:.7rem;background:var(--swatch)}.reproduce{padding:2rem;border:1px solid rgba(231,179,77,.35);background:rgba(231,179,77,.05);font-family:var(--mono);font-size:.82rem}
@media (max-width:900px){
  .header-mark{display:none}.hero h1{font-size:clamp(6rem,20vw,11rem)}.hero-lamp{right:-3rem;opacity:.75}.section-intro{grid-template-columns:1fr;margin-bottom:4rem}.lamp-route{min-height:500px;margin-inline:calc(var(--pad)*-1);border-inline:0}.lamp-route ol{overflow-x:auto;inset:3rem 1rem 3rem;padding-right:2rem;gap:1rem;scrollbar-width:thin}.lamp-route li{flex:0 0 90px;height:90%}.ledger{grid-template-columns:1fr 1fr}.final-record{grid-column:1/3}.ordinance{grid-template-columns:1fr}.ordinance-head{position:static}.tool-bench{grid-template-columns:1fr 1fr}.tool:first-child{grid-column:1/3}.mantle-section{grid-template-columns:1fr}.flame-theatre{min-height:650px}.knocker{grid-template-columns:1.1fr 1fr}.last-round{grid-template-columns:.65fr 1.35fr}.guide-block{grid-template-columns:180px 1fr}
}
@media (max-width:600px){
  body{font-size:17px}.site-header{height:72px}.seal span{display:none}.round-link{font-size:9px}.hero-copy{top:9.5rem}.hero h1{font-size:29vw;line-height:.68}.hero h1 span:last-child{margin-left:1rem}.hero-deck{width:86vw;margin-top:2.4rem;display:block}.hero-deck p+ p{margin-top:.5rem}.hero-lamp{width:140px;height:48vh;right:-25px;bottom:0}.lamp-crown{left:35px;width:80px}.lamp-box{left:39px;width:72px;height:100px}.lamp-box::after{inset:-10px 26px}.flame{left:20px;bottom:9px}.lamp-arm{top:108px;left:20px;width:110px}.lamp-post{top:120px;left:67px;width:18px;height:calc(100% - 120px)}.hero-quote{right:auto;left:var(--pad);bottom:4.5rem;width:70vw;font-size:1rem}.scroll-cue{display:none}.section-intro h2,.ordinance h2,.tools-section h2,.mantle-section h2,.knocker h2,.last-round h2{font-size:3.6rem}.round-section{padding-top:6rem}.lamp-route{min-height:440px}.lamp-route li{height:86%}.route-status{top:auto;bottom:.8rem}.ledger{grid-template-columns:1fr;border-left:0}.route-record,.route-record:nth-child(even){min-height:245px;transform:none;border-left:1px solid rgba(183,199,188,.22)}.final-record{grid-column:auto}.ordinance{padding-block:6rem}.clauses article{grid-template-columns:42px 1fr}.tools-section{padding-block:6rem}.tool-bench{display:block}.tool:first-child{grid-column:auto}.tool{border-bottom:1px solid rgba(183,199,188,.18)}.tool-drawing{height:230px}.pole-drawing i{height:225px}.ladder-drawing{height:220px}.ladder-drawing::before,.ladder-drawing::after{height:220px}.ladder-drawing i{top:calc(var(--r)*40px)}.key-drawing::before{top:15px}.key-drawing::after{top:120px;height:100px}.key-drawing i{top:210px}.mantle-copy{padding-block:6rem}.flame-theatre{min-height:560px}.mantle-wire{width:130px;height:280px}.outer-flame{width:140px;height:290px}.flame-label{font-size:7px}.flame-label::before{width:35px}.knocker{display:block;min-height:1000px}.facade{height:500px}.window{width:92px;height:138px;border-width:10px}.knocker-copy{padding:4rem var(--pad)}.pea-path span{animation-name:none}.last-round{display:block}.last-light{min-height:600px}.last-copy{padding:0 var(--pad) 7rem}.site-footer nav{flex-direction:column;align-items:center;gap:.4rem}.guide-hero{min-height:70vh;padding-top:9rem}.guide-hero h1{font-size:20vw}.guide-article{padding-block:4rem}.guide-block{display:block;padding:3rem 0}.guide-block h2{margin-bottom:1.5rem}.token-grid{grid-template-columns:1fr 1fr}
}
@media (pointer:coarse){.cursor-pole{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;animation:none}.cursor-pole{display:none}.flame,.wick,.memorial-lantern i,.scroll-cue span,.pea-path span{animation:none!important}}

/* Pass 1 refinements */
.skip-link{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip-link:focus{clip-path:none;width:auto;height:auto;overflow:visible}
.round-section{background:radial-gradient(circle at 50% 16%,rgba(231,179,77,calc(var(--round-light,0)*.13)),transparent 36%),linear-gradient(180deg,#0b1210,#111d18 55%,#0c1411);transition:background 1s}
.route-record .record-body{filter:none;color:#91a197;max-height:1.65em;overflow:hidden;mask-image:linear-gradient(90deg,#000 0 66%,transparent 96%)}
.route-record.unlocked .record-body{max-height:12rem;mask-image:none}
.facade{box-shadow:inset -120px 0 180px rgba(0,0,0,.28)}
.window i{opacity:.4;filter:drop-shadow(0 0 20px rgba(231,179,77,.28))}
.site-footer{padding-top:5.5rem;padding-bottom:3rem}
.site-footer::before{content:"";position:absolute;left:10%;right:10%;top:2.1rem;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px calc(12.5%));opacity:.32}
.guide-hero{min-height:54vh;padding-bottom:4.5rem}
.guide-hero>p{position:relative;z-index:2;margin:0 0 1.2rem}
.token{border:1px solid rgba(183,199,188,.14)}
.token:first-child::before{background:linear-gradient(135deg,#0b1210,#22312b);border:1px solid #40534a}

@media (max-width:900px){
  .guide-hero{min-height:56vh}
  .lamp-route::after{content:"DRAG THE STREET  →";position:absolute;left:1rem;bottom:.8rem;font:8px var(--mono);letter-spacing:.12em;color:var(--fog)}
}
@media (max-width:600px){
  .hero h1{font-size:27vw;letter-spacing:-.075em}
  .hero h1 span:last-child{margin-left:.55rem}
  .hero-lamp{right:0;transform:scale(.88);transform-origin:bottom right;opacity:.86}
  .hero-quote{width:74vw}
  .route-status{right:1rem}
  .route-record .record-body{mask-image:linear-gradient(90deg,#000 0 72%,transparent 100%)}
  .tool{padding:2rem}
  .tool-drawing{height:190px;margin-bottom:1.4rem}
  .pole-drawing i{height:185px}
  .ladder-drawing{height:185px;width:150px}
  .ladder-drawing::before,.ladder-drawing::after{height:185px}
  .ladder-drawing i{top:calc(var(--r)*33px)}
  .key-drawing::before{top:5px;width:85px;height:85px;border-width:14px}
  .key-drawing::after{top:86px;height:82px}
  .key-drawing i{top:160px;width:65px}
  .guide-hero{min-height:58vh;padding-top:8.5rem;padding-bottom:3.5rem}
  .guide-hero>p{margin-bottom:1.1rem;font-size:9px;line-height:1.5}
  .guide-hero h1{font-size:18.5vw;line-height:.82}
  .guide-hero h1 i{margin-top:.25rem}
  .site-footer{padding-top:4.8rem;padding-bottom:2.5rem}
}

/* Pass 2 — external critique: the street becomes the interface */
:root{
  --night:#070d0b;
  --iron:#0d1512;
  --iron-2:#17241f;
  --fog:#82998d;
  --fog-pale:#c2cec5;
  --paper:#d8d2b9;
  --gold:#d99b32;
  --gold-hot:#ffd477;
  --blue:#78dceb;
  --oak:#95663b;
}
body{
  background:
    radial-gradient(circle at 13% 12%,rgba(88,119,102,.09),transparent 28rem),
    linear-gradient(180deg,#0a1210,var(--night));
  color:#ddd9c3;
  font-size:19px;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
p{max-width:68ch;text-wrap:pretty}
.grain{opacity:.055;mix-blend-mode:soft-light}
.cursor-pole{height:136px;width:3px;box-shadow:0 0 0 1px rgba(13,21,18,.3)}
.cursor-pole span{top:-10px;height:20px;filter:drop-shadow(0 0 5px var(--blue)) drop-shadow(0 0 18px var(--gold-hot))}
.site-header{border-color:rgba(194,206,197,.18);backdrop-filter:blur(2px)}
.round-link{position:relative;border:0;padding-inline:.1rem;color:var(--gold-hot)}
.round-link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform-origin:left;transition:transform .35s ease}
.round-link:hover::after{transform:scaleX(.58)}

/* Hero: a whole street, not an isolated lamp */
.hero{
  --look-x:0px;
  --look-y:0px;
  min-height:max(760px,100svh);
  background:
    radial-gradient(ellipse at 17% 30%,rgba(175,198,183,.18),transparent 34%),
    linear-gradient(155deg,#30483d 0%,#182a23 42%,#0a1210 83%);
}
.hero-sky{background:linear-gradient(104deg,transparent 0 62%,rgba(3,8,6,.48) 62.2% 100%);transform:translate(var(--look-x),var(--look-y)) scale(1.03);transition:transform .5s ease-out}
.hero::before{
  inset:50% -4% -12%;
  background:
    linear-gradient(95deg,transparent 0 48%,rgba(143,162,151,.07) 48.2% 48.5%,transparent 48.7%),
    linear-gradient(168deg,transparent 0 17%,rgba(5,10,8,.96) 17.2% 100%);
  clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);
}
.hero::after{content:"";position:absolute;z-index:1;inset:54% 0 auto;height:26%;background:linear-gradient(180deg,rgba(174,195,181,.07),transparent 70%);filter:blur(12px);pointer-events:none}
.hero-street{position:absolute;inset:0;z-index:0;opacity:0;transform:translateY(24px);transition:opacity 1.3s .15s,transform 1.3s cubic-bezier(.19,.72,.22,1) .15s}
.page-ready .hero-street{opacity:1;transform:none}
.house-line{position:absolute;bottom:31%;height:29%;background:#09100d;filter:drop-shadow(0 -10px 30px rgba(0,0,0,.22))}
.house-line-left{left:-2%;width:43%;clip-path:polygon(0 24%,9% 24%,9% 12%,19% 12%,21% 28%,35% 28%,37% 6%,49% 6%,53% 30%,67% 30%,71% 17%,84% 17%,87% 32%,100% 32%,100% 100%,0 100%)}
.house-line-right{right:-2%;width:32%;height:25%;clip-path:polygon(0 36%,13% 36%,15% 9%,34% 9%,39% 35%,54% 35%,58% 18%,73% 18%,78% 37%,100% 37%,100% 100%,0 100%)}
.house-line i{position:absolute;width:4px;height:7px;background:rgba(217,155,50,.34);box-shadow:0 0 12px rgba(255,212,119,.22)}
.house-line i:nth-child(1){left:12%;top:45%}.house-line i:nth-child(2){left:33%;top:55%}.house-line i:nth-child(3){left:58%;top:38%}.house-line i:nth-child(4){left:82%;top:50%}
.distant-round{position:absolute;left:42%;right:29%;bottom:34%;display:flex;justify-content:space-between;transform:perspective(500px) rotate(-4deg)}
.distant-round b{width:3px;height:54px;background:#111d18;position:relative;opacity:.8}
.distant-round b::before{content:"";position:absolute;left:50%;top:-5px;width:6px;height:9px;transform:translateX(-50%);background:#d6a346;box-shadow:0 0 10px rgba(255,212,119,.55)}
.hero-copy{top:clamp(8.8rem,17vh,12rem);max-width:min(73vw,1060px)}
.hero h1{font-size:clamp(7rem,16vw,15rem);line-height:.6;letter-spacing:-.072em}
.hero h1 span:first-child{color:#e4e0cb}.hero h1 span:last-child{margin-left:clamp(4rem,13vw,12rem);text-shadow:0 0 42px rgba(217,155,50,.13),0 18px 50px rgba(0,0,0,.48)}
.hero-deck{width:min(49rem,63vw);margin-top:4rem;color:#d2dcd4}
.hero-lamp{right:7vw;bottom:-8vh;height:72vh;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45));transform:translateX(18px);opacity:0;transition:opacity 1.1s .7s,transform 1.1s cubic-bezier(.19,.72,.22,1) .7s}
.page-ready .hero-lamp{opacity:1;transform:none}
.hero-lamp.lit::after{opacity:0;animation:heroIgnition 1.5s .72s cubic-bezier(.2,.7,.2,1) forwards}
.hero-quote{bottom:4.8rem;max-width:32rem;padding:1.2rem 0 1.2rem 1.4rem;background:linear-gradient(90deg,rgba(7,13,11,.52),transparent)}
.hero-round-mark{position:absolute;left:var(--pad);bottom:5.3rem;z-index:4;display:flex;align-items:flex-end;gap:.8rem;color:var(--fog-pale)}
.hero-round-mark b{font:3.8rem/.7 var(--display);font-weight:400;color:var(--gold-hot)}
.hero-round-mark span{font:8px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.scroll-cue{left:calc(var(--pad) + 7.2rem);bottom:5.1rem}

/* The Round */
.round-section{position:relative;isolation:isolate;padding-top:clamp(7rem,11vw,10rem);background:
  radial-gradient(ellipse at calc(var(--round-light,0)*80%) 24%,rgba(217,155,50,calc(var(--round-light,0)*.16)),transparent 28%),
  linear-gradient(180deg,#070d0b,#13221b 46%,#09110e 100%)}
.round-section::before{content:"";position:absolute;z-index:-1;inset:20rem 0 auto;height:44rem;background:linear-gradient(90deg,rgba(255,212,119,.08) 0 calc(var(--round-light,0)*100%),transparent calc(var(--round-light,0)*100%));opacity:.65;filter:blur(30px);transition:background 1.1s cubic-bezier(.2,.7,.2,1)}
.section-intro{grid-template-columns:180px minmax(0,760px);justify-content:center;gap:clamp(2rem,6vw,7rem);margin-bottom:5rem}
.section-intro h2,.ordinance h2,.tools-section h2,.mantle-section h2,.knocker h2,.last-round h2{letter-spacing:-.055em}
.section-intro>div>p{font-size:1.08rem;line-height:1.65;color:#b8c8bd}
.lamp-route{--route-progress:0;max-width:1560px;min-height:690px;margin-inline:calc(var(--pad)*-1);margin-bottom:7rem;padding:0;overflow:hidden;border:0;border-block:1px solid rgba(194,206,197,.2);background:
  radial-gradient(ellipse at 12% 34%,rgba(139,164,149,.18),transparent 26%),
  linear-gradient(180deg,#21352b 0%,#13221b 47%,#080e0c 100%);box-shadow:0 55px 110px rgba(0,0,0,.36)}
.lamp-route::before{content:"ASHDOWN ROW  /  WEST GATE → ORISON LANE";left:var(--pad);top:1.25rem;z-index:8;color:#afc0b5}
.lamp-route::after{content:none}
.route-fog{z-index:5;background:linear-gradient(173deg,transparent 0 54%,rgba(4,8,7,.72) 54.2%),radial-gradient(ellipse at 80% 32%,rgba(184,203,189,.12),transparent 33%);mix-blend-mode:screen;opacity:.55}
.route-buildings{position:absolute;z-index:1;inset:7% 0 34%;display:flex;align-items:flex-end;gap:1px;opacity:.76}
.route-buildings i{flex:1;height:var(--h,60%);background:#0b1511;clip-path:polygon(0 18%,12% 18%,12% 7%,28% 7%,31% 18%,74% 18%,78% 0,93% 0,95% 18%,100% 18%,100% 100%,0 100%)}
.route-buildings i:nth-child(2){--h:82%}.route-buildings i:nth-child(3){--h:68%}.route-buildings i:nth-child(4){--h:94%}.route-buildings i:nth-child(5){--h:74%}.route-buildings i:nth-child(6){--h:87%}
.route-road{position:absolute;z-index:2;inset:51% 0 0;background:linear-gradient(171deg,transparent 0 12%,#09100d 12.2%);clip-path:polygon(0 21%,100% 0,100% 100%,0 100%)}
.route-road::before{content:"";position:absolute;inset:34% 4% 5%;background:repeating-linear-gradient(96deg,transparent 0 7.8%,rgba(146,166,153,.08) 8% 8.2%);transform:perspective(600px) rotateX(55deg)}
.route-road span{position:absolute;inset:0 auto 0 0;width:calc(var(--route-progress)*100%);background:linear-gradient(90deg,rgba(217,155,50,.04),rgba(255,212,119,.13));filter:blur(14px);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.route-instruction{position:absolute;left:var(--pad);top:3.3rem;z-index:9;margin:0;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#adbbb2}
.route-instruction span{color:var(--gold-hot);margin-right:1rem}
.route-status{top:1.2rem;right:var(--pad);z-index:9;display:flex;align-items:center;gap:.45rem;color:#d2ddd5}
.route-status span{font-size:1rem;color:var(--gold-hot)}.route-status i{display:block;width:22px;height:1px;background:var(--gold);opacity:.65}
.lamp-route ol{z-index:6;inset:8rem 3.2rem 5rem;gap:clamp(.25rem,1.2vw,1.2rem);transform:none;overflow:visible}
.lamp-route li{height:calc(66% + var(--step)*2.3%)}
.route-lamp{min-width:56px;isolation:isolate;transition:opacity .35s}
.route-lamp[aria-disabled="true"]{opacity:.53}
.lantern{width:58px;height:82px;border-width:7px;background:linear-gradient(150deg,rgba(177,201,186,.08),rgba(8,14,11,.2));transition:background .45s,filter .55s,transform .35s cubic-bezier(.2,.8,.2,1)}
.lantern::before{inset:-7px 21px}
.lantern::after{content:"";position:absolute;inset:8px 5px;border-top:1px solid rgba(194,206,197,.18);border-bottom:1px solid rgba(194,206,197,.1)}
.wick{left:20px;bottom:10px;width:10px;height:27px}
.iron{top:80px;bottom:35px;width:10px;left:calc(50% - 5px)}
.street{bottom:0;width:124px;font-size:8px;color:#9dafA4;letter-spacing:.11em}
.lamp-no{top:-28px;font-size:9px;color:#9eb0a6}
.route-lamp::after{content:"";position:absolute;z-index:-1;left:50%;top:50px;width:190px;height:230px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 16%,rgba(255,212,119,.34),rgba(217,155,50,.08) 37%,transparent 70%);opacity:0;filter:blur(4px);transition:opacity .8s}
.route-lamp.is-lit::after{opacity:1}
.route-lamp.is-next .lantern{box-shadow:0 0 0 1px rgba(120,220,235,.24)}
.route-lamp.is-next .lamp-no{color:var(--blue)}
.route-lamp.is-next .lamp-no::before{content:"NEXT ";font-size:7px;color:var(--blue)}
.route-lamp:hover .lantern,.route-lamp:focus-visible .lantern{transform:translateY(-6px)}
.route-lamp[aria-disabled="true"]:hover .lantern{background:rgba(120,144,132,.05);filter:none}
.route-lamp.is-lit .lantern{background:linear-gradient(150deg,rgba(255,235,174,.42),rgba(172,112,33,.13));filter:drop-shadow(0 0 10px var(--gold)) drop-shadow(0 0 34px rgba(217,155,50,.62))}
.route-lamp.is-refused{animation:refuse .48s ease}
.memorial-lamp:not(.is-lit) .wick{background:radial-gradient(ellipse at 50% 68%,var(--blue) 0 18%,var(--gold-hot) 24% 55%,transparent 64%);filter:drop-shadow(0 0 7px var(--gold));opacity:.6}
.round-walker{position:absolute;z-index:7;left:calc(3.2rem + (100% - 6.4rem)*var(--route-progress));bottom:4.1rem;width:1px;height:31px;background:var(--oak);transition:left .9s cubic-bezier(.2,.8,.2,1)}
.round-walker::before{content:"";position:absolute;left:-4px;top:-9px;width:8px;height:8px;border-radius:50%;background:var(--gold-hot);box-shadow:0 0 13px var(--gold)}
.round-walker span{position:absolute;left:-14px;bottom:-3px;width:28px;height:1px;background:#b18a55;transform:rotate(-18deg);transform-origin:right}
.round-walker b{position:absolute;left:10px;top:4px;white-space:nowrap;font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--fog-pale)}

/* Ledger becomes a changing route folio */
.ledger{max-width:1180px;grid-template-columns:repeat(12,1fr);gap:0;border:0;position:relative}
.ledger::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),rgba(194,206,197,.18) 12%,rgba(194,206,197,.18) 88%,transparent);opacity:.55}
.ledger-head{grid-column:1/-1;display:flex;justify-content:space-between;padding:0 0 1.5rem;border-bottom:1px solid rgba(194,206,197,.28);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fog)}
.ledger-head p{margin:0}
.route-record,.route-record:nth-child(even){grid-column:1/7;min-height:215px;padding:3rem clamp(1.4rem,3vw,3rem) 2rem 0;border:0;border-bottom:1px solid rgba(194,206,197,.15);background:transparent;transform:none;opacity:.48;transition:opacity .6s,background .7s,transform .6s}
.route-record:nth-of-type(even){grid-column:7/13;padding-left:clamp(1.4rem,3vw,3rem);padding-right:0}
.route-record.final-record{grid-column:1/13;padding:4rem max(8vw,5rem);text-align:center;border-bottom:0}
.route-record .record-no{margin-bottom:1rem;color:#a6b8ad}
.route-record h3{max-width:15ch;font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.02}
.route-record:nth-of-type(even) h3{margin-left:auto}.route-record:nth-of-type(even) .record-body{margin-left:auto}
.route-record .record-body{max-width:31rem;color:#a5b5ab;mask-image:linear-gradient(90deg,#000 0 45%,transparent 82%);transition:max-height .65s,opacity .5s;color .5s}
.route-record .record-lock{position:static;display:block;margin-bottom:.9rem;color:#95a69d}
.route-record.unlocked{opacity:1;background:linear-gradient(110deg,rgba(217,155,50,.09),transparent 58%);box-shadow:none}
.route-record.unlocked:nth-of-type(even){background:linear-gradient(250deg,rgba(217,155,50,.09),transparent 58%)}
.route-record.latest-record{transform:translateY(-5px)}
.route-record.latest-record::after{content:"NEW FLAME";position:absolute;right:1rem;bottom:1rem;font:7px var(--mono);letter-spacing:.12em;color:var(--blue)}
.route-record.unlocked .record-body{color:#d0d9d2;max-height:12rem;mask-image:none}
.final-record.unlocked{background:radial-gradient(circle at 50% 30%,rgba(217,155,50,.18),transparent 60%)}
.final-record h3{margin-inline:auto;max-width:none}

/* Paper, carried tools, and material specificity */
.ordinance{background:
  repeating-linear-gradient(0deg,rgba(57,45,28,.025) 0 1px,transparent 1px 5px),
  linear-gradient(102deg,#c9c3a9 0%,#dfdac1 48%,#cdc7ae 100%);box-shadow:inset 0 18px 35px rgba(57,45,28,.15),inset 0 -18px 35px rgba(57,45,28,.12)}
.ordinance::after{content:"ASHDOWN ROW  •  WARD IX  •  SEALED";position:absolute;right:-10rem;top:50%;font:8px var(--mono);letter-spacing:.24em;color:rgba(17,25,21,.38);transform:rotate(90deg)}
.clauses article{padding-block:3rem}.clauses article>span{font-weight:600}.clauses h3{letter-spacing:-.025em}
.tools-section{background:radial-gradient(circle at 12% 45%,rgba(149,102,59,.09),transparent 25rem),linear-gradient(180deg,#122019,#0a120f)}
.tool-bench{grid-template-columns:1.25fr .8fr .65fr;grid-template-rows:1fr 1fr;align-items:stretch;gap:1px;background:rgba(194,206,197,.18);border:1px solid rgba(194,206,197,.18);overflow:hidden}
.tool{padding:clamp(2rem,3vw,3.5rem);background:linear-gradient(145deg,#13211b,#0b1310);position:relative;overflow:hidden}
.tool::before{position:absolute;right:.3rem;top:-.3rem;font:8rem/.8 var(--display);color:rgba(194,206,197,.035)}
.tool-pole{grid-column:1;grid-row:1/3}.tool-pole::before{content:"A1"}.tool-ladder{grid-column:2;grid-row:1}.tool-ladder::before{content:"A2"}.tool-key{grid-column:2;grid-row:2}.tool-key::before{content:"A3"}
.tool-pole .tool-drawing{height:440px}.tool-ladder .tool-drawing,.tool-key .tool-drawing{height:215px}
.pole-drawing i{height:430px;left:45%;width:14px;box-shadow:inset 3px 0 rgba(255,255,255,.12),8px 12px 20px rgba(0,0,0,.3)}
.pole-drawing .hook{left:65%;width:82px;height:98px;border-color:#b48049;border-left-color:transparent;border-bottom-color:transparent}
.ladder-drawing{height:210px;width:150px}.ladder-drawing::before,.ladder-drawing::after{height:210px;width:15px}.ladder-drawing i{top:calc(var(--r)*38px);height:10px}
.key-drawing::before{top:10px;width:85px;height:85px;border-width:14px}.key-drawing::after{top:91px;height:94px}.key-drawing i{top:170px;width:62px;height:20px}
.tool h3{font-size:2rem}.tool p:last-child{font-size:1rem;line-height:1.55}
.inventory-tally{grid-column:3;grid-row:1/3;background:#d3ccb2;color:#152019;padding:2.5rem 1.5rem;display:flex;flex-direction:column;justify-content:center;position:relative}
.inventory-tally::before{content:"WEEKLY RETURN\A № 48";white-space:pre;position:absolute;top:2rem;left:1.5rem;font:8px/1.6 var(--mono);letter-spacing:.14em;color:#635436}
.inventory-tally span{margin-top:2.2rem;padding-top:1rem;border-top:1px solid rgba(21,32,25,.25);font:8px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#59655d}
.inventory-tally strong{font:2.2rem/1.1 var(--display);font-weight:400}

/* A truer mantle laboratory */
.mantle-section{min-height:900px;grid-template-columns:.92fr 1.08fr}
.mantle-copy{position:relative}.mantle-copy::after{content:"BRAY TEST  /  1807–IX";display:block;margin-top:3rem;font:8px var(--mono);letter-spacing:.16em;color:#687d71}
.flame-theatre{min-height:900px;border-left:1px solid rgba(194,206,197,.14);background:radial-gradient(circle at 50% 48%,rgba(217,155,50,calc(var(--air)*.17)),transparent 31%),linear-gradient(150deg,#101d17,#070d0b)}
.light-field{width:76%;background:radial-gradient(circle,rgba(255,224,154,calc(var(--air)*.25)),rgba(217,155,50,.04) 40%,transparent 68%);filter:blur(22px)}
.mantle-wire{top:23%;width:180px;height:375px;border:1px solid rgba(231,225,197,.48);background:repeating-linear-gradient(78deg,transparent 0 8px,rgba(231,225,197,.09) 8px 9px);border-radius:47% 47% 33% 33%/20% 20% 78% 78%;filter:drop-shadow(0 0 calc(var(--air)*16px) rgba(255,212,119,.75))}
.mantle-wire::before,.mantle-wire::after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-78deg,transparent 0 8px,rgba(231,225,197,.07) 8px 9px)}
.mantle-wire::after{inset:16px 10px;border:1px dashed rgba(255,246,208,.26);background:none}
.outer-flame{width:150px;height:350px;border-radius:50% 50% 44% 56%/76% 74% 26% 24%;background:radial-gradient(ellipse at 50% 63%,rgba(255,253,226,.9) 0 8%,rgba(255,224,154,calc(.2 + var(--air)*.68)) 30%,rgba(217,155,50,.14) 57%,transparent 72%);filter:drop-shadow(0 0 calc(20px + var(--air)*32px) rgba(217,155,50,.6));transform:translateY(-8px) scale(calc(.76 + var(--air)*.3));transform-origin:bottom;transition:.25s cubic-bezier(.2,.8,.2,1)}
.blue-heart{bottom:19%;width:54px;height:145px;background:radial-gradient(ellipse at 50% 70%,white 0 3%,var(--blue) 15%,rgba(27,126,177,.72) 42%,transparent 67%)}
.gas-nozzle{position:absolute;left:50%;top:64%;width:84px;height:175px;transform:translateX(-50%);background:linear-gradient(90deg,#32291d,#a47642 30%,#d1a266 50%,#7b552f 72%,#271f16);clip-path:polygon(19% 0,81% 0,72% 22%,64% 22%,64% 100%,36% 100%,36% 22%,28% 22%)}
.gas-nozzle i{position:absolute;left:50%;top:12px;width:34px;height:10px;transform:translateX(-50%);border-radius:50%;background:#111a16;box-shadow:inset 0 3px #050806}
.gas-nozzle span{position:absolute;left:50%;top:42px;width:112px;height:10px;transform:translateX(-50%);border:1px solid #9e7448;border-radius:50%}
.oxygen-flow i{position:absolute;top:61%;width:5px;height:5px;border-radius:50%;background:var(--blue);opacity:calc(.15 + var(--air)*.7);box-shadow:0 0 8px var(--blue);animation:oxygen 2.4s ease-in-out infinite}
.oxygen-flow i:nth-child(1){left:36%;--dx:42px}.oxygen-flow i:nth-child(2){left:42%;--dx:20px;animation-delay:.6s}.oxygen-flow i:nth-child(3){right:42%;--dx:-20px;animation-delay:1.2s}.oxygen-flow i:nth-child(4){right:36%;--dx:-42px;animation-delay:1.8s}
.flame-readings{position:absolute;left:2rem;right:2rem;bottom:1.5rem;display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(194,206,197,.2);font:8px var(--mono);letter-spacing:.12em;color:#8ba095}.flame-readings b{font-weight:400;color:var(--gold-hot)}
.air-starved .outer-flame{filter:drop-shadow(0 0 22px rgba(181,89,34,.62));background:radial-gradient(ellipse at 50% 65%,#ffd18d 0 12%,rgba(206,104,35,.65) 36%,transparent 70%)}

/* Knocker-up: an explicit visitor action */
.knocker{grid-template-columns:1.35fr .8fr;background:#17271f}
.facade{background-size:76px 38px;background-color:#263c31}
.facade::before{content:"MALLOW COURT\A 4:37 AM";white-space:pre;position:absolute;left:2rem;bottom:2rem;z-index:3;font:9px/1.6 var(--mono);letter-spacing:.13em;color:#aabbb0}
.window{transition:transform .2s}.window i{opacity:.22;filter:none;transition:opacity .25s,filter .25s,background .25s}
.pea-path span{opacity:0;animation:none}
.facade.pea-fired .pea-path span{animation:peaShot 1.05s cubic-bezier(.15,.7,.3,1) forwards}
.facade.pea-fired .w2{animation:paneTap .35s 1s ease 2}
.facade.pea-fired .w2 i{opacity:.9;background:radial-gradient(circle at 50% 70%,rgba(255,224,154,.9),rgba(217,155,50,.32) 50%,transparent 70%);filter:drop-shadow(0 0 30px rgba(217,155,50,.75))}
.knocker-figure{position:absolute;right:10%;bottom:8%;width:50px;height:145px;z-index:2}
.knocker-figure i{position:absolute;left:13px;top:0;width:24px;height:24px;border-radius:50%;background:#08100c}
.knocker-figure b{position:absolute;left:18px;top:22px;width:16px;height:120px;background:#08100c;clip-path:polygon(10% 0,90% 0,100% 68%,72% 100%,55% 66%,38% 100%,4% 68%)}
.knocker-copy{padding-left:clamp(2rem,4vw,5rem)}
.wake-button{width:min(100%,360px);min-height:56px;margin-top:2rem;padding:.4rem .5rem .4rem 1.2rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,212,119,.55);background:transparent;color:var(--gold-hot);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.wake-button i{width:44px;height:44px;display:grid;place-items:center;border-left:1px solid rgba(255,212,119,.35);font-style:normal;font-size:1rem}
.wake-button:hover,.wake-button.has-fired{background:var(--gold-hot);color:var(--night)}
.wake-status{margin:.8rem 0 0!important;font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#93a89b!important}

/* Memorial now receives the completed street */
.last-round{background:radial-gradient(circle at 22% 35%,rgba(217,155,50,.08),transparent 24%),linear-gradient(180deg,#101b16,#050907);transition:background 1.2s}
.round-complete .last-round{background:radial-gradient(circle at 25% 34%,rgba(217,155,50,.2),transparent 34%),linear-gradient(180deg,#18271f,#050907)}
.memorial-lantern{background:linear-gradient(140deg,rgba(255,224,154,.12),rgba(7,13,11,.24));box-shadow:0 0 0 1px rgba(255,212,119,.08)}
.memorial-glow{filter:blur(8px);transition:opacity 1s,transform 1.2s}.round-complete .memorial-glow{transform:translateX(-50%) scale(1.25);opacity:1}
.completion-note{margin-top:2.8rem!important;padding:1rem 0 1rem 1.2rem;border-left:1px solid rgba(120,220,235,.55);font:9px/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#94a89c!important}
.completion-note span{display:block;color:var(--blue)}
.site-footer{background:radial-gradient(circle at 50% 22%,rgba(217,155,50,.06),transparent 18rem),#040806}
.site-footer>p{max-width:none}

/* Editorial entrance choreography */
body:not(.guide-page) .ordinance>*,body:not(.guide-page) .tools-section>*,body:not(.guide-page) .mantle-section>*,body:not(.guide-page) .knocker>*,body:not(.guide-page) .last-round>*{opacity:1;transform:none}

/* Guide: a field folio, not generic documentation */
.guide-page{background:radial-gradient(circle at 82% 9%,rgba(217,155,50,.08),transparent 24rem),linear-gradient(180deg,#17281f,#07100c 42rem)}
.guide-hero{min-height:70vh;padding-top:clamp(10rem,17vh,14rem);padding-bottom:7rem;background:linear-gradient(104deg,rgba(129,157,141,.08),transparent 54%)}
.guide-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(170deg,transparent 0 36%,rgba(4,9,7,.6) 36.3%)}
.guide-hero::after{right:14vw;top:23%;width:360px;height:360px;background:radial-gradient(circle,var(--blue) 0 .7%,var(--gold-hot) 1.2% 2%,rgba(217,155,50,.2) 3%,rgba(217,155,50,.04) 25%,transparent 65%)}
.guide-hero h1{max-width:1120px;font-size:clamp(5.7rem,11vw,11.5rem);line-height:.72}.guide-hero h1 i{margin-left:17vw}
.guide-folio-mark{position:absolute;right:var(--pad);bottom:3.5rem;display:flex;align-items:center;gap:.7rem;color:var(--gold-hot);transform:rotate(-5deg)}
.guide-folio-mark span{width:62px;height:62px;display:grid;place-items:center;border:3px double currentColor;border-radius:50%;font-size:2rem}.guide-folio-mark small{font:7px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.guide-schematic{max-width:1240px;margin:0 auto;padding:6rem var(--pad) 4rem;display:grid;grid-template-columns:.8fr 1.5fr;gap:4rem;border-bottom:1px solid rgba(194,206,197,.2)}
.schematic-heading span{display:block;margin-bottom:1rem;font:8px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}
.schematic-heading strong{font:2.3rem/1.05 var(--display);font-weight:400;color:var(--gold-hot)}
.mini-round{position:relative;height:170px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 1.5rem 1.8rem;background:linear-gradient(180deg,#1b2c24,#09110e);border:1px solid rgba(194,206,197,.16);overflow:hidden}
.mini-round::before{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(168deg,transparent 0 17%,#050a08 17.5%)}
.mini-round i{position:absolute;z-index:2;left:0;bottom:0;width:58%;height:100%;background:linear-gradient(90deg,rgba(217,155,50,.1),transparent);filter:blur(7px)}
.mini-round b{position:relative;z-index:3;width:2px;height:55px;background:#72897d}
.mini-round b::before{content:"";position:absolute;left:50%;top:-8px;width:9px;height:12px;transform:translateX(-50%);border:2px solid #15211c;background:var(--gold-hot);box-shadow:0 0 11px var(--gold)}
.mini-round b:nth-of-type(n+6)::before{background:#17251f;box-shadow:none}.mini-round b.last::before{background:var(--blue);box-shadow:0 0 8px var(--gold-hot)}
.guide-schematic dl{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid rgba(194,206,197,.18)}
.guide-schematic dl div{padding:1rem;border-right:1px solid rgba(194,206,197,.18)}
.guide-schematic dt{font:2rem var(--display);color:var(--gold-hot)}.guide-schematic dd{margin:0;font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#9aacA1}
.guide-article{max-width:1240px;padding-top:2rem}
.guide-block{position:relative;grid-template-columns:230px minmax(0,690px);justify-content:end;gap:clamp(3rem,7vw,8rem);padding:5rem 0}
.guide-block::before{content:attr(data-guide-no);position:absolute;left:0;top:5.5rem;font:8px var(--mono);letter-spacing:.12em;color:var(--blue)}
.guide-block h2{font-size:clamp(2.2rem,3.3vw,3.4rem);line-height:.92;letter-spacing:-.04em}
.guide-block p{color:#c5d0c8;line-height:1.65}
.guide-block code{padding:.08em .3em;background:rgba(120,220,235,.07);color:#94e6f1}
.token-grid{gap:0;border:1px solid rgba(194,206,197,.18);background:transparent}.token{background:#0a120f;border:0!important;border-right:1px solid rgba(194,206,197,.18)!important}
.token::before{height:58px}.reproduce{padding:2.2rem;border-color:rgba(217,155,50,.5);background:linear-gradient(135deg,rgba(217,155,50,.08),rgba(217,155,50,.015));color:#e0dcc7;box-shadow:inset 4px 0 var(--gold)}

@keyframes heroIgnition{0%{opacity:0;transform:scale(.7)}45%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:none}}
@keyframes refuse{25%{transform:translateX(-5px)}55%{transform:translateX(5px)}80%{transform:translateX(-2px)}}
@keyframes oxygen{0%{transform:translate(0,20px);opacity:0}35%{opacity:calc(.15 + var(--air)*.7)}100%{transform:translate(var(--dx),-100px);opacity:0}}
@keyframes peaShot{0%{transform:translate(0,0);opacity:0}8%{opacity:1}90%{transform:translate(54vw,-22vw);opacity:1}100%{transform:translate(55vw,-23vw);opacity:0}}
@keyframes paneTap{50%{transform:translate(2px,-2px)}}

@media (max-width:900px){
  .hero-copy{max-width:80vw}.hero h1{font-size:clamp(7rem,20vw,11rem)}.hero-lamp{right:-1.5rem}
  .hero-round-mark{display:none}.scroll-cue{left:var(--pad)}
  .section-intro{grid-template-columns:1fr;gap:1rem;justify-content:start}
  .lamp-route{margin-inline:calc(var(--pad)*-1);min-height:610px}
  .lamp-route ol{inset:8.5rem 0 4.5rem;padding:0 2rem;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none}
  .lamp-route ol::-webkit-scrollbar{display:none}.lamp-route li{flex:0 0 128px;height:88%;scroll-snap-align:center}
  .route-buildings{width:1250px}.route-road{width:1300px}.round-walker{display:none}
  .lamp-route::after{content:"SWIPE EAST  →";left:auto;right:1rem;bottom:.8rem;z-index:10;color:#b3c2b8}
  .ledger{grid-template-columns:1fr}.ledger::before{left:12px}.ledger-head{grid-column:1;padding-left:2rem}
  .route-record,.route-record:nth-child(even),.route-record:nth-of-type(even),.route-record.final-record{grid-column:1;padding:2.4rem 1rem 2.4rem 2.5rem;text-align:left}
  .route-record:nth-of-type(even) h3,.route-record:nth-of-type(even) .record-body{margin-left:0}.final-record h3{margin-left:0}
  .tool-bench{grid-template-columns:1fr 1fr;grid-template-rows:auto}.tool-pole{grid-column:1/3;grid-row:auto}.tool-ladder{grid-column:1;grid-row:auto}.tool-key{grid-column:2;grid-row:auto}.inventory-tally{grid-column:1/3;grid-row:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:5rem}
  .tool-pole .tool-drawing{height:330px}.pole-drawing i{height:320px}
  .inventory-tally span{margin:0}.inventory-tally strong{font-size:1.8rem}
  .mantle-section{grid-template-columns:1fr}.flame-theatre{min-height:760px;border-left:0;border-top:1px solid rgba(194,206,197,.14)}
  .knocker{grid-template-columns:1.08fr .92fr}.knocker-copy{padding-left:2rem}
  .last-round{grid-template-columns:.7fr 1.3fr}
  .guide-hero{min-height:62vh}.guide-schematic{grid-template-columns:1fr;gap:2rem}.guide-schematic dl{grid-column:1}.guide-block{grid-template-columns:180px minmax(0,1fr)}
  .guide-block::before{top:2rem}
}

@media (max-width:600px){
  body{font-size:17px}
  .hero{min-height:760px}.hero-copy{top:8.4rem;max-width:none;right:var(--pad)}.hero h1{font-size:27vw;line-height:.64}.hero h1 span:last-child{margin-left:.45rem}
  .hero-deck{width:100%;margin-top:2.6rem;padding-top:.8rem}.hero-lamp{right:-.5rem;bottom:-1.5rem;height:43vh;transform:scale(.88);transform-origin:bottom right}
  .page-ready .hero-lamp{transform:scale(.88)}
  .hero-quote{left:var(--pad);bottom:3.2rem;width:76vw;padding-block:.7rem;font-size:1rem}.house-line{bottom:28%}.distant-round{display:none}
  .section-intro h2,.ordinance h2,.tools-section h2,.mantle-section h2,.knocker h2,.last-round h2{font-size:clamp(3.45rem,17vw,4.3rem)}
  .round-section{padding-top:5.5rem}.lamp-route{min-height:570px;margin-bottom:4rem}.lamp-route::before{font-size:7px}.route-instruction{top:3.1rem;max-width:75%;line-height:1.5}.route-instruction span{display:block}.route-status{top:1rem}.lamp-route ol{inset-top:8.5rem;padding-inline:calc(50vw - 64px)}.lamp-route li{flex-basis:128px;height:86%}
  .route-record,.route-record:nth-child(even),.route-record:nth-of-type(even),.route-record.final-record{min-height:200px;padding-block:2rem}.route-record h3{font-size:1.85rem}.ledger-head{display:block}.ledger-head p+p{margin-top:.35rem;color:#81948a}
  .ordinance{padding-block:5.5rem}.ordinance::after{display:none}.clauses article{grid-template-columns:40px 1fr;padding-block:2rem}.clauses h3{font-size:1.75rem}
  .tools-section{padding-block:5.5rem}.tool-bench{display:block;border-inline:0;margin-inline:calc(var(--pad)*-1)}.tool{padding:2rem var(--pad)}.tool-pole .tool-drawing,.tool-ladder .tool-drawing,.tool-key .tool-drawing{height:220px}.pole-drawing i{height:215px}.pole-drawing .hook{left:60%}.inventory-tally{display:grid;grid-template-columns:1fr 1fr;padding:5.5rem var(--pad) 2rem}.inventory-tally strong{margin-bottom:1.3rem}.inventory-tally span{padding-top:.6rem}
  .mantle-copy{padding-block:5.5rem}.flame-theatre{min-height:650px}.mantle-wire{top:20%;width:135px;height:300px}.outer-flame{width:116px;height:285px}.gas-nozzle{top:61%;height:160px}.flame-readings{left:1rem;right:1rem;font-size:6px}.flame-label{font-size:7px}.gold-label{right:3%;top:14%}.blue-label{left:4%;bottom:24%}
  .knocker{display:flex;flex-direction:column;min-height:0}.facade{height:520px;flex:none}.knocker-copy{padding:4rem var(--pad) 5rem}.w1{left:7%}.w2{left:39%}.w3{right:5%}
  .last-round{display:block}.last-light{min-height:570px}.last-copy{padding:0 var(--pad) 6rem}.changeover p{grid-template-columns:58px 1fr;gap:.5rem}
  .guide-hero{min-height:610px;padding-top:9.5rem}.guide-hero h1{font-size:21vw;line-height:.76}.guide-hero h1 i{margin-left:13vw}.guide-folio-mark{bottom:2rem}
  .guide-schematic{padding-block:4rem}.schematic-heading strong{font-size:2rem}.mini-round{height:150px;padding-inline:.8rem}.guide-schematic dl{gap:0}.guide-schematic dl div{padding:.8rem .5rem}.guide-schematic dt{font-size:1.6rem}
  .guide-article{padding-block:2rem}.guide-block{display:block;padding:3.6rem 0}.guide-block::before{top:1.5rem}.guide-block h2{margin-bottom:1.6rem;font-size:2.7rem}.token-grid{grid-template-columns:1fr 1fr}.token{border-bottom:1px solid rgba(194,206,197,.18)!important}.reproduce{padding:1.5rem;font-size:.77rem}
}

@media (prefers-reduced-motion:reduce){
  .hero-street,.hero-lamp{opacity:1;transform:none;transition:none}.hero-lamp.lit::after{opacity:1;animation:none}
  .oxygen-flow i,.facade.pea-fired .pea-path span,.facade.pea-fired .w2{animation:none!important}
  .route-lamp,.route-road span,.round-walker{transition:none}
}

/* Pass 3 — art direction: exacting type, handled surfaces, and the 1896 changeover */
::selection{background:var(--gold-hot);color:#07100c;text-shadow:none}
html{scrollbar-color:#9b7139 #07100c;scrollbar-width:thin}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#07100c}
::-webkit-scrollbar-thumb{border:3px solid #07100c;background:linear-gradient(#c59145,#70502c);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-hot)}
body{font-synthesis:none;font-variant-ligatures:common-ligatures;font-feature-settings:"kern" 1,"liga" 1}
h1,h2,h3,blockquote{text-wrap:balance}
.site-header,.index,.kicker,.record-no,.tool-code,.route-instruction,.route-status,.changeover,.completion-note,.current-switch,.current-status,.inventory-tally,.footer-note,.site-footer{font-variant-numeric:tabular-nums slashed-zero}
.hero h1,.guide-hero h1{font-kerning:normal}
.hero h1{letter-spacing:-.078em}.hero h1 span:last-child{letter-spacing:-.068em}
.section-intro h2,.ordinance h2,.tools-section h2,.mantle-section h2,.knocker h2,.last-round h2{letter-spacing:-.06em}
.route-record h3,.tool h3,.clauses h3{letter-spacing:-.025em}
.reveal{animation-timing-function:cubic-bezier(.16,.84,.22,1)}
.kicker.reveal{animation-delay:.04s}.hero h1.reveal{animation-delay:.16s}.hero-deck.reveal{animation-delay:.4s}.hero-quote.reveal{animation-delay:.68s}.hero-round-mark.reveal{animation-delay:.82s}
.seal,.round-link,.site-footer a,.wake-button,.current-switch{transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.seal:hover{color:var(--gold-hot)}.seal:hover svg{filter:drop-shadow(0 0 9px rgba(120,220,235,.45))}
.round-link:hover{transform:translateY(-2px)}
.round-link:active,.wake-button:active,.current-switch:active{transform:translateY(1px)}
input[type=range]:hover::-webkit-slider-thumb{background:var(--blue);box-shadow:0 0 0 1px var(--blue),0 0 20px rgba(120,220,235,.5)}

.tool{background:
  linear-gradient(90deg,rgba(194,206,197,.025) 1px,transparent 1px),
  linear-gradient(rgba(194,206,197,.018) 1px,transparent 1px),
  linear-gradient(145deg,#13211b,#0b1310);background-size:38px 38px,38px 38px,auto;transition:background-color .5s,box-shadow .5s}
.tool::after{content:"MEASURED AT WARD HOUSE";position:absolute;left:1.2rem;top:50%;font:6px var(--mono);letter-spacing:.2em;color:rgba(194,206,197,.18);transform:rotate(-90deg) translateX(-50%);transform-origin:left top}
.tool-drawing{transition:transform .7s cubic-bezier(.16,.84,.22,1),filter .7s}
.tool:hover{box-shadow:inset 0 0 70px rgba(217,155,50,.055)}
.tool:hover .tool-drawing{transform:translateY(-7px) rotate(-.35deg);filter:drop-shadow(0 18px 20px rgba(0,0,0,.26))}
.tool-ladder:hover .tool-drawing{transform:perspective(500px) rotateY(-5deg) translateY(-7px)}
.inventory-tally{background:
  repeating-linear-gradient(0deg,rgba(64,48,27,.035) 0 1px,transparent 1px 5px),
  linear-gradient(103deg,#c8c0a5,#ddd5b9 52%,#c7bea1);box-shadow:inset 12px 0 25px rgba(75,57,31,.12)}
.inventory-tally::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 49.7%,rgba(87,67,38,.08) 50%,transparent 50.3%);pointer-events:none}

.changeover-wash{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:0;background:
  linear-gradient(90deg,transparent 0 18%,rgba(191,237,239,.22) 30%,rgba(235,255,249,.42) 50%,rgba(168,226,232,.15) 74%,transparent 92%),
  radial-gradient(ellipse at 68% 58%,rgba(214,249,247,.25),transparent 50%);mix-blend-mode:screen}
.changeover-wash{display:none}
.last-light{z-index:1}.last-copy{z-index:2}
.last-copy::before{content:"";position:absolute;z-index:-1;inset:-4rem -5rem;background:radial-gradient(ellipse at 58% 50%,rgba(4,9,7,.94) 0 46%,rgba(4,9,7,.72) 64%,transparent 82%);opacity:0;pointer-events:none;transition:opacity .22s ease}
.electric-changeover .last-copy::before{opacity:1}
.electric-changeover .last-copy{background:transparent}
.changeover-control{position:relative;margin:3.4rem 0 3.8rem;padding:1.4rem 0 1.2rem;border-block:1px solid rgba(194,206,197,.2)}
.current-switch{width:100%;min-height:88px;padding:.8rem 0;display:grid;grid-template-columns:minmax(8rem,1fr) 92px minmax(10rem,1fr);align-items:center;gap:1.2rem;border:0;background:transparent;color:#d5ded7;text-align:left;cursor:pointer;font:8px/1.45 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.switch-label{color:#91a59a}.switch-action{text-align:right;color:var(--gold-hot)}
.switch-plate{position:relative;width:92px;height:58px;border:1px solid #827960;background:
  radial-gradient(circle at 10px 10px,#161c19 0 2px,#9d967c 2.5px 4px,transparent 4.5px),
  radial-gradient(circle at 82px 48px,#161c19 0 2px,#9d967c 2.5px 4px,transparent 4.5px),
  linear-gradient(105deg,#3e4740,#a49f88 45%,#555e54);box-shadow:inset 0 0 0 4px rgba(8,14,11,.45),0 8px 22px rgba(0,0,0,.34)}
.switch-plate i{position:absolute;left:43px;top:9px;width:7px;height:34px;border-radius:4px;background:linear-gradient(90deg,#171c19,#c7c1a8 48%,#2b312c);box-shadow:0 4px 6px rgba(0,0,0,.5);transform:rotate(-31deg);transform-origin:50% 31px;transition:transform .55s cubic-bezier(.2,.9,.2,1)}
.switch-plate b{position:absolute;left:36px;bottom:9px;width:20px;height:20px;border:5px solid #272d28;border-radius:50%;background:#817b68;box-shadow:inset 0 2px 3px #d2cbb0}
.current-switch:hover .switch-plate{border-color:var(--gold-hot);box-shadow:inset 0 0 0 4px rgba(8,14,11,.45),0 0 26px rgba(217,155,50,.18)}
.current-switch:hover .switch-action{color:#fff0bd}
.electric-changeover .switch-plate i{transform:rotate(31deg)}
.current-trace{position:relative;height:42px;margin:.7rem 0 .4rem;display:flex;align-items:center;justify-content:space-between;padding-inline:5px}
.current-trace::before{content:"";position:absolute;left:5px;right:5px;top:50%;height:1px;background:rgba(133,156,145,.35)}
.current-trace i{position:relative;z-index:2;width:10px;height:10px;border:2px solid #75877e;border-radius:50%;background:#09100d;box-shadow:0 0 0 5px #07100c}
.current-trace span{position:absolute;right:-1px;top:9px;width:23px;height:25px;border-left:1px solid rgba(217,155,50,.45);transform:skewX(-22deg)}
.current-trace span::after{content:"IX";position:absolute;left:6px;top:-5px;font:6px var(--mono);color:var(--gold-hot)}
.electric-changeover .changeover-wash{animation:currentFlash 4.2s cubic-bezier(.15,.65,.2,1) both}
.electric-changeover .changeover-control{animation:currentPanel 4.2s cubic-bezier(.15,.65,.2,1) both}
.electric-changeover .current-trace i{animation:currentNode 3.1s cubic-bezier(.12,.8,.18,1) both}
.electric-changeover .current-trace i:nth-child(2){animation-delay:.11s}.electric-changeover .current-trace i:nth-child(3){animation-delay:.22s}.electric-changeover .current-trace i:nth-child(4){animation-delay:.33s}.electric-changeover .current-trace i:nth-child(5){animation-delay:.44s}.electric-changeover .current-trace i:nth-child(6){animation-delay:.55s}.electric-changeover .current-trace i:nth-child(7){animation-delay:.66s}.electric-changeover .current-trace i:nth-child(8){animation-delay:.77s}
.current-status{margin:.25rem 0 0!important;max-width:none!important;font:8px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#98aaa0!important}

@keyframes currentFlash{0%,100%{opacity:0}8%{opacity:.36}14%{opacity:.07}19%{opacity:.28}32%{opacity:.11}62%{opacity:.04}}
@keyframes currentPanel{0%,100%{background:transparent;box-shadow:none}8%{background:rgba(190,237,239,.14);box-shadow:0 0 55px rgba(190,237,239,.13)}14%{background:rgba(190,237,239,.025)}19%{background:rgba(190,237,239,.09)}62%{background:rgba(190,237,239,.018)}}
@keyframes currentNode{0%,100%{background:#09100d;box-shadow:0 0 0 5px #07100c}12%,52%{border-color:#d9fbf7;background:#f2fff8;box-shadow:0 0 0 5px #07100c,0 0 18px #bdebed,0 0 36px rgba(189,235,237,.5)}72%{background:#48605a;box-shadow:0 0 0 5px #07100c}}

@media (max-width:600px){
  .hero h1{letter-spacing:-.072em}.hero h1 span:last-child{letter-spacing:-.062em}
  .current-switch{min-height:114px;grid-template-columns:1fr 78px;gap:.75rem}.switch-plate{grid-row:1/3;grid-column:2;width:78px}.switch-label,.switch-action{text-align:left}.switch-action{align-self:start}.changeover-control{margin-block:2.7rem}
  .current-trace{margin-top:1rem}.tool::after{display:none}.last-copy::before{inset:-2rem -1.25rem;background:linear-gradient(90deg,rgba(4,9,7,.92),rgba(4,9,7,.68))}.electric-changeover .last-copy{background:transparent}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .electric-changeover .changeover-wash,.electric-changeover .changeover-control,.electric-changeover .current-trace i{animation:none!important}
  .electric-changeover .changeover-wash{opacity:.1}
  .electric-changeover .current-trace i{border-color:#d9fbf7;background:#d9fbf7;box-shadow:0 0 0 5px #07100c}
  .switch-plate i,.tool-drawing,.seal,.round-link,.site-footer a,.wake-button,.current-switch{transition:none!important}
}
