@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,700;0,800;1,500&display=swap');
:root{color-scheme:dark;--bg:#14251f;--surface:#1c3027;--surface2:#253d31;--text:#f0e7d3;--muted:#b0bbac;--line:#3b4b3b;--accent:#c2d8ad;--button:#c6dfb0;--ink:#192d24;--caramel:#c99d70;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif;--shadow:0 30px 70px #07120c40}
html[data-theme=warm]{color-scheme:light;--bg:#dfd5bf;--surface:#d2cab1;--surface2:#c8c3a7;--text:#1d3327;--muted:#505d47;--line:#a5a88d;--accent:#365736;--button:#244632;--ink:#f2e9d6;--shadow:0 30px 70px #36412622}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--sans);transition:background .35s,color .35s}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;transition:transform .2s,background .2s}button:hover{transform:translateY(-2px)}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--caramel);outline-offset:5px}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4{margin-top:0}em{font-weight:500}.skip{position:fixed;top:-100px;left:15px;background:var(--button);color:var(--ink);padding:12px;z-index:20}.skip:focus{top:10px}
header{height:105px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font:800 43px/.85 var(--serif);letter-spacing:-3px}.brand>span{color:var(--caramel)}.brand small{display:block;font:8px/1.5 var(--sans);letter-spacing:2px;margin-top:12px}header nav{display:flex;gap:35px;font-size:12px}header nav a:hover{text-decoration:underline;text-underline-offset:6px}.theme{border:1px solid var(--line);border-radius:30px;padding:10px 17px;font-size:11px;background:none}
.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:62px 5% 65px;align-items:center;min-height:650px}.eyebrow{font-size:9px;line-height:1.7;letter-spacing:2px;font-weight:600;color:var(--accent);margin-bottom:23px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px}h1{font:500 clamp(60px,7.7vw,112px)/1.03 var(--serif);letter-spacing:-5px;margin-bottom:30px}h1 em{color:var(--accent)}.hero-description{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:26px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:0;border-radius:5px;background:var(--button);color:var(--ink);padding:17px 24px;font-weight:600;font-size:12px;min-height:52px}.primary>span{font-size:22px;line-height:1}.hero-note{font-size:10px;color:var(--muted);margin-top:15px;max-width:280px}.hero-signature{display:flex;align-items:center;gap:16px;margin-top:40px}.hero-signature>span{font-size:32px;color:var(--caramel)}.hero-signature small{font-size:8px;letter-spacing:1.4px}.hero-signature i{width:35px;height:1px;background:var(--line)}.hero-signature em{font:italic 14px var(--serif);color:var(--muted)}
.hero-art{position:relative;isolation:isolate;min-width:0;height:500px;background:#bba17e;border-radius:49% 49% 6px 6px;transform:rotate(2deg);color:#233b2a;box-shadow:var(--shadow);--mx:0deg;--my:0deg}.art-word{position:absolute;top:85px;left:0;width:100%;text-align:center;font:800 clamp(80px,12vw,175px)/1 var(--serif);letter-spacing:-12px;color:#e1cdac;opacity:.7;z-index:-1}.art-number{position:absolute;top:45px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;white-space:nowrap}.art-halo{position:absolute;inset:80px 10% 50px;border:1px solid #e7d6b163;border-radius:50%;transform:rotate(-20deg)}.character-stage{position:absolute;inset:35px 0 25px;overflow:hidden;transform:perspective(900px) rotateX(var(--my)) rotateY(var(--mx));transition:transform .35s;animation:bob 6s ease-in-out infinite;mix-blend-mode:multiply}.character-stage img{position:absolute;width:185%;max-width:none;left:-42%;top:-42%;mix-blend-mode:multiply}.steam{position:absolute;right:16%;top:31%;width:12px;height:38px;border-right:2px solid #f5ead4;border-radius:50%;animation:steam 3s infinite;opacity:0}.round-seal{position:absolute;right:-17px;top:15px;width:105px;height:105px;border-radius:50%;background:#c8dcad;border:1px solid #233b2a;padding:17px 8px;text-align:center;font-size:7px;font-weight:700;line-height:1.25;letter-spacing:1px;transform:rotate(13deg);box-shadow:0 0 0 5px var(--bg)}.round-seal b{font-size:24px;line-height:1.1}.character-greeting{position:absolute;bottom:68px;left:-22px;border:1px solid #ead5af;background:#e4c6a0;color:#203a2b;font:italic 20px var(--serif);padding:14px 20px;transform:rotate(-7deg);box-shadow:0 12px 25px #192b2420}.character-greeting:hover{transform:rotate(-3deg) translateY(-3px)}.art-caption{position:absolute;bottom:20px;right:22px;font-size:8px;letter-spacing:2px}.brand-ribbon{overflow:hidden;background:var(--accent);color:var(--bg);padding:13px 0}.brand-ribbon>div{width:max-content;font-size:11px;font-weight:600;letter-spacing:3px;animation:marquee 32s linear infinite}.brand-ribbon span{font-size:16px;margin:0 55px}
.club-section{max-width:1280px;margin:auto;padding:82px 5% 70px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px;gap:25px}.section-heading h2{font:500 clamp(40px,4.6vw,64px)/1.12 var(--serif);letter-spacing:-2px;margin:0}.section-heading h2 em{color:var(--accent)}.section-heading .eyebrow{margin-bottom:15px}.demo-label{font-size:8px;letter-spacing:1.5px;text-align:right;color:var(--muted);line-height:2;margin-bottom:6px}.demo-label small{font-size:10px;letter-spacing:0}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:13px 0 20px;font-size:12px;color:var(--muted)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.tabs button>span{font-size:8px;color:var(--accent);margin-left:12px}.dashboard{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:75px}.loyalty{border-radius:17px;background:#b68e66;color:#23392b;padding:29px 32px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .35s;transform:rotate(-2deg)}.loyalty:before{content:'';position:absolute;inset:10px;border:1px solid #354d3240;border-radius:10px;pointer-events:none}.loyalty:hover{transform:rotate(0deg) translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-wordmark{font:800 37px/.9 var(--serif);letter-spacing:-2px}.card-wordmark small{display:block;font:7px var(--sans);letter-spacing:1.5px;margin-top:9px}.pill{font-size:7px;letter-spacing:1px;border:1px solid #344f3755;border-radius:30px;padding:7px 10px}.card-copy{display:flex;justify-content:space-between;align-items:center;margin:26px 0 17px}.card-copy h3{font:500 clamp(26px,3vw,39px)/1.12 var(--serif);letter-spacing:-1px;margin:0}.card-sun{font-size:75px;line-height:1;color:#304d32}.progress-copy{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.progress-copy strong{font-size:24px;font-weight:500}.progress-copy small{font-size:11px;font-weight:400}.progress-copy>span{font-size:8px}.stamps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:12px 0 20px}.stamp{border:1px dashed #4b5a3b;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;font-size:23px;line-height:1;color:#cbdcb4}.stamp.filled{background:#294632;border:1px solid #294632;animation:stamp-in .4s both}.stamp:last-child:not(.filled){border-style:solid;font-size:18px}.card-bottom{display:flex;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #304c3540;font-size:8px}.card-bottom>span:last-child{font-size:7px;white-space:nowrap}.side h3{font:500 37px/1.18 var(--serif);letter-spacing:-.8px;margin-bottom:19px}.side>p{font-size:12px;color:var(--muted);max-width:330px;line-height:1.9}.side .eyebrow{font-size:8px;color:var(--accent)}.side .primary{width:100%;max-width:330px;margin-top:5px}.text-button{background:none;border:0;padding:15px 0 0;color:var(--accent);font-size:10px;text-decoration:underline;text-underline-offset:4px;display:block}.micro,.side .micro{font-size:9px;line-height:1.8;color:var(--muted);margin:12px 0 0}.lower-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-top:40px}.feature{display:flex;align-items:center;gap:24px;min-height:205px;border:0;border-radius:7px;padding:27px;text-align:left;position:relative;overflow:hidden}.feature h3{font:500 29px/1.1 var(--serif);letter-spacing:-.5px;margin-bottom:14px}.feature .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:14px;color:inherit}.feature p:last-child{font-size:10px;margin:0}.surprise-feature{background:#c1d5a9;color:#223d2b}.flavor-feature{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.feature-graphic{font-size:95px;line-height:1;transition:transform .6s}.feature:hover .feature-graphic{transform:rotate(90deg)}.flavor-drawing{font-size:70px;line-height:1;color:var(--caramel);transform:rotate(-25deg)}.feature:hover .flavor-drawing{transform:rotate(15deg)}.arrow{margin-left:auto;align-self:start;font-size:24px}.view{animation:appear .4s ease}
.play-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:45px 0 30px}.play-heading h3,.rewards-heading h3{font:500 46px/1.15 var(--serif);letter-spacing:-1.5px;margin-bottom:15px}.play-heading h3 em,.rewards-heading h3 em{color:var(--accent)}.play-heading>div>p:last-child,.rewards-heading>p:last-child{font-size:12px;color:var(--muted)}.game-score{display:flex;flex-direction:column;text-align:right;margin-bottom:10px;white-space:nowrap}.game-score strong{font:500 40px var(--serif)}.game-score span{font-size:8px;color:var(--muted);letter-spacing:1px}.memory-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-tile{aspect-ratio:.85;border:1px solid var(--line);border-radius:9px;background:var(--surface2);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;transition:background .3s,transform .3s}.tile-front{font:700 26px var(--serif);color:var(--accent)}.tile-back{display:none}.memory-tile.open,.memory-tile.matched{background:#c3d9b0;color:#203a29;transform:rotate(-2deg)}.open .tile-front,.matched .tile-front{display:none}.open .tile-back,.matched .tile-back{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:8px}.memory-tile.matched{background:#bd976e;transform:rotate(0deg);border-color:#bd976e}.coffee-icon{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.game-aside{padding-right:25px}.game-star{display:block;color:var(--caramel);font-size:55px;line-height:1;margin-bottom:20px}.game-aside h4{font:500 27px/1.25 var(--serif);margin-bottom:17px}.game-aside p{font-size:11px;color:var(--muted)}.secondary{border:1px solid var(--line);border-radius:5px;background:none;padding:12px 17px;font-size:11px}.gift-strip{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:35px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.gift-strip>div{flex:1;min-width:230px}.gift-strip .eyebrow{margin-bottom:10px}.gift-strip h3{font:500 27px var(--serif);margin-bottom:10px}.gift-strip p:not(.eyebrow){font-size:11px;color:var(--muted);margin-bottom:0}.gift-strip>.micro{width:100%;margin-top:-8px}.rewards-heading{margin:40px 0}.empty-state{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:55px 25px;text-align:center}.empty-state h4{font:500 28px var(--serif);margin-bottom:15px}.empty-state p{font-size:12px;color:var(--muted)}.empty-state>span{font-size:50px;color:var(--caramel)}.reward{display:flex;align-items:center;gap:25px;padding:26px;border:1px solid var(--line);border-radius:10px;margin-bottom:15px;background:var(--surface)}.reward>span{font-size:45px;color:var(--caramel)}.reward .eyebrow{margin-bottom:7px;font-size:7px}.reward h4{font:500 26px var(--serif);margin-bottom:8px}.reward p:last-child{font-size:10px;color:var(--muted);margin:0}.reward .primary{margin-left:auto}.reward.used{opacity:.65}
.closing{border-block:1px solid var(--line);padding:60px 5%;display:flex;justify-content:space-between;align-items:center;gap:40px;max-width:1440px;margin:auto}.closing h2{font:500 clamp(35px,4vw,55px)/1.15 var(--serif);letter-spacing:-1.5px;margin:0}.closing h2 em{color:var(--accent)}.closing>a{font:800 clamp(70px,11vw,150px)/1 var(--serif);letter-spacing:-8px}.closing>a>span{color:var(--caramel)}.closing>a>small{display:block;font:8px var(--sans);letter-spacing:2px;margin-top:15px}footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 5%;color:var(--muted);font-size:8px;letter-spacing:.8px}footer p{font-size:9px;letter-spacing:0;line-height:1.8;margin:0}footer button{font-size:9px;border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;max-width:450px;width:calc(100% - 36px);padding:45px 30px 35px;text-align:center;box-shadow:var(--shadow)}dialog::backdrop{background:#08130ec9;backdrop-filter:blur(8px)}.close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:26px;color:var(--muted);min-width:36px;min-height:36px}dialog h2{font:500 35px/1.15 var(--serif);letter-spacing:-1px;margin-bottom:20px}dialog p{font-size:12px;color:var(--muted)}dialog .eyebrow{font-size:8px;color:var(--accent)}dialog .primary{margin-top:12px}.id-code{border:1px dashed var(--line);border-radius:8px;padding:25px;font:500 30px var(--serif);margin:20px 0;color:var(--accent)}.celebrate{font-size:70px;color:var(--caramel);animation:gift-in .6s ease both}.flavor-options{display:grid;gap:10px;margin:25px 0}.flavor-options button{border:1px solid var(--line);background:var(--surface2);padding:15px;border-radius:6px;font-size:12px;text-align:left}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(15px);width:max-content;max-width:calc(100% - 32px);background:var(--button);color:var(--ink);padding:14px 22px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:15;box-shadow:var(--shadow)}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}[hidden]{display:none!important}
@keyframes bob{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -9px;rotate:1deg}}@keyframes steam{0%{opacity:0;translate:0 12px}40%{opacity:.5}100%{opacity:0;translate:0 -20px}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes stamp-in{from{scale:.7;opacity:.3}to{scale:1;opacity:1}}@keyframes gift-in{from{transform:rotate(-35deg) scale(.5)}to{transform:rotate(0) scale(1)}}
@media(min-width:1441px){.hero-art{height:550px}.hero{min-height:730px}}@media(max-width:1000px){.hero{padding-top:45px;padding-bottom:50px;min-height:580px}.hero-art{height:420px}.hero-signature em{display:none}h1{letter-spacing:-3px}.dashboard{gap:40px}.loyalty{padding:26px}.side h3{font-size:31px}.feature{gap:17px;padding:23px}.feature-graphic{font-size:65px}.feature h3{font-size:25px}.flavor-drawing{font-size:50px}.memory-layout{gap:35px}.card-sun{font-size:60px}.pill{font-size:6px}.round-seal{width:90px;height:90px;font-size:6px;padding:14px 6px}.progress-copy>span{max-width:100px;text-align:right}}
@media(max-width:680px){header{height:88px;padding:0 6%}header nav{display:none}.brand{font-size:37px}.brand small{font-size:6px;letter-spacing:1.6px}.theme{font-size:10px;padding:9px 13px}.hero{grid-template-columns:1fr;gap:40px;padding:37px 6% 45px;min-height:0}.hero .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:21px}h1{font-size:clamp(57px,14vw,88px);letter-spacing:-3px;margin-bottom:22px}.hero-description{font-size:13px;margin-bottom:22px}.hero-note{max-width:260px;font-size:9px}.hero-signature{display:none}.hero-art{height:clamp(340px,100vw,465px);width:92%;margin:0 auto;max-width:440px}.art-word{font-size:28vw;letter-spacing:-9px}.character-greeting{bottom:46px;left:-16px;font-size:18px;padding:12px 16px}.round-seal{top:15px;right:-12px}.art-number{top:38px;font-size:7px}.art-caption{font-size:7px;bottom:17px}.brand-ribbon{padding:10px 0}.brand-ribbon>div{font-size:9px}.brand-ribbon span{margin:0 32px}.club-section{padding:48px 6% 45px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:42px}.demo-label{text-align:left;margin-top:22px;font-size:7px}.demo-label small{font-size:9px}.tabs{gap:0;justify-content:space-between;margin-bottom:28px}.tabs button{font-size:10px;padding-bottom:15px;max-width:45%}.tabs button>span{margin-left:5px;font-size:7px}.dashboard{grid-template-columns:1fr;gap:33px}.loyalty{padding:25px 24px;transform:rotate(-1deg)}.card-copy h3{font-size:34px}.card-copy{margin:26px 0 22px}.card-wordmark{font-size:34px}.card-sun{font-size:70px}.card-bottom{font-size:7px}.card-bottom>span:last-child{font-size:6px}.stamp{font-size:21px}.stamps{gap:7px}.progress-copy>span{max-width:none;font-size:7px}.side h3{font-size:34px}.side p{max-width:none}.side .primary{max-width:none}.lower-grid{grid-template-columns:1fr;margin-top:30px;gap:15px}.feature{min-height:180px;padding:25px;gap:25px}.feature-graphic{font-size:85px}.feature h3{font-size:29px}.flavor-drawing{width:85px;text-align:center;font-size:65px}.play-heading{margin:30px 0 24px;align-items:start}.play-heading h3,.rewards-heading h3{font-size:35px}.play-heading .eyebrow{font-size:7px;letter-spacing:1px}.play-heading>div>p:last-child{font-size:10px;max-width:220px}.game-score strong{font-size:30px}.game-score span{font-size:6px}.memory-layout{grid-template-columns:1fr;gap:25px}.memory-grid{gap:9px}.memory-tile{aspect-ratio:.9}.tile-front{font-size:22px}.coffee-icon{width:35px;height:35px}.game-aside{padding:20px 0 0;border-top:1px solid var(--line)}.game-star{float:right;font-size:50px}.game-aside h4{font-size:25px}.gift-strip{padding:23px;gap:18px}.gift-strip>div{min-width:0;flex-basis:100%}.gift-strip .primary{width:100%}.gift-strip>.micro{margin:0}.reward{flex-wrap:wrap;padding:22px;gap:18px}.reward h4{font-size:24px}.reward .primary{width:100%;margin:0}.reward>span{font-size:35px}.closing{padding:40px 6%;display:block}.closing .eyebrow{font-size:8px}.closing h2{font-size:37px}.closing>a{display:block;font-size:90px;letter-spacing:-6px;margin-top:35px}.closing>a>small{font-size:7px;letter-spacing:2px;margin-top:9px}footer{padding:25px 6%;align-items:start;flex-wrap:wrap;gap:17px}footer>span{width:100%;font-size:7px}footer p{font-size:8px}footer button{margin-left:auto;font-size:8px}}
@media(max-width:360px){.card-wordmark{font-size:29px}.pill{font-size:5px}.loyalty{padding:22px 19px}.card-copy h3{font-size:29px}.stamp{font-size:18px}.stamps{gap:5px}.card-bottom>span:last-child{display:none}.feature{gap:17px}.feature-graphic,.flavor-drawing{width:60px;font-size:60px}.tabs button{font-size:9px}.tabs button>span{margin-left:3px}}
.character-stage{border-radius:48% 48% 4px 4px;background:#bba17e;mix-blend-mode:normal}.character-stage img{width:155%;left:-27%;top:-32%;clip-path:inset(0 0 30% 0)}.art-word{z-index:0;opacity:.18;pointer-events:none}.character-stage{z-index:1}.round-seal,.character-greeting,.art-caption,.art-number{z-index:2}.motion-toggle{font:9px var(--sans);border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px}html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation-play-state:paused!important}html[data-motion=paused] .character-stage{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.character-stage{transform:none!important}.brand-ribbon>div{transform:none}}
