:root{--orange:#ff641f;--ink:#171714;--paper:#fff8e9;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid currentColor;outline-offset:7px}.skip{position:fixed;top:-80px;left:20px;z-index:20;background:var(--paper);padding:15px}.skip:focus{top:15px}header{position:absolute;top:0;left:0;width:100%;padding:28px 4vw;z-index:5;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:25px;line-height:.88;letter-spacing:-1.5px;font-weight:950;text-decoration:none}.wordmark span{display:block;font-size:12px;letter-spacing:4px;margin-top:7px}.nav-contact{font-size:15px;text-decoration:none;border-bottom:1px solid;padding:8px 0}.nav-contact span{margin-left:20px}.story{height:185svh;background:var(--orange)}.stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden}.hero-copy{position:absolute;left:4vw;top:23%;z-index:2;transform:translateY(calc(var(--progress,0) * -130px));opacity:var(--hero-opacity,1)}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;line-height:1.5;margin:0 0 24px}h1{font-size:clamp(64px,7.8vw,128px);letter-spacing:-.065em;line-height:.91;font-weight:750;margin:0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}h1 em{display:inline-block;margin-top:12px}.scene{position:absolute;width:min(55vw,790px);aspect-ratio:1;right:1vw;bottom:10%;transform:translateY(calc(var(--progress,0) * -55px))}.halo{position:absolute;inset:10%;border:1px solid #17171422;border-radius:50%;transform:scale(calc(1 + var(--progress,0) * .3))}.sprite{position:absolute;background-image:url('assets/cat-sprites.png');background-repeat:no-repeat}.cat{left:0;top:0;width:75%;height:94%;background-size:150% 100%;background-position:0 0}.arm{left:57%;top:41%;width:34%;height:33%;background-size:450% 300%;background-position:100% 0;transform-origin:15% 25%;transform:rotate(calc(var(--paw,0) * 28deg))}.flipper{left:56%;top:76%;width:42%;height:16%;background-size:360% 620%;background-position:100% 100%;transform-origin:85% 60%;transform:rotate(calc(var(--flipper,0) * 19deg))}.ball{position:absolute;left:72%;top:65%;width:9%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 25%,white 0,#f8f6ee 9%,#a6aaa9 27%,#f3f4f2 48%,#636967 70%,#252a29 100%);box-shadow:inset -3px -3px 5px #0005,0 4px 3px #0002;transform:translate(calc(var(--ball-x,0) * 1px),calc(var(--ball-y,0) * 1px))}.tap-lines{position:absolute;left:79%;top:53%;font-size:60px;opacity:var(--tap,0);transform:rotate(18deg)}.drop-copy{position:absolute;left:5vw;top:26%;font-size:clamp(65px,9vw,145px);letter-spacing:-.07em;line-height:.88;font-weight:800;margin:0;opacity:var(--drop-opacity,0);transform:translateY(calc((1 - var(--progress,0)) * 65px))}.stage-footer{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;font-weight:700}.stage-footer a{text-decoration:none}.stage-footer a span{margin-left:25px}.about,.partnership,.contact{padding:100px 8vw}.about{display:grid;grid-template-columns:1fr 1fr;gap:25px 8vw}.about .eyebrow{grid-column:1/-1;margin-bottom:0}.about h2{font-size:clamp(50px,6vw,85px);letter-spacing:-.06em;line-height:.95;margin:0}.about-text{font-size:clamp(21px,2vw,29px);line-height:1.45;margin:0;max-width:640px}.partnership{background:var(--ink);color:var(--paper)}h2{font-size:clamp(49px,7vw,100px);line-height:1.02;letter-spacing:-.065em;margin:0 0 45px}.partnership em{color:var(--orange)}.model{display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:1100px}.model p{font-size:21px;line-height:1.5;margin:0}.contact{background:var(--orange);position:relative}.contact h2{margin-bottom:25px}.contact>p:not(.eyebrow){font-size:21px;line-height:1.4;max-width:480px}.contact-button{position:absolute;right:10vw;bottom:125px;width:190px;height:190px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;font-size:22px;transition:transform .25s}.contact-button:hover{transform:rotate(-8deg)}footer{padding:26px 4vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.8px}footer a{text-decoration:none}@media(min-width:1500px){.scene{right:6vw}}@media(max-width:760px){header{padding:24px}.nav-contact{font-size:13px}.nav-contact span{margin-left:8px}.story{height:160svh}.stage{min-height:640px}.hero-copy{top:18%;left:6vw}h1{font-size:clamp(52px,12vw,80px)}.eyebrow{font-size:11px;letter-spacing:1px}.scene{width:76vw;max-width:470px;bottom:9%;right:1vw}.stage-footer{left:6vw;right:6vw;font-size:10px;bottom:25px}.drop-copy{top:22%;font-size:17vw}.about,.partnership,.contact{padding:70px 7vw}.about{grid-template-columns:1fr;gap:24px}.about-text,.model p{font-size:20px}.model{grid-template-columns:1fr;gap:25px}.contact-button{position:static;width:140px;height:140px;margin-top:30px;font-size:20px}.contact>p:not(.eyebrow){font-size:20px}footer{gap:18px;flex-wrap:wrap;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story{height:100svh;min-height:640px}.stage{position:relative}.hero-copy,.scene,.arm,.flipper,.ball{transform:none!important}.hero-copy{opacity:1!important}.drop-copy,.tap-lines{display:none}.contact-button{transition:none}}
.cat{height:80%;background-size:160% 100%}.arm{left:52%;top:38%;width:34%;height:24.28%;background-size:313.47% 292.57%;background-position:94.65% 44.51%}.flipper{left:55%;top:70%;width:42%;height:17.94%;background-size:320% 499.5%;background-position:93.27% 85.47%}.ball{left:72%;top:61%}.detail-strip{display:grid;grid-template-columns:1.25fr 1fr;position:relative;background:var(--ink);gap:10px;padding:10px 10px 34px}.detail-strip figure{margin:0;height:380px;overflow:hidden}.detail-strip img{width:100%;height:100%;object-fit:cover}.detail-strip figure:first-child img{transform:scale(1.48);object-position:50% 43%}.photo-credit{position:absolute;bottom:10px;left:16px;color:#d3c9b8;font-size:12px}.email{display:block;font-size:16px;margin-top:24px;text-underline-offset:5px}@media(max-width:760px){.detail-strip{gap:6px;padding:6px 6px 43px}.detail-strip figure{height:240px}.photo-credit{font-size:10px;line-height:1.4;right:12px}.scene{bottom:9%;width:84vw;right:0}}
.scene{width:min(48vw,650px);bottom:8%}.ball{top:70%}@media(max-width:760px){.scene{width:84vw;max-width:450px;bottom:7%;right:0}}@media(min-width:1500px){.scene{right:6vw}}
.arm{top:42%}.ball{left:65%}
/* Venue offer and local context */
.eyebrow{font-size:14px}.stage{min-height:760px}.hero-copy{top:22%;max-width:50vw}h1{font-size:clamp(60px,7.4vw,116px)}.hero-offer{font-size:clamp(18px,1.65vw,23px);line-height:1.45;max-width:470px;margin:28px 0 18px}.hero-link{font-size:16px;font-weight:700;text-underline-offset:6px}.hero-link span{margin-left:12px}.stage-footer{font-size:14px}.why-pinball,.local{padding:90px 8vw}.why-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.why-intro h2{font-size:clamp(46px,5.4vw,82px);margin:0}.why-intro>p,.local-intro{font-size:clamp(20px,1.9vw,26px);line-height:1.5;margin:0}.venue-benefits{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:60px;border-top:1px solid #17171445;padding-top:30px}.benefit-number{display:block;font-size:14px;letter-spacing:2px;margin-bottom:18px;color:#a33b0d}h3{font-size:24px;line-height:1.15;letter-spacing:-.035em;margin:0 0 18px}.venue-benefits p{font-size:18px;line-height:1.55;margin:0}.venue-benefits a{text-underline-offset:3px}.local{background:#f2e8d4}.local h2{font-size:clamp(52px,6vw,90px);margin-bottom:25px}.local-intro{max-width:750px}.local-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;align-items:center;margin-top:40px}.area-map{margin:0}.area-map img{display:block;width:100%;height:auto}.area-map figcaption,.source-note{font-size:13px;line-height:1.5;color:#4d4b42}.area-map a,.source-note a{text-underline-offset:3px}.area-map figcaption{margin-top:10px}.local-data h3{font-size:20px}.stats{margin:0}.stats>div{display:flex;flex-direction:column-reverse;border-top:1px solid #1717143a;padding:16px 0}.stats dt{font-size:15px;line-height:1.4}.stats dd{font-size:clamp(48px,5.3vw,74px);line-height:1.05;letter-spacing:-.065em;margin:0 0 8px;font-weight:700}.stats dd span{font-size:.65em;margin-left:3px}.source-note{margin:15px 0 0}.local-reading{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;border-top:1px solid #17171445;margin-top:44px;padding-top:30px}.local-reading p{font-size:22px;line-height:1.45;margin:0}.local-reading p+p{font-size:18px}.model h3{color:var(--orange);font-size:22px}.contact h2{font-size:clamp(49px,6.3vw,90px)}.about-text{font-size:clamp(20px,1.8vw,25px)}.about h2{font-size:clamp(48px,5.5vw,76px)}.about,.partnership,.contact{padding-top:85px;padding-bottom:85px}.photo-credit{font-size:12px}footer{font-size:13px}
@media(max-width:900px) and (min-width:761px){.hero-copy{max-width:56vw}.hero-offer{max-width:390px}.scene{width:45vw}.local-grid{gap:4vw}.local-data h3{font-size:19px}}
@media(max-width:760px){.stage{height:100svh;min-height:850px}.story{height:calc(850px + 70svh)}.hero-copy{top:125px;left:7vw;right:7vw;max-width:none}.hero-copy .eyebrow{max-width:310px;font-size:12px;letter-spacing:1px;margin-bottom:20px}h1{font-size:clamp(52px,12vw,80px)}.hero-offer{font-size:18px;line-height:1.4;max-width:360px;margin-top:22px}.hero-link{font-size:15px}.scene{width:72vw;max-width:340px;bottom:55px;right:4vw}.stage-footer{font-size:12px;letter-spacing:.5px;bottom:23px}.drop-copy{top:24%}.eyebrow{font-size:13px}.why-pinball,.local,.about,.partnership,.contact{padding:65px 7vw}.why-intro,.venue-benefits,.local-grid,.local-reading{grid-template-columns:1fr;gap:28px}.why-intro h2{font-size:48px}.why-intro>p,.local-intro{font-size:20px}.venue-benefits{margin-top:35px}.venue-benefits article+article{border-top:1px solid #17171445;padding-top:28px}.venue-benefits p{font-size:18px}.benefit-number{margin-bottom:12px}.local h2{font-size:54px}.local-grid{margin-top:25px}.area-map{margin:0 -4vw}.area-map figcaption{margin:12px 4vw 0}.local-data h3{font-size:22px}.stats dd{font-size:58px}.stats>div{padding:18px 0}.stats dt{font-size:15px}.local-reading{margin-top:30px;gap:16px}.local-reading p{font-size:21px}.local-reading p+p{font-size:18px}.model h3{font-size:21px;margin-bottom:14px}.model p{font-size:19px}.photo-credit{font-size:12px}.detail-strip{padding-bottom:51px}.about-text{font-size:20px}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.story{height:auto}.stage{min-height:760px}.hero-copy{transform:none!important;opacity:1!important}@media(max-width:760px){.stage{min-height:850px}}}
/* Independent pupils use the original artwork; only the cat's eye base is edited. */
.cat{background-image:url('assets/cat-sprites-pupil-free.png')}.pupil{position:absolute;width:4.3%;height:5.5%;background-image:url('assets/cat-sprites.png');background-repeat:no-repeat;background-size:2792.73% 1454.55%;background-position:42.2687% 36.0588%;clip-path:ellipse(43% 46% at 50% 50%);pointer-events:none}.pupil-left{left:49.22%;top:26.56%;transform:translate(calc(-50% + var(--left-gaze-x,0px)),calc(-50% + var(--left-gaze-y,0px)))}.pupil-right{left:62.73%;top:31.95%;width:3.5%;height:4.8%;transform:translate(calc(-50% + var(--right-gaze-x,0px)),calc(-50% + var(--right-gaze-y,0px)))}

.communities{display:block;margin-top:16px;font-size:17px;line-height:1.7}

/* Always-visible navigation follows each section's palette. */
html{scroll-padding-top:calc(var(--header-height,100px) + 24px)}
header{position:fixed;z-index:15;background:var(--orange);color:var(--ink);transition:background-color .3s ease,color .3s ease}
header[data-theme="paper"]{background:var(--paper);color:var(--ink)}
header[data-theme="sand"]{background:#f2e8d4;color:var(--ink)}
header[data-theme="ink"]{background:var(--ink);color:var(--paper)}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Three authentic playfield close-ups, with room for the Pokémon characters. */
.detail-strip{grid-template-columns:1fr 1.65fr 1fr}
.detail-strip figure{height:clamp(280px,28vw,380px)}
.detail-strip .pokemon-detail img{object-position:50% 45%}
@media(max-width:760px){.detail-strip{grid-template-columns:1fr 1fr;padding-bottom:58px}.detail-strip figure{height:190px}.detail-strip .pokemon-detail{grid-column:1/-1;grid-row:1;height:auto;aspect-ratio:2560/1708}.detail-strip .pokemon-detail img{height:auto;display:block}.detail-strip figure:first-child,.detail-strip figure:last-of-type{grid-row:2}}
