@font-face{font-family:'Basically A Sans Serif';src:url('fonts/BasicallyASansSerif-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:block}
@font-face{font-family:'Work Sans';src:url('fonts/WorkSans-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:block}
:root{color-scheme:light;--cream:#fdf0d6;--red:#e21331;--brown:#77290d;--ink:#211c18}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--cream);font-family:'Work Sans',Arial,sans-serif;color:var(--ink);transition:background 850ms ease}body.second{background:var(--brown);color:var(--cream)}
main{height:100svh;position:relative;overflow:hidden;touch-action:pan-x}.slide{position:absolute;inset:0;display:grid;place-items:center;visibility:hidden;opacity:0;transform:translateY(8%);transition:transform 950ms cubic-bezier(.22,1,.36,1),opacity 650ms ease,visibility 950ms;pointer-events:none}.slide.active{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.slide.past{transform:translateY(-12%)}
.artwork{width:min(100vw,calc((100svh - 96px)*16/9));aspect-ratio:16/9}.artwork svg{width:100%;height:100%;display:block;overflow:visible}:is(#cover,#ambition) svg text{font-family:'Work Sans',sans-serif}.artwork svg text.pitch-heading{font-family:'Basically A Sans Serif',sans-serif;font-weight:500}
.navigation{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #211c181f;border-radius:40px;background:#fff7e5d9;backdrop-filter:blur(16px);z-index:10;box-shadow:0 4px 24px #211c1805;transition:background .6s,border-color .6s}.second .navigation{background:#63220dcc;border-color:#fdf0d633}.icon{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;font:22px Arial;cursor:pointer;transition:background .2s,opacity .2s}.icon:hover{background:#e2133112}.second .icon:hover{background:#fdf0d61a}.icon:disabled{opacity:.25;cursor:default}button:focus-visible{outline:2px solid var(--red);outline-offset:4px}.second button:focus-visible{outline-color:var(--cream)}.dots{display:flex;gap:7px}.dots button{width:7px;height:7px;padding:0;border:0;border-radius:10px;background:currentColor;opacity:.24;cursor:pointer;transition:width .4s,opacity .4s}.dots button[aria-current]{width:22px;opacity:1}.counter{font-size:11px;letter-spacing:.12em;margin-left:2px}.counter span{opacity:.4}.separator{height:17px;width:1px;background:currentColor;opacity:.15}.hint{position:fixed;left:40px;bottom:40px;font-size:11px;letter-spacing:.08em;opacity:0;animation:hint-in 1s 3s forwards;pointer-events:none}.hint span{display:inline-block;margin-left:14px;animation:nudge 2s infinite}.second .hint{visibility:hidden}.loading{position:fixed;inset:0;display:grid;place-content:center;gap:16px;background:var(--cream);z-index:20;font-size:12px;letter-spacing:.1em;transition:opacity .4s,visibility .4s}.loading span{height:2px;background:var(--red);animation:load 1s infinite alternate}.ready .loading{opacity:0;visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.navigation{color:var(--ink)}.second .navigation{color:var(--cream)}.dots button{color:inherit}
@keyframes load{from{transform:scaleX(.1)}to{transform:scaleX(1)}}@keyframes hint-in{to{opacity:.5}}@keyframes nudge{50%{transform:translateY(4px)}}
@media(max-width:650px){.hint{left:20px;bottom:100px;font-size:10px}.navigation{gap:9px;bottom:24px}.artwork{width:100vw}.slide{overflow:auto}main:after{content:'Best viewed in landscape';position:fixed;top:24px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.1em;opacity:.45;pointer-events:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hint{opacity:.5}}

/* One full-viewport background layer prevents SVG-sized blocks during transitions. */
body{transition:none;font-synthesis:none}
body::before{content:'';position:fixed;inset:0;background:var(--brown);opacity:0;transition:opacity 1400ms cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0}
body.second{background:var(--cream)}body.second::before{opacity:1}
main{z-index:1}.slide{transform:none;transition:opacity 1000ms cubic-bezier(.4,0,.2,1),visibility 1000ms;will-change:opacity}.slide.active,.slide.past{transform:none}
:is(#cover,#ambition) svg text{font-weight:400}.artwork svg text.cover-cls-12{font-weight:600}.artwork svg text.ambition-cls-12,.artwork svg text.ambition-cls-13{font-weight:700}.artwork svg text.pitch-heading{font-weight:500}
.icon{font-family:'Work Sans',sans-serif}
.stamp{transform-box:fill-box;transform-origin:center;transition:transform 650ms cubic-bezier(.2,.8,.2,1),filter 650ms;outline:none}
.stamp:hover,.stamp:focus-visible{transform:translateY(-7px) rotate(-.6deg);filter:drop-shadow(0 12px 10px #35130740)}
.stamp:nth-last-child(1):hover,.stamp:nth-last-child(1):focus-visible{transform:translateY(-7px) rotate(.6deg)}
.start-screen{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);padding:24px;text-align:center;transition:opacity 800ms ease,visibility 800ms}
.start-eyebrow{font-size:11px;letter-spacing:.19em;margin:0 0 28px;opacity:.55}
.start-screen h1{font:500 clamp(48px,8vw,104px)/1.1 'Basically A Sans Serif',sans-serif;letter-spacing:-.04em;color:var(--red);margin:0}
.start-description{font-size:clamp(14px,2vw,20px);font-weight:400;margin:20px 0 44px}
#start{border:1px solid var(--red);border-radius:40px;background:var(--red);color:var(--cream);padding:17px 28px;font:500 14px 'Work Sans',sans-serif;cursor:pointer;transition:transform 300ms,box-shadow 300ms,background 300ms}
#start:hover{transform:translateY(-3px);background:#c9102b;box-shadow:0 8px 24px #e2133125}#start:disabled{opacity:.4;cursor:wait}
.start-help{font-size:11px;opacity:.45;margin-top:24px}
.started .start-screen{opacity:0;visibility:hidden;pointer-events:none}
body:not(.started) .navigation,body:not(.started) .hint{opacity:0;visibility:hidden}
.hint{animation:none;transition:opacity 1s}.started .hint{opacity:.5;transition-delay:6s}
@media(prefers-reduced-motion:reduce){body::before{transition:none}.stamp:hover,.stamp:focus-visible{transform:none}}
@font-face{font-family:'Basically A Sans Serif';src:url('fonts/BasicallyASansSerif-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:block}
.artwork svg text.pitch-subtitle,.start-description{font-family:'Basically A Sans Serif',sans-serif;font-weight:400}
*{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
input{user-select:text;-webkit-user-select:text}
#access-form{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:min(300px,85vw)}
#access-form label{text-align:left;font-size:11px;letter-spacing:.04em}
#password{border:1px solid #77290d40;background:#fff7e5;color:var(--ink);padding:15px 18px;border-radius:8px;font:400 15px 'Work Sans',sans-serif;outline-offset:3px}
#access-error{color:var(--red);font-size:12px;line-height:1.5;margin:0;min-height:18px}
.artwork{position:relative}.artwork canvas{display:block;width:100%;height:100%;touch-action:pan-x}
.artwork svg.render-source{position:fixed;left:-10000px;top:0;width:1920px;height:1080px;pointer-events:none}
.stamp.canvas-hover{transform:translateY(-7px) rotate(-.6deg)}
.stamp:nth-last-child(1).canvas-hover{transform:translateY(-7px) rotate(.6deg)}
@media(prefers-reduced-motion:reduce){.stamp.canvas-hover{transform:none}}

.dots{gap:5px}.dots button[aria-current]{width:16px}.approach-slider{position:absolute;left:10.06%;top:71.3%;width:27.2%;height:6%;opacity:0;pointer-events:none;accent-color:#e21331;cursor:ew-resize;background:transparent}.approach-slider.revealed{opacity:.01;pointer-events:auto}.approach-slider:focus-visible{opacity:.65}.navigation{gap:10px}
@media(max-width:650px){.navigation{gap:5px}.icon{width:28px}.dots{gap:4px}}
body.started:has(.slide.active:not([data-source-slide="1"])) .hint{visibility:hidden}
.approach-slider{appearance:none;-webkit-appearance:none;border:0;outline:none;margin:0;padding:0;background:transparent}.approach-slider.revealed,.approach-slider.revealed:focus-visible{opacity:1}.approach-slider::-webkit-slider-runnable-track{background:transparent;border:0;height:18px}.approach-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;background:transparent;border:0;border-radius:50%}.approach-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #e2133140}.approach-slider::-moz-range-track{background:transparent;border:0}.approach-slider::-moz-range-thumb{background:transparent;border:0;width:18px;height:18px}
.logo-background{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.slide[data-source-slide="4"] .artwork{z-index:1}.end-slide{border:0;background:transparent;color:inherit;font:500 10px 'Work Sans',sans-serif;white-space:nowrap;cursor:pointer;border-radius:20px;padding:9px 8px;transition:background .2s}.end-slide:hover{background:#e2133115}.second .end-slide:hover{background:#fdf0d61a}.slide-thumbnail{position:fixed;bottom:88px;z-index:30;width:264px;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .25s,visibility .2s;border-radius:12px;background:#261a13;box-shadow:0 8px 32px #0003;padding:5px;color:#fdf0d6}.slide-thumbnail.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.slide-thumbnail img{display:block;width:254px;height:143px;object-fit:cover;border-radius:8px}.slide-thumbnail span{display:block;font-size:10px;line-height:1.4;padding:9px 7px}.dots button{position:relative}.dots button:before{content:'';position:absolute;inset:-9px -2px}.logo-slide .navigation{background:#fff0d6d9}
.footer-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body[data-current-slide="8"]{background:#fdbb5b}body[data-current-slide="8"]::before{background:#fdbb5b}body[data-current-slide="10"]{background:#fff}body[data-current-slide="10"]::before{background:#fff}
.slide-loading{position:absolute;inset:0;display:grid;place-content:center;font:400 14px 'Work Sans',sans-serif;letter-spacing:.03em;pointer-events:none;background:inherit}
.navigation{max-width:calc(100vw - 20px)}
@media(max-width:700px){.dots{gap:3px}.dots button{width:4px;height:5px}.dots button[aria-current]{width:10px}.navigation{gap:3px;padding:8px}.navigation .icon{width:25px}.counter{font-size:9px}}
.slide[data-source-slide="8"] .footer-wave,.slide[data-source-slide="12"] .footer-wave{z-index:2}

/* Keep every transition background at viewport size, outside artwork snapshots. */
body{transition:background-color 1000ms cubic-bezier(.4,0,.2,1)}body::before{display:none}body.second{background:var(--brown)}
body[data-current-slide="14"]{background:#6f482c}.slide[data-source-slide="14"] .artwork{width:min(100vw,calc(100svh*16/9));isolation:isolate;overflow:hidden}.store-stage{position:relative;background:#6f482c}.store-stage .store-poster,.store-stage .store-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.store-poster{transition:opacity 1200ms ease}.store-poster.store-rendered{opacity:0}.store-canvas{opacity:0;transition:none;cursor:crosshair;touch-action:pan-y}.store-status{position:absolute;inset:auto 0 12%;text-align:center;font:400 11px 'Work Sans',sans-serif;color:#fdf0d6;z-index:2}.store-hint{position:absolute;top:20px;left:0;right:0;text-align:center;color:#fdf0d6b0;font-size:10px;letter-spacing:.08em;pointer-events:none}.slide[data-source-slide="14"] .store-stage canvas{height:100%}

/* The store view fills the viewport and fits its subject inside a rotation-safe frame. */
.slide[data-source-slide="14"] .artwork.store-stage{width:100vw;height:100svh;aspect-ratio:auto;overflow:hidden}.store-stage .store-canvas,.slide[data-source-slide="14"] .store-stage canvas{width:100%;height:100%}.store-stage .store-poster{object-fit:contain}

.store-poster.store-rendered{opacity:0;visibility:hidden;transition:none}

.language-slide.active{transition:none}.language-slide .artwork{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.language-slide canvas{position:absolute;inset:0;width:100%;height:100%}.language-progress{position:absolute;bottom:100px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.1em;pointer-events:none;opacity:.7}.language-progress span{display:block;margin-top:8px;font-size:9px;letter-spacing:.03em;opacity:.7}
body[data-current-slide="language"] .navigation{background:var(--language-nav-bg);color:var(--language-ink);border-color:currentColor;transition:background 690ms,color 690ms,border-color 690ms}body[data-current-slide="language"] .navigation button:hover{background:#ffffff18}

.hoarding-preview{position:fixed;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:#26160edb;backdrop-filter:blur(7px);pointer-events:none;opacity:0;visibility:hidden;transition:opacity 350ms ease,visibility 350ms}.hoarding-preview canvas{display:block;max-width:88vw;max-height:78svh;box-shadow:0 24px 90px #0006;transform:scale(.96);transition:transform 450ms cubic-bezier(.16,1,.3,1)}body:is([data-current-slide="17"],[data-current-slide="18"]) .hoarding-preview.visible{opacity:1;visibility:visible}.hoarding-preview.visible canvas{transform:scale(1)}

/* Native canvas charts share the deck grid and the supplied typography. */
.cost-artwork{position:relative}.cost-artwork>canvas{display:block;width:100%;height:100%}.cost-controls{position:absolute;left:6.25%;top:19.6%;width:34%;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}.cost-controls.revealed{opacity:1;visibility:visible}.cost-controls label{display:block;color:var(--brown);font:500 clamp(9px,1.05vw,19px) 'Work Sans',sans-serif}.cost-controls select{display:block;margin-top:7px;width:100%;padding:9px 14px;border:1px solid #60330b45;border-radius:8px;background:#fff7e5;color:var(--brown);font:500 clamp(12px,1.6vw,27px) 'Work Sans',sans-serif;cursor:pointer;outline-offset:3px}.cost-pager{position:absolute;left:6.25%;right:6.25%;top:84%;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--brown);font:400 clamp(10px,1.1vw,21px) 'Work Sans',sans-serif}.cost-pager button{border:1px solid #60330b33;border-radius:30px;background:#fff7e5;padding:8px 15px;color:inherit;font:inherit;cursor:pointer;transition:background .25s,transform .25s}.cost-pager button:hover{background:#fdbb5b45;transform:translateY(-2px)}.cost-pager button:disabled{opacity:.35;cursor:default;transform:none}

.cost-artwork{container-type:inline-size}.cost-controls label{font-size:1cqw}.cost-controls select{font-size:1.4cqw;padding:.5cqw .75cqw;margin-top:.35cqw}.cost-pager{font-size:1.1cqw;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}.cost-pager.revealed{opacity:1;visibility:visible}.cost-pager button{padding:.42cqw .78cqw}

.closing-transition .slide{transform:none!important;transition:opacity 1800ms ease,visibility 1800ms}.slide.closing-slide .artwork{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.closing-slide canvas{width:100%;height:100%;display:block}body[data-current-slide="24"]{background:#000}body[data-current-slide="25"]{background:#fff}.closing-transition .navigation,.closing-transition .hint,.closing-transition .slide-thumbnail{opacity:0;pointer-events:none;transition:opacity 1200ms}

.slide:not(.active) .cost-controls,.slide:not(.active) .cost-pager{visibility:hidden!important;opacity:0;pointer-events:none}
