
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--paper:#fbf3e4;--ink:#3c281e;--rust:#b95f3d;--girl:#a08bb8;--boy:#699b91}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer}header{position:fixed;inset:0 0 auto;padding:24px 5vw;display:flex;justify-content:space-between;align-items:center;z-index:9;background:#fbf3e4e8;border-bottom:1px solid #3c281e15}.brand{font-family:Fraunces,serif;font-size:24px}.tiny{font-size:10px;letter-spacing:.2em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,serif;font-weight:500;letter-spacing:-.055em;line-height:1.02}h1{font-size:clamp(64px,10vw,144px)}h2{font-size:clamp(46px,7vw,88px)}p{line-height:1.7}section{min-height:100svh;padding:130px 8vw 70px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.intro{background:radial-gradient(ellipse at 65% 65%,#efd6ab80,transparent 55%)}.eyebrow{margin-bottom:25px;font-size:11px;letter-spacing:.23em;text-transform:uppercase}.pill{border:1px solid var(--ink);border-radius:40px;padding:16px 27px;background:var(--ink);color:var(--paper);text-decoration:none;display:inline-block}.ghost{background:transparent;color:var(--ink)}.cupscene{height:230px;width:300px;position:relative;margin:0 auto 24px}.cup{position:absolute;width:170px;height:130px;left:55px;bottom:27px;background:var(--rust);border-radius:12px 12px 75px 75px;box-shadow:inset -20px -12px 0 #0000000b;transform:rotate(-7deg)}.cup:after{content:'';position:absolute;right:-49px;top:12px;width:65px;height:65px;border:15px solid var(--rust);border-radius:50%;z-index:-1}.cup:before{content:'';position:absolute;inset:10px 12px auto;height:24px;background:#563225;border:7px solid #d68e64;border-radius:50%}.saucer{position:absolute;bottom:15px;left:25px;width:235px;height:24px;background:#dcc29b;border-radius:50%}.steam{font:70px Fraunces;position:absolute;left:106px;top:-8px;color:#b38b6570;animation:steam 4s ease-in-out infinite}.seal{position:absolute;left:67px;top:58px;color:#fff3dc;font-family:Fraunces;font-size:25px}.scroll{margin-top:32px;font-size:10px;letter-spacing:.18em}.story{background:#e8bd7d}.story p{max-width:470px}.reveal{background:#f0dfce}.reveal .cupscene{transform:scale(.85)}.reveal strong{color:var(--rust)}.game{min-height:auto;align-items:stretch;max-width:1150px;margin:auto;padding-top:110px}.game h2{font-size:clamp(46px,6vw,76px)}.game .eyebrow{color:var(--rust)}.board{border-top:1px solid #3c281e30;border-bottom:1px solid #3c281e30;padding:32px 0;margin:20px 0 35px}.scores{display:flex;justify-content:space-between;text-align:left}.scores strong{font-family:Fraunces;font-size:44px;display:block}.scores>div:last-child{text-align:right}.rope{height:12px;border-radius:9px;background:linear-gradient(to right,var(--girl) 50%,var(--boy) 50%);position:relative;margin:28px 0}.bean{position:absolute;left:50%;top:50%;width:35px;height:47px;border-radius:50%;background:#75452b;border:3px solid #b37b4d;transform:translate(-50%,-50%) rotate(30deg);transition:left .8s}.bean:after{content:'';position:absolute;left:13px;top:0;height:100%;width:4px;background:#3c281e;border-radius:50%}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{border:1px solid #3c281e25;border-radius:18px;background:#ffffff30;color:var(--ink);padding:25px;display:flex;justify-content:space-between;align-items:center;font-size:20px}.choice[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.choice:first-child{background:#a08bb825}.choice:last-child{background:#699b9125}form{max-width:680px;width:100%;margin:0 auto}label{display:block;text-align:left;margin:22px 0 8px;font-size:13px}input{width:100%;padding:15px;border:1px solid #3c281e40;border-radius:8px;background:transparent;color:var(--ink)}.support{padding:22px;background:#f0e5d2;border-radius:15px;margin:24px 0}.amounts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.amounts button{border:1px solid #3c281e30;background:transparent;padding:10px 16px;border-radius:30px;color:var(--ink)}.amounts button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.note{font-size:12px;opacity:.7}.receipt{padding:20px;border:1px dashed var(--rust);margin:24px 0;line-height:1.6}.details{min-height:auto;background:#e8bd7d;margin-top:80px;padding:85px 8vw}.details h2{font-size:56px}.links{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}footer{text-align:center;padding:30px;font-size:11px}.demo{position:fixed;bottom:12px;right:12px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:20px;font-size:10px;z-index:10}.enter{opacity:0;transform:translateY(45px);transition:opacity 1s,transform 1s}.enter.shown{opacity:1;transform:none}@keyframes steam{50%{transform:translateY(-12px);opacity:.4}}@media(max-width:600px){header{padding:20px}.brand{font-size:19px}header .tiny{font-size:8px}section{padding-inline:24px}.game{padding-inline:22px}.choice{padding:20px 15px;font-size:17px}.cupscene{transform:scale(.85);margin-bottom:0}.scores strong{font-size:35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.enter{opacity:1;transform:none}html{scroll-behavior:auto}}

/* Persistent editorial stage: type, image and background share one scroll timeline. */
html{scroll-behavior:smooth}header{background:transparent;border:0;padding:25px 4vw;pointer-events:none}.brand{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.13em;max-width:140px;line-height:1.4}header .tiny{font-size:9px}.cinema{height:470svh;position:relative}.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#f6edda;isolation:isolate}.stage-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 55%,#e5bd7640,transparent 60%);pointer-events:none}.chapter-label{position:absolute;left:4vw;top:23%;font-size:9px;letter-spacing:.15em;z-index:3}.editorial-title{position:absolute;inset:26% 4vw auto;z-index:2;transform-origin:50% 50%;pointer-events:none}.title-row{font-family:Fraunces,serif;font-size:clamp(55px,10.9vw,175px);font-weight:500;letter-spacing:-.065em;line-height:.9;display:flex;align-items:center;justify-content:center;white-space:nowrap}.italic-row{gap:3vw;font-size:clamp(60px,11.9vw,190px);padding:1vh 0}.inline-window{width:9vw;height:8vw;display:inline-flex;align-items:center;justify-content:center;background:#d9ab74;overflow:hidden;transform:rotate(-6deg)}.inline-window img{width:130%;height:130%;object-fit:contain}.hero-art{position:absolute;left:50%;top:51%;width:min(63vw,720px);height:70svh;z-index:1;transform-origin:center;will-change:transform,opacity}.hero-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 28px #6c3c1820)}.second-title{position:absolute;inset:24% 4vw auto;z-index:2;pointer-events:none;opacity:0;display:flex;flex-direction:column;font-family:Fraunces,serif;font-size:clamp(36px,7vw,115px);line-height:1;letter-spacing:-.05em}.second-title>span:first-child{text-align:left}.second-title em{text-align:right;margin-top:15vh}.second-title>span:last-child{font-family:'DM Sans';font-size:10px;letter-spacing:.2em;text-align:right;margin-top:20px}.reveal-title{position:absolute;inset:27% 4vw auto;text-align:center;z-index:3;opacity:0;visibility:hidden}.reveal-title>span,.reveal-title>em{display:block;font-family:Fraunces,serif;font-size:clamp(65px,11vw,170px);line-height:.95;letter-spacing:-.06em}.reveal-title>em{font-size:clamp(60px,10vw,155px);color:#945035}.reveal-title .tiny{margin-bottom:35px}.reveal-title p{font-size:15px;margin-top:30px;line-height:1.5}.scene-link{display:inline-block;margin-top:18px;color:var(--ink);font-size:10px;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid;padding-bottom:9px}.stage-caption{position:absolute;left:4vw;bottom:15%;font-size:12px;line-height:1.5}.stage-skip{position:absolute;right:4vw;bottom:15%;font-size:8px;letter-spacing:.13em;color:var(--ink);z-index:5;text-decoration:none}.stage-bottom{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;z-index:5}.stage-bottom button{border:0;background:none;padding:0;color:inherit;font-size:9px;letter-spacing:.15em}.game{scroll-margin-top:65px}.game h2{font-size:clamp(60px,8vw,110px)}.choice{border-radius:0;border-width:0 0 1px}.support{border-radius:0;background:transparent;border-top:1px solid #3c281e25}.board{margin-top:45px}.demo{background:#fbf3e4dc;color:var(--ink);font-size:8px;bottom:4px}.details{margin-top:50px}.pill{border-radius:0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid;padding:15px 0}.links{gap:35px}footer{padding-bottom:40px}
@media(max-width:600px){.cinema{height:410svh}header{padding:20px}.chapter-label{left:22px;top:22%}.editorial-title{inset:31% 18px auto}.title-row{font-size:12vw}.italic-row{font-size:15vw;padding:10px 0}.inline-window{width:15vw;height:14vw}.hero-art{width:95vw;height:65svh;top:50%}.second-title{inset:28% 22px auto;font-size:11vw}.second-title em{margin-top:25vh}.reveal-title{inset:29% 20px auto}.reveal-title>span{font-size:19vw}.reveal-title>em{font-size:14vw}.reveal-title .tiny{font-size:8px}.stage-caption{left:22px;bottom:18%;font-size:11px}.stage-skip{right:22px;bottom:18%;font-size:7px}.stage-bottom{left:22px;right:22px}.brand{font-size:10px}.game{padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinema{height:auto}.stage{position:relative;height:auto;min-height:100svh;padding:150px 22px 100px}.editorial-title,.hero-art,.second-title,.reveal-title{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important}.hero-art{width:100%;height:45svh;margin:50px 0}.second-title{display:none}.reveal-title{margin-top:60px}.stage-caption,.chapter-label{display:none}.stage-skip{bottom:60px}}
/* Approved coffee-shop game revision. */
:root{--girl:#8971aa;--boy:#6c91b6;--line:#3c281e24}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9c613e;outline-offset:5px}[hidden]{display:none!important}header{background:linear-gradient(#fbf3e4f5,transparent)}.inline-window{background:transparent;overflow:visible}.inline-window img{width:145%;height:145%;object-fit:contain}.hero-art img{filter:drop-shadow(0 20px 25px #6c3c1810)}.game{max-width:1280px;padding:110px 5vw 65px;overflow:visible}.game-heading{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:45px}.game-heading h2{font-size:clamp(55px,6.5vw,94px);margin-bottom:20px}.game-heading h2 em{color:#9b6044}.game-heading p{font-size:14px;line-height:1.65}.eyebrow{display:block}.countdown-wrap{text-align:center;min-width:280px}.countdown{display:flex;gap:10px;justify-content:center;align-items:flex-start;margin-top:20px}.countdown b{font-family:Fraunces,serif;font-size:35px;font-weight:500;font-variant-numeric:tabular-nums}.countdown small{display:block;font-size:8px;letter-spacing:.15em;margin-top:7px}.countdown i{font:26px Fraunces;margin-top:4px;opacity:.35}.countdown-status{font-size:11px!important;color:#92694d;margin-bottom:0}.countdown-wrap .note{font-size:10px;margin:17px 0 5px}.arena{border:1px solid var(--line);padding:25px 35px 20px;margin:35px 0 0;background:linear-gradient(125deg,#e5dcea30,transparent 50%,#d7e4ed35);border-radius:4px}.arena-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.sample-label{font-size:8px;letter-spacing:.13em;opacity:.55}.team-scores{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:36px;align-items:center}.team-scores strong{display:block;font-family:Fraunces,serif;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums}.team-label{font-size:14px;font-weight:500}.girl-score{text-align:left;color:#745c95}.boy-score{text-align:right;color:#547ba2}.team-scores .tiny{font-size:8px;letter-spacing:.18em}.arena-copy{align-self:start}.arena-copy em{font:italic 23px/1.2 Fraunces,serif;color:#96775d}.arena-copy>span{display:block;font-size:10px;margin-top:12px;opacity:.65}.tug-scene{height:170px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 2%;margin-top:5px}.team-cup{width:120px;height:135px;position:relative;z-index:2;--cup-color:var(--girl);transform:rotate(-7deg);transition:transform .7s}.boy-cup{--cup-color:var(--boy);transform:rotate(7deg)}.ceramic{position:absolute;width:94px;height:76px;left:5px;top:38px;border-radius:8px 8px 40px 40px;background:linear-gradient(110deg,color-mix(in srgb,var(--cup-color) 65%,white),var(--cup-color) 50%,color-mix(in srgb,var(--cup-color) 80%,#342620));box-shadow:inset 0 -7px 10px #00000008,0 8px 10px #5d382015}.ceramic:after{content:'';position:absolute;right:-22px;top:12px;width:28px;height:33px;border:9px solid var(--cup-color);border-left:0;border-radius:0 50% 50% 0;z-index:-1}.boy-cup .ceramic:after{right:auto;left:-22px;border:9px solid var(--cup-color);border-right:0;border-radius:50% 0 0 50%}.coffee-top{position:absolute;left:6px;right:6px;top:-5px;height:28px;border-radius:50%;border:5px solid color-mix(in srgb,var(--cup-color) 65%,white);background:#83512e;color:#f4dfbc;font:26px/18px Georgia;text-align:center}.cup-steam{position:absolute;left:39px;top:-2px;font:40px Georgia;color:#96775d60}.cup-saucer{position:absolute;bottom:12px;left:-5px;width:120px;height:13px;border-radius:50%;background:color-mix(in srgb,var(--cup-color) 40%,var(--paper));z-index:-1}.rope-track{position:absolute;left:14%;right:14%;top:56%;height:25px}.rope-line{height:8px;width:100%;position:absolute;top:9px;background:repeating-linear-gradient(60deg,#b89665 0 4px,#d5bc91 4px 8px);border-radius:5px;box-shadow:0 3px 3px #78532920;transform:rotate(-1deg);transition:transform .8s}.center-mark{position:absolute;left:50%;top:-20px;height:62px;border-left:1px dashed #6c4e3130}.tug-bean{position:absolute;left:50%;top:12px;width:31px;height:45px;border:2px solid #ad7850;border-radius:50%;background:linear-gradient(100deg,#a96a3e,#603a25);box-shadow:3px 3px 5px #6c3c1830;transform:translate(-50%,-50%) rotate(30deg);transition:left 1s cubic-bezier(.2,.7,.2,1),transform .6s}.tug-bean:after{content:'';position:absolute;inset:2px auto 2px 13px;border-left:3px solid #432717;border-radius:50%;transform:rotate(6deg)}.arena.pulling .tug-bean{transform:translate(-50%,-70%) rotate(45deg)}.arena.pulling .girl-cup{transform:rotate(-14deg) translateX(-4px)}.arena.pulling .boy-cup{transform:rotate(14deg) translateX(4px)}.balance-labels{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:15px}.balance-labels .note{font-size:10px}.prediction-form{max-width:none;display:grid;grid-template-columns:1fr 1.25fr;gap:40px;text-align:left;padding:42px 0;border-bottom:1px solid var(--line)}.form-side{padding-right:35px;border-right:1px solid var(--line)}.step-label{display:block;font-size:9px;letter-spacing:.17em;margin-bottom:23px;font-weight:600}.choices{gap:10px}.choice{border:1px solid var(--line);padding:20px 15px;border-radius:3px;font-size:16px;background:#ffffff30;gap:8px;text-align:left}.choice:first-child{background:#8971aa0c}.choice:last-child{background:#6c91b60e}.choice small{display:block;font-size:10px;opacity:.65;margin-top:6px;font-weight:400}.choice-circle{width:16px;height:16px;border:1px solid #745c9560;border-radius:50%;flex-shrink:0}.choice[aria-pressed=true]{outline:0;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.choice[aria-pressed=true] .choice-circle{background:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}input,select{border-radius:3px;padding:13px 12px;border:1px solid #3c281e35;background:#ffffff15;color:var(--ink);width:100%;font:inherit}label{font-size:12px}.note{font-size:11px;line-height:1.6}.form-side>.note{margin:10px 0 0}.amount-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.amount-heading label{margin:0}.amount-heading label span{opacity:.55}.amount-heading output{font:32px Fraunces,serif}.slider-row{display:flex;align-items:center;gap:20px;margin-top:23px}.range-block{flex:1;min-width:0}input[type=range]{padding:0;height:25px;accent-color:var(--rust);cursor:pointer}.range-ticks{display:flex;justify-content:space-between;font-size:10px;opacity:.6}.other-toggle{border:0;border-bottom:1px solid;background:transparent;padding:7px 0;font-size:11px;white-space:nowrap;color:var(--ink)}.other-toggle[aria-expanded=true]{color:var(--rust)}.money-input{display:flex;align-items:center;border:1px solid #3c281e35;border-radius:3px;padding-left:15px}.money-input input{border:0;background:transparent}.bean-preview{display:flex;align-items:center;gap:12px;padding:16px 0 22px}.bean-preview strong{font-size:18px;font-weight:500}.bean-preview>span:last-child{font-size:11px;opacity:.65;margin-left:auto}.mini-bean{width:15px;height:21px;border-radius:50%;background:linear-gradient(115deg,#945d37 45%,#432717 46% 54%,#945d37 55%);transform:rotate(30deg)}.submit-button{width:100%;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;font-size:13px}.submit-button:disabled{cursor:wait;opacity:.6}.demo-payment{margin:10px 0 0;font-size:10px}.cooldown-text{font-size:11px;color:#8d573a;margin:10px 0 0;min-height:0}.cooldown-text:empty{display:none}.form-message{padding:15px 18px;border:1px dashed #9b604480;background:#e9d5b62b;font-size:13px;line-height:1.6;grid-column:1/-1;border-radius:3px}.brew-progress{height:45px;background:#e8ddcb;position:relative;margin-bottom:12px;overflow:hidden;border-radius:3px}.brew-fill{position:absolute;inset:0 auto 0 0;background:#bb90654a;width:0}.brew-progress>span{position:relative;display:block;padding:14px;font-size:12px;text-align:center}.simulation{margin-top:24px;text-align:left;padding:18px 0;color:#6d5847}.simulation summary{font-size:12px;cursor:pointer}.simulation summary span{font-size:10px;opacity:.6;margin-left:15px}.simulation-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;align-items:end}.simulation-fields label{margin:0}.simulation-fields input,.simulation-fields select{margin-top:8px}.simulation button{border:1px solid var(--line);background:transparent;padding:13px;color:var(--ink);font-size:11px;border-radius:3px}.simulation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.love-fund{min-height:auto;max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;text-align:left;padding:85px 5vw;background:transparent;border-top:1px solid var(--line);align-items:center}.love-fund h2{font-size:clamp(45px,5vw,70px);margin:20px 0}.love-fund .eyebrow{font-size:9px;margin-bottom:0;color:#9b6044}.love-copy p{font-size:13px}.love-copy .note{font-size:11px}.love-fund form{max-width:360px}.love-fund .submit-button{margin-top:15px}.details{background:#ead5b5;margin-top:20px;padding:70px 6vw}.details h2{font-size:60px}.celebration{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);width:min(570px,calc(100% - 32px));background:#3c281e;color:var(--paper);box-shadow:0 18px 50px #3c281e40;padding:25px 40px 25px 22px;z-index:20;display:flex;gap:22px;align-items:center;border-radius:5px;animation:toast-in .55s cubic-bezier(.2,.8,.2,1)}.celebration>button{position:absolute;top:8px;right:10px;color:var(--paper);background:none;border:0;font-size:22px}.celebration strong{display:block;font:25px/1.2 Fraunces,serif;margin:8px 0}.celebration p{margin:0;font-size:12px;opacity:.75}.celebration .tiny{font-size:8px;letter-spacing:.17em}.celebration-cup{font-size:50px;animation:shot-up .7s ease}.demo{font-size:7px;letter-spacing:.08em;opacity:.7}.rope-track{background:none!important}.fund-bloom{animation:shot-up .7s ease}@keyframes toast-in{from{opacity:0;transform:translate(-50%,25px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes shot-up{0%{transform:translateY(15px) rotate(-12deg);opacity:0}70%{transform:translateY(-8px) rotate(6deg)}100%{transform:none;opacity:1}}
@media(min-width:1500px){.game,.love-fund{padding-left:40px;padding-right:40px}}@media(max-width:760px){.game{padding:85px 22px 40px}.game-heading{display:block;text-align:center}.game-heading h2{font-size:62px}.countdown-wrap{margin-top:32px;min-width:0}.countdown b{font-size:30px}.arena{padding:20px 18px 16px;margin-top:28px}.arena-heading .tiny{font-size:8px}.sample-label{font-size:7px}.team-scores{margin-top:30px}.team-scores strong{font-size:43px}.team-label{font-size:12px}.arena-copy em{font-size:17px}.arena-copy>span{font-size:8px;margin-top:10px}.tug-scene{height:145px;padding:0;margin-top:0}.team-cup{transform:scale(.8) rotate(-7deg);transform-origin:left center;width:95px}.boy-cup{transform:scale(.8) rotate(7deg);transform-origin:right center}.arena.pulling .girl-cup{transform:scale(.8) rotate(-14deg)}.arena.pulling .boy-cup{transform:scale(.8) rotate(14deg)}.rope-track{left:20%;right:20%;top:56%}.balance-labels .note{font-size:8px;text-align:center;max-width:160px}.prediction-form{grid-template-columns:1fr;gap:30px;padding:30px 0}.form-side{border:0;border-bottom:1px solid var(--line);padding:0 0 25px}.choice{padding:20px 16px}.form-main .step-label{margin-bottom:22px}.simulation-fields{grid-template-columns:1fr 1fr}.simulation-fields>button{grid-column:1/-1}.simulation summary span{display:block;margin:8px 0 0}.love-fund{grid-template-columns:1fr;gap:15px;padding:60px 22px;text-align:center}.love-fund form{width:100%;max-width:none}.love-fund label{text-align:left}.details h2{font-size:45px}.celebration{padding:22px 35px 22px 18px;gap:12px}.celebration strong{font-size:21px}.celebration-cup{font-size:36px}.game-heading .eyebrow{font-size:9px}.choices{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.celebration,.celebration-cup{animation:none}.brew-fill{transition:none}}
/* Approved ultrasound-latte reveal and coffee-order game. */
.reveal-title{inset:27% 16vw auto}.reveal-title>span{font-size:clamp(52px,7vw,110px)}.reveal-title>em{font-size:clamp(65px,9vw,145px)}.arrival-line{font:italic clamp(24px,2.8vw,42px)/1.2 Fraunces,serif;letter-spacing:-.03em;margin-top:10px}.reveal-title p{margin:22px 0 15px}.scene-link{font-family:Fraunces,serif;font-size:20px;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;gap:30px;margin-top:12px}.scene-link span{font-family:'DM Sans';font-size:18px}.reveal-cup{position:absolute;z-index:2;pointer-events:none;opacity:0;will-change:transform,opacity}.reveal-cup img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 22px #6c3c1816)}.reveal-cup-left{width:25vw;max-width:350px;left:1.2vw;top:64%}.reveal-cup-right{width:22vw;max-width:310px;right:.8vw;top:16%}.game-heading{justify-content:center;text-align:center}.game-heading h2{margin:0}.arena{margin-top:30px}.countdown-wrap{border-top:1px solid var(--line);padding:32px 0 12px;margin:32px 0 0}.countdown{margin-top:15px}.game .countdown-wrap .note{font-size:11px}.order-size{text-align:right;min-width:100px}.order-size>strong{display:block;font:italic 24px Fraunces,serif;color:#9b6044;margin-bottom:3px}.order-size>output{font-size:27px}.range-ticks{gap:5px;font-size:9px}.form-main .step-label{margin-bottom:16px}.cup-steam{top:-10px;left:30px;width:45px;height:45px;font:inherit;display:flex;gap:7px}.cup-steam i{display:block;width:7px;height:28px;border-left:2px solid #8d6e4f70;border-radius:50%;animation:steam-rise 3s ease-in-out infinite;opacity:0}.cup-steam i:nth-child(2){animation-delay:1s;height:35px}.cup-steam i:nth-child(3){animation-delay:2s}.cup-face{position:absolute;left:23px;right:20px;top:31px;height:26px}.cup-eyes{display:block;position:absolute;inset:0 0 auto;height:7px;border-left:5px solid #3c281e;border-right:5px solid #3c281e;border-radius:4px;transform:rotate(-6deg)}.boy-cup .cup-eyes{transform:rotate(6deg)}.cup-mouth{position:absolute;left:18px;top:12px;width:15px;height:9px;border-bottom:2px solid #3c281e;border-radius:0 0 50% 50%}.sweat-drop{position:absolute;right:10px;top:24px;width:6px;height:10px;border-radius:70% 30% 65% 45%;background:#dceaf2;box-shadow:0 1px 2px #3c281e20;animation:sweat 3s ease-in infinite}.boy-cup .sweat-drop{right:auto;left:11px;animation-delay:1.3s}.pull-arm{position:absolute;width:48px;height:22px;border:5px solid var(--cup-color);border-left:0;border-top:0;border-radius:0 0 18px 0;left:85px;top:83px;transform-origin:left center;animation:arm-pull 3s ease-in-out infinite}.pull-hand{position:absolute;right:-7px;bottom:-9px;width:15px;height:17px;background:var(--cup-color);border:1px solid #3c281e30;border-radius:6px;box-shadow:inset 0 -4px #3c281e10}.pull-hand:after{content:'';position:absolute;inset:5px 3px auto;border-top:1px solid #3c281e50;box-shadow:0 3px #3c281e50}.boy-cup .pull-arm{left:-38px;transform:scaleX(-1);animation:arm-pull-right 3s ease-in-out infinite;animation-delay:.2s}.arena.pulling .pull-arm{animation-duration:.45s}.arena.pulling .sweat-drop{animation-duration:.6s}.celebration-cup{font-family:Fraunces;font-size:50px}.celebration .tiny{color:#d2b698}
@keyframes steam-rise{0%{opacity:0;transform:translateY(12px) scaleX(.8)}35%{opacity:.7}100%{opacity:0;transform:translateY(-18px) scaleX(1.3)}}@keyframes sweat{0%,30%{opacity:0;transform:translateY(-3px)}55%{opacity:.85}95%,100%{opacity:0;transform:translateY(13px)}}@keyframes arm-pull{50%{transform:rotate(-9deg) translateX(-3px)}}@keyframes arm-pull-right{50%{transform:scaleX(-1) rotate(-9deg) translateX(-3px)}}
@media(max-width:760px){.game-heading h2{font-size:60px}.game-heading h2 em{display:inline}.game .countdown-wrap{margin-top:28px}.order-size>strong{font-size:22px}.range-ticks{font-size:8px}.slider-row{gap:12px}.amount-heading label{max-width:155px}.reveal-title{inset:32% 7vw auto}.reveal-title>span{font-size:13vw}.reveal-title>em{font-size:20vw}.arrival-line{font-size:7vw}.reveal-title p{font-size:13px;margin-top:18px}.reveal-title .scene-link{font-size:18px;gap:20px}.reveal-cup-left{width:36vw;left:-2vw;top:73%}.reveal-cup-right{width:33vw;right:0;top:15%}.cup-face{left:23px}.pull-arm{width:49px}}
@media(prefers-reduced-motion:reduce){.reveal-cup{position:relative;inset:auto;opacity:1!important;transform:none!important;width:45%;max-width:250px;display:inline-block;vertical-align:top;will-change:auto}.reveal-cup-right{margin-left:8%;margin-top:35px}.reveal-title{margin-top:25px}.cup-steam i{animation:none;opacity:.6}.sweat-drop{animation:none;opacity:.8}.pull-arm{animation:none}.boy-cup .pull-arm{animation:none;transform:scaleX(-1)}}
/* Keep the animated grips seated on the rope at both viewport sizes. */
.pull-arm{top:94px}@media(max-width:760px){.rope-track{left:14%;right:14%}}
/* Brew builder: size first, flavor second, name last. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.second-title{font-size:clamp(28px,5.8vw,95px)}.second-title .company-line{font-family:Fraunces,serif;font-size:inherit;letter-spacing:-.05em;text-align:left;margin-top:0}.second-title em{margin-top:12vh}.prediction-form{grid-template-columns:1.2fr 1fr;gap:35px}.form-main{padding-right:35px;border-right:1px solid var(--line)}.form-side{padding:0;border:0}.form-main .step-label{font-size:12px;letter-spacing:.09em}.name-step{margin-top:30px;margin-bottom:12px}.order-submit{grid-column:1/-1;max-width:420px;width:100%;margin:0 auto}.amount-heading{min-height:160px;justify-content:space-between}.brew-size-art{width:180px;height:155px;display:grid;place-items:end center;position:relative;--brew-scale:.48}.sizing-cup{display:block;position:relative;width:100px;height:100px;background:linear-gradient(100deg,#f5e4cb,#d8bea0);border-radius:8px 8px 42px 42px;box-shadow:inset -12px -9px 15px #6b4d2520,0 15px 20px #6b4d2510;transform:scale(var(--brew-scale));transform-origin:center bottom;transition:transform .5s cubic-bezier(.2,.9,.3,1.3)}.sizing-cup:before{content:'';position:absolute;top:-8px;left:0;width:100px;height:31px;border:6px solid #eedac0;border-radius:50%;background:radial-gradient(ellipse,#eed9b7 0 20%,#a96837 24% 65%,#714625 85%);box-sizing:border-box}.sizing-cup:after{content:'';position:absolute;right:-29px;top:20px;width:33px;height:43px;border:11px solid #ddc6a9;border-left:0;border-radius:0 50% 50% 0;z-index:-1}.sizing-cup i{position:absolute;top:-55px;left:40px;width:15px;height:35px;border-left:2px solid #ac896670;border-radius:50%;opacity:0}.custom-brew .sizing-cup i{animation:steam-rise 2s infinite}.size-pop{animation:brew-bounce .55s ease}.custom-brew.size-pop{animation:custom-flourish .8s ease}.order-size strong{font-size:30px}.other-toggle{white-space:normal;text-align:right;max-width:90px;line-height:1.5}.arena-space{min-height:70px}.balance-labels{padding-top:8px}.love-fund{margin-top:0;border-top:0;padding-bottom:70px}.details{margin-top:0}.love-fund .eyebrow{letter-spacing:.15em}.bean-flights{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}.flying-bean{position:absolute;width:15px;height:22px;background:linear-gradient(110deg,#b77f4f,#764523);border:1px solid #9c633c;border-radius:50%;box-shadow:2px 3px 4px #3c281e20}.flying-bean:after{content:'';position:absolute;left:6px;top:1px;bottom:1px;border-left:2px solid #462919;border-radius:50%}.celebration{bottom:26px}.celebration p{line-height:1.5}
/* A single SVG per character keeps both arms attached to the cup. */
.tug-scene{--cup-size:160px;height:190px;padding:0}.team-cup{width:var(--cup-size);height:var(--cup-size);transform:none!important;transition:none;z-index:2;position:relative;flex-shrink:0}.cup-character{width:100%;height:100%;overflow:visible}.boy-cup .cup-character{transform:scaleX(-1)}.rope-track{left:calc(var(--cup-size)*.85);right:calc(var(--cup-size)*.85);top:calc(50% + var(--cup-size)*.185);height:8px}.rope-line{top:0;transform:none;box-shadow:0 3px 3px #78532920}.tug-bean{top:4px}.center-mark{top:-27px}.rope-grip{transform-origin:150px 119px}.character-steam path{animation:character-steam 3s ease-in-out infinite}.character-steam path:nth-child(2){animation-delay:1s}.character-steam path:nth-child(3){animation-delay:2s}.character-sweat{animation:sweat 3s ease-in infinite}.boy-cup .character-sweat{animation-delay:1.2s}.arena.pulling .rope-grip{animation:grip-squeeze .45s ease-in-out 3}.arena.pulling .connected-arms{filter:brightness(.93)}
@keyframes character-steam{0%,100%{opacity:.1;transform:translateY(5px)}50%{opacity:.55;transform:translateY(-7px)}}@keyframes grip-squeeze{50%{transform:scale(.92,1.06)}}@keyframes brew-bounce{50%{transform:translateY(-7px)}}@keyframes custom-flourish{0%{transform:rotate(0)}40%{transform:rotate(-9deg) translateY(-8px)}75%{transform:rotate(6deg)}100%{transform:none}}
@media(max-width:760px){.prediction-form{display:flex;flex-direction:column;gap:28px}.form-main{padding:0 0 25px;border-right:0;border-bottom:1px solid var(--line)}.form-side{padding-bottom:5px}.amount-heading{min-height:150px}.brew-size-art{width:160px;height:140px}.order-size strong{font-size:28px}.order-submit{max-width:none}.tug-scene{--cup-size:116px;height:160px}.team-scores{grid-template-columns:1fr .4fr 1fr}.arena-space{min-height:30px}.second-title{font-size:9vw}.second-title em{margin-top:28vh}.reveal-title>span{font-size:12vw}.range-ticks{font-size:8px}.other-toggle{max-width:80px}.love-fund{padding-top:55px}.choices{gap:12px}}
@media(prefers-reduced-motion:reduce){.character-steam path,.character-sweat,.rope-grip,.size-pop,.custom-brew.size-pop,.custom-brew .sizing-cup i{animation:none!important}.sizing-cup{transition:none}}
/* Full character silhouette: braced legs, white shoes, attached arms, fixed rope grip. */
.tug-scene{--cup-size:220px;height:270px;margin-top:0}.rope-track{left:calc(var(--cup-size)*.86);right:calc(var(--cup-size)*.86);top:calc(50% + var(--cup-size)*.18)}.full-character .character-body{transform-origin:105px 178px;animation:character-breathe 4s ease-in-out infinite}.full-character .character-eyes{transform-box:fill-box;transform-origin:center;animation:character-blink 5.5s linear infinite}.boy-cup .character-eyes{animation-delay:1.7s}.full-character .rope-grip{transform-origin:213px 172px}.full-character .character-steam path{animation-duration:3.8s}.full-character .character-sweat{animation-duration:4s}.arena.pulling .full-character .character-body{animation:character-effort .5s ease-in-out 3}.arena.pulling .full-character .rear-arm{animation:rear-arm-effort .5s ease-in-out 3}.arena.pulling .full-character .front-arm{animation:front-arm-effort .5s ease-in-out 3}.arena.pulling .full-character .character-sweat{animation-duration:.7s}.arena.pulling .full-character .character-shadow{animation:shadow-effort .5s ease-in-out 3}
@keyframes character-breathe{50%{transform:translateY(-1.5px) rotate(-.7deg)}}@keyframes character-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.1)}}@keyframes character-effort{50%{transform:rotate(-4deg) translateX(-2px)}}@keyframes rear-arm-effort{50%{d:path('M154 126 C177 136 187 156 217 165')}}@keyframes front-arm-effort{50%{d:path('M87 152 C116 172 162 179 210 171')}}@keyframes shadow-effort{50%{opacity:.2}}
@media(max-width:760px){.tug-scene{--cup-size:150px;height:210px}.rope-track{left:calc(var(--cup-size)*.86);right:calc(var(--cup-size)*.86)}}
@media(max-width:420px){.tug-scene{--cup-size:126px;height:185px}}
@media(prefers-reduced-motion:reduce){.full-character .character-body,.full-character .character-eyes,.full-character .rear-arm,.full-character .front-arm,.full-character .character-shadow{animation:none!important}}
/* Compact, non-sticky phone scoreboard; preserve readable form controls. */
@media(max-width:760px){
 .game{padding:55px 18px 35px;scroll-margin-top:66px}
 .game-heading h2{font-size:clamp(35px,9vw,52px);line-height:1.05}
 .game-heading h2 em{display:inline}
 .arena{margin-top:18px;padding:16px 14px 13px}
 .arena-heading .tiny{font-size:7px;letter-spacing:.12em}
 .sample-label{font-size:6px;letter-spacing:.07em}
 .arena-heading{gap:8px}
 .team-scores{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);margin-top:20px}
 .team-scores>div{min-width:0}
 .arena-space{min-height:0}
 .team-label{font-size:11px}
 .team-scores strong{--score-base:clamp(28px,8vw,38px);font-size:var(--score-size,var(--score-base));line-height:1.18;white-space:nowrap;letter-spacing:-.04em;margin:3px 0;min-width:0}
 .team-scores .tiny{font-size:7px}
 .tug-scene{--cup-size:clamp(96px,28vw,130px);height:clamp(126px,33vw,158px);margin-top:0}
 .tug-bean{width:25px;height:35px}
 .tug-bean:after{left:10px}
 .center-mark{height:45px;top:-20px}
 .rope-line{height:6px}
 .balance-labels{padding-top:0;font-size:10px}
 .prediction-form{padding-top:26px}
 .choice,.submit-button,.other-toggle{min-height:44px}
 .other-toggle{min-width:70px}
 input:not([type=range]),select{font-size:16px;min-height:44px}
 input[type=range]{height:36px}
}
@media(max-width:360px){
 .game{padding-inline:14px;padding-top:46px}
 .game-heading h2{font-size:34px}
 .arena{padding-inline:12px}
 .sample-label{font-size:5.5px}
 .tug-scene{--cup-size:96px;height:126px}
}
@media(max-width:760px) and (max-height:650px){.game{padding-top:38px}.arena{margin-top:14px}.team-scores{margin-top:16px}.tug-scene{height:122px}}

/* Original twelve-character tile: preserve four columns and the supplied color order. */
.countdown-wrap{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
.countdown-wrap::before{content:"";position:absolute;z-index:-2;inset:-12px;background-image:url('assets/countdown-characters.png');background-repeat:repeat;background-size:180px 180px;background-position:12px 12px;opacity:.25;mix-blend-mode:multiply;animation:countdown-float 9s ease-in-out infinite;pointer-events:none}
.countdown-wrap::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 46% 85% at center,var(--paper) 35%,transparent 100%);pointer-events:none}
@keyframes countdown-float{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
@media(max-width:760px){.countdown-wrap::before{background-size:160px 160px}.countdown-wrap::after{background:radial-gradient(ellipse 60% 80% at center,var(--paper) 40%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.countdown-wrap::before{animation:none}}

/* Published wallpaper settings; static defaults remain available offline. */
.countdown-wrap::before{background-image:var(--wallpaper-image,url('assets/countdown-characters.png'));background-size:var(--wallpaper-size,180px 180px);background-repeat:var(--wallpaper-repeat,repeat);background-position:var(--wallpaper-position,12px 12px);opacity:var(--wallpaper-opacity,.25);animation:var(--wallpaper-animation,countdown-float 9s ease-in-out infinite)}
.countdown-wrap::after{opacity:var(--wallpaper-fade,1)}
@media(max-width:760px){.countdown-wrap::before{background-size:var(--wallpaper-size,160px 160px)}}
@media(prefers-reduced-motion:reduce){.countdown-wrap::before{animation:none!important}}
/* Let the countdown wallpaper fill the screen while the game stays centered. */
.game > .countdown-wrap{width:var(--page-width,100vw);align-self:center;min-height:380px;padding:96px max(18px,5vw) 84px;margin:32px 0 0;border-top:0}
@media(max-width:760px){.game > .countdown-wrap{min-height:340px;padding:80px 18px 72px;margin-top:28px}}
/* Optional family updates, placed after the game and before family details. */
.updates-signup{min-height:0;padding:72px max(18px,5vw) 22px;max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;text-align:left;align-items:start;overflow:visible}
.updates-signup h2{font-size:clamp(35px,4vw,54px);margin:0 0 18px;line-height:1.06}
.updates-signup h2 em{color:#9b6044}.updates-signup p{font-size:13px;max-width:400px}.updates-signup .eyebrow{font-size:9px;margin-bottom:18px}.updates-signup form{margin:0;max-width:none}.updates-signup label:first-child{margin-top:0}.updates-input-row{display:flex;border-bottom:1px solid var(--ink);padding-bottom:12px;gap:12px}.updates-input-row input{border:0;background:none;padding:10px 0;min-width:0;border-radius:0;outline-offset:2px}.updates-input-row button{border:0;background:none;color:var(--ink);white-space:nowrap;font-size:12px;min-height:44px;display:flex;gap:18px;align-items:center}.updates-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;margin:18px 0 0}.updates-consent input{width:16px;height:16px;flex:0 0 16px;margin-top:2px;accent-color:var(--rust)}.updates-honeypot{position:absolute;left:-10000px;opacity:0;width:1px;height:1px;overflow:hidden}.updates-signup .note{font-size:10px;margin:10px 0}.updates-status{font-size:12px!important;min-height:20px}.updates-status.error{color:#a33329}.updates-input-row button:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){.updates-signup{grid-template-columns:1fr;gap:20px;padding:44px 22px 12px}.updates-signup h2{font-size:39px}.updates-signup p{margin-bottom:8px}.updates-input-row input{font-size:16px}.updates-signup .updates-consent input{min-height:16px}.updates-input-row{gap:8px}.updates-input-row button{font-size:11px;gap:9px}}

#thankYouAddress label{display:block;margin:16px 0 5px}#thankYouAddress input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #cdbba7;background:transparent;color:inherit}#thankYouAddress [type=checkbox]{margin-right:8px}.verified-game .demo,.verified-game .demo-payment,.verified-game #simulation{display:none!important}
/* Optional details after a verified payment. The payment and beans are already complete. */
.verified-return{align-items:start}.thank-you-form{text-align:left;max-width:580px}.thank-you-form h3{font:30px Georgia,serif}.thank-you-form label{display:block;margin:16px 0 8px}.thank-you-form label input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;font:inherit;border:1px solid var(--line);background:#fffaf0;color:var(--ink)}.thank-you-form .check{display:flex;align-items:center;gap:10px}.thank-you-form input[type=checkbox]{width:18px;min-width:18px;height:18px}.thank-you-form fieldset{border:0;padding:0;margin:24px 0}.thank-you-form legend{font:22px Georgia,serif}.thank-you-form .email-actions{display:flex;gap:12px;flex-wrap:wrap}.thank-you-form .quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}.thank-you-form [hidden]{display:none!important}
