:root{--burgundy:#5a0e10;--deep:#31060b;--red:#8b1e1e;--gold:#d4af37;--gold-light:#f2db85;--cream:#fff8e8;--paper:#fffdf8;--ink:#321d1f;--muted:#6e5c61;--green:#177245;--line:#e7d6b4;--shadow:0 22px 65px rgba(49,6,11,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(circle at 10% 0,#fffdf6 0,#f8ead0 42%,#efdbb9 100%);font:16px/1.55 Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;left:12px;top:-100px;z-index:50;padding:12px 18px;background:#fff;color:var(--deep);font-weight:800}.skip-link:focus{top:12px}.campaign-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1180px,calc(100% - 32px));margin:auto;padding:18px 0}.campaign-brand{display:flex;align-items:center;gap:12px;color:var(--deep);text-decoration:none;font:800 clamp(.94rem,2.4vw,1.25rem)/1 Georgia,serif;letter-spacing:.06em}.campaign-brand img{width:58px;height:58px;object-fit:contain}.campaign-chip{padding:8px 12px;border:1px solid #b79648;border-radius:999px;color:var(--burgundy);background:rgba(255,253,248,.75);font-size:.68rem;font-weight:900;letter-spacing:.08em}main{width:min(1180px,calc(100% - 32px));margin:0 auto 72px}.owner-preview{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 16px;border:2px solid #a16c10;border-radius:14px;color:#401f00;background:#fff2bf;box-shadow:0 8px 20px rgba(91,55,0,.12)}.owner-preview strong{flex:0 0 auto;font-size:.76rem;letter-spacing:.12em}.owner-preview span{font-size:.88rem;font-weight:700}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,80px);align-items:center;padding:clamp(30px,6vw,72px) 0}.eyebrow,.step-label{margin:0 0 12px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:0;color:var(--burgundy);font:800 clamp(2.8rem,7.5vw,6.5rem)/.91 Georgia,serif;letter-spacing:-.045em}.hero-intro{max-width:660px;margin:24px 0;color:#4f3437;font-size:clamp(1.05rem,2vw,1.26rem)}.hero-proof{display:flex;flex-wrap:wrap;gap:8px}.hero-proof span{padding:8px 12px;border:1px solid #cfb780;border-radius:999px;background:rgba(255,255,255,.55);font-size:.78rem;font-weight:800}.hero-images{position:relative;min-height:460px}.hero-images figure{position:absolute;margin:0;overflow:hidden;border:8px solid var(--paper);border-radius:34px;background:var(--paper);box-shadow:var(--shadow)}.hero-images figure:first-child{width:59%;left:0;top:0;transform:rotate(-3deg)}.hero-images figure:last-child{width:59%;right:0;bottom:0;transform:rotate(4deg)}.hero-images img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.hero-images figcaption{position:absolute;left:14px;bottom:13px;padding:7px 10px;border-radius:7px;color:#fff;background:rgba(49,6,11,.88);font-size:.7rem;font-weight:900;letter-spacing:.12em}.campaign-card{padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:30px;background:rgba(255,253,248,.96);box-shadow:var(--shadow)}#loading-panel{display:flex;align-items:center;justify-content:center;gap:14px;min-height:180px;text-align:center}.loader{width:28px;height:28px;border:3px solid #e2c98d;border-top-color:var(--burgundy);border-radius:50%;animation:spin 1s linear infinite}.ended-panel{text-align:center}.ended-panel h2{max-width:740px;margin:8px auto 14px}.entry-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:24px;align-items:start}.entry-card h2,.allergen-card h2,.ended-panel h2{color:var(--burgundy);font:800 clamp(2rem,5vw,3.4rem)/1 Georgia,serif}.entry-card h2{margin:0 0 28px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 26px;padding:0;border:0}.product-choice{position:relative;cursor:pointer}.product-choice input{position:absolute;opacity:0}.product-choice span{display:flex;min-height:90px;flex-direction:column;justify-content:center;padding:14px;border:2px solid #dbc79e;border-radius:18px;background:#fff;text-align:center;transition:.18s}.product-choice strong{font:800 1.04rem Georgia,serif;color:var(--burgundy)}.product-choice small{margin-top:3px;color:var(--muted)}.product-choice input:checked+span{border-color:var(--burgundy);background:#fff3d6;box-shadow:0 0 0 3px rgba(90,14,16,.1)}.product-choice input:focus-visible+span{outline:3px solid #2078d4;outline-offset:3px}.field-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:800}.field input{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid #baa77c;border-radius:12px;background:#fff;color:var(--ink)}.field input:focus{outline:3px solid rgba(32,120,212,.28);border-color:#2078d4}.field small{color:var(--muted);font-size:.76rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.consent-box{margin-top:18px;padding:16px;border:1px solid #d9c7a0;border-radius:15px;background:#fff}.filming-box{border-left:5px solid var(--burgundy)}.checkbox-row{display:grid;grid-template-columns:24px 1fr;gap:11px;align-items:start;cursor:pointer}.checkbox-row input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--burgundy)}.optional-note{margin:8px 0 0 35px;color:var(--muted);font-size:.75rem}.legal-links{font-size:.84rem;color:var(--muted)}.legal-links a,footer a{color:var(--burgundy);font-weight:700}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 22px;border:2px solid transparent;border-radius:999px;text-align:center;text-decoration:none;font-weight:900;letter-spacing:.035em;cursor:pointer;transition:transform .16s,box-shadow .16s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.copy-button:focus-visible{outline:3px solid #2078d4;outline-offset:3px}.button:disabled{opacity:.6;cursor:wait;transform:none}.button-primary{color:#fff;background:linear-gradient(135deg,var(--burgundy),#7f1722);box-shadow:0 12px 28px rgba(90,14,16,.2)}.button-gold{color:var(--deep);background:linear-gradient(135deg,var(--gold-light),var(--gold))}.button-outline{border-color:var(--burgundy);color:var(--burgundy);background:#fff}.button-wide{width:100%;margin-top:8px}.form-status{min-height:24px;margin:10px 0 0;color:#8a1119;font-weight:700}.allergen-card{position:sticky;top:18px}.allergen-card h2{margin:0 0 16px}.food-item{padding:16px 0;border-top:1px solid var(--line)}.food-item:first-child{border-top:0}.food-item h3{margin:0 0 8px;color:var(--burgundy);font:800 1.2rem Georgia,serif}.food-item p{margin:7px 0;font-size:.86rem}.food-item strong{color:#251415}.allergen-warning{padding:14px;border-radius:12px;color:#281313;background:#f4d97f;font-weight:800}.confirmation-screen,.spin-panel,.win-panel{max-width:820px;margin:30px auto;padding:clamp(28px,6vw,60px);border-radius:34px;text-align:center;box-shadow:var(--shadow)}.confirmation-screen{color:#fff;background:linear-gradient(145deg,#0b5b37,var(--green) 58%,#084b2e)}.confirmation-mark{display:grid;width:100px;height:100px;place-items:center;margin:0 auto 18px;border:5px solid #fff;border-radius:50%;font-size:4rem;font-weight:900}.light{color:#dcffe9}.confirmation-screen h2,.spin-panel h2,.win-panel h2{margin:8px 0 16px;font:900 clamp(2.7rem,9vw,5.8rem)/.92 Georgia,serif}.confirmation-lead{max-width:620px;margin:0 auto 22px;font-size:clamp(1.05rem,2.3vw,1.3rem)}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;text-align:left}.confirmation-details div{padding:13px 15px;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(255,255,255,.1)}.confirmation-details dt{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.confirmation-details dd{margin:4px 0 0;font-size:1.2rem;font-weight:900}.recording-row dd{font-size:1.55rem}.light-status{color:#fff}.spin-panel,.win-panel{border:1px solid var(--line);background:var(--paper)}.spin-panel h2,.win-panel h2{color:var(--burgundy)}.wheel-stage{position:relative;width:min(76vw,420px);margin:34px auto}.wheel{position:relative;width:100%;aspect-ratio:1;border:12px solid var(--gold);border-radius:50%;background:conic-gradient(#68131b 0 50%,#e8bd3f 50% 80%,#19724a 80% 95%,#b44b2a 95% 100%);box-shadow:0 15px 36px rgba(49,6,11,.25),inset 0 0 0 5px #fff8;transition:transform 4s cubic-bezier(.16,.76,.12,1)}.wheel::after{content:"";position:absolute;left:50%;top:50%;width:68px;height:68px;transform:translate(-50%,-50%);border:6px solid var(--paper);border-radius:50%;background:var(--burgundy);box-shadow:0 4px 18px #0005}.wheel-pointer{position:absolute;z-index:3;left:50%;top:-12px;width:0;height:0;transform:translateX(-50%);border-left:20px solid transparent;border-right:20px solid transparent;border-top:42px solid var(--deep);filter:drop-shadow(0 4px 3px #0004)}.wheel-label{position:absolute;z-index:2;color:#fff;font-size:clamp(1rem,4vw,1.7rem);font-weight:900;text-shadow:0 2px 4px #0008}.wheel-label-5{right:17%;top:37%}.wheel-label-10{left:27%;bottom:15%;color:var(--deep);text-shadow:none}.wheel-label-15{left:14%;top:28%}.wheel-label-20{left:45%;top:10%}.spin-button{min-width:min(100%,330px);font-size:1.08rem}.confetti-mark{color:var(--gold);font-size:4rem}.win-prize{margin:12px 0 22px;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:900}.code-card{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:20px;border:2px dashed var(--gold);border-radius:20px;background:#fff7df;text-align:left}.code-card span{grid-column:1/-1;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.code-card strong{font:900 clamp(1.6rem,6vw,2.6rem)/1 monospace;letter-spacing:.03em;overflow-wrap:anywhere}.copy-button{min-height:46px;padding:10px 14px;border:0;border-radius:999px;color:#fff;background:var(--burgundy);font-weight:900;cursor:pointer}.expiry,.email-note{color:var(--muted);font-size:.88rem}.review-card{margin-top:30px;padding:24px;border-top:1px solid var(--line);border-radius:20px;background:#fff}.review-card h3{margin:3px 0;color:var(--burgundy);font:800 1.7rem Georgia,serif}.review-card [aria-disabled="true"]{pointer-events:none;opacity:.48}.review-unavailable{color:var(--muted);font-size:.8rem}footer{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding:28px 18px 42px;border-top:1px solid #d9c49b}.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}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:780px){.campaign-chip{display:none}.hero{grid-template-columns:1fr;padding-top:24px}.hero-images{min-height:340px}.entry-layout{grid-template-columns:1fr}.allergen-card{position:static}.field-grid{grid-template-columns:1fr}.confirmation-details{grid-template-columns:1fr}.confirmation-screen,.spin-panel,.win-panel{margin-left:-6px;margin-right:-6px}.choice-grid{grid-template-columns:1fr}.product-choice span{min-height:68px}.hero h1{font-size:clamp(2.9rem,14vw,5.2rem)}}
@media(max-width:420px){main,.campaign-header{width:min(100% - 22px,1180px)}.campaign-brand img{width:50px;height:50px}.hero-images{min-height:295px}.campaign-card{border-radius:22px}.confirmation-screen,.spin-panel,.win-panel{padding:25px 17px;border-radius:24px}.confirmation-screen h2,.spin-panel h2,.win-panel h2{font-size:2.55rem}.code-card{grid-template-columns:1fr;text-align:center}.code-card span{grid-column:auto}.code-card strong{font-size:1.8rem}.copy-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{animation:none}.wheel,.button{transition:none!important}.button:hover{transform:none}}
.offer-panel{max-width:620px;margin:24px auto;text-align:center;padding:clamp(24px,6vw,48px);background:radial-gradient(circle at top,#fffdf8,#fff5df)}
.offer-panel h1{margin:18px 0;color:var(--burgundy);font:700 clamp(2.5rem,10vw,4.2rem)/1.04 Georgia,serif;letter-spacing:-.035em}
.offer-panel h1 span{display:block}.offer-panel>p{max-width:440px;margin:16px auto;line-height:1.5}
.offer-actions{display:grid;gap:12px;margin:26px 0 20px}.offer-actions .button{min-height:54px;white-space:normal;line-height:1.35;font-size:.92rem}
.offer-panel .privacy-note{font-size:.82rem;color:var(--muted)}
.hero-images figure{aspect-ratio:4/5}
.hero-images img{height:100%}
@media(max-width:420px){.hero-copy{padding-right:24px}.hero h1{font-size:clamp(2.55rem,12.5vw,4.8rem)}}
.wheel{background:conic-gradient(#4b2430 0 20%,#68131b 20% 40%,#e8bd3f 40% 60%,#19724a 60% 80%,#b44b2a 80% 100%)}.wheel-label-none{right:13%;top:20%;font-size:clamp(.65rem,2.5vw,1rem);line-height:1.05}.wheel-label-5{right:13%;top:auto;bottom:25%}.wheel-label-10{left:45%;bottom:9%;color:var(--deep);text-shadow:none}.wheel-label-15{left:13%;top:auto;bottom:25%}.wheel-label-20{left:14%;top:20%}
.no-discount-message{max-width:600px;margin:0 auto 24px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff7df;color:#4f3437;font-weight:700}
.review-decline{display:block;margin:14px auto 0;padding:10px 14px;border:0;color:var(--muted);background:transparent;text-decoration:underline;cursor:pointer}.review-decline:focus-visible{outline:3px solid #2078d4;outline-offset:3px}.review-finished{font-weight:800;color:var(--green)}
.review-countdown{margin:14px auto;color:var(--burgundy);font-weight:800}.review-countdown strong{font-size:1.2em}
.food-ingredients{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.food-ingredients summary{padding:10px 12px;color:var(--burgundy);font-size:.82rem;font-weight:800;cursor:pointer}.food-ingredients summary:focus-visible{outline:3px solid #2078d4;outline-offset:2px}.food-ingredients-copy{margin:0!important;padding:0 12px 12px}.food-allergens{margin:7px 0;font-size:.9rem;line-height:1.5}
@media(max-width:780px){
  body{background:linear-gradient(155deg,#fffdf7 0,#f8ead0 54%,#efdbb9 100%)}
  .campaign-header{width:min(100% - 20px,1180px);padding:10px 0}
  .campaign-brand{gap:8px;font-size:.86rem;letter-spacing:.045em}.campaign-brand img{width:42px;height:42px}
  main{width:min(100% - 20px,1180px);margin-bottom:28px}
  .hero{display:grid;grid-template-columns:1fr;gap:10px;padding:8px 0 14px}
  .hero-copy{padding-right:0}.eyebrow,.step-label{margin-bottom:6px;font-size:.68rem;letter-spacing:.13em}
  .hero h1{font-size:clamp(2.35rem,11.8vw,2.9rem);line-height:.92;letter-spacing:-.035em}
  .hero-intro{margin:10px 0 12px;font-size:.93rem;line-height:1.45}
  .hero-proof{gap:6px}.hero-proof span{padding:6px 8px;font-size:.69rem;line-height:1.2}
  .hero-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0;height:132px;margin-top:2px}
  .hero-images figure,.hero-images figure:first-child,.hero-images figure:last-child{position:relative;inset:auto;width:100%;height:132px;border-width:5px;border-radius:18px;transform:none}
  .hero-images img{height:100%;aspect-ratio:auto;object-fit:cover}.hero-images figcaption{left:8px;bottom:7px;padding:5px 7px;font-size:.58rem}
  .entry-layout{gap:12px}.campaign-card{padding:18px;border-radius:20px}
  .entry-card h2,.allergen-card h2{font-size:1.82rem}.entry-card h2{margin:0 0 14px}
  .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}
  .product-choice span{min-height:64px;padding:8px 4px;border-radius:12px}.product-choice strong{font-size:.91rem}.product-choice small{font-size:.67rem;line-height:1.2}
  .field-grid{gap:12px}.field{gap:5px}.field label{font-size:.92rem}.field input{min-height:50px}.field small{font-size:.73rem;line-height:1.35}
  .consent-box{margin-top:12px;padding:12px}.checkbox-row{grid-template-columns:22px 1fr;gap:8px}.checkbox-row span{font-size:.88rem;line-height:1.4}.optional-note{margin:5px 0 0 30px;font-size:.71rem}
  .legal-links{margin:10px 0;font-size:.78rem;line-height:1.45}
  #entry-submit{min-height:52px;padding:11px 12px;font-size:.82rem;letter-spacing:.02em}.form-status:empty{display:none}
  .allergen-card{padding:18px}.allergen-card h2{margin-bottom:8px}.food-item{padding:11px 0}.food-item h3{margin-bottom:5px;font-size:1.08rem}.food-allergens{margin:5px 0;font-size:.85rem;line-height:1.45}.food-ingredients{margin-top:7px}.food-ingredients summary{padding:9px 10px}.food-ingredients-copy{padding:0 10px 10px;font-size:.8rem!important;line-height:1.4}.allergen-warning{margin-bottom:0;padding:12px;font-size:.84rem;line-height:1.45}
  .confirmation-screen,.spin-panel,.win-panel{margin:10px -1px;padding:18px 16px;border-radius:22px}
  .confirmation-mark{width:64px;height:64px;margin-bottom:8px;border-width:4px;font-size:2.7rem}
  .confirmation-screen h2,.spin-panel h2,.win-panel h2{margin:4px 0 9px;font-size:2.2rem;line-height:.95}
  .confirmation-lead{margin-bottom:12px;font-size:.95rem;line-height:1.4}
  .confirmation-details{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.confirmation-details div{padding:9px 10px}.confirmation-details dt{font-size:.75rem}.confirmation-details dd{margin-top:2px;font-size:1rem}
  #taster-received{min-height:52px;font-size:.83rem;letter-spacing:.02em}
  .spin-panel>p:not(.step-label):not(.form-status){margin:0 auto;font-size:.9rem;line-height:1.4}.wheel-stage{width:min(72vw,290px);margin:18px auto}.wheel{border-width:10px}.spin-button{min-height:52px;font-size:.95rem}
  .confetti-mark{font-size:2.8rem}.win-prize{margin:8px 0 14px;font-size:1.35rem}.no-discount-message{margin-bottom:14px;padding:13px;font-size:.9rem;line-height:1.45}.code-card{padding:15px}.expiry,.email-note{font-size:.82rem}
  .review-card{margin-top:18px;padding:17px 14px}.review-card h3{font-size:1.5rem}.review-card p{font-size:.88rem;line-height:1.45}.review-countdown{margin:10px auto!important}.review-card .button{min-height:50px;padding:11px 15px;font-size:.8rem}
  footer{gap:12px;padding:20px 12px 30px;font-size:.82rem}
}
@media(max-width:340px){
  .hero h1{font-size:2.35rem}.hero-images,.hero-images figure,.hero-images figure:first-child,.hero-images figure:last-child{height:110px}
  .product-choice small{display:none}.product-choice span{min-height:54px}.product-choice strong{font-size:.78rem;line-height:1.08}.checkbox-row span{font-size:.82rem}
  #entry-submit{font-size:.77rem}
}

/* Campaign wheel: deliberately dependency-free for fast, reliable mobile play. */
.spin-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 34%,#fffdf8 0,#fff8e8 52%,#f4dfb7 100%)}
.spin-panel::before,.spin-panel::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(212,175,55,.2);border-radius:50%;pointer-events:none}
.spin-panel::before{left:-105px;top:-95px}.spin-panel::after{right:-115px;bottom:-105px}
.spin-intro{max-width:520px;margin-inline:auto;color:#5d4448}
.wheel-stage{position:relative;width:min(78vw,430px);margin:28px auto 18px;isolation:isolate;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.wheel-rim{position:relative;padding:15px;border:3px solid #6f4510;border-radius:50%;background:repeating-conic-gradient(from 0deg,#fff6c7 0deg 4deg,#d7a927 4deg 10deg,#7c4b0b 10deg 12deg);box-shadow:0 22px 46px rgba(49,6,11,.3),0 0 0 7px #f8e6a6,0 0 0 10px #70410b,inset 0 0 14px #70410b}
.wheel{position:relative;width:100%;aspect-ratio:1;border:5px solid #fff9e7;background:conic-gradient(#8a1720 0 50%,#e8bd3f 50% 80%,#177245 80% 95%,#bc4a25 95% 100%);box-shadow:inset 0 0 0 3px rgba(49,6,11,.28),inset 0 0 34px rgba(49,6,11,.18);transition:transform 3.45s cubic-bezier(.12,.72,.08,1)}
.wheel::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.3),transparent 24%),radial-gradient(circle,transparent 0 54%,rgba(49,6,11,.16) 55% 56%,transparent 57%);pointer-events:none}
.wheel::after{content:none}
.wheel-pointer{z-index:7;top:-12px;border-left-width:24px;border-right-width:24px;border-top:50px solid #4b0b10;filter:drop-shadow(0 5px 3px rgba(49,6,11,.35))}
.wheel-pointer::after{content:"";position:absolute;left:-9px;top:-47px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:25px solid #f3cf5c}
.wheel-centre{position:absolute;z-index:6;left:50%;top:50%;display:flex;width:94px;height:94px;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);border:5px solid #fff8dc;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 28%,#9a2932,var(--burgundy) 60%,var(--deep));box-shadow:0 7px 20px rgba(49,6,11,.48),0 0 0 4px #d4af37;text-shadow:0 2px 2px #31060b;pointer-events:none}
.wheel-centre span{font:900 1.25rem/1 Georgia,serif;letter-spacing:.04em}.wheel-centre small{margin-top:4px;font-size:.56rem;font-weight:900;letter-spacing:.16em}
.wheel-label{z-index:2;font-size:clamp(1rem,4vw,1.65rem);letter-spacing:.02em;text-shadow:0 2px 4px rgba(0,0,0,.55)}
.wheel-label{right:auto;bottom:auto;transform:translate(-50%,-50%)}.wheel-label-5{left:82%;top:50%}.wheel-label-10{left:31%;top:77%;color:#3d2606;text-shadow:0 1px 0 rgba(255,255,255,.5)}.wheel-label-15{left:18%;top:31%}.wheel-label-20{left:39%;top:12%;font-size:clamp(.7rem,3vw,1.15rem)}
.spin-trust{display:flex!important;align-items:center;justify-content:center;gap:7px;margin:0 auto 14px!important;color:#335544!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.03em;text-transform:uppercase}.spin-trust span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:var(--green)}
.spin-button{position:relative;z-index:1;width:min(100%,360px);min-height:58px;overflow:hidden;font-size:1.05rem;letter-spacing:.075em;touch-action:manipulation;-webkit-user-select:none;user-select:none;box-shadow:0 12px 28px rgba(90,14,16,.3),inset 0 1px rgba(255,255,255,.25)}
.spin-button::after{content:"";position:absolute;inset:-60% auto -60% -35%;width:25%;transform:rotate(18deg);background:rgba(255,255,255,.25);transition:left .35s ease}.spin-button:hover::after{left:115%}
.wheel.is-spinning+.wheel-centre{box-shadow:0 7px 20px rgba(49,6,11,.48),0 0 0 4px #d4af37}
.review-once-note{margin:12px auto;color:var(--green);font-size:.84rem;font-weight:800}
.spin-panel h2 span{display:block}
.win-panel h2 span{display:block}

@media(max-width:780px){
  .spin-panel{padding-top:22px}.spin-panel h2{max-width:330px;margin-inline:auto;font-size:clamp(2rem,10vw,2.65rem)}
  .win-panel h2{font-size:clamp(1.65rem,8vw,2.05rem);overflow-wrap:anywhere}
  .wheel-stage{width:min(78vw,310px);margin:20px auto 14px}.wheel-rim{padding:11px;box-shadow:0 17px 34px rgba(49,6,11,.28),0 0 0 5px #f8e6a6,0 0 0 8px #70410b,inset 0 0 11px #70410b}.wheel{border-width:4px}
  .wheel-centre{width:76px;height:76px;border-width:4px}.wheel-centre span{font-size:1.02rem}.wheel-centre small{font-size:.47rem}
  .wheel-pointer{top:-11px;border-left-width:20px;border-right-width:20px;border-top-width:42px}.wheel-pointer::after{left:-7px;top:-40px;border-left-width:7px;border-right-width:7px;border-top-width:21px}
  .spin-trust{font-size:.66rem!important;line-height:1.3}.spin-button{width:100%;min-height:58px;font-size:1rem}
}
@media(max-width:350px){.wheel-stage{width:min(76vw,270px)}.wheel-rim{padding:9px}.wheel-centre{width:68px;height:68px}.wheel-centre span{font-size:.9rem}}
@media(max-width:780px) and (max-height:650px){
  .spin-panel{padding:12px 14px 16px;scroll-margin-top:6px}.spin-panel .step-label{margin-bottom:2px}.spin-panel h2{max-width:none;margin:2px auto 4px;font-size:clamp(1.55rem,7vw,2rem);line-height:.93}.spin-intro{font-size:.75rem!important;line-height:1.25!important}
  .wheel-stage{width:min(47vh,235px);margin:9px auto 7px}.wheel-rim{padding:8px;box-shadow:0 10px 22px rgba(49,6,11,.25),0 0 0 4px #f8e6a6,0 0 0 6px #70410b,inset 0 0 8px #70410b}.wheel-centre{width:58px;height:58px;border-width:3px}.wheel-centre span{font-size:.78rem}.wheel-centre small{font-size:.4rem}.wheel-pointer{top:-7px;border-left-width:15px;border-right-width:15px;border-top-width:31px}.wheel-pointer::after{left:-5px;top:-29px;border-left-width:5px;border-right-width:5px;border-top-width:15px}
  .wheel-label{font-size:.9rem}.wheel-label-none{font-size:.5rem}.spin-trust{margin-bottom:6px!important;font-size:.55rem!important}.spin-trust span{width:17px;height:17px}.spin-button{min-height:44px;padding:8px 16px;font-size:.82rem}#spin-status{min-height:18px;margin:5px 0 0;font-size:.7rem;line-height:1.25}
}
@media(max-width:420px) and (max-height:500px){
  .spin-panel{padding:8px 10px 10px}.spin-panel .step-label,.spin-intro{display:none!important}.spin-panel h2{max-width:225px;margin:0 auto 3px;font-size:1.08rem;line-height:.92}
  .wheel-stage{width:min(41vh,64vw,185px);margin:6px auto}.wheel-rim{padding:7px}.wheel-centre{width:52px;height:52px}.wheel-centre span{font-size:.68rem}.wheel-centre small{font-size:.35rem}.wheel-label{font-size:.78rem}.wheel-label-none{font-size:.43rem}
  .spin-trust{max-width:225px;margin-bottom:4px!important;font-size:.43rem!important;line-height:1.05}.spin-trust span{width:15px;height:15px}.spin-button{width:100%;min-width:0;max-width:225px;min-height:40px;padding:6px 10px;font-size:.68rem;letter-spacing:.035em}#spin-status{max-width:225px;min-height:16px;margin:3px auto 0;font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){.spin-button::after{display:none}.wheel{transition:none!important}}
/* The claim form is now one centred column, after the wheel result. */
#entry-panel { display: block; max-width: 760px; margin-inline: auto; }
#allergen-information { margin: 16px auto; max-width: 760px; }
#allergen-information summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.spin-panel .wheel-stage{width:min(calc(100% - 24px),390px)}
.spin-panel .wheel{background:conic-gradient(#8a1720 0 25%,#e8bd3f 25% 50%,#177245 50% 75%,#bc4a25 75% 100%)}
.wheel .wheel-label{inset:auto;transform:translate(-50%,-50%);font-size:clamp(1rem,4vw,1.6rem);line-height:1;white-space:nowrap}
.wheel .wheel-label-5{left:73%;top:27%}.wheel .wheel-label-10{left:73%;top:73%}
.wheel .wheel-label-15{left:27%;top:73%}.wheel .wheel-label-20{left:27%;top:27%}
.spin-panel .spin-button{min-width:0;width:min(100%,360px);max-width:100%;margin-inline:auto}
.wheel-odds-note{max-width:440px;margin:12px auto!important;color:var(--muted);font-size:.78rem!important;line-height:1.4}
@media(max-width:780px){.spin-panel .wheel-stage{width:min(calc(100% - 24px),300px)}}
@media(max-width:780px) and (max-height:650px){.spin-panel .wheel-stage{width:min(calc(100% - 24px),47vh,235px)}.wheel .wheel-label{font-size:.85rem}}
.win-panel h2 { max-width: 100%; font-size: clamp(1.65rem, 5vw, 3.25rem); line-height: 1.05; overflow-wrap: anywhere; }
