:root{
  --green:#0b4437;
  --green-2:#115948;
  --cream:#f7eddf;
  --paper:#fff9ef;
  --orange:#df6417;
  --gold:#e9ab26;
  --ink:#16332c;
  --muted:#756a5c;
  --border:rgba(14,62,51,.12);
  --shadow:0 24px 64px rgba(62,42,18,.15);
  --wheel-size:min(48vw,560px);
}
*{box-sizing:border-box}
html{background:var(--cream)}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 7% 18%,rgba(222,175,89,.16),transparent 23%),
  linear-gradient(90deg,#f8eddd 0 48%,#0b4437 48% 100%);
  color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input{font:inherit}
.experience{width:min(1500px,100%);min-height:calc(100vh - 88px);margin:0 auto;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(650px,1.48fr)}
.promo-side{position:relative;padding:36px clamp(28px,5vw,82px) 42px;background:
  radial-gradient(circle at 4% 23%,rgba(225,168,71,.14),transparent 24%),
  #f8eddd}
.brand{display:flex;gap:12px;align-items:center;color:var(--green);margin-bottom:30px}
.brand-symbol{font-size:26px}.brand-name{font:30px/1 Georgia,serif;letter-spacing:.055em}.brand-sub{font-size:10px;letter-spacing:.42em;margin-top:5px}
.headline h1{font:700 clamp(4.5rem,8vw,8.5rem)/.72 Georgia,serif;margin:0;letter-spacing:-.045em;color:var(--green)}
.headline h1 span{color:var(--orange)}
.headline p{max-width:560px;font-size:1.03rem;line-height:1.45;margin:26px 0 24px}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0 26px}
.benefit{display:flex;align-items:center;gap:10px;padding:8px 14px;border-right:1px solid rgba(11,68,55,.22)}
.benefit:first-child{padding-left:0}.benefit:last-child{border-right:0}.benefit>span{font-size:25px}
.benefit strong,.benefit small{display:block}.benefit strong{font-size:.82rem}.benefit small{font-size:.72rem;color:var(--muted);margin-top:3px}
.entry-card{max-width:540px;background:var(--green);color:white;border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.entry-title{font:700 1.8rem Georgia,serif;margin-bottom:16px}
.entry-card label{display:block;margin-bottom:11px}.entry-card label>span{display:block;font-size:.79rem;font-weight:800;margin:0 0 6px 5px}
.entry-card input{width:100%;border:0;border-radius:12px;background:#fff8ec;color:#192c27;padding:14px 15px;outline:none}
.entry-card input:focus{box-shadow:0 0 0 3px rgba(233,171,38,.4)}
.entry-card button,.modal-card button{width:100%;border:0;border-radius:12px;background:var(--orange);color:white;font-weight:900;padding:15px 18px;cursor:pointer;transition:.18s transform,.18s filter}
.entry-card button:hover,.modal-card button:hover{transform:translateY(-1px);filter:brightness(1.03)}
.entry-card button:disabled{opacity:.62;cursor:wait;transform:none}
.error-box{color:#ffe1d9;font-size:.84rem;min-height:1.2em;margin-top:8px}
.trust-note{font-size:.76rem;color:#f7e8d2;margin-top:6px}
.game-side{position:relative;background:
  radial-gradient(circle at 28% 48%,rgba(255,238,191,.09),transparent 31%),
  repeating-radial-gradient(circle at 100% 0,transparent 0 22px,rgba(255,255,255,.018) 23px 24px),
  var(--green);
  display:grid;grid-template-columns:minmax(500px,1fr) minmax(300px,410px);align-items:center;gap:34px;padding:38px 44px 34px 24px;color:#f6ead6}
.wheel-column{min-width:0;display:flex;flex-direction:column;align-items:center}
.wheel-stage{position:relative;display:grid;place-items:center;width:100%;padding:44px 0 10px}
.pointer{position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:8;width:64px;height:88px;background:linear-gradient(180deg,#ef7835,#cf4b22);clip-path:polygon(50% 100%,7% 32%,9% 15%,21% 5%,50% 0,79% 5%,91% 15%,93% 32%);filter:drop-shadow(0 8px 6px rgba(0,0,0,.25))}
.pointer-dot{position:absolute;left:50%;top:16px;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:#f8e8bb;border:4px solid rgba(255,255,255,.52)}
.wheel{position:relative;width:var(--wheel-size);aspect-ratio:1;border-radius:50%;border:13px solid #f2d99f;box-shadow:0 28px 75px rgba(0,0,0,.32),inset 0 0 0 5px rgba(255,255,255,.48);transition:transform 5s cubic-bezier(.08,.75,.05,1);overflow:hidden}
.wheel::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 30px rgba(56,27,2,.15);pointer-events:none}
.wheel-center{position:absolute;inset:36%;border-radius:50%;background:#f5e8ca;border:6px solid #fff1d2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.wheel-center span{font-size:21px}.wheel-center strong{font:1.3rem Georgia,serif}.wheel-center small{font-size:.58rem;letter-spacing:.28em;margin-left:.28em}
.wheel-numbers{position:absolute;inset:0;z-index:4;pointer-events:none}
.wheel-number{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:58px;height:58px;transform:translate(-50%,-50%);font:700 clamp(2rem,4vw,4.1rem) Georgia,serif;color:#fff6e5;text-shadow:0 3px 2px rgba(60,26,6,.25),0 0 1px #422}
.luck-copy{text-align:center;margin-top:2px}.luck-copy strong{display:block;font:italic 2rem Georgia,serif;color:#f3d89b}.luck-copy span{font-size:.82rem}
.prize-panel{align-self:center;min-width:0;padding-left:31px}
.prize-heading{display:inline-block;background:#f3dfb6;color:var(--green);font:700 1.6rem Georgia,serif;padding:12px 25px;transform:rotate(-1deg);box-shadow:0 8px 20px rgba(0,0,0,.1);margin-bottom:15px}
.prize-heading span{color:var(--orange)}
.prize-list{display:flex;flex-direction:column}
.prize-item{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid rgba(234,173,58,.48)}
.prize-badge{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);font:700 1.25rem Georgia,serif;color:white;box-shadow:inset 0 0 0 2px rgba(0,0,0,.08)}
.prize-name{font:700 clamp(.84rem,1.2vw,1.05rem) Georgia,serif;line-height:1.18;color:#f7e9cf;text-transform:uppercase}
.site-footer{min-height:88px;background:#083b30;color:#f4e3c4;display:flex;justify-content:center;gap:70px;padding:21px 24px}
.site-footer div{display:flex;flex-direction:column;gap:3px}.site-footer strong{font-family:Georgia,serif}.site-footer span{font-size:.8rem}
.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(6,35,28,.72);padding:20px;z-index:100}
.modal.show{display:grid}
#confettiCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.modal-card{position:relative;z-index:2;width:min(92vw,430px);background:#fff8ed;color:var(--green);border-radius:24px;padding:30px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.34)}
.party-icon{font-size:2.4rem}.modal-card h2{font:700 2.55rem Georgia,serif;margin:7px 0}.modal-card p{margin:0}.modal-card strong{display:block;color:var(--orange);font-size:1.45rem;margin:10px 0 22px}.modal-card button{background:var(--green)}

@media(max-width:1180px){
  :root{--wheel-size:min(47vw,510px)}
  .experience{grid-template-columns:minmax(340px,.78fr) minmax(600px,1.22fr)}
  .promo-side{padding-left:36px;padding-right:34px}
  .game-side{grid-template-columns:minmax(430px,1fr) 285px;padding-right:25px}
  .headline h1{font-size:clamp(4.3rem,7.5vw,7rem)}
  .benefit{padding:6px 8px}.benefit small{display:none}
}
@media(max-width:960px){
  body{background:var(--cream)}
  .experience{display:block;min-height:auto}
  .promo-side{padding:24px 22px 30px}
  .brand{margin-bottom:17px}
  .headline h1{font-size:clamp(4.2rem,18vw,6.8rem);line-height:.77}
  .headline p{margin:18px 0}
  .benefits{margin-bottom:20px}
  .entry-card{max-width:none}
  .game-side{display:flex;flex-direction:column;padding:25px 14px 32px}
  .wheel-stage{padding-top:43px}
  :root{--wheel-size:min(91vw,570px)}
  .prize-panel{width:min(100%,600px)}
  .prize-heading{margin-top:8px}
  .prize-item{grid-template-columns:45px 1fr;padding:9px 0}
  .site-footer{flex-direction:column;gap:10px;padding:18px 22px}
}
@media(max-width:520px){
  .promo-side{padding:18px 14px 24px}
  .brand-name{font-size:25px}
  .headline h1{font-size:clamp(4rem,20vw,5.5rem)}
  .benefits{grid-template-columns:1fr;gap:5px}.benefit{border:0;padding:5px 0}.benefit small{display:block}
  .entry-card{padding:18px;border-radius:19px}
  .game-side{padding-left:10px;padding-right:10px}
  .wheel{border-width:10px}
  .wheel-number{font-size:clamp(2.1rem,11vw,3.2rem)}
  .pointer{width:51px;height:73px}
  .prize-panel{padding:0 8px}
  .prize-heading{font-size:1.35rem}
}


/* === Correções visuais 2.1 / fix 1 === */
@media (min-width:961px){
  .promo-side{
    padding-top:22px;
    padding-bottom:26px;
  }
  .brand{
    margin-bottom:18px;
  }
  .headline h1{
    font-size:clamp(4rem,5.8vw,6.35rem);
    line-height:.78;
    max-width:100%;
  }
  .headline p{
    margin:18px 0 15px;
    line-height:1.38;
  }
  .benefits{
    margin:10px 0 16px;
  }
  .entry-card{
    padding:19px 21px;
  }
  .entry-title{
    margin-bottom:11px;
    font-size:1.65rem;
  }
  .entry-card label{
    margin-bottom:8px;
  }
  .entry-card input{
    padding:11px 13px;
  }
  .entry-card button{
    padding:12px 16px;
  }
  .trust-note{
    margin-top:4px;
  }
}

/* Mantém o CTA visível em notebooks/telas desktop mais baixas. */
@media (min-width:961px) and (max-height:900px){
  .promo-side{
    padding-top:14px;
    padding-bottom:18px;
  }
  .brand{
    margin-bottom:10px;
  }
  .headline h1{
    font-size:clamp(3.75rem,5.35vw,5.8rem);
    line-height:.77;
  }
  .headline p{
    margin:12px 0 10px;
    font-size:.96rem;
  }
  .benefits{
    margin:6px 0 10px;
  }
  .benefit{
    padding-top:3px;
    padding-bottom:3px;
  }
  .entry-card{
    padding:16px 20px;
  }
  .entry-title{
    margin-bottom:8px;
    font-size:1.55rem;
  }
  .entry-card label{
    margin-bottom:6px;
  }
  .entry-card input{
    padding:10px 12px;
  }
  .entry-card button{
    padding:11px 15px;
    margin-top:2px;
  }
}

/* Números ficam bem destacados e centralizados em suas respectivas cores. */
.wheel-number{
  z-index:5;
  line-height:1;
  text-align:center;
}
