:root{--ink:#160f0b;--brown:#3a1f0b;--brown-2:#5b3211;--gold:#eaa612;--honey:#ffc94a;--cream:#fff9ed;--paper:#f5ead3;--teal:#0f7381;--muted:#726354;--line:rgba(75,48,24,.17);--shadow:0 24px 70px rgba(38,20,8,.15)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.6}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit}
button,a{tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--honey);outline-offset:4px}
.skip-link{position:fixed;z-index:1000;left:16px;top:-100px;padding:12px 16px;background:#fff;color:#000}
.skip-link:focus{top:16px}
.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}
.shell{width:min(1180px,calc(100% - 42px));margin:0 auto}
.prototype-bar{padding:8px 20px;color:#39210d;background:var(--honey);font-size:11px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(255,201,74,.18);background:rgba(22,15,11,.94);backdrop-filter:blur(14px)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.wordmark{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
.wordmark img{width:54px;height:54px;object-fit:contain}
.wordmark span,.footer-logo span{display:flex;flex-direction:column;line-height:1}
.wordmark strong,.footer-logo strong{color:var(--honey);font-family:Georgia,"Times New Roman",serif;font-size:24px;letter-spacing:.06em}
.wordmark small,.footer-logo small{margin-top:4px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em}
.primary-nav{display:flex;align-items:center;gap:28px}
.primary-nav a{color:#f8eedb;font-size:13px;font-weight:600;text-decoration:none}
.primary-nav a:hover{color:var(--honey)}
.primary-nav .nav-cta{padding:10px 18px;border:1px solid var(--gold);border-radius:999px;color:var(--honey)}
.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent}
.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;margin:5px auto;background:var(--honey)}
.hero{position:relative;overflow:hidden;min-height:760px;color:#fff;background:#21140c url("assets/beeva-hero-cellar.png") center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,8,5,.94) 0%,rgba(20,11,6,.82) 37%,rgba(20,11,6,.25) 67%,rgba(20,11,6,.08) 100%),linear-gradient(0deg,rgba(13,8,5,.54),transparent 50%)}
.hero-pattern,.honeycomb{position:absolute;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='104' viewBox='0 0 90 104'%3E%3Cpath d='M45 2 88 26v52L45 102 2 78V26Z' fill='none' stroke='%23ffc94a' stroke-width='1'/%3E%3C/svg%3E");background-size:90px 104px}
.hero-pattern{inset:-80px -40px -80px 55%;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-grid{position:relative;z-index:2;min-height:665px;display:flex;align-items:center}
.hero-copy{max-width:690px;padding:80px 0 72px}
.eyebrow{margin:0 0 15px;color:var(--honey);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.eyebrow.dark{color:#9a6700}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
h1{margin-bottom:24px;font-size:clamp(58px,7.4vw,100px);line-height:.84;letter-spacing:-.045em}
h1 em{color:var(--honey);font-weight:500}
.hero-intro{max-width:610px;margin-bottom:30px;color:rgba(255,255,255,.75);font-size:18px}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid transparent;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-gold{color:#271507;background:linear-gradient(135deg,var(--honey),var(--gold));box-shadow:0 12px 30px rgba(234,166,18,.23)}
.button-ghost{color:#fff;border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.05)}
.button-dark{color:#fff;background:var(--ink)}
.responsibility-note{margin:22px 0 0;color:rgba(255,255,255,.48);font-size:11px}
.hero-visual{position:relative;align-self:stretch;display:grid;place-items:center}
.hero-visual img{position:relative;z-index:2;width:min(560px,115%);mix-blend-mode:screen;filter:drop-shadow(0 34px 45px rgba(0,0,0,.38))}
.hero-halo{position:absolute;width:430px;height:430px;border:1px solid rgba(255,201,74,.45);border-radius:50%;box-shadow:0 0 80px rgba(234,166,18,.18),inset 0 0 80px rgba(234,166,18,.1)}
.orbit{position:absolute;border:1px dashed rgba(255,201,74,.26);border-radius:50%}
.orbit-one{width:520px;height:520px}
.orbit-two{width:610px;height:610px}
.hero-seal{position:absolute;z-index:4;right:8px;bottom:118px;width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--honey);border-radius:50%;color:var(--honey);background:rgba(22,15,11,.86);text-align:center;transform:rotate(8deg)}
.hero-seal span{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.hero-seal strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1}
.hero-path{height:95px;display:flex;align-items:center;justify-content:center;gap:18px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.65);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero-path i{width:34px;height:1px;background:var(--gold)}
.section{padding:110px 0}
.section-heading{margin-bottom:44px}
.section-heading.split{display:flex;align-items:end;justify-content:space-between;gap:44px}
.section-heading.split>div{max-width:680px}
.section-heading>p:last-child{max-width:500px;color:var(--muted)}
.section-heading.centered{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.section-heading h2,.sommelier-story h2,.rewards-copy h2,.contest-copy h2,.join-grid h2{margin-bottom:16px;font-size:clamp(45px,5.5vw,72px);line-height:.92;letter-spacing:-.035em}
.occasion-section{background:var(--cream)}
.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.occasion-card{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:25px;border-radius:20px;color:#fff;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s ease}
.occasion-card:hover{transform:translateY(-6px)}
.occasion-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,10,4,.92),rgba(18,10,4,.12) 80%),var(--bg);background-size:cover;background-position:center;transition:transform .5s ease}
.occasion-card:hover:before{transform:scale(1.035)}
.occasion-card>*{position:relative;z-index:1}
.occasion-card.dinner{--bg:url("assets/occasion-dinner.jpg")}
.occasion-card.gift{--bg:url("assets/occasion-gift.jpg")}
.occasion-card.celebrate{--bg:url("assets/occasion-celebration.jpg")}
.occasion-card.quiet{--bg:url("assets/occasion-evening.jpg")}
.card-number{font-size:11px;letter-spacing:.17em}
.occasion-card h3{margin-bottom:4px;font-size:30px;line-height:1}
.occasion-card p{margin:0;color:rgba(255,255,255,.7);font-size:12px}
.arrow{position:absolute;right:22px;bottom:22px;color:var(--honey);font-size:24px}
.shop-section{background:#f1e2c5}
.shop-grid{display:grid;grid-template-columns:1.08fr 1.08fr .92fr .92fr;gap:16px}
.shop-card{min-width:0;overflow:hidden;border:1px solid rgba(88,53,20,.12);border-radius:20px;background:#fff;box-shadow:0 15px 45px rgba(63,35,12,.09);transition:transform .25s ease,box-shadow .25s ease}
.shop-card:hover{transform:translateY(-6px);box-shadow:0 23px 55px rgba(63,35,12,.15)}
.shop-image{height:260px;overflow:hidden;background:#e9ddc8}
.shop-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.shop-card:hover .shop-image img{transform:scale(1.025)}
.product-image{height:310px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff,#e8dac1)}
.product-image img{width:94%;height:94%;object-fit:contain}
.shop-copy{padding:22px}
.shop-copy>span{color:#956400;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.shop-copy h3{margin:7px 0 8px;font-size:28px;line-height:1}
.shop-copy p{min-height:42px;margin-bottom:15px;color:var(--muted);font-size:12px}
.shop-copy a{color:#8b5d00;font-size:11px;font-weight:700;text-decoration:none}
.shop-copy b{color:var(--gold);font-size:17px}
.catalogue-note{margin:20px 0 0;color:var(--muted);font-size:10px}
.sommelier-section{color:#fff;background:var(--brown)}
.sommelier-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}
.sommelier-story>p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.68)}
.feature-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.13)}
.feature-list li{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.feature-list span{color:var(--honey);font-family:Georgia,"Times New Roman",serif}
.finder-card{padding:40px;border-radius:26px;color:var(--ink);background:var(--cream);box-shadow:0 35px 85px rgba(0,0,0,.25)}
.finder-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.finder-top span{color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.finder-top strong{font-family:Georgia,"Times New Roman",serif;font-size:24px}
.progress{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:27px}
.progress span{height:4px;border-radius:5px;background:var(--gold)}
.progress span:last-child{background:#ded1b8}
.finder-card label{display:block;margin:17px 0 7px;color:#6f5c48;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.finder-card select{width:100%;min-height:52px;padding:12px;border:1px solid #d5c5a7;border-radius:9px;color:var(--ink);background:#fff}
.finder-card .button{width:100%;margin-top:24px}
.finder-result{margin-top:18px;padding:17px;border-left:3px solid var(--gold);border-radius:8px;background:#f0e2c7}
.finder-result strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:23px}
.finder-result p{margin:3px 0 0;color:var(--muted);font-size:12px}
.form-disclaimer{margin:16px 0 0;color:var(--muted);font-size:10px}
.rewards-section{position:relative;overflow:hidden;color:#fff;background:var(--ink)}
.honeycomb-left{inset:-50px 65% -50px -80px}
.rewards-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:85px;align-items:center}
.rewards-dashboard{padding:26px;border:1px solid rgba(255,201,74,.18);border-radius:26px;background:linear-gradient(145deg,#2e1b10,#1b120d);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.dashboard-head span,.mini-label{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.dashboard-head h3{margin:2px 0 0;font-size:33px}
.demo-balance{margin-left:auto;margin-right:14px;text-align:right}
.demo-balance span{display:block}
.demo-balance strong{display:block;color:#fff;font-size:12px}
.demo-balance b{color:var(--honey);font-size:16px}
.coin-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--honey);font-family:Georgia,"Times New Roman",serif;font-size:24px}
.daily-card{position:relative;display:grid;grid-template-columns:1fr 150px auto;align-items:center;gap:14px;overflow:hidden;padding:20px;border-radius:17px;color:var(--ink);background:linear-gradient(135deg,#fff8e8,#ecd5a4)}
.daily-card strong,.game-card strong{display:block;margin:4px 0;font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1}
.daily-card p,.game-card p{margin:0;color:var(--muted);font-size:11px}
.daily-card button{position:relative;z-index:5;width:76px;height:76px;border:0;border-radius:50%;color:#2c1908;background:var(--honey);font-size:10px;font-weight:800;text-transform:uppercase;cursor:pointer}
.daily-card button.checked{color:#fff;background:var(--teal)}
.bee-flight{position:relative;height:86px}
.flight-path{position:absolute;left:3px;right:7px;top:43px;border-top:2px dashed rgba(123,78,18,.25);transform:rotate(-7deg)}
.checkin-bee{position:absolute;z-index:2;left:0;top:17px;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(58,31,11,.22));transform-origin:center}
.checkin-coin{position:absolute;z-index:1;right:2px;top:20px;width:48px;height:48px;display:grid;place-items:center;border:3px solid #f6c33e;border-radius:50%;color:#60370b;background:linear-gradient(135deg,#ffe68c,#d79209);font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:700;box-shadow:0 7px 18px rgba(136,88,5,.25)}
.spark{position:absolute;z-index:4;right:22px;top:40px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:0}
.spark-two{right:9px;top:26px}.spark-three{right:8px;top:57px}
.daily-card.celebrating .checkin-bee{animation:beeCheckIn 1.25s cubic-bezier(.3,.8,.3,1) forwards}
.daily-card.celebrating .checkin-coin{animation:coinPop .6s 1s ease both}
.daily-card.celebrating .spark{animation:sparkle .65s 1.05s ease both}
.daily-card.complete .checkin-bee{left:83px;top:6px;transform:rotate(8deg) scale(.72)}
.coin-capture{position:absolute;z-index:8;right:18px;top:50%;min-width:172px;padding:13px 17px;border:1px solid rgba(255,255,255,.42);border-radius:14px;color:#fff;background:rgba(15,115,129,.96);box-shadow:0 15px 35px rgba(15,65,72,.3);opacity:0;transform:translateY(-30%) scale(.8);pointer-events:none}
.coin-capture strong,.coin-capture span{display:block}
.coin-capture strong{color:var(--honey);font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1}
.coin-capture>span{margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.daily-card.captured .coin-capture{animation:captureToast 1.7s ease both}
@keyframes beeCheckIn{0%{left:0;top:17px;transform:rotate(-8deg) scale(1)}35%{top:0;transform:rotate(8deg) scale(.92)}70%{top:24px;transform:rotate(-4deg) scale(.82)}100%{left:83px;top:6px;transform:rotate(8deg) scale(.72)}}
@keyframes coinPop{0%{transform:scale(1)}55%{transform:scale(1.24) rotate(12deg);box-shadow:0 0 0 10px rgba(234,166,18,.13)}100%{transform:scale(1)}}
@keyframes sparkle{0%{opacity:0;transform:translate(0,0) scale(.3)}45%{opacity:1}100%{opacity:0;transform:translate(13px,-14px) scale(1.7)}}
@keyframes captureToast{0%{opacity:0;transform:translateY(-30%) scale(.8)}18%,72%{opacity:1;transform:translateY(-50%) scale(1)}100%{opacity:0;transform:translateY(-70%) scale(.96)}}
.streak-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:15px 0}
.streak-row span{height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:rgba(255,255,255,.48);font-size:10px}
.streak-row .done{color:#fff;background:rgba(15,115,129,.55)}
.streak-row .today{border-color:var(--honey);color:var(--honey)}
.game-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:16px}
.game-icon{width:53px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.game-icon span{aspect-ratio:1;border-radius:4px;background:var(--gold)}
.game-icon span:nth-child(2),.game-icon span:nth-child(3){background:var(--teal)}
.text-button{padding:0;border:0;color:var(--gold);background:transparent;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}
.rewards-copy>p:not(.eyebrow):not(.approval-note){color:rgba(255,255,255,.66)}
.reward-points{margin:28px 0}
.reward-points div{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.reward-points strong,.reward-points span{display:block}
.reward-points strong{font-family:Georgia,"Times New Roman",serif;font-size:24px}
.reward-points span{color:rgba(255,255,255,.5);font-size:11px}
.approval-note{max-width:470px;margin:18px 0 0;color:rgba(255,255,255,.42);font-size:10px}
.experiences-section{background:var(--paper)}
.experience-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:16px}
.experience-card{overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 14px 45px rgba(66,38,14,.08)}
.photo{height:240px;background-size:cover;background-position:center}
.experience-card.large .photo{height:300px}
.wine-photo{background-image:linear-gradient(0deg,rgba(22,15,11,.1),rgba(22,15,11,.1)),url("assets/experience-cellar.jpg")}
.table-photo{background-image:url("assets/experience-table.jpg")}
.gift-photo{background-image:url("assets/experience-gift.jpg")}
.experience-body{padding:24px}
.experience-body>span{color:#956400;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.experience-body h3{margin:7px 0 9px;font-size:29px;line-height:1}
.experience-body p{color:var(--muted);font-size:12px}
.contest-section{background:var(--cream)}
.contest-panel{min-height:570px;display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden;border-radius:28px;color:#fff;background:var(--brown);box-shadow:var(--shadow)}
.contest-copy{align-self:center;padding:65px}
.contest-copy p:not(.eyebrow){max-width:480px;color:rgba(255,255,255,.68)}
.contest-copy small{display:block;max-width:430px;margin-top:18px;color:rgba(255,255,255,.42)}
.contest-art{position:relative;min-height:570px;overflow:hidden;background:#4b270c url("assets/table-story.jpg") center/cover no-repeat}
.contest-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(58,31,11,.36),transparent 38%),linear-gradient(0deg,rgba(29,16,8,.22),transparent 55%)}
.plate{position:absolute;left:16%;top:16%;width:360px;height:360px;border:3px solid #ead9ba;border-radius:50%;background:#f7efdf;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.plate div{position:absolute;inset:48px;border:1px solid #be954a;border-radius:50%}
.glass{position:absolute;right:14%;top:12%;width:95px;height:155px;border:3px solid rgba(255,255,255,.62);border-radius:12px 12px 44px 44px;transform:rotate(7deg)}
.glass:after{content:"";position:absolute;left:42px;top:152px;width:3px;height:90px;background:rgba(255,255,255,.62)}
.napkin{position:absolute;left:22%;bottom:10%;width:190px;height:90px;background:var(--gold);transform:rotate(-12deg);box-shadow:0 15px 35px rgba(0,0,0,.22)}
.place-card{position:absolute;right:9%;bottom:17%;padding:18px 25px;color:var(--brown);background:#fff8e7;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:.9;text-align:center;transform:rotate(5deg)}
.join-section{padding:90px 0;color:#fff;background:linear-gradient(90deg,#5a300d,var(--brown))}
.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.join-grid h2{margin-bottom:10px}
.join-grid>div>p:last-child{max-width:550px;color:rgba(255,255,255,.65)}
.join-form{display:grid;grid-template-columns:1fr auto}
.join-form input{min-width:0;padding:15px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px 0 0 999px;color:#fff;background:rgba(255,255,255,.08)}
.join-form input::placeholder{color:rgba(255,255,255,.5)}
.join-form .button{border-radius:0 999px 999px 0}
.join-form p{grid-column:1/-1;margin:10px 0 0;color:rgba(255,255,255,.42);font-size:10px}
footer{padding:62px 0 28px;color:rgba(255,255,255,.62);background:#0f0a08}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;align-items:start}
.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.footer-logo img{width:64px;height:64px;object-fit:contain}
.footer-grid p{max-width:350px;font-size:12px}
.footer-grid>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.footer-grid>div a{font-size:12px;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:10px}
dialog{width:min(510px,calc(100% - 32px));padding:38px;border:0;border-radius:22px;color:var(--ink);background:var(--cream);box-shadow:0 30px 90px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(13,8,5,.75);backdrop-filter:blur(5px)}
dialog h2{margin-bottom:10px;font-size:44px}
dialog p:not(.eyebrow){color:var(--muted)}
.dialog-close{position:absolute;right:17px;top:14px;border:0;background:transparent;font-size:26px;cursor:pointer}
.game-dialog{width:min(880px,calc(100% - 28px));padding:30px;background:#fff8e9}
.game-dialog-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-right:36px}
.game-dialog-head h2{margin:0;font-size:48px}
.game-score{text-align:right}.game-score span,.game-score strong{display:block}.game-score span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.game-score strong{color:var(--brown);font-size:13px}.game-score b{color:#9c6900;font-size:24px}
.game-instructions{max-width:700px;margin:12px 0 17px;font-size:12px}
.game-stage{position:relative;overflow:hidden;border:3px solid var(--brown);border-radius:18px;background:var(--brown)}
.game-stage canvas{display:block;width:100%;height:auto;aspect-ratio:2/1;background:#29170d}
.game-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff;background:rgba(19,11,7,.72);text-align:center;backdrop-filter:blur(3px)}
.game-state[hidden]{display:none}.game-state strong{font-family:Georgia,"Times New Roman",serif;font-size:34px}.game-state span{margin-bottom:16px;color:rgba(255,255,255,.68);font-size:11px}.game-controls{display:flex;justify-content:center;gap:10px;margin-top:13px}.game-controls button{min-width:130px;padding:11px 16px;border:1px solid #c8a66d;border-radius:999px;color:var(--brown);background:#fff;font-weight:700;cursor:pointer}.game-disclaimer{margin:10px 0 0!important;text-align:center;font-size:10px}
.toast{position:fixed;z-index:100;right:20px;bottom:20px;max-width:360px;padding:14px 18px;border-radius:12px;color:#fff;background:var(--teal);font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}
.toast.show{opacity:1;transform:none}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){.primary-nav{position:fixed;inset:112px 0 auto;display:none;flex-direction:column;align-items:stretch;padding:26px;background:var(--ink);box-shadow:0 25px 40px rgba(0,0,0,.25)}
.primary-nav.open{display:flex}
.primary-nav a{padding:9px 0;font-size:16px}
.primary-nav .nav-cta{text-align:center}
.menu-toggle{display:block}
.hero-grid,.sommelier-grid,.rewards-grid,.contest-panel,.join-grid{grid-template-columns:1fr}
.hero{min-height:auto;background-position:61% center}
.hero-grid{padding-top:25px}
.hero-copy{padding:50px 0 15px}
.hero-visual{min-height:500px}
.hero-visual img{width:500px}
.hero-seal{right:12%;bottom:65px}
.occasion-grid{grid-template-columns:1fr 1fr}
.shop-grid{grid-template-columns:1fr 1fr}
.section-heading.split{display:block}
.section-heading.split>p{margin-top:18px}
.sommelier-grid,.rewards-grid{gap:55px}
.experience-grid{grid-template-columns:1fr 1fr}
.experience-card.large{grid-column:1/-1}
.contest-art{min-height:500px}
.join-grid{gap:25px}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid p{display:none}
}

@media(max-width:580px){.shell{width:min(100% - 28px,1180px)}
.prototype-bar{font-size:9px}
.nav-wrap{min-height:70px}
.wordmark img{width:48px;height:48px}
.wordmark strong{font-size:20px}
.primary-nav{top:99px}
.hero{background-position:67% center}
.hero:before{background:linear-gradient(90deg,rgba(13,8,5,.94),rgba(13,8,5,.7) 72%,rgba(13,8,5,.45)),linear-gradient(0deg,rgba(13,8,5,.7),transparent 62%)}
.hero-grid{display:flex;flex-direction:column;align-items:flex-start}
.hero-copy{width:100%;padding:46px 0 80px}
h1{font-size:56px}
.hero-intro{font-size:15px}
.button-row{display:grid}
.hero-visual{width:100%;min-height:390px}
.hero-visual img{width:390px}
.hero-halo{width:310px;height:310px}
.orbit-one{width:360px;height:360px}
.orbit-two{display:none}
.hero-seal{right:0;bottom:34px;width:104px;height:104px}
.hero-seal strong{font-size:18px}
.hero-path{height:72px;gap:9px;font-size:8px}
.hero-path i{width:13px}
.section{padding:78px 0}
.section-heading h2,.sommelier-story h2,.rewards-copy h2,.contest-copy h2,.join-grid h2{font-size:46px}
.occasion-grid,.experience-grid{grid-template-columns:1fr}
.shop-grid{grid-template-columns:1fr}
.shop-image,.product-image{height:300px}
.occasion-card{min-height:310px}
.experience-card.large{grid-column:auto}
.sommelier-grid,.rewards-grid{gap:45px}
.finder-card{padding:25px 20px}
.finder-top{align-items:flex-start;flex-direction:column;gap:2px}
.rewards-dashboard{padding:16px}
.daily-card{grid-template-columns:1fr}
.bee-flight{height:84px}
.daily-card.complete .checkin-bee{left:calc(100% - 68px)}
@keyframes beeCheckIn{0%{left:0;top:17px;transform:rotate(-8deg) scale(1)}35%{top:0;transform:rotate(8deg) scale(.92)}70%{top:24px;transform:rotate(-4deg) scale(.82)}100%{left:calc(100% - 68px);top:6px;transform:rotate(8deg) scale(.72)}}
.daily-card button{width:100%;height:44px;border-radius:999px}
.game-card{grid-template-columns:auto 1fr}
.game-card .text-button{grid-column:1/-1;text-align:left}
.contest-copy{padding:42px 28px}
.contest-art{min-height:400px}
.game-dialog{padding:22px 14px}
.game-dialog-head{align-items:flex-start;flex-direction:column;gap:6px}
.game-dialog-head h2{font-size:38px}
.game-score{text-align:left}
.game-instructions{font-size:11px}
.game-controls button{min-width:0;flex:1}
.plate{left:5%;top:17%;width:270px;height:270px}
.glass{right:5%;width:70px;height:120px}
.glass:after{left:31px;top:119px;height:70px}
.napkin{left:15%;width:150px}
.place-card{right:5%;bottom:10%;font-size:18px}
.join-form{grid-template-columns:1fr}
.join-form input,.join-form .button{border-radius:999px}
.join-form .button{margin-top:9px}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div{grid-template-columns:1fr 1fr}
.footer-bottom{flex-direction:column}
.footer-bottom span:last-child{color:var(--honey)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
.occasion-card,.shop-card,.button{transition:none}
.daily-card.celebrating .checkin-bee,.daily-card.celebrating .checkin-coin,.daily-card.celebrating .spark{animation:none}
.daily-card.celebrating .checkin-bee{left:83px;top:6px;transform:rotate(8deg) scale(.72)}
.daily-card.captured .coin-capture{animation:none;opacity:1;transform:translateY(-50%) scale(1)}
}
