/* THE SMOKE — standalone website | Pacts & Polyhedrals | 2026 */
:root{--ink:#101b21;--midnight:#121f25;--deep:#0b1419;--board:#182931;--panel:#203039;--stroke:#38505a;--paper:#f4f1e8;--paper2:#e2e8de;--white:#fffbf1;--pink:#ca526d;--hot:#ff7b9b;--mint:#78ddd2;--amber:#efba68;--muted:#a4b7b5;--darkmuted:#52676a;--measure:1160px;--gutter:clamp(20px,5.2vw,78px);--head:'Impact','Arial Narrow','Franklin Gothic Heavy','Arial Black',sans-serif;--mono:'Lucida Console','Courier New',monospace;--text:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--paper);font-family:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.dialog-open{overflow:hidden}::selection{background:var(--pink);color:#fff}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:800}h1,h2,.display,.title-giant{font-family:var(--head);font-stretch:condensed;font-weight:900;letter-spacing:.005em;line-height:.93;text-transform:uppercase}p{line-height:1.62}ul{padding-left:1.15rem}address{font-style:normal}.container{width:min(calc(100% - 2*var(--gutter)),var(--measure));margin-inline:auto}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-80px;left:12px;z-index:300;background:var(--mint);color:var(--deep);padding:12px 20px}.skip:focus{top:12px}.eyebrow{font-family:var(--mono);font-size:.69rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:11px}.eyebrow:before{content:"";width:7px;height:7px;background:currentColor;transform:rotate(45deg);flex-shrink:0}.eyebrow.cyan{color:var(--mint)}.eyebrow.pink{color:var(--pink)}.eyebrow.amber{color:var(--amber)}.mono{font-family:var(--mono)}.smallcaps{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem}.lead{font-size:clamp(1.03rem,1.6vw,1.28rem);line-height:1.58}.muted{color:var(--muted)}.accent{color:var(--mint)}.pink-text{color:var(--pink)}.amber-text{color:var(--amber)}.serif{font-family:Georgia,serif}.section{padding-block:clamp(74px,9vw,142px);position:relative}.section-dark{background:var(--midnight)}.section-paper{background:var(--paper);color:var(--ink)}.section-grid{background-image:linear-gradient(90deg,rgba(120,221,210,.038) 1px,transparent 1px),linear-gradient(rgba(120,221,210,.038) 1px,transparent 1px);background-size:48px 48px}.section-heading{display:flex;align-items:end;gap:30px;justify-content:space-between;margin-bottom:40px}.section-heading h2{font-size:clamp(3rem,7vw,6.7rem);max-width:820px}.section-heading .section-side{max-width:310px;color:var(--muted);font-size:.93rem;padding-bottom:10px}.section-paper .section-heading .section-side{color:var(--darkmuted)}.section-heading .eyebrow{margin-bottom:18px}.divider-line{height:1px;background:var(--stroke);opacity:.7}.overline{font:700 .65rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:12px 20px;background:var(--mint);color:var(--deep);border:1px solid var(--mint);font-family:var(--mono);font-weight:700;letter-spacing:.03em;font-size:.77rem;text-transform:uppercase;transition:background .2s,border-color .2s,transform .2s}.btn:hover{background:#acfff3;border-color:#acfff3;transform:translateY(-2px)}.btn:focus-visible,.menu-button:focus-visible,.nav a:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.btn.outline{background:transparent;color:var(--paper);border-color:#82999b}.btn.outline:hover{background:rgba(120,221,210,.12);border-color:var(--mint)}.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.dark:hover{background:#2c414b}.btn.pink{background:var(--pink);color:var(--paper);border-color:var(--pink)}.btn.paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}.arrow:after{content:'↗';font-size:1.15em;font-family:Arial,sans-serif;font-weight:400}.line-link{font-family:var(--mono);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;display:inline-flex;align-items:center;gap:12px;padding-bottom:7px;border-bottom:1px solid currentColor}.line-link:hover{color:var(--mint)}.section-paper .line-link:hover{color:var(--pink)}.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;border:1px solid rgba(151,178,176,.42);padding:7px 10px;line-height:1.2}.tag.filled{background:var(--mint);color:var(--ink);border-color:var(--mint)}.chapter-mark{font:700 .67rem var(--mono);color:var(--muted);letter-spacing:.13em;text-transform:uppercase}
/* Navigation */
.site-header{position:sticky;top:0;z-index:90;height:80px;display:flex;align-items:center;background:rgba(10,20,25,.94);backdrop-filter:blur(18px);border-bottom:1px solid #35454b}.header-inner{width:100%;max-width:1600px;margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{width:35px;height:35px;display:grid;place-items:center;border:1.5px solid var(--mint);color:var(--mint);transform:rotate(45deg);position:relative}.brand-symbol:after{content:'';height:8px;width:8px;background:var(--pink);position:absolute;right:-4px;top:-4px}.brand-symbol svg{width:24px;transform:rotate(-45deg)}.brand-name{font:900 1.75rem/1 var(--head);letter-spacing:.02em}.brand-name span{color:var(--mint)}.brand-sub{display:block;margin-top:4px;font:700 .57rem var(--mono);letter-spacing:.17em;color:var(--muted);text-transform:uppercase}.nav{display:flex;align-items:center;gap:clamp(15px,2.5vw,34px)}.nav a{font:700 .72rem var(--mono);letter-spacing:.07em;position:relative;text-transform:uppercase;color:#bfcac7;transition:color .2s}.nav a:hover,.nav a[aria-current="page"]{color:var(--mint)}.nav a[aria-current="page"]:after{content:'';position:absolute;left:0;right:0;bottom:-30px;height:3px;background:var(--mint)}.nav-cta{color:var(--deep)!important;background:var(--amber);padding:13px 16px;border:1px solid var(--amber)}.nav-cta:hover{background:var(--mint)}.nav-cta[aria-current="page"]:after{display:none}.menu-button{display:none;background:none;border:1px solid var(--stroke);color:var(--paper);padding:10px 12px;font-size:1.2rem}
/* Hero + media */
.hero{position:relative;min-height:calc(100vh - 80px);max-height:980px;background:var(--midnight);overflow:hidden;display:flex;align-items:center;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 70% 40%,#263e45 0,transparent 45%),repeating-linear-gradient(90deg,rgba(120,221,210,.025) 0 1px,transparent 1px 63px)}.hero:after{content:'LONDON / N51.55°';position:absolute;right:12px;bottom:16px;color:rgba(242,240,231,.27);font:.59rem var(--mono);letter-spacing:.19em}.hero-inner{position:relative;width:min(calc(100% - 2*var(--gutter)),1420px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;min-height:720px;padding:52px 0 70px;gap:2vw}.hero-copy{z-index:3;position:relative;padding-right:0}.hero-copy .eyebrow{margin-bottom:34px}.hero-title{font-size:clamp(6rem,13.5vw,13rem);line-height:.75;letter-spacing:-.025em;text-wrap:nowrap;text-shadow:0 6px 35px rgba(0,0,0,.2)}.hero-title span{display:block}.hero-title .smoke-word{color:var(--mint);margin-left:clamp(9px,2vw,25px);font-style:italic}.hero-kicker{font:900 clamp(1.3rem,2.9vw,2.7rem)/1.08 var(--head);text-transform:uppercase;letter-spacing:.025em;max-width:520px;margin:34px 0 16px}.hero-copy .desc{color:#c6d2cf;max-width:450px;font-size:1.03rem;margin-bottom:29px}.hero-map{position:relative;transform:rotate(2.5deg);width:115%;margin-left:-12%;max-width:800px;aspect-ratio:.98;filter:drop-shadow(10px 35px 38px rgba(0,0,0,.46))}.hero-map:before{content:'';position:absolute;inset:5%;border:1px dashed rgba(196,212,212,.27);z-index:3;pointer-events:none}.hero-map-image{position:absolute;inset:4%;overflow:hidden;background:#16232b;border:1px solid #668481;box-shadow:inset 0 0 0 11px rgba(8,15,19,.7)}.hero-map-image img{width:100%;height:100%;object-fit:cover;object-position:56% center;filter:saturate(.88) contrast(1.12)}.hero-map-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,20,25,.76),transparent 40%,rgba(7,13,16,.25))}.map-overlay-top,.map-overlay-bottom{position:absolute;z-index:5;left:-1%;right:-1%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);color:var(--ink);padding:12px 16px;font:700 .7rem var(--mono);text-transform:uppercase}.map-overlay-top{top:0;transform:rotate(-2deg)}.map-overlay-bottom{bottom:0;transform:rotate(-1deg)}.map-overlay-top b{background:var(--pink);color:#fff;padding:7px}.hero-map-marker{position:absolute;z-index:6;top:49%;left:51%;transform:translate(-50%,-50%);display:grid;place-items:center;width:77px;height:77px;border-radius:50%;background:rgba(120,221,210,.15);border:1px dashed var(--mint);box-shadow:0 0 0 24px rgba(120,221,210,.06)}.hero-map-marker:after{content:'';width:17px;height:17px;border-radius:50%;background:var(--mint);border:4px solid var(--deep);box-shadow:0 0 0 4px var(--mint)}.hero-route{position:absolute;z-index:5;right:-2%;bottom:18%;padding:15px 18px;color:var(--ink);background:var(--amber);width:210px;transform:rotate(-5deg);box-shadow:8px 8px 0 #10191c}.hero-route strong{font:900 1.23rem var(--head);display:block;margin:6px 0}.hero-route p{font:.69rem/1.5 var(--mono)}.vertical-rail{position:absolute;top:28px;right:calc(var(--gutter) - 10px);writing-mode:vertical-rl;font:700 .59rem var(--mono);letter-spacing:.24em;color:var(--muted);z-index:4}.marquee{overflow:hidden;background:var(--amber);color:var(--ink);border-block:2px solid var(--deep);padding:13px 0}.marquee-track{display:flex;gap:34px;white-space:nowrap;justify-content:space-around;min-width:1200px;font:900 1.06rem var(--head);letter-spacing:.055em;text-transform:uppercase}.marquee-track i{font-style:normal;color:var(--pink)}
/* Homepage intro / stats / features */
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--stroke);margin-top:34px}.metric{padding:23px 28px;border-right:1px solid var(--stroke);display:flex;flex-direction:column;gap:4px}.metric:last-child{border-right:none}.metric strong{font:900 clamp(2.5rem,5vw,4.3rem)/1 var(--head);color:var(--mint)}.metric span{font:.66rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,8vw,120px);align-items:start}.intro-grid h2{font-size:clamp(4.1rem,8vw,8rem);margin:20px 0 25px}.intro-grid p{max-width:570px;color:#33454a;font-size:1.1rem}.intro-quote{padding:28px 33px;border-left:4px solid var(--pink);background:#e6eae2;font:italic 1.2rem/1.6 Georgia,serif;color:#38484d;margin:35px 0}.story-step{padding:24px 0;display:grid;grid-template-columns:72px 1fr;gap:20px;border-bottom:1px solid #c7cfcb}.story-step:first-child{border-top:1px solid #c7cfcb}.story-step .step-num{font:900 3.5rem/.9 var(--head);color:var(--pink)}.story-step h3{font:900 1.55rem var(--head);text-transform:uppercase;margin-bottom:8px}.story-step p{font-size:.91rem}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feature-card{padding:28px 25px;min-height:295px;border:1px solid var(--stroke);background:rgba(28,47,54,.68);display:flex;flex-direction:column;transition:transform .23s,border-color .23s;position:relative}.feature-card:after{content:'';position:absolute;right:-1px;top:-1px;width:17px;height:17px;background:var(--midnight);clip-path:polygon(100% 0,0 0,100% 100%);border-bottom:1px solid var(--stroke)}.feature-card:hover{transform:translateY(-4px);border-color:var(--mint)}.feature-card .feature-icon{width:47px;height:47px;border:1px solid var(--mint);display:grid;place-items:center;color:var(--mint);font:900 1.45rem var(--head);margin-bottom:auto}.feature-card h3{font:900 clamp(1.6rem,2.3vw,2.2rem) var(--head);text-transform:uppercase;line-height:1;margin:25px 0 12px}.feature-card p{color:#b5c5c2;font-size:.88rem;line-height:1.55}
/* City previews */
.city-teaser{display:grid;grid-template-columns:1.2fr .8fr;min-height:460px;gap:0;border:1px solid var(--stroke)}.city-teaser-map{overflow:hidden;position:relative;background:var(--deep)}.city-teaser-map img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .8s}.city-teaser:hover .city-teaser-map img{transform:scale(1.035)}.map-corner{position:absolute;z-index:2;font:800 .68rem var(--mono);padding:12px;background:var(--paper);color:var(--ink);top:15px;left:15px}.city-teaser-copy{background:#20343b;padding:clamp(24px,4vw,55px);display:flex;flex-direction:column;justify-content:center}.city-teaser-copy h3{font:900 clamp(2.6rem,5vw,5rem)/.95 var(--head);text-transform:uppercase;margin:24px 0}.city-teaser-copy p{color:var(--muted);margin-bottom:30px}.district-inline{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.district-inline span{font:.63rem var(--mono);letter-spacing:.04em;border:1px solid var(--stroke);padding:7px 8px}
/* Factions */
.faction-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.faction-preview{background:#0e1b21;border:1px solid var(--stroke);padding:20px;display:flex;flex-direction:column;gap:6px;min-height:265px;transition:transform .25s,border-color .25s}.faction-preview:hover{transform:translateY(-4px);border-color:var(--faction-color,var(--mint))}.faction-preview img{width:104px;height:104px;object-fit:contain;margin-bottom:14px}.faction-preview small{font:700 .67rem var(--mono);color:var(--faction-color,var(--mint));text-transform:uppercase;letter-spacing:.12em}.faction-preview h3{font:900 1.9rem var(--head);text-transform:uppercase}.faction-preview p{font-size:.82rem;line-height:1.5;color:var(--muted)}
/* Heat demo */
.heat-block{display:grid;grid-template-columns:1.07fr .93fr;border:1px solid var(--stroke);overflow:hidden;background:#182a31}.heat-intro{padding:clamp(27px,5vw,70px);background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(202,82,109,.05) 22px 23px),#20343a}.heat-intro h2{font-size:clamp(3.2rem,7vw,6.5rem);margin:18px 0}.heat-intro p{max-width:530px;color:#c3d2cf}.heat-control{padding:clamp(27px,4vw,55px);display:flex;flex-direction:column;justify-content:center}.heat-control .overline{color:var(--muted)}.heat-stars{display:flex;gap:7px;margin:18px 0 25px}.heat-stars button{border:1px solid #527078;background:transparent;color:#697d7c;font-size:clamp(1.6rem,3vw,2.9rem);width:clamp(41px,5vw,65px);height:clamp(45px,6vw,70px);transition:background .2s,color .2s}.heat-stars button.active{background:var(--pink);border-color:var(--pink);color:#fff}.heat-stars button:hover{border-color:var(--paper)}.heat-state{min-height:165px;border-top:1px solid var(--stroke);padding-top:26px}.heat-state .state-code{color:var(--pink);font:700 .78rem var(--mono)}.heat-state h3{font:900 2.25rem var(--head);text-transform:uppercase;margin:8px 0}.heat-state p{color:var(--muted)}
/* Footer */
.site-footer{background:#080f13;border-top:4px solid var(--pink);padding:70px 0 24px}.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer-logo{font:900 4rem/.85 var(--head);letter-spacing:-.01em}.footer-logo span{color:var(--mint)}.footer-pitch{max-width:370px;margin:19px 0;color:var(--muted);font-size:.9rem}.footer-heading{font:800 .72rem var(--mono);letter-spacing:.1em;color:var(--mint);text-transform:uppercase;margin-bottom:18px}.footer-links{display:grid;gap:12px}.footer-links a{font-size:.91rem;color:var(--paper)}.footer-links a:hover{color:var(--mint)}.footer-bottom{border-top:1px solid #253941;padding-top:24px;margin-top:55px;display:flex;gap:12px;justify-content:space-between;align-items:center;color:#849895;font: .68rem/1.6 var(--mono);letter-spacing:.02em}.footer-credit strong{color:var(--paper)}
/* Interior page hero */
.page-hero{padding:80px 0 62px;background:var(--midnight);position:relative;overflow:hidden;border-bottom:1px solid var(--stroke)}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--midnight) 45%,rgba(18,31,37,.4)),url('../assets/maps/london-overview.webp') center right/cover;opacity:.37}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(4.9rem,12vw,11rem);line-height:.85;max-width:930px;margin:22px 0 30px}.page-hero .lead{color:#d4ded8;max-width:650px}.page-hero .breadcrumbs{margin-bottom:24px;color:#a1b6b2;font:.69rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.breadcrumbs a:hover{color:var(--mint)}.hero-bottomline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(182,210,208,.3);padding-top:20px;margin-top:48px;font:.7rem var(--mono);color:#bacac4;text-transform:uppercase}
/* City explorer */
.city-grid-wrap{display:grid;grid-template-columns:360px minmax(0,1fr);gap:25px;align-items:stretch}.city-navigator{background:#1d3038;border:1px solid var(--stroke);padding:20px}.city-navigator h3{font:900 1.9rem var(--head);text-transform:uppercase;margin-bottom:8px}.city-navigator p{font-size:.83rem;color:var(--muted);margin-bottom:22px}.atlas-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:20px}.atlas-mini-grid button{height:43px;background:#13232c;border:1px solid #3c5861;position:relative;color:var(--paper);font:700 .65rem var(--mono)}.atlas-mini-grid button:hover{border-color:var(--amber)}.atlas-mini-grid button[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:var(--ink)}.atlas-mini-grid button:after{content:'';position:absolute;right:4px;bottom:4px;width:4px;height:4px;background:currentColor;opacity:.6}.atlas-map-list{display:grid;gap:4px;max-height:450px;overflow:auto;padding-right:4px}.atlas-map-list button{display:flex;justify-content:space-between;gap:9px;align-items:center;width:100%;background:rgba(10,21,25,.42);border:1px solid transparent;text-align:left;color:var(--paper);padding:11px 12px}.atlas-map-list button strong{font-size:.82rem}.atlas-map-list button span{font:700 .63rem var(--mono);color:var(--muted)}.atlas-map-list button:hover,.atlas-map-list button[aria-pressed="true"]{background:#2e454c;border-color:var(--mint)}.city-stage{border:1px solid var(--stroke);background:#111b21;position:relative;min-height:550px;display:flex;flex-direction:column}.city-stage-header{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;gap:10px;background:#0c161b;border-bottom:1px solid var(--stroke)}.city-stage-header h3{font:900 clamp(1.15rem,2vw,1.8rem) var(--head);text-transform:uppercase}.city-stage-header .mapcode{font:.67rem var(--mono);color:var(--mint)}.city-stage-img{position:relative;flex:1;min-height:320px;overflow:hidden}.city-stage-img img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:opacity .25s}.city-stage-footer{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--stroke);color:var(--muted);font:.69rem var(--mono);text-transform:uppercase}.city-stage-footer button{padding:8px 12px;background:#263942;color:var(--mint);border:1px solid var(--stroke)}.venue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.venue-card{background:#1e3038;border:1px solid var(--stroke);overflow:hidden}.venue-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.86)}.venue-card figcaption{padding:20px}.venue-card h3{font:900 1.6rem var(--head);text-transform:uppercase;margin:9px 0}.venue-card p{font-size:.83rem;color:var(--muted)}.lightbox{position:fixed;inset:0;background:rgba(2,9,13,.94);z-index:200;display:none;align-items:center;justify-content:center;padding:6vh 4vw}.lightbox[aria-hidden="false"]{display:flex}.lightbox img{object-fit:contain;max-height:86vh;width:100%;height:100%}.lightbox button{position:absolute;right:25px;top:20px;padding:10px 14px;background:var(--paper);color:var(--ink);border:0;font-weight:900}
/* Factions directory */
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filterbar button{padding:12px 17px;border:1px solid var(--stroke);background:transparent;color:var(--paper);font:.74rem var(--mono);text-transform:uppercase}.filterbar button.active,.filterbar button:hover{background:var(--mint);color:var(--ink);border-color:var(--mint)}.faction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.faction-card{background:#1c2c34;color:var(--paper);text-align:left;padding:26px;border:1px solid var(--stroke);min-height:350px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.faction-card:hover{border-color:var(--faction-color);transform:translateY(-3px)}.faction-card .card-top{display:flex;justify-content:space-between;align-items:flex-start}.faction-card .card-top span{font:.68rem var(--mono);letter-spacing:.1em;color:var(--faction-color);font-weight:700}.faction-card img{width:120px;height:120px;margin:0 auto 22px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.2))}.faction-card h3{font:900 2.2rem/.95 var(--head);text-transform:uppercase;margin-bottom:10px}.faction-card p{font-size:.88rem;color:#c1cfcc;line-height:1.5}.faction-card .card-foot{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px;align-items:center;font:.68rem var(--mono);color:var(--faction-color);text-transform:uppercase}.faction-card .card-foot strong{font-size:1.25rem;font-family:Arial}.faction-dialog{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(4,10,14,.87);padding:22px;z-index:220}.faction-dialog[aria-hidden="false"]{display:flex}.dialog-sheet{position:relative;background:var(--paper);color:var(--ink);max-width:680px;width:100%;max-height:90vh;overflow:auto;padding:clamp(25px,4vw,50px);border-top:7px solid var(--dialog-accent,var(--pink))}.dialog-close{position:absolute;top:12px;right:14px;padding:9px 12px;border:1px solid #b0bbbb;color:var(--ink);background:transparent;font-weight:900}.dialog-sheet .faction-mark{width:106px;float:right;margin-right:27px}.dialog-sheet h2{font-size:clamp(3.2rem,7vw,5.6rem);max-width:440px;margin:18px 0}.dialog-sheet .dialog-field{border-top:1px solid #b9c7c2;padding-top:18px;margin-top:22px}.dialog-sheet .dialog-field h3{font:.75rem var(--mono);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#537272;margin-bottom:9px}.dialog-sheet .dialog-field p{font-size:.95rem;line-height:1.7;color:#354a4c}.ranks{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:33px}.rank{padding:21px 11px;background:#e1e6db;border-top:4px solid var(--pink);text-align:center}.rank b{font:900 1.7rem var(--head)}.rank strong{display:block;font:.75rem var(--mono);text-transform:uppercase;margin:9px 0}.rank span{font:.62rem var(--mono);color:var(--darkmuted)}
/* Rules */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-tile{background:#e5e9e0;border:1px solid #bfccc7;padding:23px;min-height:171px}.stat-tile b{font:900 2.6rem var(--head);color:var(--pink)}.stat-tile h3{font:900 1.85rem var(--head);text-transform:uppercase;margin:8px 0}.stat-tile p{font-size:.84rem;color:#496065;line-height:1.5}.dice-area{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.dice-form{padding:clamp(27px,4vw,50px);background:#1c2e36;border:1px solid var(--stroke)}.dice-form h2{font-size:clamp(2.7rem,5vw,4.8rem);margin:15px 0 21px}.dice-form p{color:var(--muted)}.dice-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font:700 .73rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.form-field select{border:1px solid #46636d;background:#101e25;color:var(--paper);padding:13px 15px;border-radius:0;min-height:46px;width:100%}.dice-result{padding:clamp(27px,4vw,50px);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;min-height:510px;border:1px solid #d2d8cf}.dice-result .eyebrow{color:var(--pink)}.dice-roll-total{font:900 clamp(4.8rem,10vw,9rem)/.9 var(--head);margin:20px 0 5px;color:var(--pink)}.dice-outcome{font:900 clamp(2rem,4vw,3rem) var(--head);text-transform:uppercase;margin-bottom:13px}.dice-breakdown{font:.81rem/1.7 var(--mono);overflow-wrap:anywhere;color:#455d63;background:#e1e7dd;padding:14px;margin-top:auto}.dice-caption{font-size:.82rem;color:#516367;margin-top:16px}.rule-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rule-list article{border-top:4px solid var(--mint);background:#1a2c33;padding:26px;min-height:210px}.rule-list h3{font:900 1.9rem var(--head);margin:12px 0;text-transform:uppercase}.rule-list p{font-size:.9rem;color:var(--muted)}.rule-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.rule-pills .tag{color:var(--paper)}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.outcome-grid article{padding:22px;background:#e6eae2;border-left:4px solid var(--pink)}.outcome-grid article b{font:800 .78rem var(--mono);color:var(--pink)}.outcome-grid article h3{font:900 1.6rem var(--head);text-transform:uppercase;margin:9px 0}.outcome-grid article p{font-size:.84rem;color:#405459}
/* Missions */
.mission-toolbar{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;margin:28px 0}.mission-toolbar select,.mission-toolbar input{background:#14232b;color:var(--paper);border:1px solid var(--stroke);padding:13px 15px;min-height:48px;min-width:230px}.mission-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.mission-card{display:grid;grid-template-columns:90px 1fr;background:#1b2c34;border:1px solid var(--stroke);padding:24px;gap:22px;transition:border-color .2s}.mission-card:hover{border-color:var(--mint)}.mission-card img{width:85px;height:85px;object-fit:contain}.mission-card-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font:.69rem var(--mono);text-transform:uppercase}.mission-card h3{font:900 2rem var(--head);text-transform:uppercase;margin:11px 0}.mission-card p{font-size:.9rem;color:#c1d0cc}.mission-card .mission-faction{font:.7rem var(--mono);color:var(--mint);text-transform:uppercase;margin-top:17px}.mission-hidden{display:none!important}.no-results{border:1px dashed var(--stroke);color:var(--muted);padding:35px;text-align:center;display:none}.jobs-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.job-count{padding:32px;border:1px solid #b5c4bf;background:#e5e9e1}.job-count strong{font:900 clamp(2.5rem,5vw,4.3rem)/1 var(--head);color:var(--pink);display:block}.job-count h3{font:900 1.55rem var(--head);text-transform:uppercase;margin:12px 0}.job-count p{color:#456066;font-size:.83rem}
/* Play & resources */
.play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.play-card{background:#1a2d35;border:1px solid var(--stroke);min-height:435px;padding:35px 29px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}.play-card .play-no{font:900 3rem var(--head);color:var(--pink)}.play-card h3{font:900 clamp(2.2rem,3vw,3.2rem)/.98 var(--head);text-transform:uppercase}.play-card p{font-size:.9rem;color:#c0d0cc}.play-card .btn{margin-top:auto}.book-spread{display:grid;grid-template-columns:.84fr 1fr;align-items:center;gap:70px}.book-cover{min-height:470px;max-width:330px;border:1px solid #52696a;border-bottom:8px solid var(--pink);padding:30px 26px;box-shadow:17px 20px 0 #9ea8a3;background:linear-gradient(180deg,rgba(18,31,37,.2),rgba(18,31,37,.66)),url('../assets/maps/london-overview.webp') center/cover,var(--midnight);display:flex;flex-direction:column;position:relative}.book-cover:after{content:'';position:absolute;inset:12px;border:1px solid rgba(120,221,210,.35);pointer-events:none}.book-cover h3{font:900 5.5rem/.79 var(--head);text-transform:uppercase;letter-spacing:-.02em;margin-top:23px;color:var(--paper);z-index:1}.book-cover h3 span{color:var(--mint)}.book-cover p{margin-top:auto;font:800 .76rem/1.6 var(--mono);position:relative;z-index:1;color:#fff}.book-copy h2{font-size:clamp(3.1rem,6vw,6rem);margin:18px 0 23px}.book-copy p{color:#415960;margin-bottom:22px}.fineprint{font:.73rem/1.6 var(--mono);color:var(--muted)}.fineprint.dark{color:#536c70}.callout{border-left:4px solid var(--pink);padding:17px 22px;background:#26383e;font:.91rem/1.65 var(--text);color:var(--paper)}.faq{display:grid;gap:8px}.faq details{border:1px solid #bdcbc6;background:#e7eae1}.faq summary{cursor:pointer;padding:20px;font-weight:800;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:1.2rem;color:var(--pink)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 20px 22px;font-size:.9rem;color:#455d61}
/* CTA */
.big-cta{background:var(--pink);color:var(--white);padding-block:110px;position:relative;overflow:hidden}.big-cta:before{content:'';position:absolute;inset:0;background:url('../assets/maps/london-overview.webp') center/cover;opacity:.1;filter:grayscale(1)}.big-cta .container{position:relative;z-index:1}.big-cta h2{font-size:clamp(4rem,9.7vw,9rem);line-height:.9;max-width:970px;margin:20px 0 32px}.big-cta p{font-size:1.1rem;max-width:620px;margin-bottom:24px}.big-cta .btn{border-color:var(--paper)}
/* Blower handset */
.blower-toggle{position:fixed;bottom:26px;right:26px;z-index:110;width:58px;height:58px;border:2px solid var(--mint);color:var(--ink);background:var(--mint);box-shadow:6px 6px 0 #0d151a;display:grid;place-items:center;font-size:1.5rem;transition:transform .2s}.blower-toggle:hover{transform:translateY(-3px)}.blower-dock{position:fixed;bottom:96px;right:24px;width:min(370px,calc(100vw - 26px));z-index:111;box-shadow:0 35px 80px #000b;border:2px solid #5d7b7d;background:#0d1b21;display:none}.blower-dock[aria-hidden="false"]{display:block}.blower-top{background:var(--mint);color:var(--deep);padding:12px 17px;display:flex;justify-content:space-between;align-items:center;font:800 .78rem var(--mono)}.blower-top button{background:transparent;border:1px solid var(--deep);color:var(--deep);width:26px;height:26px;font-weight:900}.blower-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--stroke)}.blower-tabs button{background:#0f1e25;color:var(--muted);padding:13px 9px;border:0;border-right:1px solid var(--stroke);font:700 .71rem var(--mono);letter-spacing:.03em}.blower-tabs button[aria-selected="true"]{background:var(--pink);color:var(--paper)}.blower-content{padding:22px;min-height:280px}.blower-panel{display:none}.blower-panel.active{display:block}.blower-panel .eyebrow{color:var(--mint);margin-bottom:15px}.blower-message{background:#1f343d;padding:18px;border-left:3px solid var(--pink);color:var(--paper);font:.95rem/1.6 var(--text)}.blower-message small{display:block;color:var(--amber);font:700 .73rem var(--mono);margin-bottom:8px}.blower-stations{display:grid;grid-template-columns:1fr 1fr;gap:9px}.blower-stations a{border:1px solid #426069;color:var(--paper);font:.73rem var(--mono);padding:12px;display:flex;align-items:center;min-height:55px}.blower-stations a:hover{background:var(--pink)}.blower-foot{padding:12px 22px;border-top:1px solid var(--stroke);color:var(--muted);font:.65rem var(--mono);display:flex;justify-content:space-between}
/* Animations */
.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js-enabled .reveal.visible{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:1080px){.nav{gap:14px}.nav a{font-size:.65rem}.hero-inner{gap:0}.hero-map{margin-left:-6%;width:115%}.hero-title{font-size:clamp(6rem,12.8vw,11rem)}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card{min-height:245px}.faction-grid{grid-template-columns:repeat(2,1fr)}.city-grid-wrap{grid-template-columns:300px minmax(0,1fr)}.section-heading h2{max-width:680px}}
@media(max-width:780px){:root{--gutter:22px}.site-header{height:70px}.brand-name{font-size:1.6rem}.menu-button{display:block}.nav{position:absolute;top:70px;left:0;right:0;background:#0b1519;border-bottom:1px solid var(--stroke);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px var(--gutter) 24px}.nav.open{display:flex}.nav a{padding:15px 8px;font-size:.8rem;border-bottom:1px solid #24363d}.nav a[aria-current="page"]:after{display:none}.nav-cta{margin-top:13px;text-align:center}.hero{min-height:0;max-height:none}.hero-inner{grid-template-columns:1fr;min-height:0;padding:70px 0 90px}.hero-title{font-size:clamp(6.5rem,20vw,10rem)}.hero-map{width:100%;max-width:610px;margin:50px auto 20px;aspect-ratio:1.2;transform:rotate(1.5deg)}.hero-route{right:0}.vertical-rail{display:none}.metric-row{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--stroke)}.intro-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading .section-side{padding-top:14px}.city-teaser{grid-template-columns:1fr}.city-teaser-map{min-height:310px}.faction-showcase{grid-template-columns:repeat(2,1fr)}.heat-block{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:first-child{grid-column:1/-1}.page-hero{padding:60px 0}.page-hero h1{font-size:clamp(5rem,15vw,8.5rem)}.city-grid-wrap{grid-template-columns:1fr}.atlas-map-list{grid-template-columns:repeat(2,1fr);max-height:250px}.city-stage{min-height:440px}.venue-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.dice-area{grid-template-columns:1fr}.rule-list{grid-template-columns:1fr 1fr}.mission-cards{grid-template-columns:1fr}.play-grid{grid-template-columns:1fr}.play-card{min-height:0}.play-card .btn{margin-top:15px}.book-spread{grid-template-columns:1fr;gap:65px}.book-cover{margin-inline:auto;width:100%}.book-copy{max-width:650px}.ranks{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){:root{--gutter:18px}.site-header{height:68px}.nav{top:68px}.brand-symbol{width:31px;height:31px}.brand-sub{font-size:.48rem}.hero-inner{padding:56px 0 72px}.hero-title{font-size:clamp(5.7rem,22vw,8.6rem)}.hero-kicker{font-size:1.65rem;margin-top:29px}.hero-copy .desc{font-size:.95rem}.hero-map{aspect-ratio:1.05}.hero-route{font-size:.7rem;bottom:10%;right:-2%;width:160px}.hero-route strong{font-size:.95rem}.hero-route p{font-size:.62rem}.map-overlay-top,.map-overlay-bottom{font-size:.51rem;padding:10px}.section{padding-block:70px}.section-heading h2{font-size:clamp(3.4rem,14vw,5rem)}.intro-grid h2{font-size:clamp(4.4rem,16vw,7rem)}.story-step{grid-template-columns:53px 1fr;gap:15px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:210px}.faction-showcase{grid-template-columns:1fr 1fr;gap:7px}.faction-preview{padding:14px;min-height:265px}.faction-preview img{width:90px;height:90px}.faction-preview h3{font-size:1.48rem}.faction-preview p{font-size:.76rem}.metric{padding:20px 16px}.metric strong{font-size:3rem}.heat-stars{gap:3px}.heat-stars button{width:19%;height:57px;font-size:2rem}.footer-inner{grid-template-columns:1fr}.footer-inner>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom>*{margin:8px 0}.page-hero h1{font-size:clamp(4.1rem,16vw,7rem)}.page-hero .lead{font-size:.99rem}.hero-bottomline{align-items:flex-start;flex-direction:column}.atlas-map-list{grid-template-columns:1fr;max-height:230px}.city-stage{min-height:345px}.city-stage-img{min-height:220px}.city-stage-header h3{font-size:1.15rem}.city-stage-footer{font-size:.55rem}.venue-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.dice-controls{grid-template-columns:1fr}.dice-form,.dice-result{padding:24px}.dice-result{min-height:390px}.rule-list{grid-template-columns:1fr}.outcome-grid{grid-template-columns:1fr 1fr}.outcome-grid article{padding:15px}.faction-grid{grid-template-columns:1fr}.ranks{grid-template-columns:repeat(2,1fr)}.mission-card{grid-template-columns:64px 1fr;padding:19px;gap:15px}.mission-card img{width:60px;height:60px}.mission-card h3{font-size:1.55rem}.mission-toolbar select,.mission-toolbar input{width:100%}.jobs-breakdown{grid-template-columns:1fr}.book-cover{max-width:280px;min-height:400px}.book-cover h3{font-size:4.6rem}.big-cta{padding-block:78px}.big-cta h2{font-size:clamp(4.3rem,17vw,7rem)}.blower-toggle{width:51px;height:51px;right:15px;bottom:15px}.blower-dock{right:13px;bottom:79px}}
/* Preserve filtering semantics against the card display rules. */
[hidden]{display:none!important}

@media(max-width:520px){.mission-process .intro-grid h2{font-size:clamp(3rem,12.6vw,4.4rem)}.mission-process .intro-grid>*{min-width:0}.page-hero:has(+ .section .faction-grid) h1{font-size:clamp(3.5rem,13.2vw,7rem)}}


/* THE SMOKE / v1.3 — official Pacts & Polyhedrals SVG branding pack
   Brand assets are reusable and editable in assets/brand/logos and assets/brand/graphics. */
.site-header .brand{gap:8px;min-width:0}
.site-header .brand-symbol{width:48px;height:48px;flex:none;border:0;background:none;display:block;transform:none;position:static}
.site-header .brand-symbol:after{content:none;display:none}
.site-header .brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.site-header .brand-type{display:block;min-width:0}
.site-header .brand-wordmark{display:block;width:205px;height:auto;max-width:100%}
.site-header .brand-sub{font:700 .52rem/1.35 var(--mono);letter-spacing:.055em;color:#adbfbd;text-transform:uppercase;margin:0;white-space:nowrap}
.footer-brand-lockup{display:block;max-width:390px}
.footer-brand-lockup img{display:block;width:100%;height:auto}
/* Website illustrations retain their native SVG viewBox and work at all display sizes. */
.brand-campaign-section{background:#102128;border-top:1px solid var(--stroke)}
.brand-campaign-grid{display:grid;grid-template-columns:1.58fr 1fr 1fr;gap:17px;margin-top:28px}
.brand-campaign-card{display:flex;flex-direction:column;min-width:0;border:1px solid #39535b;background:#0a151a;transition:border-color .2s ease,transform .2s ease}
.brand-campaign-card:hover{border-color:var(--mint);transform:translateY(-3px)}
.brand-campaign-card:focus-visible,.brand-story .btn:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.brand-campaign-media{height:294px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#071218}
.brand-campaign-media img{display:block;width:100%;height:100%;object-fit:contain}
.brand-campaign-copy{padding:19px 21px 21px;display:flex;flex-direction:column;gap:9px;flex:1;border-top:1px solid #304a54}
.brand-campaign-copy small{color:var(--pink);font:800 .7rem var(--mono);letter-spacing:.14em}
.brand-campaign-copy strong{color:var(--paper);font:900 1.55rem/.95 var(--head);letter-spacing:.015em;text-transform:uppercase}
.brand-campaign-copy>span{margin-top:auto;font:.72rem var(--mono);color:var(--mint)}
.brand-story{background:#0c1b21;border-top:1px solid #38505a;padding:80px 0 88px;overflow:hidden}
.brand-story--chainring{background:#13242c}
.brand-story--blower{background:#0d2126}
.brand-story-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(30px,5vw,72px);align-items:center}
.brand-story--chainring .brand-story-grid{grid-template-columns:.85fr 1.15fr}
.brand-story--blower .brand-story-grid{grid-template-columns:1fr 1fr}
.brand-story-copy h2{font:900 clamp(3.35rem,6.7vw,6.6rem)/.88 var(--head);letter-spacing:-.02em;margin:21px 0 24px;text-transform:uppercase}
.brand-story-copy p{max-width:475px;color:#bfd0ce;font-size:1rem;line-height:1.74;margin:0 0 20px}
.brand-story-copy .btn{margin-top:16px}
.brand-story-note{font:700 .72rem/1.65 var(--mono)!important;color:var(--muted)!important;margin-top:17px!important}
.brand-story-visual{min-width:0;margin:0;position:relative;overflow:hidden;background:#071218;border:1px solid #43656a;box-shadow:18px 20px 0 rgba(3,10,14,.28)}
.brand-story-visual img{display:block;width:100%;height:auto;max-width:100%}
.brand-story-visual figcaption{font:700 .62rem/1.45 var(--mono);color:var(--muted);letter-spacing:.1em;padding:12px 14px;border-top:1px solid #2e4248;background:#0c1820}
.brand-story-visual--poster{max-width:465px;justify-self:center}
.brand-story-visual--square{max-width:540px;justify-self:end}
@media(max-width:1100px){.brand-campaign-grid{grid-template-columns:1.35fr 1fr 1fr}.brand-campaign-media{height:248px}.brand-campaign-copy strong{font-size:1.35rem}.brand-story-copy h2{font-size:clamp(3rem,6.1vw,5.5rem)}}
@media(max-width:780px){.brand-campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-campaign-card:first-child{grid-column:1/-1}.brand-campaign-card:first-child .brand-campaign-media{height:auto;aspect-ratio:16/9}.brand-campaign-media{height:255px}.brand-story-grid,.brand-story--chainring .brand-story-grid,.brand-story--blower .brand-story-grid{grid-template-columns:1fr;gap:34px}.brand-story{padding:62px 0 76px}.brand-story-copy h2{font-size:clamp(3.8rem,12vw,6rem)}.brand-story-visual--poster,.brand-story-visual--square{max-width:490px;width:100%;justify-self:center}.brand-story--city .brand-story-visual,.brand-story--blower .brand-story-visual{grid-row:1}.brand-story--chainring .brand-story-copy{grid-row:1}.footer-brand-lockup{max-width:420px}}
@media(max-width:520px){.site-header .brand-symbol{width:39px;height:39px}.site-header .brand-wordmark{width:163px}.site-header .brand-sub{font-size:.46rem;letter-spacing:.02em}.site-header .brand{gap:5px}.brand-campaign-grid{grid-template-columns:1fr;gap:14px}.brand-campaign-card:first-child{grid-column:auto}.brand-campaign-media{height:270px}.brand-campaign-card:first-child .brand-campaign-media{height:auto;aspect-ratio:16/9}.brand-campaign-copy{padding:17px 18px 19px}.brand-story-copy h2{font-size:clamp(3.15rem,12.5vw,4.8rem)}.brand-story-copy p{font-size:.95rem}.brand-story-visual{box-shadow:10px 12px 0 rgba(3,10,14,.28)}}
@media(max-width:360px){
  .hero-inner{grid-template-columns:minmax(0,1fr)}
  .hero-copy{min-width:0}
  .hero-title{font-size:clamp(4rem,21vw,4.5rem)}
  .hero-title .smoke-word{margin-left:4px}
  .hero-copy .eyebrow{font-size:.57rem;letter-spacing:.07em}
  .hero-map{width:100%;max-width:295px;margin-left:auto;margin-right:auto;transform:none}
  .hero-map .map-overlay-top,.hero-map .map-overlay-bottom{font-size:.45rem}
  .hero-map .hero-route{right:0;width:155px}
  .page-hero h1{font-size:clamp(3.2rem,14.5vw,3.5rem)}
  .section-heading h2{font-size:clamp(2.65rem,12vw,3.1rem)}
  .faction-showcase{grid-template-columns:minmax(0,1fr)}
  .faction-preview{min-width:0}
  .outcome-grid{grid-template-columns:minmax(0,1fr)}
  .outcome-grid article{min-width:0}
}
@media(prefers-reduced-motion:reduce){.brand-campaign-card{transition:none!important}}



/* v1.4 — device preview section for the recreated Blower and watch assets */
.device-preview-section{border-top:1px solid var(--stroke);background:linear-gradient(180deg,#0f1c22 0%,#0b1419 100%)}
.device-preview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.82fr);gap:22px;align-items:stretch}
.device-preview-grid--play{align-items:start}
.device-preview-card{display:flex;flex-direction:column;min-width:0;background:#0a151a;border:1px solid #36515a;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.22)}
.device-preview-media{display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at top,#18313b 0,#0b1419 72%)}
.device-preview-media img{width:100%;height:auto;object-fit:contain}
.device-preview-media--dashboard{min-height:360px}
.device-preview-media--watch{min-height:360px;padding:24px}
.device-preview-media--watch img{max-width:260px}
.device-preview-copy{display:flex;flex-direction:column;gap:12px;padding:22px 22px 24px;border-top:1px solid #2d4149;flex:1}
.device-preview-copy h3{font:900 clamp(2rem,3.6vw,3.35rem)/.9 var(--head);letter-spacing:.01em;text-transform:uppercase}
.device-preview-copy p{color:#bfd0ce;max-width:52ch}
.device-preview-card--watch .device-preview-copy h3{font-size:clamp(2rem,3vw,2.75rem)}
@media(max-width:980px){.device-preview-grid{grid-template-columns:1fr}.device-preview-media--dashboard,.device-preview-media--watch{min-height:0}.device-preview-media--watch img{max-width:240px}}
@media(max-width:520px){.device-preview-copy{padding:18px}.device-preview-copy h3{font-size:clamp(2.2rem,10vw,3.1rem)}.device-preview-card--watch .device-preview-copy h3{font-size:clamp(2rem,9vw,2.55rem)}.device-preview-media{padding:14px}}


/* v1.5 / transparent active-beta status and maker links on every page. */
.beta-strip{background:#152930;border-bottom:1px solid #405d63;color:var(--paper)}
.beta-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;min-height:56px}
.beta-strip-copy{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.beta-strip-label{flex:none;display:inline-flex;align-items:center;gap:9px;color:var(--amber);font:800 .65rem var(--mono);letter-spacing:.14em;white-space:nowrap}
.beta-strip-label:before{content:"";width:8px;height:8px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 3px rgba(239,186,104,.13)}
.beta-strip-copy p{color:#d3dedc;font-size:.79rem;line-height:1.45;margin:0}
.beta-strip-copy p strong{color:var(--paper)}
.beta-strip-link{font:700 .65rem var(--mono);letter-spacing:.08em;color:var(--mint);border-bottom:1px solid rgba(120,221,210,.55);padding-bottom:3px;white-space:nowrap}
.beta-strip-link:hover{color:var(--white);border-color:var(--white)}
.hero-copy .desc .beta-hero-text{display:block;margin-top:8px;color:var(--amber);font-size:.9em}
.beta-play-panel{display:flex;align-items:flex-start;gap:14px 22px;flex-wrap:wrap;background:#172c32;border:1px solid #547274;border-left:4px solid var(--amber);padding:18px 21px;margin:-8px 0 28px;scroll-margin-top:110px}
.beta-play-kicker{color:var(--amber);font:800 .69rem var(--mono);letter-spacing:.09em;white-space:nowrap}
.beta-play-panel p{max-width:770px;flex:1;min-width:min(100%,230px);font-size:.89rem;line-height:1.55;color:#c9d6d2}
.beta-play-panel p strong{color:var(--paper)}
.beta-play-panel a{font:700 .7rem var(--mono);color:var(--mint);border-bottom:1px solid var(--mint);padding-bottom:3px}
.footer-studio-links{min-width:0}
.footer-studio-note{color:var(--muted);font-size:.77rem;line-height:1.5;margin-top:16px}
@media(min-width:1081px){.site-footer .footer-inner{grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(0,.75fr));gap:clamp(20px,2.6vw,36px)}}
@media(max-width:1080px) and (min-width:781px){.site-footer .footer-inner{grid-template-columns:1.2fr 1fr;gap:34px}.footer-studio-links{grid-column:2}}
@media(max-width:780px){.site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-studio-links{grid-column:auto}.beta-strip-inner{align-items:flex-start;gap:9px}.beta-strip-copy{gap:7px 10px}}
@media(max-width:520px){.site-footer .footer-inner{grid-template-columns:minmax(0,1fr)}.beta-strip-inner{flex-wrap:wrap;padding:12px 0;gap:7px}.beta-strip-copy{gap:7px}.beta-strip-copy p{font-size:.76rem}.beta-strip-link{margin-left:18px}.beta-play-panel{gap:9px 12px;padding:16px}.beta-play-panel p{min-width:100%}}
