@font-face{font-family:Darker;src:url('../assets/fonts/darker-grotesque-400.ttf') format('truetype');font-weight:400}
@font-face{font-family:Darker;src:url('../assets/fonts/darker-grotesque-600.ttf') format('truetype');font-weight:600}
@font-face{font-family:Darker;src:url('../assets/fonts/darker-grotesque-700.ttf') format('truetype');font-weight:700}
:root{--green:#5a8627;--deep:#24441d;--ink:#29352a;--cream:#f7f8ef;--paper:#fffef9;--lime:#dce9c8;--line:#d8e3cf;--muted:#71806e}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Darker, sans-serif;color:var(--ink);background:radial-gradient(circle at 82% 12%,#e6efd9 0 13%,transparent 34%),var(--cream);min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#8fa27b .6px,transparent .6px);background-size:13px 13px}
.kiosk-shell{position:relative;z-index:1;width:min(1120px,100%);min-height:100vh;margin:auto;padding:clamp(24px,4vw,62px) clamp(20px,5vw,80px) 28px;display:grid;grid-template-columns:minmax(350px,1fr) minmax(360px,470px);grid-template-rows:auto 1fr auto;gap:22px 7vw;align-items:center}
.brand-header{grid-column:1/-1;display:flex;align-items:center;gap:25px}.brand-logo{width:112px;height:auto;mix-blend-mode:multiply}.header-copy{border-left:1px solid #b9caa9;padding-left:24px}.eyebrow,.modal-kicker{color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:13px}.header-copy h1{font-size:clamp(42px,5.1vw,72px);line-height:.84;letter-spacing:-.025em;font-weight:600;margin:9px 0 13px;color:var(--deep)}.header-copy h1 em{font-style:normal;color:var(--green)}.header-copy p{color:var(--muted);font-size:18px}
.play-area{display:flex;flex-direction:column;align-items:center}.wheel-wrap{position:relative;width:min(43vw,690px);aspect-ratio:1}.wheel-outer{position:absolute;inset:4%;border-radius:50%;background:var(--green);padding:13px;box-shadow:0 18px 35px rgba(36,68,29,.16),0 0 0 1px #416b24}.wheel-outer:after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.38);border-radius:50%;pointer-events:none}canvas{display:block;width:100%;height:100%;border-radius:50%}.pointer{position:absolute;z-index:4;left:50%;top:-1%;transform:translateX(-50%);width:44px;height:60px;background:var(--green);clip-path:polygon(50% 100%,0 0,100% 0);filter:drop-shadow(0 4px 3px rgba(36,68,29,.27))}.pointer:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#f4f1d9;left:15px;top:6px}.rim-markers{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 1.4%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 85.4% 14.6%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 98.6% 50%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 85.4% 85.4%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 50% 98.6%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 14.6% 85.4%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 1.4% 50%,#f7f3dc 0 1.4%,transparent 1.7%),radial-gradient(circle at 14.6% 14.6%,#f7f3dc 0 1.4%,transparent 1.7%)}
.instruction{display:flex;align-items:center;gap:14px;margin-top:18px;color:var(--deep)}.step{font-size:14px;color:var(--green);font-weight:700;letter-spacing:.12em}.instruction strong{display:block;font-size:20px;font-weight:600}.instruction small{display:block;color:var(--muted);font-size:16px}
.form-container{background:rgba(255,254,249,.9);border:1px solid var(--line);border-radius:24px;padding:34px 35px;box-shadow:0 15px 35px rgba(53,80,40,.08)}.form-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:27px}.form-heading h2{font-size:34px;line-height:.9;color:var(--deep);font-weight:600}.form-heading p{color:var(--muted);font-size:16px;margin-top:7px}.field-row{display:grid;gap:16px}.form-group label{display:block;font-weight:600;font-size:16px;margin:0 0 7px}.form-group input{width:100%;height:57px;border-radius:10px;border:1px solid #cbd8c0;background:#fbfcf6;padding:0 16px;font:400 18px Darker;color:var(--ink);outline:0;transition:border .2s,box-shadow .2s}.form-group input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(90,134,39,.12)}.form-group input::placeholder{color:#a4aea0}.spin-btn,.close-btn{width:100%;height:64px;border:0;border-radius:11px;background:var(--green);color:#fffef9;font:600 22px Darker;cursor:pointer;margin-top:24px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;transition:transform .2s,background .2s}.spin-btn:hover:not(:disabled),.close-btn:hover{background:var(--deep);transform:translateY(-2px)}.spin-btn b{font-size:28px;font-weight:400}.spin-btn:disabled{opacity:.58;cursor:not-allowed}.privacy-note{color:#899584;font-size:13px;text-align:center;margin-top:16px}.error-message{display:none;background:#f8e5df;color:#954c3b;border:1px solid #ebc9be;padding:11px 14px;border-radius:8px;margin-bottom:15px}.error-message.shake{animation:shake .35s ease}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
footer{grid-column:1/-1;display:flex;justify-content:space-between;color:#8b9886;font-size:14px;border-top:1px solid var(--line);padding-top:18px}footer span:first-child{font-weight:700;color:var(--green)}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(36,68,29,.28);z-index:10;align-items:center;justify-content:center;padding:24px}.modal-overlay.active{display:flex}.modal{width:min(440px,100%);background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:34px;text-align:center;box-shadow:0 25px 70px rgba(36,68,29,.22);animation:appear .35s ease}.modal-logo{width:115px;margin-bottom:18px;mix-blend-mode:multiply}.modal h2{color:var(--deep);font-size:35px;font-weight:600;margin:8px 0 18px}.prize-display{margin:5px 0 17px}.prize-text{display:inline-block;padding:11px 31px;border-radius:12px;background:var(--lime);color:var(--deep);font-size:52px;line-height:1;font-weight:700}.prize-text.loss{background:#f1f2e9;color:#65715f;font-size:39px}.modal-message{font-size:19px;line-height:1.25;color:var(--muted)}.close-btn{justify-content:center;margin-top:25px;height:57px;font-size:19px}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:800px){.kiosk-shell{display:flex;flex-direction:column;align-items:stretch;padding:24px 18px}.brand-header{align-items:flex-start}.brand-logo{width:82px}.header-copy{padding-left:16px}.header-copy h1{font-size:42px}.header-copy p{font-size:16px}.wheel-wrap{width:min(88vw,530px);align-self:center}.form-container{padding:27px 22px}.field-row{grid-template-columns:1fr}footer{width:100%;flex-wrap:wrap;gap:7px 18px}.instruction{margin-bottom:4px}}
@media(max-width:430px){.brand-header{gap:12px}.brand-logo{width:70px}.header-copy h1{font-size:35px}.header-copy p{font-size:14px}.wheel-outer{padding:8px}.pointer{width:34px;height:46px}.pointer:before{width:10px;height:10px;left:12px}.modal{padding:25px 20px}.prize-text{font-size:43px}}
.brand-logo,.modal-logo,.brand img{mix-blend-mode:normal}
.rim-markers{background:none}
.rim-markers{inset:4%}
.rim-markers i{position:absolute;width:clamp(13px,2.2vw,22px);height:clamp(13px,2.2vw,22px);border-radius:50%;background:#f5f0dc;border:1px solid #d5d0b8;box-shadow:0 2px 3px rgba(36,68,29,.3),inset 0 1px 2px rgba(255,255,255,.9);display:block}
.wheel-outer{background:linear-gradient(145deg,#315e20 0%,#5a8627 38%,#315e20 100%);padding:15px;box-shadow:0 18px 35px rgba(36,68,29,.18),inset 0 2px 4px rgba(255,255,255,.35),inset 0 -5px 8px rgba(21,54,17,.42),0 0 0 1px #294d1b}
.wheel-outer:before{content:"";position:absolute;inset:4px;border:2px solid rgba(39,82,29,.75);border-radius:50%;pointer-events:none}
.pointer{width:64px;height:82px;top:-2%;background:linear-gradient(110deg,#315f20,#5a8627);filter:drop-shadow(0 5px 4px rgba(36,68,29,.32))}
.pointer:before{width:18px;height:18px;left:23px;top:9px;box-shadow:inset 0 1px 2px #fff}
@media (orientation:portrait) and (min-width:801px){
  .kiosk-shell{width:min(820px,100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:42px 30px 30px}
  .brand-header{width:100%;gap:22px;margin-bottom:24px}
  .brand-logo{width:92px}
  .header-copy{padding-left:20px}
  .header-copy h1{font-size:clamp(50px,6vw,68px);margin:7px 0 10px}
  .header-copy p{font-size:19px}
  .play-area{width:100%}
  .wheel-wrap{width:min(76vw,700px);max-width:700px}
  .instruction{margin:22px 0 28px}
  .form-container{width:min(680px,100%);padding:34px 38px}
  .field-row{grid-template-columns:1fr 1fr}
  footer{width:100%;margin-top:30px}
}
.play-area{min-width:0}
@media (min-width:801px) and (orientation:landscape){
  .kiosk-shell{grid-template-columns:minmax(0,1fr) minmax(340px,430px);column-gap:clamp(52px,6vw,78px)}
  .wheel-wrap{width:min(40vw,620px,100%)}
  .form-container{width:100%}
}