:root{
  --bg:#f9f8f1; --areia:#f6efe4; --salvia:#e4efe3; --salvia-d:#cfdfcd;
  --tinta:#1f2a22; --txt:#2e3830; --muted:#5f6a61; --linha:#dfe3d8;
  --terra:#c0583c; --terra-d:#a5462c; --amarelo:#efae2b; --oceano:#1f5c73;
  --branco:#fff; --raio:22px; --sombra:0 18px 40px -18px rgba(31,42,34,.22);
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Questrial", "Century Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);color:var(--tinta);margin:0 0 .5em;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,6vw,4.4rem);font-weight:700}
h2{font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:400}
h3{font-size:1.3rem;font-weight:700;line-height:1.2}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--terra)}
p{margin:0 0 1em}
a{color:var(--terra)}
strong{color:var(--tinta)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px;position:relative}
.narrow{max-width:780px}
.center{text-align:center}
.sec{padding:96px 0;position:relative}
.sec-pt0{padding-top:24px}
.sec-salvia{background:var(--salvia)}
.sec-areia{background:var(--areia)}
.lead{font-size:1.15rem;color:var(--muted);max-width:620px}
.lead.center{margin-inline:auto}
.lead-sm{font-size:1.05rem}
.nota{font-size:.88rem;color:var(--muted)}
.meta{font-size:.88rem;color:var(--muted);margin:.4em 0}

/* Etiqueta com tracinho */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 18px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--terra)}
.eyebrow.center{justify-content:center}
.eyebrow-claro{color:#c9d3c8}

.topbar{background:var(--tinta);color:#fff;text-align:center;font-size:.9rem;padding:10px 16px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 34px;border-radius:999px;background:var(--terra);color:#fff;font:700 1.02rem var(--sans);text-decoration:none;letter-spacing:.01em;box-shadow:0 14px 28px -12px rgba(192,88,60,.7);transition:transform .2s,background .2s,box-shadow .2s;border:0;cursor:pointer}
.btn:hover{background:var(--terra-d);transform:translateY(-2px);box-shadow:0 18px 30px -12px rgba(192,88,60,.8)}
.btn:focus-visible{outline:3px solid var(--oceano);outline-offset:3px}
.btn-full{width:100%}
.btn-ghost{background:#fff;color:var(--tinta);border:1.5px solid var(--tinta);box-shadow:none}
.btn-ghost:hover{background:var(--tinta);color:#fff;box-shadow:none}

/* Arte "resina" em CSS (troca por fotos reais quando houver) */
.art{border-radius:14px;position:relative;overflow:hidden}
.art::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 35%,rgba(255,255,255,0) 70%,rgba(255,255,255,.18) 100%)}
.art-oceano{background:
  radial-gradient(120% 60% at 20% 110%,#f4ead9 0 30%,transparent 31%),
  radial-gradient(90% 40% at 30% 85%,rgba(255,255,255,.85) 0 18%,transparent 40%),
  radial-gradient(80% 60% at 70% 40%,#3fb0c4 0,transparent 60%),
  linear-gradient(160deg,#0d3b52 0%,#1f6f8b 45%,#43b8c9 75%,#e9dcc4 100%)}
.art-ambar{background:
  radial-gradient(30% 22% at 30% 30%,rgba(255,255,255,.55),transparent 70%),
  radial-gradient(60% 50% at 75% 70%,#7a3b12 0,transparent 70%),
  radial-gradient(50% 40% at 25% 75%,#e9a23b 0,transparent 70%),
  linear-gradient(140deg,#f6c66b 0%,#d9822b 50%,#8d4517 100%)}
.art-flores{background:
  radial-gradient(9% 9% at 30% 35%,#e66b8a 0 60%,transparent 62%),
  radial-gradient(7% 7% at 65% 25%,#f3c443 0 60%,transparent 62%),
  radial-gradient(10% 10% at 70% 65%,#8f7bd6 0 60%,transparent 62%),
  radial-gradient(6% 6% at 40% 72%,#fff 0 60%,transparent 62%),
  radial-gradient(18% 6% at 48% 50%,#6f9a63 0 60%,transparent 62%),
  linear-gradient(150deg,#f7f1e6 0%,#efe2cf 60%,#e5d1b5 100%)}
.art-luz{background:
  radial-gradient(40% 40% at 50% 45%,rgba(255,224,150,.95) 0,rgba(255,170,60,.5) 35%,transparent 70%),
  radial-gradient(70% 70% at 50% 50%,#3b1d3f 0,transparent 75%),
  linear-gradient(160deg,#120d1f 0%,#2b1638 60%,#140b18 100%)}
.art-marmore{background:
  linear-gradient(115deg,transparent 40%,rgba(201,131,46,.9) 41%,transparent 43%),
  linear-gradient(60deg,transparent 55%,rgba(31,42,34,.35) 56%,transparent 58%),
  linear-gradient(140deg,transparent 25%,rgba(201,131,46,.5) 26%,transparent 27.5%),
  linear-gradient(160deg,#fbf8f2 0%,#ece6dc 100%)}

/* Bolhas decorativas */
.blob{position:absolute;border-radius:58% 42% 55% 45%/48% 60% 40% 52%;pointer-events:none}
.blob-hero{width:480px;height:440px;right:-140px;top:-40px;background:linear-gradient(140deg,#f5e3b8,#f1d79c);opacity:.75}
.blob-banner{width:360px;height:320px;right:-80px;bottom:-140px;background:radial-gradient(circle at 30% 30%,#43b8c9,#1f5c73 70%);opacity:.35}

/* Hero */
.hero{padding:72px 0 96px;position:relative;overflow:hidden}
.hero-grid{display:grid;gap:56px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:1.15fr .85fr}}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:28px 0 18px}
.hero-preco{font-size:.95rem;color:var(--muted)}
.hero-preco strong{font-family:var(--serif);font-size:1.25rem;color:var(--terra)}
.hero-visual{position:relative;height:420px;max-width:520px;margin:0 auto;width:100%}
.device{position:absolute;background:#141815;border-radius:20px;padding:10px;box-shadow:0 30px 60px -25px rgba(0,0,0,.55)}
.device .screen{width:100%;height:100%;border-radius:12px}
.tablet{width:78%;height:66%;left:6%;top:6%;transform:rotate(-3deg)}
.phone{width:24%;height:48%;right:2%;top:30%;border-radius:22px;padding:7px;transform:rotate(5deg)}
.card-sm{width:34%;height:30%;left:0;bottom:2%;transform:rotate(4deg);padding:7px}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:3px solid #fff;z-index:2}
.play::after{content:"";position:absolute;left:24px;top:17px;border-left:20px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent}
.sticker{position:absolute;right:10%;bottom:4%;width:118px;height:118px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-content:center;text-align:center;font:700 1.15rem/1.05 var(--serif);transform:rotate(-10deg);box-shadow:0 14px 30px -12px rgba(192,88,60,.8);z-index:3}
.sticker small{font:400 .78rem var(--sans);opacity:.9}

/* Dor */
.dores{display:grid;gap:22px;margin-top:44px}
@media(min-width:640px){.dores{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.dores{grid-template-columns:repeat(4,1fr)}}
.dor{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:18px 18px 24px;box-shadow:var(--sombra)}
.ilu{background:linear-gradient(160deg,#f6efe4,#e4efe3);border:1px solid var(--linha);border-radius:16px;aspect-ratio:4/3;display:grid;place-items:center;margin-bottom:18px}
.ilu svg{width:72%;height:auto}
.dor h3{font-size:1.15rem}
.dor p{font-size:.95rem;color:var(--muted);margin:0}
.ponte{margin:48px auto 0;text-align:center;font:400 1.35rem/1.4 var(--serif);max-width:760px;color:var(--tinta)}
.ponte em{color:var(--terra)}

/* Duo + romanos */
.duo{display:grid;gap:48px}
@media(min-width:900px){.duo{grid-template-columns:.9fr 1.1fr;gap:72px}}
.romanos{list-style:none;margin:0;padding:0}
.romanos li{display:grid;grid-template-columns:56px 1fr;padding:22px 0;border-bottom:1px solid var(--salvia-d)}
.romanos li:first-child{padding-top:0}
.rn{font:italic 500 1.2rem var(--serif);color:var(--terra)}
.romanos p{color:var(--muted);margin:0;font-size:.97rem}
.cura{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.cura span{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 18px 8px 8px;font:600 1rem var(--serif);color:var(--tinta);box-shadow:var(--sombra)}
.cura b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--oceano);color:#fff;font:700 .9rem var(--sans)}

/* Para quem */
.quem{display:grid;gap:22px;margin-top:36px}
@media(min-width:860px){.quem{grid-template-columns:260px 1fr;gap:28px}}
.tabs{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:860px){.tabs{flex-direction:column}}
.tabs button{min-height:56px;padding:0 22px;border-radius:14px;border:1px solid var(--linha);background:#fff;font:600 1rem var(--sans);text-align:left;cursor:pointer;color:var(--tinta);transition:background .2s}
.tabs button[aria-selected="true"]{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.tabpanel{background:#fff;border-radius:28px;padding:32px;box-shadow:var(--sombra);display:grid;gap:28px;align-items:center}
@media(min-width:760px){.tabpanel{grid-template-columns:1.1fr .9fr}}
.tabpanel[hidden]{display:none}
.tabpanel>div>p{color:var(--muted)}
.tab-art{aspect-ratio:1/0.9;border-radius:20px;box-shadow:var(--sombra)}

/* Listas */
.check{list-style:none;padding:0;margin:0 0 10px}
.check li{position:relative;padding-left:30px;margin:10px 0;color:var(--txt)}
.check li::before{content:"✓";position:absolute;left:4px;top:0;color:var(--terra);font-weight:700}
.check-terra li::before{color:var(--terra)}

/* Passos */
.passos{list-style:none;padding:0;margin:44px 0 0;display:grid;gap:20px}
@media(min-width:820px){.passos{grid-template-columns:repeat(3,1fr)}}
.passos li{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:28px;box-shadow:var(--sombra)}
.pn{display:block;font:italic 600 1rem var(--serif);color:var(--terra);margin-bottom:22px;letter-spacing:.06em}
.passos p{color:var(--muted);margin:0;font-size:.97rem}

/* Banner escuro */
.banner{background:var(--tinta);color:#dfe7dc;border-radius:32px;padding:56px clamp(24px,5vw,64px);position:relative;overflow:hidden;margin:24px 0}
.banner h2{color:#fff}
.banner h2 em{color:#f0a487}
.banner p{max-width:560px;color:#c9d3c8}
.pills{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px;position:relative}
.pills li{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 16px;font-size:.88rem;color:#fff;background:rgba(255,255,255,.06)}
.banner-fecho{text-align:center;margin:96px 0}
.banner-fecho p{margin-inline:auto}
.banner-fecho .btn{margin-top:10px;position:relative}

/* Cursos em ziguezague */
.curso{display:grid;background:#fff;border:1px solid var(--linha);border-radius:28px;overflow:hidden;box-shadow:var(--sombra);margin-top:32px}
@media(min-width:860px){.curso{grid-template-columns:1.25fr 1fr}.curso.inv{grid-template-columns:1fr 1.25fr}.curso.inv .curso-capa{order:-1}}
.curso-txt{padding:clamp(28px,4vw,56px);align-self:center}
.curso-txt p{color:var(--muted)}
.tag{margin-bottom:14px}
.tag span{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);font-weight:700}
.incl{color:var(--terra)!important;font-weight:700;margin:0}
.curso-capa{background:var(--areia);position:relative;min-height:320px;display:grid;place-items:center;padding:30px}
.capa{width:58%;max-width:230px;aspect-ratio:3/4;border:9px solid #141815;border-radius:18px;box-shadow:0 26px 40px -20px rgba(0,0,0,.6);display:flex;flex-direction:column;justify-content:flex-start;padding:18px 14px;position:relative;z-index:2;transform:rotate(-2deg)}
.capa span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;position:relative;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.capa strong{font:700 1.25rem/1.1 var(--serif);color:#fff;position:relative;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.capa-tras{position:absolute;z-index:1;transform:translate(26%,4%) rotate(8deg);opacity:.95}
.art-flores.capa strong,.art-flores.capa span,.art-marmore.capa strong,.art-marmore.capa span{color:var(--tinta);text-shadow:none}
.soma{font-weight:600;margin-top:28px}

/* Segurança e custo */
.custo{background:#fff;border-radius:28px;padding:32px;box-shadow:var(--sombra);align-self:start}
.tabela{width:100%;border-collapse:collapse;margin:6px 0 14px}
.tabela td{padding:14px 0;border-bottom:1px solid var(--linha);font-size:.96rem}
.tabela td:last-child{text-align:right;font-family:var(--serif);font-weight:600;color:var(--tinta);white-space:nowrap;padding-left:12px}

/* Prova */
.provas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:32px}
.ph{background:repeating-linear-gradient(45deg,#ece6d8,#ece6d8 12px,#f4efe4 12px,#f4efe4 24px);border:2px dashed #cdbfa5;border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:.85rem;padding:16px}
.ph-print{aspect-ratio:9/16}
.ph-inline{background:#ffe9a8;color:#5a4300;font-size:.72rem;padding:1px 6px;border-radius:4px}

/* Planos */
.badge-amarelo{display:table;margin:0 auto 20px;background:var(--amarelo);color:var(--tinta);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:9px 20px;border-radius:999px}
.planos-grid{display:grid;gap:24px;margin-top:48px;align-items:start}
@media(min-width:1000px){.planos-grid{grid-template-columns:1fr 1.05fr 1fr}.resumo{order:0}.plano-pro{order:2}.plano-base{order:1}}
.resumo{padding:8px 4px}
.resumo h3{font-size:1.6rem}
.plano{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(31,42,34,.4);border:1px solid var(--linha)}
.plano header{padding:26px 28px 24px;background:var(--tinta);color:#c9d3c8}
.plano header h3{color:#fff;font-size:2rem;margin:12px 0 2px}
.plano header p{margin:0;font-size:.9rem}
.plano-pro{border:2px solid var(--terra)}
.plano-pro header{background:linear-gradient(130deg,#c0583c 0%,#b7546a 55%,#8a64b8 100%);color:#fde9e1}
.chip{display:inline-block;background:var(--salvia);color:var(--tinta);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.chip-terra{background:var(--terra);color:#fff}
.plano-pro .chip-terra{background:#fff;color:var(--terra)}
.plano-corpo{padding:24px 28px 28px}
.acesso{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#2f8a4b;font-weight:700}
.ok{list-style:none;padding:0;margin:0 0 20px}
.ok li{position:relative;padding-left:30px;margin:9px 0;font-size:.94rem;color:var(--tinta)}
.ok li::before{content:"";position:absolute;left:0;top:.2em;width:19px;height:19px;border-radius:50%;background:#3aa55a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/13px no-repeat}
.ok li.no{color:#9aa39b;text-decoration:line-through}
.ok li.no::before{background:#c9cfc8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8h7' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/13px no-repeat}
.inv-lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;border-top:1px solid var(--linha);padding-top:18px}
.valor{font:700 2.8rem/1.1 var(--serif);color:var(--tinta);margin:4px 0 10px}
.valor-terra{color:var(--terra)}
.unico{display:inline-block;background:var(--salvia);color:#2f6b3f;font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.seguro{text-align:center;font-size:.8rem;color:var(--muted);margin:12px 0 0}
.planos-grid+.pay{margin-top:28px}

/* Garantia */
.garantia{display:grid;gap:28px;align-items:center;justify-items:center;text-align:center}
.garantia .eyebrow{justify-content:center}
@media(min-width:720px){.garantia{grid-template-columns:170px 1fr;justify-items:start;text-align:left}.garantia .eyebrow{justify-content:flex-start}}
.selo-g{width:160px;height:160px}

/* FAQ */
#faq h2{margin-bottom:36px}
details{background:#fff;border-radius:18px;padding:0 24px;margin:12px 0;border:1px solid var(--linha)}
summary{cursor:pointer;font:600 1.08rem var(--serif);color:var(--tinta);padding:20px 32px 20px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:14px;font:400 1.6rem var(--sans);color:var(--terra);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);padding-bottom:18px;margin:0}

/* Rodapé */
.footer{background:var(--tinta);color:#a9b4aa;padding:48px 0 56px;font-size:.86rem;text-align:center}
.footer .logo{font:700 1.6rem var(--serif);color:#fff;margin-bottom:10px}
.footer .logo em{color:#f0a487;font-weight:500}
.footer .links{display:flex;gap:18px;justify-content:center}
.footer a{color:#fff}
.footer .mini{font-size:.76rem;opacity:.7;max-width:560px;margin:16px auto 0}

/* Pop-up */
.modal{position:fixed;inset:0;background:rgba(20,26,22,.62);display:grid;place-items:center;padding:16px;z-index:50}
.modal[hidden]{display:none}
.modal-box{background:var(--bg);border-radius:26px;max-width:460px;width:100%;padding:36px 30px 28px;position:relative;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal-box h2{font-size:2rem;margin:16px 0 10px}
.modal-box p{color:var(--muted)}
.modal-x{position:absolute;top:8px;right:10px;background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--muted);width:44px;height:44px}
.modal-no{display:block;margin-top:16px;color:var(--muted);font-size:.9rem}

/* Modo visitante (?limpo=1) */
.limpo [data-pendente]{display:none!important}

/* Telemóvel */
@media(max-width:640px){
  body{font-size:16px}
  .sec{padding:68px 0}
  .hero{padding:44px 0 64px}
  .hero-visual{height:300px}
  .sticker{width:96px;height:96px;font-size:1rem}
  .blob-hero{width:320px;height:300px;right:-160px;top:-60px}
  .hero-cta .btn{width:100%}
  .curso-capa{min-height:260px}
  .tabpanel{padding:24px}
  .banner{border-radius:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.tabs button{transition:none}}

/* Dores compactas no telemóvel */
@media(max-width:639px){
  .dores{gap:14px;margin-top:28px}
  .dor{display:grid;grid-template-columns:84px 1fr;column-gap:16px;padding:16px;align-items:start}
  .dor .ilu{grid-row:1/span 2;aspect-ratio:1/1;margin:0;border-radius:14px}
  .dor .ilu svg{width:86%}
  .dor h3{font-size:1.05rem;margin-bottom:.3em}
  .tab-art{display:none}
}
