@font-face{font-family:Zuume;src:url('./fonts/zuume-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Rubik;src:url('./fonts/rubik-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('./fonts/rubik-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--wine:#650b22;--yellow:#ffdf00;--white:#fff;--red:#da1616}
*{box-sizing:border-box}
body{margin:0;background:#10050c;color:var(--white);font-family:Rubik,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.announcement{background:var(--red);position:relative;z-index:2}
.announcement-inner{max-width:1280px;margin:auto;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 0}
.announcement p{font-size:24px;line-height:1.2;font-weight:700;max-width:440px;margin:0}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);width:410px;flex-shrink:0;text-align:center}
.countdown>div{padding:8px 10px 10px;border:1px solid #ffffff12;background:#0000000a}
.countdown span{display:block;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}
.countdown small{font-size:14px}
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--wine)}
.hero{background:var(--wine) url("./papel-vinho.webp") center / cover no-repeat}
.paper{display:none}
.hero-inner{max-width:1280px;min-height:758px;position:relative;margin:auto;display:flex;align-items:center}
.copy{width:590px;position:relative;z-index:1;padding:50px 0 70px}
.brand{width:310px;max-width:100%;margin:0 0 38px}.logo{display:block;width:100%;height:auto;margin:0}
h1{font-family:Zuume,Impact,'Arial Narrow',sans-serif;font-size:72px;line-height:1.04;font-weight:700;margin:0 0 16px;text-wrap:balance}
h1 span{color:var(--yellow);white-space:nowrap}
.subtitle{font-size:24px;line-height:1.35;max-width:530px;margin:0 0 40px}
.subtitle strong{font-weight:700}.subtitle .insurance{color:var(--yellow)}
.cta{display:flex;justify-content:center;align-items:center;min-height:74px;width:505px;max-width:100%;padding:18px 20px;border:2px solid #f8e4a0;border-radius:22px;background:linear-gradient(100deg,#10c71b,#079914);color:white;font:700 18px/1.25 Rubik,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.cta:hover{background:#08ad18}
:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}
.portrait{display:block;position:absolute;bottom:-148px;right:-110px;width:900px;line-height:0;pointer-events:none}
.portrait img{display:block;width:100%;height:auto}
footer>div{max-width:1280px;margin:auto;min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a9a0a5;font-size:14px}
dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;border:1px solid #ffffff30;border-radius:14px;padding:40px 30px 28px;background:#2a0713;color:white;overscroll-behavior:contain}
dialog::backdrop{background:#090006d9}
dialog h2{font:700 44px/1 Zuume,Impact,sans-serif;margin:0 0 14px;text-transform:uppercase;color:var(--yellow)}
.dialog-intro{line-height:1.5;margin:0 0 20px}
.close{position:absolute;top:5px;right:9px;border:0;background:none;color:white;font:32px/1 Arial;width:44px;height:44px;cursor:pointer}
label{display:block;margin:14px 0 6px;font-size:14px}
input{display:block;width:100%;min-height:50px;padding:13px 14px;font:16px Rubik,Arial,sans-serif;color:#25151b;background:#fff;border:1px solid #c9b7be;border-radius:5px}
dialog .cta{margin-top:20px;font-size:15px;min-height:60px;border-width:2px}
.consent{font-size:11px;line-height:1.5;color:#d4c6cb;margin:16px 0 0}
.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#form-error{background:#fff1f3;color:#8b132d;border-radius:5px;padding:12px;font-size:14px;line-height:1.4}
[hidden]{display:none!important}
button:disabled{cursor:wait;opacity:.65}
body:has(dialog[open]){overflow:hidden}
.no-script{padding:20px;text-align:center}
@media(min-width:768px) and (max-width:1350px){.announcement-inner,.hero-inner,footer>div{margin-inline:6%}.hero-inner{min-height:700px}.copy{width:50%}h1{font-size:clamp(48px,5.2vw,72px)}.subtitle{font-size:21px}.portrait{width:76%;right:-15%;bottom:-90px}.brand{width:290px}.announcement p{font-size:21px}.countdown{width:360px}}
@media(max-width:767px){
 .announcement-inner{min-height:151px;padding:16px 20px;display:block}
 .announcement p{font-size:18px;line-height:1.25;text-align:center;max-width:440px;margin:0 auto 10px}
 .countdown{width:100%;max-width:400px;margin:auto}
 .countdown>div{padding:8px 3px 9px}.countdown span{font-size:28px}.countdown small{font-size:14px}
 .hero-inner{display:block;min-height:0;margin:0}
 .copy{width:100%;padding:30px 27px 0;text-align:center}
 .brand{width:235px;margin:0 auto 28px}
 h1{font-size:50px;line-height:1.06;max-width:470px;margin:0 auto 18px}
 .subtitle{font-size:16px;line-height:1.4;margin:0 auto 24px;max-width:420px}
 .cta{width:100%;min-height:72px;padding:16px 10px;font-size:18px;position:relative;z-index:2}
 .portrait{position:relative;right:auto;bottom:auto;width:130%;height:420px;margin:20px 0 0 -12%;overflow:hidden}
 .portrait img{width:100%;height:auto}
 .hero{background-image:url("./papel-vinho-mobile.webp");background-size:auto 100%;background-position:left top}
 .paper{display:block;position:absolute;inset:auto 0 0;height:420px;background:url("./papel-vinho-mobile.webp") right bottom / cover no-repeat;mask-image:linear-gradient(transparent,#000 20%)}
 footer>div{min-height:100px;padding:25px 20px;flex-direction:column;justify-content:center;gap:12px;text-align:center}
 dialog{padding:40px 22px 24px}
}
@media(max-width:359px){.announcement-inner{padding-inline:12px}.announcement p{font-size:16px}.copy{padding-inline:20px}h1{font-size:44px}.cta{font-size:16px}}

.brand-original{width:210px;max-width:100%;position:relative}.brand-original .logo{width:100%;height:auto}
@media(max-width:767px){.brand-original{width:175px;margin-bottom:28px}}

.brand-infinity{position:absolute;width:32px;height:16px;right:-28px;bottom:20px;transform:rotate(-13deg);fill:none;stroke:var(--yellow);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.brand-scratches{position:absolute;left:-13px;top:4px;width:3px;height:16px;background:var(--yellow);transform:rotate(-32deg);border-radius:3px;box-shadow:-9px 5px 0 -0.3px var(--yellow),9px 3px 0 -0.3px var(--yellow)}
h1 .insana,dialog .insana{position:relative;display:inline-block;color:#fff2b5;text-shadow:0 0 13px #ff63004d;isolation:isolate;white-space:nowrap}
.insana-fire{position:absolute;left:-4%;bottom:-.025em;width:108%;height:.28em;z-index:-1;overflow:visible}
.fire-outer{fill:#ff571c}.fire-inner{fill:#ffdf00}
@media(max-width:767px){.brand-infinity{width:27px;right:-22px;bottom:17px}.brand-scratches{height:12px;left:-10px;top:3px}}

h1 .headline-primary,h1 .headline-secondary{display:block;color:#fff;white-space:normal}
h1 .headline-primary{font-size:84px;line-height:1.02;text-wrap:balance}
h1 .headline-secondary{font-size:60px;line-height:1.06;margin-top:10px;text-wrap:balance}
@media(min-width:768px) and (max-width:1350px){h1 .headline-primary{font-size:clamp(54px,6vw,84px)}h1 .headline-secondary{font-size:clamp(40px,4.3vw,60px)}}
@media(max-width:767px){h1 .headline-primary{font-size:58px;line-height:1.02}h1 .headline-secondary{font-size:42px;line-height:1.06;margin-top:10px}}
@media(max-width:359px){h1 .headline-primary{font-size:50px}h1 .headline-secondary{font-size:36px}}

/* Cadastro: conteúdo rolável em telas pequenas, teclado e zoom. */
dialog{padding:24px;max-height:calc(100dvh - 24px);overflow-y:auto;scroll-padding-block:16px}
dialog .registration-brand{width:145px;margin:0 auto 18px}
dialog #registration-title{font:700 36px/1.06 Zuume,Impact,sans-serif;text-align:center;text-wrap:balance;color:#fff;margin:0 0 16px}
dialog label{margin:10px 0 5px}
dialog input{min-height:46px;padding:11px 13px}
dialog .cta{margin-top:18px;min-height:58px;white-space:normal;flex-shrink:0}
@media(max-width:767px) and (max-height:740px){
 .announcement-inner{min-height:0;padding:12px 16px}
 .announcement p{font-size:16px;margin-bottom:8px}
 .countdown span{font-size:25px}.countdown>div{padding:6px 3px}.countdown small{font-size:12px}
 .copy{padding-top:18px}
 .brand-original{width:145px;margin-bottom:18px}
 h1 .headline-primary{font-size:48px}h1 .headline-secondary{font-size:35px;margin-top:7px}
 h1{margin-bottom:14px}.subtitle{font-size:15px;line-height:1.35;margin-bottom:18px}
 .copy>.cta{min-height:62px;padding:12px 8px;font-size:16px}
}
@media(max-width:767px) and (max-height:600px){
 .announcement-inner{padding:9px 12px}.announcement p{font-size:14px;line-height:1.2;margin-bottom:6px}
 .countdown span{font-size:22px}.countdown>div{padding:4px 2px}.countdown small{font-size:11px}
 .copy{padding:12px 20px 0}.brand-original{width:125px;margin-bottom:12px}
 h1 .headline-primary{font-size:39px}h1 .headline-secondary{font-size:30px;margin-top:6px}
 h1{margin-bottom:12px}.subtitle{font-size:14px;line-height:1.3;margin-bottom:14px}
 .copy>.cta{min-height:56px;padding:10px 8px;font-size:15px}
 dialog{padding:18px 20px}dialog .registration-brand{width:115px;margin-bottom:12px}
 dialog #registration-title{font-size:30px;margin-bottom:12px}
 dialog label{margin-top:8px}dialog .cta{margin-top:14px}
}

/* Logo junto ao título; transição suave do papel para o vinho da página. */
.copy>.brand-original{margin-bottom:0}
.brand-original .logo{filter:saturate(.82) brightness(.9);mask-image:radial-gradient(ellipse closest-side at center,#000 68%,rgba(0,0,0,.9) 80%,transparent 100%);mask-composite:add}
dialog .registration-brand{margin-bottom:8px}

/* Aviso de saída: copy da E, identidade da F; reutiliza logo/fontes já carregadas. */
dialog.exit-dialog{width:min(480px,calc(100% - 24px));padding:28px 26px;background:linear-gradient(155deg,#650b22,#2a0713 78%);border-color:#ffdf0040;text-align:center;box-shadow:0 18px 65px #09000680}
.exit-dialog .registration-brand{width:125px;margin:0 auto 12px}
.exit-dialog h2{font:700 clamp(30px,8vw,40px)/1.05 Zuume,Impact,sans-serif;text-wrap:balance;color:#fff}
.exit-dialog h2 em{display:block;font-style:normal;color:var(--yellow);font-size:1.35em;margin-bottom:8px;text-shadow:0 2px 0 #b5250e,0 0 15px #ff690055}
.exit-dialog p{font-size:15px;line-height:1.55;margin:16px 0 0;color:#fff3ed}
.exit-dialog .cta{width:100%}
@media(max-width:360px),(max-height:600px){dialog.exit-dialog{padding:24px 18px 20px}.exit-dialog .registration-brand{width:95px;margin-bottom:8px}.exit-dialog h2{font-size:30px}.exit-dialog p{font-size:14px;margin-top:12px}}
