:root{--bordeaux-900:#2a0a12;--bordeaux-800:#3d0815;--bordeaux-700:#5b0e1f;--bordeaux-600:#7a1230;--bordeaux-500:#9a1c44;--rose-500:#c5485f;--rose-400:#e07089;--rose-300:#f0a4b4;--rose-200:#f5d0d9;--rose-100:#faeaee;--gold-600:#b8954a;--gold-500:#c9a961;--gold-400:#d4af37;--gold-300:#e6c87a;--cream-50:#fbf6ef;--cream-100:#f5ece1;--ivory:#fdfaf5;--ink:#1c0a10;--ink-soft:#4a2a36;--muted:#7a5b66;--shadow-soft:0 10px 30px -12px #2a0a122e, 0 2px 6px -2px #2a0a1214;--shadow-deep:0 30px 60px -20px #2a0a1259, 0 10px 20px -10px #2a0a1226;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--serif:"Cormorant Garamond", "Playfair Display", Georgia, serif;font-family:var(--sans);color:var(--ink);background:var(--cream-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:17px;line-height:1.6}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:radial-gradient(1200px 800px at 80% -10%,#c5485f38,#0000 60%),radial-gradient(1000px 700px at -10% 110%,#5b0e1f47,#0000 55%),linear-gradient(#fbf6ef 0%,#f4e5d8 100%);min-height:100vh;overflow-x:hidden}img{max-width:100%;display:block}button{font:inherit;color:inherit}.page{min-height:100vh;padding:calc(28px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));flex-direction:column;max-width:1180px;margin:0 auto;display:flex;position:relative}.stage{z-index:1;flex:1;justify-content:center;align-items:center;padding:24px 0 48px;display:flex;position:relative}.backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.glow{filter:blur(80px);opacity:.55;border-radius:50%;position:absolute}.glow-a{background:radial-gradient(circle,#d4af37a6,#0000 60%);width:520px;height:520px;top:-120px;right:-120px}.glow-b{background:radial-gradient(circle,#7a12308c,#0000 60%);width:600px;height:600px;bottom:-180px;left:-180px}.grain{z-index:1;mix-blend-mode:multiply;opacity:.32;background-image:radial-gradient(circle at 1px 1px,#2a0a120b 1px,#0000 0);background-size:4px 4px;position:absolute;inset:0}.bg-linen{z-index:0;opacity:.5;background-image:linear-gradient(135deg,#d4af3708 0%,#0000 40% 60%,#c5485f0a 100%);position:absolute;inset:0}.bg-bokeh{pointer-events:none;z-index:0;opacity:.85;position:absolute}.bg-bokeh-rose{width:min(520px,75vw);height:min(520px,75vw);animation:22s ease-in-out infinite alternate bg-float-a;top:-12%;left:-18%}.bg-bokeh-gold{width:min(440px,62vw);height:min(440px,62vw);animation:26s ease-in-out infinite alternate bg-float-b;bottom:-8%;right:-14%}@keyframes bg-float-a{0%{transform:translate(0)scale(1)}to{transform:translate(12px,18px)scale(1.04)}}@keyframes bg-float-b{0%{transform:translate(0)scale(1)}to{transform:translate(-14px,-10px)scale(1.03)}}.bg-watermark{z-index:0;opacity:.22;pointer-events:none;width:min(320px,42vw);height:min(320px,42vw);position:absolute;top:-4%;left:-6%}.bg-accent-line{z-index:0;opacity:.55;background:linear-gradient(90deg,#0000,#d4af3759 20%,#f0a4b466 50%,#d4af3759 80%,#0000);height:1px;position:absolute;bottom:10%;left:8%;right:8%}@media (width<=640px){.page{padding:calc(22px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(44px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.stage{padding:18px 0 32px}.bg-bokeh-rose{opacity:.7;width:min(380px,90vw);height:min(380px,90vw);top:-18%;left:-28%}.bg-bokeh-gold{opacity:.65;width:min(320px,78vw);height:min(320px,78vw)}.bg-watermark{opacity:.16;width:min(240px,55vw);height:min(240px,55vw)}}@media (width<=480px){.bg-accent-line{opacity:.4;bottom:6%}}@media (width<=360px){.bg-bokeh-gold{opacity:.5}}@media (prefers-reduced-motion:reduce){.bg-bokeh-rose,.bg-bokeh-gold{animation:none}}.topbar{z-index:2;justify-content:center;align-items:center;display:flex;position:relative}.brand{align-items:center;display:flex}.brand-mark{width:150px;height:52px;display:block}.brand-mark img{object-fit:contain;width:100%;height:100%}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-lg);width:100%;max-width:720px;box-shadow:var(--shadow-deep);background:#fdfaf5eb;border:1px solid #7a12301f;padding:48px 48px 44px;animation:.5s ease-out both rise;position:relative}.card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#fff9,#fff0 40%);position:absolute;inset:0}.card>*{position:relative}.card-hero{text-align:center;padding-top:56px}.card-form,.card-quiz,.card-sending{max-width:640px}.card-sending{text-align:center;padding:64px 48px}@media (width<=640px){.card{border-radius:var(--radius-md);padding:36px 24px 32px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--bordeaux-700);background:linear-gradient(135deg,#d4af3729,#c5485f1f);border:1px solid #d4af374d;border-radius:999px;margin-bottom:18px;padding:6px 14px;font-size:11px;display:inline-block;position:relative}.display{font-family:var(--serif);color:var(--bordeaux-800);letter-spacing:-.5px;margin:8px 0 18px;font-size:clamp(36px,5.5vw,56px);font-weight:500;line-height:1.12}.display em{color:var(--rose-500);background:linear-gradient(135deg, var(--rose-500), var(--gold-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:.06em 0 .08em;font-style:italic;font-weight:500;display:inline-block;transform:translateZ(0)}.title{font-family:var(--serif);color:var(--bordeaux-800);margin:6px 0 10px;font-size:clamp(26px,3.4vw,34px);font-weight:500;line-height:1.15}.lede{color:var(--ink-soft);max-width:540px;margin:0 auto 30px;font-size:18px;line-height:1.65}.muted{color:var(--muted);margin:0 0 16px}.micro{letter-spacing:.6px;color:var(--muted);margin-top:22px;font-size:12px}.hint{max-width:620px;color:var(--muted);background:0 0;border:0;margin:14px auto 0;padding:0;font-size:13px;line-height:1.5}.hint-warning{color:#7a1230d9}.hero-meta{background:#fff9;border:1px solid #7a12301f;border-radius:999px;align-items:center;gap:22px;margin:8px 0 32px;padding:18px 30px;display:inline-flex}.hero-meta>div{flex-direction:column;align-items:center;line-height:1;display:flex}.hero-meta strong{font-family:var(--serif);color:var(--bordeaux-700);font-size:22px}.hero-meta span{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:11px}.hero-meta .divider{background:#7a12302e;width:1px;height:28px}@media (width<=520px){.hero-meta{gap:14px;padding:14px 18px}.hero-meta strong{font-size:18px}}.btn{cursor:pointer;letter-spacing:.4px;border:none;border-radius:999px;align-items:center;gap:10px;padding:16px 28px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,opacity .2s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--bordeaux-700), var(--bordeaux-900));color:var(--cream-50);box-shadow:0 12px 30px -10px #5b0e1f8c,inset 0 0 0 1px #ffffff0f}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--bordeaux-600), var(--bordeaux-800));transform:translateY(-1px);box-shadow:0 18px 36px -10px #5b0e1fa6,inset 0 0 0 1px #ffffff14}.btn-ghost{color:var(--bordeaux-700);background:0 0;border:1px solid #7a12304d}.btn-ghost:hover{background:#7a12300f;border-color:#7a12308c}.btn-full{justify-content:center;width:100%}.btn-arrow{transition:transform .2s;display:inline-block}.btn:hover .btn-arrow{transform:translate(3px)}.back-link{cursor:pointer;color:var(--muted);letter-spacing:.3px;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:18px;padding:4px 0;font-size:13px;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--bordeaux-700)}.form{flex-direction:column;gap:18px;margin-top:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field .label{letter-spacing:1.4px;text-transform:uppercase;color:var(--bordeaux-700);font-size:12px;font-weight:600}.field input{border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#ffffffbf;border:1px solid #7a12302e;padding:16px 18px;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.field input::placeholder{color:#7a5b668c}.field input:focus{border-color:var(--rose-500);background:#fff;outline:none;box-shadow:0 0 0 4px #c5485f26}.field.has-error input{border-color:var(--rose-500);box-shadow:0 0 0 4px #c5485f1f}.field .error{color:var(--rose-500);margin-top:2px;font-size:13px}.quiz-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:14px;display:flex}.progress{flex-direction:column;align-items:flex-end;gap:6px;min-width:180px;display:flex}.progress-track{background:#7a12301f;border-radius:999px;width:100%;height:4px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--rose-500), var(--gold-500));border-radius:inherit;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:11px}.question-title{font-family:var(--serif);color:var(--bordeaux-800);margin:18px 0 28px;font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.2}.options{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.option{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--ink);background:#ffffffb3;border:1px solid #7a123029;align-items:center;gap:16px;padding:18px 20px;transition:transform .18s,border-color .2s,background .2s,box-shadow .2s;display:flex}.option:hover{border-color:var(--rose-500);background:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -14px #c5485f73}.option.is-selected{border-color:var(--bordeaux-700);background:linear-gradient(#c5485f1a,#d4af370f);box-shadow:0 12px 28px -16px #5b0e1f8c,inset 0 0 0 1px #7a123066}.option-bullet{height:36px;color:var(--bordeaux-700);font-family:var(--serif);background:#7a123014;border-radius:50%;flex:0 0 36px;place-items:center;font-size:18px;font-weight:600;transition:background .2s,color .2s;display:grid}.option.is-selected .option-bullet{background:var(--bordeaux-700);color:var(--gold-300)}.option-label{color:var(--ink);flex:1;font-size:16px;line-height:1.4}.option-check{color:#0000;border:1.4px solid #7a12304d;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;transition:background .2s,color .2s,border-color .2s;display:grid}.option-check svg{width:16px;height:16px}.option.is-selected .option-check{background:var(--gold-500);border-color:var(--gold-500);color:var(--bordeaux-900)}.quiz-foot{justify-content:flex-end;margin-top:28px;display:flex}@media (width<=480px){.quiz-foot .btn{justify-content:center;width:100%}.progress{min-width:130px}}.spinner{border:3px solid #7a123026;border-top-color:var(--bordeaux-700);border-radius:50%;width:56px;height:56px;margin:0 auto 24px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{flex-direction:column;gap:36px;width:100%;max-width:1080px;animation:.6s ease-out both rise;display:flex}.card-result{text-align:center;max-width:820px;margin:0 auto;padding:56px 48px 44px}.result-title{margin-bottom:8px}.tagline{font-family:var(--serif);color:var(--rose-500);letter-spacing:.4px;margin:0 0 18px;font-size:22px;font-style:italic}.result-text{color:var(--ink-soft);max-width:600px;margin:0 auto 6px;font-size:17px;line-height:1.7}.coupon-box{text-align:center;background:linear-gradient(145deg,#fbf6eff2,#f5ece1eb);border:1px dashed #7a123047;border-radius:14px;max-width:460px;margin:18px auto 14px;padding:14px 16px;box-shadow:inset 0 0 0 1px #d4af372e}.coupon-kicker{letter-spacing:2px;text-transform:uppercase;color:var(--gold-600);margin:0 0 6px;font-size:11px;font-weight:600}.coupon-highlight{color:var(--bordeaux-800);margin:0;font-size:16px;line-height:1.45}.coupon-highlight strong{letter-spacing:.6px;color:var(--bordeaux-700);font-size:18px}.wines-head{text-align:center;margin-bottom:18px}.wines-head h3{font-family:var(--serif);color:var(--bordeaux-800);margin:0 0 8px;font-size:clamp(24px,3vw,32px);font-weight:500}.wines-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (width<=960px){.wines-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.wines-grid{grid-template-columns:1fr}}.wine-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fdfaf5eb;border:1px solid #7a12301f;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.wine-card:hover{box-shadow:var(--shadow-deep);transform:translateY(-4px)}.wine-image{aspect-ratio:3/3.7;background:radial-gradient(ellipse 90% 70% at 50% 35%, #fffffff2, transparent 65%), radial-gradient(ellipse 80% 60% at 80% 90%, #f0a4b42e, transparent 55%), radial-gradient(ellipse 70% 50% at 10% 85%, #d4af371a, transparent 50%), linear-gradient(165deg, var(--cream-50) 0%, var(--rose-100) 48%, var(--cream-100) 100%);justify-content:center;align-items:center;min-height:220px;display:flex;position:relative;overflow:hidden}.wine-image img{object-fit:contain;object-position:center center;transform-origin:50%;width:100%;height:100%;padding:16px;transition:transform .5s;transform:scale(1.14)}.wine-card:hover .wine-image img{transform:scale(1.18)}@media (width<=640px){.wine-image{min-height:250px}.wine-image img{padding:14px;transform:scale(1.16)}.wine-card:hover .wine-image img{transform:scale(1.2)}}.wine-badge{letter-spacing:1.6px;text-transform:uppercase;color:var(--bordeaux-700);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #d4af3759;border-radius:999px;padding:6px 12px;font-size:11px;position:absolute;top:14px;left:14px;box-shadow:0 2px 12px #2a0a120f}.wine-body{flex-direction:column;flex:1;gap:6px;padding:22px 22px 24px;display:flex}.wine-body h4{font-family:var(--serif);color:var(--bordeaux-800);margin:0;font-size:22px;font-weight:500;line-height:1.2}.wine-region{letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-600);margin:0;font-size:12px}.wine-notes{color:var(--ink-soft);flex:1;margin:8px 0 0;font-size:14px;line-height:1.55}.wine-foot{border-top:1px dashed #7a123033;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:16px;display:flex}.wine-price{font-family:var(--serif);color:var(--bordeaux-700);font-size:20px;font-weight:600}.wine-cta{letter-spacing:.5px;text-transform:uppercase;color:var(--bordeaux-700);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,gap .2s;display:inline-flex}.wine-cta:hover{color:var(--rose-500);gap:10px}.result-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.result[data-type=tinto] .display em,.result[data-type=tinto] .tagline{background:linear-gradient(135deg, var(--bordeaux-500), var(--gold-500));-webkit-text-fill-color:transparent;color:var(--bordeaux-700);-webkit-background-clip:text;background-clip:text}.result[data-type=rose] .display em,.result[data-type=rose] .tagline{background:linear-gradient(135deg, var(--rose-500), var(--gold-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.result[data-type=branco] .display em,.result[data-type=branco] .tagline{background:linear-gradient(135deg, var(--gold-600), var(--rose-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.result[data-type=espumante] .display em,.result[data-type=espumante] .tagline{background:linear-gradient(135deg, var(--gold-400), var(--rose-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.footnote{color:var(--muted);letter-spacing:.4px;z-index:2;border-top:1px solid #7a12301a;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:12px;display:flex;position:relative}:root{--splash-ease-out:cubic-bezier(.25, 1, .42, 1);--splash-ease-soft:cubic-bezier(.33, 0, .15, 1);--splash-duration:2.35s;--splash-stagger:.14s}body.is-splash-active{overflow:hidden}.splash{z-index:9999;pointer-events:auto;opacity:1;transition:opacity .55s var(--splash-ease-soft);background:0 0;position:fixed;inset:0}.splash.is-done{opacity:0;pointer-events:none}.splash-ambient{z-index:0;opacity:0;background:radial-gradient(45% 55%,#d4af372e,#0000 68%);position:absolute;inset:0;transform:scale(.85)}.splash.is-opening .splash-ambient{animation:splash-ambient-bloom var(--splash-duration) var(--splash-ease-out) forwards}@keyframes splash-ambient-bloom{0%{opacity:0;transform:scale(.88)}45%{opacity:.85;transform:scale(1.04)}to{opacity:.5;transform:scale(1.28)}}.splash-seam{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.splash-seam-line{opacity:.85;background:linear-gradient(#0000 0%,#d4af3726 18%,#e6c87af2 50%,#d4af3726 82%,#0000 100%);width:1px;height:100%;transform:scaleY(.4)}.splash-seam-glow{filter:blur(8px);opacity:.5;background:#d4af378c;border-radius:999px;width:3px;height:72%;position:absolute}.splash.is-opening .splash-seam-line{animation:splash-seam-fade var(--splash-duration) var(--splash-ease-out) forwards}.splash.is-opening .splash-seam-glow{animation:splash-seam-glow var(--splash-duration) var(--splash-ease-out) forwards}@keyframes splash-seam-fade{0%{opacity:.85;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.08)}}@keyframes splash-seam-glow{0%{opacity:.35;transform:scaleX(1)}50%{opacity:.75;transform:scaleX(1.8)}to{opacity:0;transform:scaleX(2.4)}}.splash-curtain{z-index:2;will-change:transform;backface-visibility:hidden;width:50.25%;position:absolute;top:0;bottom:0;overflow:hidden}.splash-curtain-panel{background:linear-gradient(105deg, #ffffff0f 0%, transparent 42%, #0000001f 100%), radial-gradient(ellipse 120% 80% at 30% 40%, var(--bordeaux-600), var(--bordeaux-900) 72%), linear-gradient(175deg, var(--bordeaux-800) 0%, #1a050c 100%);position:absolute;inset:0;box-shadow:inset 0 0 80px #00000040}.splash-curtain-panel:after{content:"";opacity:.7;background:linear-gradient(90deg,#0000 0%,#d4af3714 48%,#ffffff0a 50%,#0000 100%);position:absolute;inset:0}.splash-curtain-left{left:0;transform:translate(0)}.splash-curtain-left .splash-curtain-panel{border-right:1px solid #d4af3747;box-shadow:inset -12px 0 40px #0003,8px 0 48px #00000059}.splash-curtain-right{right:0;transform:translate(0)}.splash-curtain-right .splash-curtain-panel{border-left:1px solid #d4af3747;box-shadow:inset 12px 0 40px #0003,-8px 0 48px #00000059}.splash.is-opening .splash-curtain-left{animation:splash-curtain-left var(--splash-duration) var(--splash-ease-out) forwards}.splash.is-opening .splash-curtain-left .splash-curtain-panel{animation:splash-panel-left var(--splash-duration) var(--splash-ease-out) forwards}.splash.is-opening .splash-curtain-right{animation:splash-curtain-right var(--splash-duration) var(--splash-ease-out) var(--splash-stagger) forwards}.splash.is-opening .splash-curtain-right .splash-curtain-panel{animation:splash-panel-right var(--splash-duration) var(--splash-ease-out) var(--splash-stagger) forwards}@keyframes splash-panel-left{0%{transform:translate(0)}to{transform:translate(4%)}}@keyframes splash-panel-right{0%{transform:translate(0)}to{transform:translate(-4%)}}@keyframes splash-curtain-left{0%{transform:translate(0)}to{transform:translate(-102%)}}@keyframes splash-curtain-right{0%{transform:translate(0)}to{transform:translate(102%)}}.splash-vignette{z-index:4;pointer-events:none;opacity:1;background:radial-gradient(70% 60%,#0000 30%,#1a050c8c 100%);position:absolute;inset:0}.splash.is-opening .splash-vignette{animation:splash-vignette-out calc(var(--splash-duration) * 1.05) var(--splash-ease-soft) .28s forwards}@keyframes splash-vignette-out{to{opacity:0}}body.is-splash-active #app{opacity:0;filter:blur(12px);transition:opacity calc(var(--splash-duration) * 1.1) var(--splash-ease-soft) .52s, transform calc(var(--splash-duration) * 1.15) var(--splash-ease-out) .45s, filter calc(var(--splash-duration) * 1) var(--splash-ease-soft) .58s;will-change:opacity, transform, filter;transform:scale(1.02)}body.is-splash-active.is-splash-opening #app{opacity:1;filter:blur();transform:scale(1)}body:not(.is-splash-active) #app{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.splash{display:none}#app{opacity:1;transform:none}}
