/* =========================================================================
   Calculadora Price / Página de vendas · Múcio Santos
   Identidade: azul-marinho profundo + dourado. Premium, alta conversão.
   ========================================================================= */
:root {
    --navy-950:#060F20; --navy-900:#081327; --navy-800:#0A1A34; --navy-700:#0E2245; --navy-600:#14305A;
    --gold-300:#EAD69A; --gold-400:#E4C877; --gold-500:#C9A24B; --gold-600:#A8823A;
    --paper:#F5F2EA; --paper-2:#D9DEEA; --muted:#8B97AF; --line:rgba(201,162,75,0.20);
    --ink:#12203B; --ink-2:#3A4761; --card:#FBFAF5; --card-line:#E7E1D2;
    --alerta:#C9603A; --ok:#3E7D56;
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    --maxw:1120px; --ease:cubic-bezier(0.22,1,0.36,1);
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--sans); font-weight:400; color:var(--paper); background:var(--navy-900); line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
::selection { background:var(--gold-500); color:var(--navy-900); }
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.1rem,4vw,2rem); }
.eyebrow { display:inline-block; font-size:0.72rem; font-weight:600; letter-spacing:0.34em; text-transform:uppercase; color:var(--gold-500); margin-bottom:1rem; }
h1,h2,h3 { line-height:1.14; }
.serif { font-family:var(--serif); }

/* ---------- botões ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.55rem; font-family:var(--sans); font-size:0.82rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:1.05rem 2rem; border-radius:3px; border:1px solid transparent; cursor:pointer; transition:all 0.3s var(--ease); text-align:center; }
.btn--gold { background:linear-gradient(135deg,var(--gold-400),var(--gold-600)); color:var(--navy-950); box-shadow:0 12px 34px -14px rgba(201,162,75,0.6); }
.btn--gold:hover { filter:brightness(1.07); transform:translateY(-2px); }
.btn--ghost { background:transparent; color:var(--gold-300); border-color:var(--gold-600); }
.btn--ghost:hover { background:var(--gold-500); color:var(--navy-900); }
.btn--block { width:100%; }
.btn--lg { padding:1.2rem 2.4rem; font-size:0.9rem; }

/* ---------- herói ---------- */
.hero { position:relative; padding:clamp(5.5rem,10vw,7.5rem) 0 clamp(3rem,6vw,4.5rem); text-align:center; overflow:hidden;
    background:linear-gradient(180deg, rgba(6,15,32,0.82), rgba(8,19,39,0.92) 55%, var(--navy-900)), var(--navy-800); }
.hero__bg { position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center; opacity:0.4; }
.hero__brand { display:flex; flex-direction:column; align-items:center; line-height:1; margin-bottom:2rem; }
.hero__brand b { font-weight:600; font-size:0.95rem; letter-spacing:0.24em; text-transform:uppercase; }
.hero__brand span { font-size:0.56rem; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold-500); margin-top:0.3rem; }
.hero h1 { font-family:var(--serif); font-weight:600; font-size:clamp(2.1rem,5.6vw,3.9rem); color:var(--paper); max-width:16ch; margin:0 auto 1.2rem; }
.hero h1 em { font-style:italic; color:var(--gold-300); }
.hero__sub { max-width:60ch; margin:0 auto 2rem; font-size:clamp(1rem,2.2vw,1.2rem); color:var(--paper-2); font-weight:300; }
.hero__cue { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-400); }

/* ---------- cartão da calculadora ---------- */
.calc { position:relative; margin-top:-1.5rem; padding-bottom:clamp(3rem,6vw,5rem); background:var(--navy-900); }
.calc__card { max-width:760px; margin:0 auto; background:var(--card); color:var(--ink); border-radius:14px; box-shadow:0 40px 90px -40px rgba(0,0,0,0.75); border:1px solid var(--card-line); overflow:hidden; }
.calc__head { padding:1.8rem 2rem 0.4rem; text-align:center; }
.calc__head h2 { font-family:var(--serif); font-weight:600; font-size:clamp(1.5rem,3.2vw,2rem); color:var(--ink); }
.calc__head p { color:var(--ink-2); font-size:0.95rem; margin-top:0.5rem; }
.calc__form { padding:1.4rem 2rem 2rem; }
.calc__grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; }
.field { display:flex; flex-direction:column; gap:0.4rem; }
.field--full { grid-column:1 / -1; }
.field label { font-size:0.8rem; font-weight:600; color:var(--ink); letter-spacing:0.01em; }
.field .hint { font-size:0.72rem; color:var(--ink-2); font-weight:400; }
.field .input-wrap { position:relative; display:flex; align-items:center; }
.field .prefix { position:absolute; left:0.9rem; font-size:0.9rem; color:var(--ink-2); font-weight:600; pointer-events:none; }
.field input { width:100%; padding:0.85rem 0.9rem; border:1.4px solid var(--card-line); border-radius:8px; font-family:var(--sans); font-size:1rem; color:var(--ink); background:#fff; transition:border-color 0.2s, box-shadow 0.2s; }
.field input.has-prefix { padding-left:2.2rem; }
.field input.has-suffix { padding-right:2.6rem; }
.field .suffix { position:absolute; right:0.9rem; font-size:0.85rem; color:var(--ink-2); font-weight:600; pointer-events:none; }
.field input:focus { outline:none; border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(201,162,75,0.18); }
.calc__actions { margin-top:1.5rem; }
.calc__erro { display:none; margin-top:1rem; background:#FBECE6; border:1px solid #E7C3B4; color:#9A3B1E; border-radius:8px; padding:0.8rem 1rem; font-size:0.85rem; }
.calc__erro span { display:block; }
.calc__nota { margin-top:1rem; font-size:0.76rem; color:var(--ink-2); text-align:center; }

/* ---------- resultado ---------- */
.calc__resultado { display:none; border-top:1px solid var(--card-line); padding:1.8rem 2rem 2.2rem; background:linear-gradient(180deg,#fff,var(--card)); }
.r-veredito { border-radius:10px; padding:1rem 1.2rem; font-size:0.98rem; line-height:1.55; margin-bottom:1.4rem; }
.r-veredito--alerta { background:#FBEFE9; border:1px solid #E9C7B7; color:#8A3517; }
.r-veredito--ok { background:#EDF5EF; border:1px solid #C6DECC; color:#2E5C41; }
.r-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.8rem; }
.r-item { background:#fff; border:1px solid var(--card-line); border-radius:10px; padding:0.9rem 1rem; }
.r-item .k { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-2); font-weight:600; }
.r-item .v { font-size:1.3rem; font-weight:700; color:var(--ink); margin-top:0.2rem; }
.r-item--dourado { background:linear-gradient(135deg,#1B2C4E,#0E2245); border-color:transparent; }
.r-item--dourado .k { color:var(--gold-300); }
.r-item--dourado .v { color:#fff; }
.r-diferenca-bloco { display:none; grid-template-columns:1fr 1fr; gap:0.8rem; margin-top:0.8rem; }
.r-dif { background:#2A1A12; border:1px solid #5A3A22; border-radius:10px; padding:0.9rem 1rem; }
.r-dif .k { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:#E4B48C; font-weight:600; }
.r-dif .v { font-size:1.3rem; font-weight:700; color:#F2C7A6; margin-top:0.2rem; }
.r-amort { margin-top:1.4rem; }
.r-amort summary { cursor:pointer; font-size:0.82rem; font-weight:600; color:var(--ink); letter-spacing:0.02em; padding:0.6rem 0; }
.r-amort__scroll { max-height:280px; overflow:auto; border:1px solid var(--card-line); border-radius:8px; }
.r-amort table { width:100%; border-collapse:collapse; font-size:0.82rem; }
.r-amort th { position:sticky; top:0; background:#F0ECE0; color:var(--ink-2); font-weight:600; text-align:right; padding:0.5rem 0.7rem; }
.r-amort th:first-child, .r-amort td:first-child { text-align:left; }
.r-amort td { padding:0.45rem 0.7rem; border-top:1px solid #EFEAdd; color:var(--ink); text-align:right; }
.r-cta { margin-top:1.6rem; text-align:center; }
.r-cta p { color:var(--ink-2); font-size:0.9rem; margin-bottom:0.9rem; }

/* ---------- seções de conteúdo ---------- */
.sec { padding:clamp(3.5rem,8vw,6rem) 0; }
.sec--navy { background:var(--navy-800); border-top:1px solid var(--line); }
.sec--deep { background:var(--navy-950); }
.sec__head { text-align:center; max-width:680px; margin:0 auto 3rem; }
.sec__head h2 { font-family:var(--serif); font-weight:600; font-size:clamp(1.8rem,4.4vw,2.9rem); color:var(--paper); }
.sec__head p { margin-top:1rem; color:var(--paper-2); }

/* mecanismo */
.mec { display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(1.6rem,4vw,3rem); align-items:center; }
.mec__img { border-radius:14px; overflow:hidden; box-shadow:0 30px 70px -40px rgba(0,0,0,0.8); border:1px solid var(--line); }
.mec__img img { width:100%; height:100%; object-fit:cover; }
.mec__list { display:flex; flex-direction:column; gap:1.1rem; }
.mec__item { display:flex; gap:1rem; }
.mec__num { flex:0 0 auto; width:38px; height:38px; border-radius:50%; border:1px solid var(--gold-600); color:var(--gold-400); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.2rem; font-weight:600; }
.mec__item h3 { font-family:var(--serif); font-size:1.35rem; color:var(--paper); margin-bottom:0.3rem; }
.mec__item p { color:var(--paper-2); font-size:0.95rem; }

/* oferta */
.oferta__card { max-width:940px; margin:0 auto; background:linear-gradient(180deg,#0F2247,#0A1A34); border:1px solid var(--line); border-radius:18px; overflow:hidden; display:grid; grid-template-columns:0.9fr 1.1fr; }
.oferta__vis { background:radial-gradient(120% 100% at 30% 10%, #17335f, #0a1a34); display:flex; align-items:center; justify-content:center; padding:2.4rem; }
.oferta__vis img { width:min(78%,300px); border-radius:8px; box-shadow:0 30px 60px -20px rgba(0,0,0,0.7); }
.oferta__body { padding:clamp(1.8rem,4vw,2.8rem); }
.oferta__body h3 { font-family:var(--serif); font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); color:var(--paper); margin-bottom:0.7rem; }
.oferta__promessa { color:var(--paper-2); margin-bottom:1.4rem; }
.oferta__lista { list-style:none; display:flex; flex-direction:column; gap:0.7rem; margin-bottom:1.4rem; }
.oferta__lista li { display:flex; gap:0.65rem; font-size:0.95rem; color:var(--paper); }
.oferta__lista svg { flex:0 0 auto; width:20px; height:20px; color:var(--gold-400); margin-top:2px; }
.oferta__bonus { background:rgba(201,162,75,0.08); border:1px dashed var(--gold-600); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1.4rem; }
.oferta__bonus b { color:var(--gold-300); display:block; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:0.5rem; }
.oferta__bonus ul { list-style:none; display:flex; flex-direction:column; gap:0.4rem; }
.oferta__bonus li { font-size:0.9rem; color:var(--paper-2); padding-left:1rem; position:relative; }
.oferta__bonus li::before { content:"+"; position:absolute; left:0; color:var(--gold-400); font-weight:700; }
.oferta__preco { display:flex; align-items:baseline; gap:0.6rem; flex-wrap:wrap; margin-bottom:0.3rem; }
.oferta__preco .parc { font-size:1.9rem; font-weight:700; color:#fff; }
.oferta__preco .avista { font-size:0.9rem; color:var(--paper-2); }
.oferta__garantia { font-size:0.82rem; color:var(--muted); margin:0.7rem 0 1.3rem; display:flex; align-items:center; gap:0.5rem; }
.oferta__garantia svg { width:18px; height:18px; color:var(--gold-500); }

/* autoridade */
.autor { display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.autor__foto { aspect-ratio:4/5; border-radius:14px; border:1px solid var(--line); background:radial-gradient(120% 120% at 50% 20%, #17325c, #0a1a34); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.autor__foto img { width:100%; height:100%; object-fit:cover; }
.autor__emblema { text-align:center; color:var(--gold-400); }
.autor__emblema b { display:block; font-size:2.2rem; font-family:var(--serif); }
.autor__emblema span { font-size:0.68rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--muted); }
.autor__body h2 { font-family:var(--serif); font-weight:600; font-size:clamp(1.7rem,4vw,2.6rem); color:var(--paper); margin-bottom:1rem; }
.autor__body p { color:var(--paper-2); margin-bottom:1rem; }

/* FAQ */
.faq { max-width:820px; margin:0 auto; }
.faq__item { border:1px solid var(--line); border-radius:10px; margin-bottom:0.8rem; overflow:hidden; background:rgba(20,48,90,0.25); }
.faq__item summary { cursor:pointer; list-style:none; padding:1.1rem 1.3rem; font-weight:600; color:var(--paper); font-size:1rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:"+"; color:var(--gold-400); font-size:1.4rem; font-weight:400; transition:transform 0.3s; }
.faq__item[open] summary::after { transform:rotate(45deg); }
.faq__item p { padding:0 1.3rem 1.2rem; color:var(--paper-2); font-size:0.95rem; }

/* escopo (aviso) */
.escopo { max-width:820px; margin:0 auto; background:rgba(201,162,75,0.06); border:1px solid var(--line); border-radius:12px; padding:clamp(1.4rem,3vw,2rem); }
.escopo b { color:var(--gold-300); }
.escopo p { color:var(--paper-2); font-size:0.95rem; }

/* CTA final */
.cta-final { text-align:center; background:radial-gradient(120% 130% at 50% 0%, var(--navy-700), var(--navy-950)); }
.cta-final h2 { font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem,4.6vw,3rem); color:var(--paper); max-width:18ch; margin:0 auto 1rem; }
.cta-final p { color:var(--paper-2); max-width:56ch; margin:0 auto 2rem; }

/* rodapé */
.rodape { background:var(--navy-950); text-align:center; padding:3rem 1.5rem 2.4rem; border-top:1px solid var(--line); }
.rodape__brand b { font-weight:600; font-size:0.9rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--paper); }
.rodape__brand span { display:block; font-size:0.54rem; letter-spacing:0.5em; text-transform:uppercase; color:var(--gold-500); margin-top:0.3rem; }
.rodape__legal { max-width:640px; margin:1.3rem auto; font-size:0.75rem; color:var(--muted); line-height:1.7; }
.rodape__vantt { font-size:0.78rem; color:var(--muted); }
.rodape__vantt a { color:var(--gold-500); }

/* revelação */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ *{animation:none!important; scroll-behavior:auto} .reveal{opacity:1;transform:none;transition:none} }

/* responsivo */
@media (max-width:820px){
    .mec, .oferta__card, .autor { grid-template-columns:1fr; }
    .oferta__vis { padding:2rem 2rem 0; }
    .autor__foto { max-width:320px; margin:0 auto; }
}
@media (max-width:560px){
    .calc__grid { grid-template-columns:1fr; }
    .r-grid { grid-template-columns:1fr; }
    .calc__card { border-radius:12px; }
    .calc__form, .calc__resultado, .calc__head { padding-left:1.2rem; padding-right:1.2rem; }
}
