@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root { font-family: 'DM Sans', sans-serif; color: #153f2d; background: #f7f3e9; font-synthesis: none; --cream:#f7f3e9; --paper:#fffdf7; --forest:#104d36; --forest-deep:#0a3527; --sage:#cad7c0; --terracotta:#c86f45; --gold:#caa65c; --ink:#153f2d; --muted:#66756c; --line:#dcd9c9; --shadow:0 22px 70px rgba(18,55,39,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--cream); }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button:active, a:active { transform:scale(.98); }
.site-shell { overflow:hidden; }
.topbar { height:82px; display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:auto; padding:0 34px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--forest); font-size:15px; font-weight:700; letter-spacing:.02em; }
.brand img { width:45px; height:45px; border-radius:50%; object-fit:cover; }
.topbar-link { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; font-weight:600; }
.hero { max-width:1240px; min-height:650px; margin:auto; padding:58px 34px 74px; display:grid; grid-template-columns:1fr .88fr; gap:70px; align-items:center; }
.hero-copy { max-width:590px; position:relative; z-index:1; }
.eyebrow, .kicker { text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:700; color:var(--terracotta); }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--forest); margin-bottom:25px; }
.eyebrow-dot { width:8px; height:8px; border-radius:50%; background:var(--terracotta); display:inline-block; }
h1,h2 { font-family:'Playfair Display',serif; font-weight:500; line-height:1.05; color:var(--forest-deep); margin:0; }
h1 { font-size:clamp(50px,6vw,79px); letter-spacing:-.045em; }
h1 em,h2 em { color:var(--terracotta); font-style:italic; }
.hero-lead { font-size:20px; line-height:1.5; color:var(--forest); max-width:550px; margin:28px 0 13px; }
.hero-body { color:var(--muted); line-height:1.75; max-width:500px; margin:0 0 30px; }
.primary-button,.light-button,.submit-button { border:0; cursor:pointer; display:inline-flex; justify-content:center; align-items:center; gap:12px; background:var(--forest); color:#fffdf7; padding:16px 21px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; border-radius:2px; transition:.2s ease; box-shadow:0 10px 28px rgba(16,77,54,.18); }
.primary-button:hover,.submit-button:hover { background:var(--forest-deep); transform:translateY(-2px); }
.hero-note { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; margin-top:15px; }
.partner-line { display:flex; align-items:center; gap:13px; margin-top:52px; font-size:12px; color:var(--muted); }
.partner-line i { width:38px; height:1px; background:var(--gold); display:inline-block; }
.partner-line strong { color:var(--forest); font-family:'Playfair Display',serif; font-size:16px; font-weight:500; }
.hero-art { position:relative; min-height:560px; display:flex; justify-content:center; align-items:center; }
.hero-art > img { width:min(100%,480px); height:auto; max-height:600px; object-fit:cover; object-position:center; border-radius:2px; box-shadow:var(--shadow); position:relative; z-index:1; }
.art-orbit { position:absolute; border:1px solid var(--gold); border-radius:50%; opacity:.55; }
.orbit-one { width:540px; height:540px; }
.orbit-two { width:360px; height:360px; border-color:var(--terracotta); }
.floating-note { position:absolute; z-index:2; bottom:30px; left:0; background:var(--paper); padding:15px 18px; display:flex; gap:11px; align-items:center; box-shadow:0 15px 35px rgba(19,48,35,.14); color:var(--forest); font-size:12px; line-height:1.35; }
.floating-note svg { color:var(--terracotta); }
.floating-note strong { font-family:'Playfair Display',serif; font-size:16px; font-weight:500; }
.trust-strip { background:var(--forest); color:#f5f1e5; min-height:72px; display:flex; justify-content:center; align-items:center; gap:30px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
.trust-strip div { display:flex; gap:9px; align-items:center; }
.trust-strip svg { color:var(--gold); }
.trust-strip > span { width:1px; height:25px; background:rgba(255,255,255,.25); }
.section-grid { max-width:1120px; margin:auto; padding:120px 34px; display:grid; grid-template-columns:.95fr 1.05fr; gap:110px; }
.kicker { margin:0 0 18px; }
h2 { font-size:clamp(36px,4.3vw,56px); letter-spacing:-.035em; }
.story-copy { color:var(--muted); line-height:1.85; font-size:16px; max-width:530px; }
.story-copy p { margin:0 0 18px; }
blockquote { border-left:2px solid var(--terracotta); color:var(--forest); font-family:'Playfair Display',serif; font-size:23px; line-height:1.35; margin:30px 0 0; padding:3px 0 3px 23px; }
.benefit-section { background:var(--forest); color:#f7f3e9; min-height:430px; display:flex; justify-content:center; align-items:center; gap:115px; padding:74px 34px; position:relative; }
.benefit-content { max-width:480px; }
.kicker.light { color:var(--gold); }
.benefit-content h2 { color:#f7f3e9; }
.benefit-content h2 em { color:#e5b783; }
.benefit-content > p:not(.kicker) { color:#cad7c0; line-height:1.75; margin:20px 0 29px; }
.light-button { background:#f7f3e9; color:var(--forest); box-shadow:none; }
.benefit-card { width:270px; min-height:250px; padding:28px; background:#f7f3e9; color:var(--forest); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border-bottom:5px solid var(--terracotta); box-shadow:0 18px 50px rgba(0,0,0,.15); }
.benefit-card svg { color:var(--terracotta); margin-bottom:14px; }.benefit-card span { font-size:12px; text-transform:uppercase; letter-spacing:.15em; color:var(--muted); }.benefit-card strong { font-family:'Playfair Display',serif; font-size:76px; font-weight:500; line-height:1; margin:7px 0 0; }.benefit-card small { font-size:15px; color:var(--terracotta); }.card-rule { width:100%; height:1px; background:var(--gold); margin:19px 0 12px; }.benefit-card b { font-size:11px; color:var(--muted); font-weight:500; }
.register-section { max-width:1120px; margin:auto; padding:120px 34px 100px; display:grid; grid-template-columns:1fr .9fr; gap:100px; align-items:start; }.register-aside > p:not(.kicker) { max-width:440px; color:var(--muted); line-height:1.8; margin:23px 0 35px; }.steps { display:grid; gap:15px; }.steps div { display:flex; align-items:center; gap:14px; color:var(--forest); font-size:14px; }.steps b { color:var(--terracotta); font-family:'Playfair Display',serif; font-size:20px; font-weight:500; }.form-card { background:var(--paper); padding:30px; box-shadow:var(--shadow); border-top:3px solid var(--forest); }.form-heading { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; color:var(--forest); font-family:'Playfair Display',serif; font-size:23px; }.form-heading small { color:var(--muted); font-family:'DM Sans',sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }.form-card form { display:grid; gap:16px; }.form-card label:not(.consent) { display:grid; gap:7px; color:var(--forest); font-size:12px; font-weight:700; }.form-card input:not([type=checkbox]),.form-card select { width:100%; border:1px solid var(--line); background:#fbfaf4; padding:13px 14px; color:var(--ink); outline:none; border-radius:0; font-size:14px; transition:.2s; }.form-card input:focus,.form-card select:focus { border-color:var(--forest); box-shadow:0 0 0 3px rgba(16,77,54,.08); }.consent { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:11px; line-height:1.45; font-weight:400; }.consent input { margin-top:2px; accent-color:var(--forest); }.submit-button { width:100%; margin-top:2px; }.submit-button:disabled { opacity:.65; cursor:wait; }.privacy-note { display:flex; gap:6px; justify-content:center; align-items:center; color:#7c877f; font-size:10px; text-align:center; margin:0; }.form-error { color:#a54531; font-size:12px; margin:0; }.result-section { max-width:1120px; margin:auto; padding:0 34px 100px; }.result-placeholder { background:rgba(202,215,192,.35); border:1px dashed #aabda4; color:var(--forest); padding:18px 22px; display:flex; gap:10px; align-items:center; font-size:13px; }.voucher-result { background:var(--paper); padding:38px; box-shadow:var(--shadow); border-top:4px solid var(--terracotta); text-align:center; }.success-label { display:inline-flex; align-items:center; gap:7px; color:var(--forest); background:var(--sage); padding:8px 12px; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.1em; }.voucher-result h2 { margin:20px 0 10px; }.voucher-result > p { color:var(--muted); line-height:1.65; max-width:540px; margin:0 auto 25px; }.voucher-preview { position:relative; max-width:720px; margin:0 auto; border:1px solid var(--line); background:#fff; }.voucher-preview img { display:block; width:100%; }.voucher-code { position:absolute; left:36%; top:67.8%; width:50%; text-align:left; color:var(--forest); font-family:'DM Sans',sans-serif; font-weight:700; font-size:clamp(11px,2vw,22px); letter-spacing:.03em; }.voucher-meta { display:flex; max-width:720px; margin:20px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); justify-content:space-around; padding:15px 0; }.voucher-meta div { display:grid; gap:5px; }.voucher-meta span { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; }.voucher-meta strong { font-size:13px; color:var(--forest); }.result-actions { display:flex; justify-content:center; gap:10px; margin:22px 0 12px; }.result-actions button,.result-actions a { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--forest); background:var(--forest); color:#fff; padding:12px 16px; font-size:12px; font-weight:700; cursor:pointer; }.result-actions a { background:transparent; color:var(--forest); }.voucher-result > small { color:var(--muted); font-size:11px; }.how-section { background:#e9eee3; padding:100px 34px 110px; }.center-heading { text-align:center; max-width:700px; margin:0 auto; }.how-grid { max-width:1000px; margin:55px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#bac8b6; }.how-grid > div { background:#e9eee3; padding:30px 30px 35px; }.how-grid span { color:var(--terracotta); font-family:'Playfair Display',serif; font-size:22px; }.how-grid h3 { color:var(--forest); font-family:'Playfair Display',serif; font-size:26px; font-weight:500; margin:14px 0 8px; }.how-grid p { color:var(--muted); line-height:1.6; font-size:13px; margin:0; }.faq-section { max-width:850px; padding:105px 34px 120px; margin:auto; }.faq-list { margin-top:45px; border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; justify-content:space-between; align-items:center; list-style:none; cursor:pointer; padding:19px 0; color:var(--forest); font-size:15px; font-weight:600; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary svg { transition:.2s; color:var(--terracotta); }.faq-list details[open] summary svg { transform:rotate(180deg); }.faq-list p { color:var(--muted); line-height:1.7; font-size:14px; max-width:700px; margin:0 0 20px; }
footer { max-width:1240px; margin:auto; border-top:1px solid var(--line); padding:33px 34px 40px; display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:12px; line-height:1.6; }.footer-brand { display:flex; align-items:center; gap:11px; }.footer-brand img { width:42px; height:42px; border-radius:50%; object-fit:cover; }.footer-brand div { display:grid; }.footer-brand strong { color:var(--forest); }.footer-brand span { font-family:'Playfair Display',serif; font-size:11px; }.footer-brand + p { text-align:right; margin:0; }.footer-brand + p span { color:#8c948e; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; gap:40px; padding-top:42px; }.hero-copy { max-width:680px; }.hero-art { min-height:500px; }.hero-art > img { max-width:420px; }.section-grid,.register-section { grid-template-columns:1fr; gap:45px; }.benefit-section { gap:45px; }.register-section { padding-top:85px; }.result-section { padding-bottom:80px; } }
@media (max-width:620px) { .topbar { height:70px; padding:0 20px; }.brand span,.topbar-link { font-size:11px; }.brand img { width:38px; height:38px; }.hero { padding:35px 20px 55px; }.hero h1 { font-size:49px; }.hero-lead { font-size:17px; }.hero-art { min-height:400px; }.hero-art > img { width:83%; }.orbit-one { width:370px; height:370px; }.orbit-two { width:270px; height:270px; }.floating-note { left:3px; bottom:4px; }.trust-strip { flex-wrap:wrap; gap:12px 17px; padding:17px 20px; font-size:8px; }.trust-strip > span { display:none; }.section-grid,.register-section { padding:75px 20px; }.section-grid h2,.register-section h2 { font-size:42px; }.benefit-section { padding:70px 20px; flex-direction:column; align-items:flex-start; }.benefit-card { align-self:center; }.form-card { padding:22px 18px; }.form-heading { display:grid; gap:4px; }.result-section { padding:0 20px 70px; }.voucher-result { padding:24px 14px; }.voucher-meta { gap:8px; }.voucher-meta strong { font-size:10px; }.result-actions { flex-direction:column; }.result-actions button,.result-actions a { justify-content:center; }.how-section { padding:75px 20px; }.how-grid { grid-template-columns:1fr; }.faq-section { padding:75px 20px 85px; }.faq-section h2 { font-size:42px; }.footer { padding:25px 20px 35px; }.footer-brand + p { text-align:left; }.footer-brand + p { font-size:10px; } footer { padding:30px 20px; display:grid; gap:18px; } }
@media print { body { background:#fff; }.topbar,.hero,.trust-strip,.story-section,.benefit-section,.register-section,.how-section,.faq-section,footer,.result-placeholder,.result-actions,.voucher-result > p,.voucher-result > small,.success-label,.voucher-result h2,.voucher-meta { display:none !important; }.result-section { padding:0; }.voucher-result { display:block !important; padding:0; box-shadow:none; border:0; }.voucher-preview { max-width:900px; border:0; }.voucher-code { font-size:25px; } }

.inline-success { display:grid; gap:12px; text-align:center; justify-items:center; padding:14px 0; }
.inline-success h3 { margin:4px 0 0; color:var(--forest); font-family:'Playfair Display',serif; font-size:28px; font-weight:500; }
.inline-success p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.inline-success a { display:inline-flex; align-items:center; gap:8px; color:var(--forest); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }

/* Voucher personalizado: dados ficam em um painel estável, sem sobreposição desalinhada na imagem. */
.voucher-code { display:none; }
.personalized-details { max-width:720px; margin:18px auto 0; padding:20px 22px; display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:18px; text-align:left; background:#e9eee3; border-left:4px solid var(--terracotta); }
.personalized-details div { display:grid; gap:6px; min-width:0; }
.personalized-details span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.personalized-details strong { color:var(--forest); font-size:14px; overflow-wrap:anywhere; }
.result-actions button { min-height:48px; }
.send-guidance { max-width:720px; margin:16px auto 12px; padding:14px 16px; display:flex; align-items:flex-start; gap:10px; text-align:left; color:var(--forest); background:#f4eee3; border:1px solid #e5d8c3; font-size:12px; line-height:1.55; }
.send-guidance svg { flex:0 0 auto; color:var(--terracotta); margin-top:1px; }
.send-guidance strong { color:var(--forest-deep); }
@media (max-width:620px) {
  .personalized-details { grid-template-columns:1fr; gap:12px; padding:17px; }
  .personalized-details div { grid-template-columns:110px 1fr; align-items:center; gap:8px; }
  .personalized-details strong { font-size:13px; }
  .send-guidance { font-size:11px; }
}

.topbar-nav { display:flex; align-items:center; gap:24px; }
.official-channels { max-width:1120px; margin:auto; padding:100px 34px 110px; display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; align-items:start; }
.channels-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.channels-grid a { display:flex; align-items:center; gap:12px; min-height:82px; padding:16px 17px; color:var(--forest); background:var(--paper); border:1px solid var(--line); transition:.2s ease; }
.channels-grid a:hover { border-color:var(--terracotta); transform:translateY(-2px); box-shadow:0 8px 18px rgba(18,55,39,.08); }
.channels-grid a > svg:first-child { color:var(--terracotta); flex:0 0 auto; }
.channels-grid a > svg:last-child { margin-left:auto; color:var(--gold); flex:0 0 auto; }
.channels-grid span { display:grid; gap:5px; min-width:0; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.channels-grid strong { color:var(--forest); font-size:13px; text-transform:none; letter-spacing:0; overflow-wrap:anywhere; }
@media (max-width:900px) { .official-channels { grid-template-columns:1fr; gap:38px; } }
@media (max-width:620px) { .topbar-nav { gap:10px; }.topbar-nav .topbar-link:first-child { display:none; }.official-channels { padding:75px 20px 85px; }.channels-grid { grid-template-columns:1fr; } }
