@font-face{font-family:Lato;src:url("assets/fonts/Lato-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url("assets/fonts/Lato-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Lato;src:url("assets/fonts/Lato-Black.ttf") format("truetype");font-weight:900;font-display:swap}
:root{--red:#ee312f;--ink:#151515;--paper:#fff;--muted:#666;--line:#e3e3e3;--body-font:Lato,sans-serif;--brand:#ee312f;--brand-soft:#ffb9b8;--amber:#ffc244}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0c0c0c;color:var(--ink);font-family:var(--body-font)}
button,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.stage-shell{position:fixed;inset:0;overflow:hidden}
.stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0}
.slide{position:relative;width:1920px;height:1080px;overflow:hidden;background:var(--paper);color:var(--ink);isolation:isolate}
.slide.theme-dark{background:#111;color:#fff;--line:#353535;--muted:#a9a9a9}
.slide.theme-red{background:var(--red);color:#fff;--line:#ffffff60;--muted:#ffffffaa}
h1,h2,p,figure{margin:0}
h1,h2{font-weight:900;letter-spacing:-.035em}
.red-text{color:var(--red)}
.brand-top{position:absolute;left:130px;top:57px;width:480px;height:auto;z-index:5}
.corner-heart{position:absolute;right:125px;top:52px;width:68px;z-index:5}
.theme-dark .brand-top,.theme-red .brand-top{display:none}
.slide-footer{position:absolute;left:130px;right:130px;bottom:36px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px;color:var(--muted);font-size:22px;line-height:1.35;z-index:6}
.source-note{max-width:1500px}
.slide-number{font-size:22px;letter-spacing:.06em;white-space:nowrap;font-variant-numeric:tabular-nums}
.deck-progress{position:absolute;bottom:0;left:0;height:5px;background:var(--red);width:var(--progress);z-index:7}
.theme-red .deck-progress{background:white}
.slide-heading{position:absolute;left:130px;top:175px;max-width:1640px;z-index:2}
.slide-heading h1{font-size:96px;line-height:1.055;text-wrap:balance}
.kicker{font-size:27px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.reveal{visibility:hidden;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.reveal.is-visible{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.deck-hud{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;color:#f5f5f5;background:#171717e8;border:1px solid #ffffff25;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none}
.hud-visible .deck-hud,.deck-hud:hover,.deck-hud:focus-within{opacity:1;pointer-events:auto}
.deck-hud button{border:0;background:transparent;color:inherit;border-radius:5px;font-size:12px;padding:7px 9px}
.deck-hud button:hover{background:#ffffff25}
.deck-hud button:disabled{opacity:.25;cursor:default}
#slideCounter{min-width:91px;text-align:center;font-variant-numeric:tabular-nums}
.hud-divider{height:18px;border-left:1px solid #ffffff40;margin:0 5px}
.notes-dialog,.help-dialog{border:1px solid #d8d8d8;border-radius:16px;background:white;color:#171717;padding:44px;max-width:750px;width:calc(100vw - 44px);font-size:20px;line-height:1.6;box-shadow:0 20px 100px #0009}
dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}
dialog h2{font-size:30px;line-height:1.2;margin:12px 0 24px}
.dialog-close{position:absolute;right:17px;top:10px;background:none;border:0;font-size:30px;color:#666}
.notes-meta{font-size:14px;color:#777;letter-spacing:.02em}
#notesBody p{margin:0 0 20px}
#notesBody .notes-source{border-top:1px solid #ddd;padding-top:15px;font-size:14px;color:#777}
.help-dialog dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:16px}
.help-dialog dt{font-weight:700}
.help-dialog dd{margin:0;color:#666}
/* The intentional opening has no slide counter, footnote or conference chrome. */
.layout-waiting .brand-top,.layout-waiting .corner-heart,.layout-waiting .slide-footer,.layout-waiting .deck-progress{display:none}
.waiting-content{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;padding-bottom:5px}
.waiting-content h1{font-size:94px;line-height:1.1;letter-spacing:-.035em}
.waiting-subtitle{font-size:40px;color:#999;margin-top:27px}
.loader-orbit{width:74px;height:74px;border:4px solid #353535;border-top-color:var(--red);border-radius:50%;margin-bottom:60px;animation:spin 1.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-track{width:700px;height:5px;background:#353535;margin-top:67px;border-radius:6px;overflow:hidden}
.loading-track i{height:100%;display:block;background:var(--red);width:var(--load,0%)}
.loader-percent{font-size:30px;line-height:1;margin-top:21px;color:#888;font-variant-numeric:tabular-nums;font-weight:700}
.layout-breakthrough .corner-heart{display:none}
.breakthrough-copy{position:absolute;left:130px;top:185px}
.breakthrough-copy .kicker{color:#fff;font-size:34px;letter-spacing:0;text-transform:none}
.breakthrough-copy h1{font-size:192px;line-height:.98;letter-spacing:-.045em}
.now-word{font-size:140px;line-height:1;font-weight:900;border-top:3px solid #ffffff70;margin-top:46px;padding-top:24px;width:930px;letter-spacing:-.05em}
.orbit-fragments{position:absolute;right:170px;top:295px;width:480px;height:480px}
.orbit-fragments i{position:absolute;inset:0;border:24px solid #fff3;border-radius:50%;clip-path:polygon(50% 0,100% 0,100% 50%,50% 50%);animation:fragment-out .6s cubic-bezier(.2,.8,.2,1) both}
.orbit-fragments i:nth-child(2){rotate:90deg;--fx:65px;--fy:65px}
.orbit-fragments i:nth-child(3){rotate:180deg;--fx:90px;--fy:90px}
.orbit-fragments i:nth-child(4){rotate:270deg;--fx:115px;--fy:115px}
@keyframes fragment-out{from{transform:translate(0,0);opacity:1}to{transform:translate(var(--fx,40px),var(--fy,40px));opacity:.65}}
.cover-copy{position:absolute;left:130px;top:195px;z-index:2}
.cover-copy h1{font-size:170px;line-height:.98}
.cover-copy .kicker{color:var(--red)}
.cover-subtitle{font-size:42px;line-height:1.28;margin-top:30px;max-width:1120px;letter-spacing:-.015em}
.speakers{font-size:31px;line-height:1.3;margin-top:44px;font-weight:700}
.speakers span{display:block;color:#777;font-weight:400;font-size:26px;margin-top:11px}
.cover-heart{position:absolute;left:1280px;top:325px;width:500px;z-index:0}
.slide.layout-worlds{background:linear-gradient(90deg,#111 0 50%,#faf8f5 50% 100%)}
.world-brand,.world-consumer{position:absolute;top:195px;width:730px}
.world-brand{left:130px;color:#fff}
.world-consumer{left:1060px;color:var(--ink)}
.world-brand .kicker,.world-consumer .kicker{color:var(--red)}
.world-brand h1,.world-consumer h1{font-size:86px;line-height:1.05}
.brand-goals{display:grid;grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:82px;font-size:42px;font-weight:700}
.brand-goals p{border-top:2px solid #555;padding-top:22px}
.world-quote{font-size:32px;line-height:1.3;margin-top:70px;color:#aaa}
.world-consumer .world-quote{font-size:40px;margin-top:32px;color:#444}
.consumer-need{font-size:72px;line-height:1.12;font-weight:900;letter-spacing:-.03em;margin-top:72px}
.world-bridge{position:absolute;left:130px;right:130px;top:845px;display:flex;align-items:center;gap:32px;padding:25px 40px;background:var(--red);color:#fff}
.world-bridge h2{font-size:46px;line-height:1.2;letter-spacing:-.02em}
.bridge-icon{font-size:62px;line-height:1}
.layout-worlds .slide-number{color:#777}
.scenario-question{position:absolute;top:485px;left:130px;font-size:46px;line-height:1.3}
.hero-chocolate{position:absolute;left:1110px;top:290px;width:640px;height:560px;rotate:-7deg}
.choc-pack{position:absolute;left:40px;top:90px;width:560px;height:330px}
.choc-foil{position:absolute;right:26px;top:0;width:250px;height:92px}
.choc-bar{position:absolute;left:0;top:62px;width:560px;height:268px;border-radius:12px;border-left:84px solid #d6b15e;background:linear-gradient(180deg,#2e2e2e,#141414);box-shadow:0 26px 40px #0003}
.choc-brand{position:absolute;left:44px;top:6px;font-size:176px;line-height:1;font-weight:900;color:#fff}
.choc-label{position:absolute;left:46px;bottom:34px;font-size:46px;line-height:1;font-weight:900;letter-spacing:.06em;color:#fff}
.choc-piece{position:absolute;width:120px;height:86px;border-radius:9px;background:#5a3321;border:9px solid #6d4029;box-shadow:0 10px 18px #0002}
.choc-piece.p1{left:430px;top:440px;rotate:14deg}
.choc-piece.p2{left:300px;top:458px;rotate:-6deg}
.choc-shadow{position:absolute;left:40px;top:420px;width:560px;height:40px;background:#0002;border-radius:50%;filter:blur(18px)}
.scenario-answer{position:absolute;left:130px;top:745px;font-size:45px;line-height:1.25;color:#666}
.mechanism-line{position:absolute;left:130px;top:490px;right:130px;display:flex;align-items:flex-start;gap:55px;font-size:65px;font-weight:700;line-height:1.25}
.mechanism-line>.reveal{display:contents}
.mechanism-line .reveal:not(.is-visible)>*{visibility:hidden;opacity:0}
.mechanism-plus{font-size:95px;color:var(--red)}
.mode-result{position:absolute;left:0;top:245px;font-size:72px;color:var(--red);font-weight:900;border-top:2px solid #444;padding-top:30px;width:100%}
.metrics-pair{position:absolute;left:130px;right:130px;top:425px;display:grid;grid-template-columns:1fr 1fr;gap:130px}
.metric{text-align:center;--metric-color:var(--red)}
.tone-ink{--metric-color:#252525}
.tone-white{--metric-color:#fff}
.metric-disc{width:340px;height:340px;margin:0 auto 28px;position:relative;display:grid;place-items:center}
.metric-disc svg{position:absolute;inset:0;overflow:visible}
.metric-disc circle{fill:none;stroke-width:11}
.ring-track{stroke:var(--line)}
.ring-value{stroke:var(--metric-color);stroke-linecap:round;stroke-dasharray:0 100;transform-origin:160px 160px;transform:rotate(-90deg);transition:stroke-dasharray .6s cubic-bezier(.2,.8,.2,1)}
.slide .metric.is-drawn .ring-value,.reveal.is-visible .ring-value,.editing-text .ring-value{stroke-dasharray:var(--value) 100}
.metric-value{font-size:148px;font-weight:900;letter-spacing:-.07em;line-height:1;font-variant-numeric:tabular-nums;color:var(--metric-color)}
.metric-value span{font-size:72px;letter-spacing:-.02em;margin-left:3px}
.metric figcaption{font-size:37px;line-height:1.25;letter-spacing:-.012em;max-width:720px;margin:auto}
.chart-question{position:absolute;left:130px;top:395px;font-size:31px;color:var(--muted)}
.layout-metrics:has(.chart-question) .metrics-pair{top:465px}
.metric-qualifier{position:absolute;left:130px;bottom:113px;font-size:27px;color:#777}
.relevance-metric{position:absolute;left:130px;top:405px;width:760px}
.relevance-metric .metric-disc{width:410px;height:410px;margin-bottom:32px}
.relevance-metric .metric-value{font-size:184px}
.relevance-metric .metric-value span{font-size:82px}
.relevance-copy{position:absolute;left:1065px;top:465px;width:675px}
.relevance-copy .kicker{color:var(--red);margin-bottom:28px}
.relevance-copy h2{font-size:72px;line-height:1.12;letter-spacing:-.03em}
.relevance-line{display:block;width:260px;height:5px;background:var(--red);margin-top:43px;transform-origin:left;transform:scaleX(0);transition:transform .5s ease}
.reveal.is-visible .relevance-line,.editing-text .relevance-line{transform:scaleX(1)}
.phase-line{position:absolute;left:130px;right:130px;top:475px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:65px}
.phase-line::after{content:"";position:absolute;left:0;right:0;top:215px;height:2px;background:#ddd;z-index:-1}
.phase-number{font-size:84px;color:var(--red);font-weight:900;line-height:1;letter-spacing:-.05em}
.phase-item h2{font-size:54px;margin-top:20px}
.phase-dot{position:absolute;top:200px;width:32px;height:32px;border:6px solid var(--red);background:#fff;border-radius:50%}
.phase-question{font-size:30px;line-height:1.3;color:#666;margin-top:96px}
.phase-format{font-size:34px;line-height:1.2;font-weight:900;color:var(--red);margin-top:18px;letter-spacing:-.015em}
.shopping-copy{position:absolute;inset:0 0 0 0}
.shopping-copy .slide-heading{max-width:960px;top:200px}
.shopping-copy .slide-heading h1{font-size:88px;line-height:1.06}
.shopping-copy .kicker{font-size:24px;letter-spacing:.08em;max-width:890px}
.shopping-statement{position:absolute;left:130px;top:515px;font-size:46px;line-height:1.3;max-width:860px}
.shopping-punch{position:absolute;left:130px;top:745px;font-size:44px;line-height:1.25;max-width:820px;font-weight:700}
.onsite-points{position:absolute;left:130px;top:500px;max-width:850px;font-size:40px;line-height:1.35}
.onsite-points p{padding:27px 0;border-top:1px solid #ddd}
/* An illustrative quick-delivery app in neutral colours: no platform logo, no platform palette. */
.shopping-frame{position:absolute;left:1180px;top:185px;width:610px;border:2px solid #d9d9d9;border-radius:28px;overflow:hidden;background:#fff;color:#1c1c1c;box-shadow:0 24px 70px #00000012;z-index:3}
.shop-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:2px solid #ededed}
.shop-wordmark{font-weight:900;color:var(--ink);font-size:26px;letter-spacing:-.01em}
.shop-cart-icon{font-size:30px;color:var(--ink)}
.shop-body{padding:24px 30px 22px}
.shop-context{font-size:21px;color:#777;margin-bottom:8px}
.shop-body h2{font-size:34px;letter-spacing:-.025em;margin-bottom:18px}
.shop-search{display:flex;gap:16px;align-items:center;border-radius:10px;background:#f3f3f3;padding:14px 18px;font-size:22px;margin-bottom:18px;color:#777}
.shop-search>span:first-child{font-size:28px;line-height:.8}
.product-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #eee;height:80px}
.product-row>div{flex:1;min-width:0}
.product-row strong{display:block;font-size:22px;line-height:1.2}
.product-row b{font-size:22px;white-space:nowrap}
.product-detail{display:block;font-size:18px;color:#888;margin-top:5px}
.product-add{height:32px;width:32px;flex-shrink:0;background:#f1f1f1;border-radius:50%;display:grid;place-items:center;color:var(--ink);font-size:23px;font-weight:700}
.shop-bottom{display:flex;justify-content:space-between;margin-top:16px;font-size:20px;color:#666}
.type-query{display:block;overflow:hidden;white-space:nowrap;width:10ch;animation:query-type .55s steps(10,end) both}
@keyframes query-type{from{width:0}to{width:10ch}}
.selection-feedback{margin-top:14px;padding:12px 16px;border-radius:9px;background:#fdecec;color:#b8201e;font-size:21px;font-weight:700}
.relevant-offer{display:flex;align-items:center;gap:14px;border-left:5px solid var(--red);background:#faf6f0;padding:13px 14px;margin:0 0 6px;animation:offer-enter .5s ease both}
.relevant-offer>div{flex:1;min-width:0}
.relevant-offer strong{display:block;font-size:23px;line-height:1.2;margin:5px 0 4px}
.relevant-offer>div>span:last-child{font-size:18px;line-height:1.25;color:#6a6a6a}
.relevant-offer b{font-size:22px;white-space:nowrap}
.ad-disclosure{font-size:15px;color:#7a7a7a;letter-spacing:.02em}
@keyframes offer-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.shop-cta{padding:17px;border-radius:10px;background:var(--ink);color:white;font-size:23px;font-weight:700;text-align:center;margin-top:16px}
.shop-cart-note{font-size:17px;color:#888;line-height:1.35;margin-top:12px}
/* Packs: brand letters on simple product shapes. */
.pack{position:relative;flex-shrink:0;display:grid;place-items:center;margin:0 6px;background:#d9d9d9;color:#fff;font-size:17px;font-weight:900;line-height:1}
.pack b{font-weight:900}
.pack-bag{width:44px;height:58px;border-radius:7px 7px 10px 10px;border-top:6px solid #0003;border-bottom:6px solid #0003}
.pack-bar{width:58px;height:36px;border-radius:5px;border-left:11px solid #d6b15e}
.pack-bottle{width:30px;height:60px;margin-top:12px;border-radius:9px 9px 7px 7px}
.pack-bottle::before{content:"";position:absolute;left:8px;top:-12px;width:14px;height:14px;border-radius:3px;background:#c4c4c4}
.pack-jar{width:48px;height:46px;margin-top:8px;border-radius:9px}
.pack-jar::before{content:"";position:absolute;left:-2px;top:-9px;width:52px;height:11px;border-radius:4px;background:#3a3a3a}
.pack-fruit{width:46px;height:46px;border-radius:50%;background:#f4d03f}
/* In lists every pack takes the same 58 px slot, so names line up. */
.product-row .pack-bag,.relevant-offer .pack-bag{margin:0 7px}
.product-row .pack-bottle{margin:12px 14px 0}
.product-row .pack-bar{margin:0}
.product-row .pack-jar{margin:8px 5px 0}
.brand-a{background:#e2932b}.brand-b{background:#23305e}.brand-c{background:#2f7d5b}.brand-d{background:#7a3e22}
/* Home screen: banner and categories. */
.app-banner{position:relative;height:232px;border-radius:16px;padding:18px 22px;background:linear-gradient(120deg,#ee312f,#b81d1f);color:#fff;overflow:hidden;margin-bottom:18px}
.app-banner .ad-disclosure{color:#ffffffc8}
.app-banner strong{display:block;font-size:31px;line-height:1.1;margin-top:8px;letter-spacing:-.02em;max-width:330px}
.app-banner>span:nth-of-type(2){display:block;font-size:20px;line-height:1.25;margin-top:8px;max-width:250px}
.banner-cta{position:absolute;left:22px;bottom:18px;padding:9px 16px;border-radius:20px;background:#fff;color:#b8201e;font-size:19px;font-weight:900}
.banner-art{position:absolute;right:10px;top:22px;width:190px;height:152px}
.app-section{font-size:20px;font-weight:700;color:#777;margin-bottom:10px}
.app-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.app-cat{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:19px;font-weight:700}
.cat-icon{width:100%;height:84px;border-radius:14px;background:#f4f2ee;display:grid;place-items:center}
.cat-icon .pack{background:#c9c4bb}
.cat-icon .pack-fruit{background:#f4d03f}
.cat-icon .pack-bar{background:#7a3e22}
/* Chocolates: a 2 × 2 grid of product tiles. */
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.app-tile{position:relative;border:1px solid #e6e6e6;border-radius:14px;padding:12px 14px 12px;height:236px}
.app-tile strong{display:block;font-size:20px;line-height:1.2;margin-top:10px}
.app-tile .product-detail{font-size:16px;margin-top:3px}
.tile-shot{height:100px;border-radius:10px;background:#f6f3ee;display:grid;place-items:center}
.tile-tag{position:absolute;left:14px;top:12px;z-index:2;padding:4px 8px;border-radius:6px;background:#fff;font-size:13px;color:#7a7a7a;letter-spacing:.02em}
.tile-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px}
.tile-foot b{font-size:22px}
.choc{position:relative;display:block;width:168px;height:76px;border-radius:6px;border-left:20px solid #d6b15e;rotate:-6deg;box-shadow:0 8px 12px #0002;color:#fff}
.choc b{position:absolute;left:12px;top:4px;font-size:40px;line-height:1;font-weight:900}
.choc i{position:absolute;left:12px;bottom:9px;font-style:normal;font-size:13px;font-weight:900;letter-spacing:.05em}
.app-grid .selected .tile-shot{background:#f1ece4}
.slide[data-reveal-index="1"] .app-grid .selected{outline:3px solid var(--red);outline-offset:-1px}
.slide[data-reveal-index="1"] .app-grid .selected .product-add,.slide[data-reveal-index="1"] .cart-suggestion .product-add{background:var(--red);color:#fff;font-size:0}
.slide[data-reveal-index="1"] .app-grid .selected .product-add::after,.slide[data-reveal-index="1"] .cart-suggestion .product-add::after{content:"✓";font-size:20px}
/* Cart: what is there, and what fits with it. */
.app-cart .product-add{display:none}
.app-cart .cart-suggestion .product-add{display:grid}
.cart-suggestion{margin-top:16px;padding:12px 14px 2px;border-left:5px solid var(--red);background:#faf6f0;border-radius:4px}
.cart-suggestion p{display:flex;justify-content:space-between;align-items:baseline;font-size:20px}
.cart-suggestion .product-row{border-bottom:0}
.slide[data-reveal-index="1"] .cart-suggestion{background:#fdecec}
.lessons{position:absolute;left:130px;right:130px;top:465px}
.lesson{display:flex;gap:36px;align-items:center;border-top:1px solid #ddd;padding:34px 0}
.lesson>span{font-size:45px;color:var(--red);font-weight:900;min-width:100px}
.lesson h2{font-size:50px;line-height:1.1;letter-spacing:-.025em}
.closing-content{position:absolute;left:130px;top:300px;right:130px;display:grid;grid-template-columns:560px 1fr;gap:130px;align-items:center}
.closing-meter{width:540px;height:540px;border:18px solid var(--red);border-radius:50%;display:grid;place-items:center}
.closing-meter>span{font-size:210px;font-weight:900;line-height:1;letter-spacing:-.065em}
.closing-meter>span>span{font-size:85px;margin-left:5px}
.closing-content h1{font-size:126px;line-height:1.08}
.closing-content>.reveal{grid-area:auto;position:absolute;left:690px;top:450px}
.closing-speakers{font-size:30px;line-height:1.35}
.closing-speakers span{color:#aaa;font-size:25px}
/* Quotes from the report. */
.quote-grid{position:absolute;left:130px;right:130px;top:500px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:65px}
.quote-card{position:relative;border-top:3px solid var(--ink);padding-top:22px}
.quote-mark{display:block;width:76px;height:52px;margin-bottom:26px;overflow:visible;transform-origin:20% 70%}
.quote-card blockquote{margin:0;font-size:44px;line-height:1.14;font-weight:900;letter-spacing:-.025em}
.quote-card figcaption{margin-top:26px;font-size:25px;line-height:1.3;color:var(--muted)}
/* Then and now. */
.then-divider{position:absolute;left:959px;top:190px;width:2px;height:700px;background:var(--line)}
.then-col,.now-col{position:absolute;top:175px;width:760px}
.then-col{left:130px}
.now-col{left:1030px}
.then-col .kicker,.now-col .kicker{color:var(--red);margin-bottom:20px}
.then-col h2,.now-col h2{font-size:72px;line-height:1.06}
.then-caption{font-size:30px;line-height:1.35;color:#555;margin-top:20px}
.then-map{position:absolute;left:0;top:355px;width:760px;height:330px;border-radius:22px;background:#f2eee7;overflow:hidden}
.street{position:absolute;background:#fff}
.street.h{left:0;right:0;height:16px;transform-origin:left}
.street.v{top:0;bottom:0;width:16px;transform-origin:top}
.map-radius{position:absolute;left:178px;top:48px;width:260px;height:260px;border-radius:50%;border:3px solid #ee312f80;background:#ee312f12}
.route{position:absolute;background:var(--red);border-radius:4px}
.route.v{left:304px;top:178px;width:8px;height:104px;transform-origin:top}
.route.h{left:304px;top:274px;width:100px;height:8px;transform-origin:left}
.map-pin{position:absolute;overflow:visible}
.pin-home{left:280px;top:142px;width:56px;height:56px}
.pin-shop{left:370px;top:242px;width:64px;height:58px}
.map-tag{position:absolute;padding:6px 14px;border-radius:18px;background:#fff;font-size:20px;font-weight:900;box-shadow:0 6px 14px #0001}
.tag-home{left:200px;top:92px}
.tag-shop{left:446px;top:236px}
.now-app{position:absolute;left:0;top:355px;width:760px;height:330px;border:2px solid #e3e3e3;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 18px 50px #0000000f}
.now-app-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:2px solid #ededed;font-size:24px;font-weight:900}
.now-shops{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 24px 16px}
.now-shop{display:flex;align-items:center;gap:9px;height:52px;padding:0 12px;border-radius:26px;border:1px solid #e5e5e5;background:#fafafa;font-size:19px;font-weight:700;white-space:nowrap}
.now-shop i{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.now-sponsor{margin:0 24px;padding:10px 16px;border-left:5px solid var(--red);background:#faf6f0}
.now-sponsor strong{display:block;font-size:22px;margin-top:3px}
.now-plus{position:absolute;left:1030px;top:888px;font-size:44px;font-weight:900;color:var(--red);letter-spacing:-.02em}
/* The guests story: message, fridge and table. */
.message-kicker{position:absolute;left:130px;top:185px;color:var(--red)}
.notification{position:absolute;left:340px;top:360px;width:1240px;padding:40px 54px 48px;border-radius:44px;background:#262626;border:1px solid #3a3a3a;box-shadow:0 30px 80px #0007}
.notif-top{display:flex;align-items:center;gap:20px;font-size:30px}
.notif-icon{width:64px;height:64px;border-radius:16px;background:var(--red);display:grid;place-items:center}
.notif-icon svg{width:40px;height:40px}
.notif-app{font-weight:700}
.notif-time{margin-left:auto;color:#999;font-size:26px}
.notif-text{margin-top:26px;font-size:80px;line-height:1.1;font-weight:900;letter-spacing:-.03em}
.message-twist{position:absolute;left:340px;top:770px;font-size:72px;font-weight:900;color:var(--red);letter-spacing:-.03em}
.layout-fridge .slide-heading h1{font-size:88px}
.fridge-need{position:absolute;left:130px;top:650px;font-size:44px;line-height:1.3;color:#ccc}
.fridge{position:absolute;left:1180px;top:175px;width:560px;height:800px}
.fridge-glow{position:absolute;left:-200px;top:-20px;width:960px;height:860px;background:linear-gradient(90deg,#ffe9b800,#ffe9b833 45%,#ffe9b800);filter:blur(40px)}
.fridge-body{position:absolute;left:0;top:0;width:380px;height:780px;border-radius:22px;background:linear-gradient(90deg,#bdbdc2,#e6e6ea 30%,#d6d6db)}
.fridge-inside{position:absolute;left:20px;top:20px;width:340px;height:740px;border-radius:12px;background:linear-gradient(180deg,#fffaf0,#efe4c8)}
.shelf{position:absolute;left:0;right:0;height:8px;background:#d9ccb0}
.shelf.s1{top:210px}.shelf.s2{top:420px}.shelf.s3{top:610px}
.fridge-item{position:absolute;display:block}
.item-jar{left:50px;top:146px;width:50px;height:64px;border-radius:8px;background:#d9a62b;border-top:12px solid #555}
.item-lemon{left:210px;top:372px;width:48px;height:48px;border-radius:50%;background:#f4d03f}
.item-sauce{left:258px;top:520px;width:36px;height:90px;border-radius:12px 12px 6px 6px;background:var(--red)}
.fridge-door{position:absolute;left:380px;top:0;width:170px;height:780px;transform-origin:left}
/* The laid table. */
.table-slogan{position:absolute;left:130px;top:380px;font-size:72px;line-height:1.08;font-weight:900;letter-spacing:-.035em}
.table-scene{position:absolute;left:130px;top:560px;width:1660px;height:440px}
.table-art{display:block;width:100%;height:100%;overflow:visible}
/* The story clock: tension, never a delivery time. */
.story-clock{position:absolute;right:222px;top:40px;display:flex;align-items:center;gap:16px;z-index:5;color:var(--ink)}
.story-clock svg{width:88px;height:88px;overflow:visible}
.clock-label{font-size:18px;line-height:1.2;font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-align:right;color:#777}
.clock-face{fill:#fff;stroke:var(--ink);stroke-width:5}
.clock-wedge{fill:var(--red);stroke:var(--red);stroke-width:.8;stroke-linejoin:round}
.clock-tick,.clock-hand,.clock-pin{fill:var(--ink)}
.clock-hand{transform-box:view-box;transform-origin:60px 60px}
.theme-dark:not(.layout-worlds) .clock-face{fill:#1c1c1c;stroke:#fff}
.theme-dark:not(.layout-worlds) .clock-tick,.theme-dark:not(.layout-worlds) .clock-hand,.theme-dark:not(.layout-worlds) .clock-pin{fill:#fff}
.theme-dark:not(.layout-worlds) .clock-label{color:#aaa}
html[data-motion="reduce"] .slide *{animation:none!important;transition:none!important}
html[data-motion="reduce"] .metric.is-drawn .ring-value{stroke-dasharray:var(--value) 100}
.deck-hidden .slide *{animation-play-state:paused!important}
[data-edit]{white-space:pre-line}
@media (max-width:600px){.deck-hud{gap:1px;padding:5px;bottom:8px;max-width:calc(100vw - 12px)}.deck-hud button{font-size:11px;padding:7px}#slideCounter{min-width:66px;font-size:11px}.hud-divider{margin:0 2px}.help-dialog dl{grid-template-columns:1fr}.help-dialog dd{margin-bottom:8px}}
@media print{body{overflow:visible;background:white}.stage-shell{position:static;overflow:visible}.stage{transform:none!important}.deck-hud,dialog{display:none}}
