/* Programa Vida Financeira Plena — Castellan Finanças */
:root{
  --black:#000000;
  --g1:#0b0f0e;
  --g2:#151b19;
  --line:#26302d;
  --text-d:#f2f5f4;
  --text-d2:#c4cdc9;
  --muted-d:#a9b4b0;
  --light:#f8f8f8;
  --light2:#eef0ee;
  --white:#ffffff;
  --ink:#101513;
  --muted-l:#4d5a56;
  --line-l:#d5dbd8;
  --field-line:#b9c2be;
  --gold:#e4d3ac;
  --gold-d:#84734f;
  --gold-ink:#6b5c3b;
  --green:#9cf4da;
  --green-m:#56b297;
  --green-l:#2e5954;
  --green-l2:#66c3a8;
  --metal:linear-gradient(90deg,#84734f 0%,#e4d3ac 50%,#84734f 100%);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad-x:clamp(20px,5vw,64px);
  --pad-y:clamp(56px,8vw,112px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--green-l2);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Estrutura */
.wrap{max-width:1200px;margin:0 auto}
.sec{padding:var(--pad-y) var(--pad-x)}
.bg-black{background:var(--black)}
.bg-g1{background:var(--g1)}
.bg-light{background:var(--light)}
.stack{display:flex;flex-direction:column}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.on-light .eyebrow{color:var(--gold-ink)}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,56px);line-height:1.05;text-wrap:balance;color:var(--text-d)}
.on-light .h2{color:var(--ink)}
.h2--vsl{font-size:clamp(32px,4.4vw,52px);line-height:1.08}
.hairline{height:1px;background:linear-gradient(90deg,transparent,#84734f 30%,#e4d3ac 50%,#84734f 70%,transparent)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 32px;border-radius:2px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;border:0;transition:filter .2s}
.btn:hover{filter:brightness(1.08)}
.btn-gold{background:var(--metal);color:#14100a}
.btn-outline{border:1px solid var(--green-m);color:var(--green);font-weight:500;background:transparent}
.btn-sm{min-height:44px;padding:0 22px;font-size:15px;font-weight:500;border:1px solid var(--gold-d);color:var(--gold);background:transparent}
.btn-block{width:100%;max-width:420px}
.link-green{color:var(--green);font-weight:500;border-bottom:1px solid var(--green-m);padding-bottom:2px}

/* Foto com moldura metalizada */
.frame{padding:1px;border-radius:4px;background:linear-gradient(160deg,#e4d3ac,#84734f 40%,#e4d3ac 70%,#84734f)}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px}

/* Navegação */
.nav{background:var(--black);padding:0 var(--pad-x)}
.nav-in{max-width:1200px;margin:0 auto;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav-actions{display:flex;align-items:center;gap:14px}
.ig{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--gold);border:1px solid var(--gold-d);border-radius:2px;transition:color .2s,border-color .2s}
.ig:hover{color:var(--green);border-color:var(--green-m)}
.foot nav{align-items:center}
.foot nav a.ig{width:40px;height:40px;margin-top:-10px}
.brand{display:flex;align-items:center;gap:14px}
.brand svg{flex:none}
.brand-name{display:flex;flex-direction:column;gap:1px}
.brand-l1{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--text-d)}
.brand-l2{font-family:var(--serif);font-style:italic;font-weight:600;font-size:38px;line-height:1;padding-right:.08em;background:linear-gradient(90deg,#b8a679,#e4d3ac 50%,#b8a679);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand--foot .brand-l1{font-size:14px}
.brand--foot .brand-l2{font-size:34px}

/* Hero */
.hero{padding:clamp(40px,6vw,88px) var(--pad-x) clamp(48px,7vw,96px)}
.hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,72px)}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,6.2vw,80px);line-height:1.02;color:var(--text-d);text-wrap:balance}
.gold-text{font-style:italic;background:linear-gradient(90deg,#b8a679,#e4d3ac 50%,#b8a679);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{max-width:520px;font-size:clamp(17px,1.6vw,20px);color:var(--muted-d)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.facts{display:flex;flex-wrap:wrap;gap:20px 36px;padding-top:12px;border-top:1px solid var(--line)}
.fact{display:flex;flex-direction:column}
.fact b{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--gold);line-height:1.1}
.fact span{font-size:14px;color:var(--muted-d)}
.hero-photo{flex:1 1 340px;min-width:0;max-width:520px;margin:0 auto}
.hero-photo img{object-position:center 20%}

/* VSL */
.vsl-in{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center}
.vsl-head{display:flex;flex-direction:column;align-items:center;gap:14px}
.vsl-box{width:100%;padding:1px;border-radius:4px;background:linear-gradient(90deg,#84734f,#e4d3ac 50%,#84734f)}
.vsl-screen{width:100%;aspect-ratio:16/9;border-radius:3px;background:#050807;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden}
.vsl-screen iframe,.vsl-screen video{width:100%;height:100%;border:0}
.play{width:76px;height:76px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center}
.vsl-screen small{font-size:14px;color:var(--muted-d)}

/* Aula gratuita */
.aula-in{display:flex;flex-direction:column;gap:clamp(40px,6vw,72px)}
.aula-top{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,72px)}
.aula-photo{flex:1 1 320px;min-width:0;max-width:460px;margin:0 auto}
.aula-photo .frame{background:linear-gradient(160deg,#84734f,#e4d3ac 45%,#84734f)}
.aula-photo img{object-position:center 25%}
.aula-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:26px}
.checks{display:flex;flex-direction:column;gap:10px;color:var(--muted-l);font-size:16px}
.checks li{display:flex;gap:12px;align-items:center}
.checks svg{flex:none}
.form-card{display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--white);border:1px solid #e3e7e5;border-radius:4px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:500;color:var(--ink)}
.field input{width:100%;min-height:52px;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);background:var(--light);border:1px solid var(--field-line);border-radius:2px}
.field input[aria-invalid="true"]{border-color:#9a2b1f}
.form-error{font-size:14px;color:#9a2b1f}
.form-note{font-size:13px;color:var(--muted-l)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.done-card{display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--white);border:1px solid var(--green-l2);border-radius:4px}
.done-card h3{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--green-l)}
.done-card p{color:var(--muted-l)}
.steps{display:flex;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid var(--line-l)}
.step{flex:1 1 240px;min-width:0;display:flex;gap:16px;align-items:flex-start}
.step .step-n{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1;color:var(--gold-d)}
.step strong{display:block;font-weight:600;color:var(--ink)}
.step span{font-size:15px;color:var(--muted-l)}

/* Programa */
.prog-in{display:flex;flex-direction:column;gap:48px}
.prog-head{display:flex;flex-direction:column;gap:14px;max-width:640px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:18px;padding:28px;background:var(--g1);border:1px solid var(--line);border-radius:4px}
.card .kick{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--green)}
.card h3{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1;color:var(--text-d);margin-top:8px}
.card .rule{height:1px;background:linear-gradient(90deg,#84734f,#e4d3ac 50%,transparent)}
.card ul{display:flex;flex-direction:column;gap:8px;font-size:16px;color:var(--text-d2)}
.card--wide{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:28px 48px;border-color:var(--gold-d)}
.card--wide .kick{color:var(--gold)}
.card--wide .intro{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px}
.card--wide .intro p{font-size:16px;color:var(--muted-d)}
.card--wide ul{flex:2 1 360px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px 28px;align-content:start}

/* Para quem */
.who-in{display:flex;flex-direction:column;gap:48px}
.who{display:flex;flex-wrap:wrap;gap:24px}
.who-yes{flex:2 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:32px;background:var(--white);border:1px solid var(--green-l2);border-radius:4px}
.who-no{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:32px;background:var(--light2);border:1px solid var(--line-l);border-radius:4px}
.who h3{font-family:var(--serif);font-weight:600;font-size:30px}
.who-yes h3{color:var(--green-l)}
.who-no h3{color:var(--muted-l)}
.who ul{display:flex;flex-direction:column;gap:12px;font-size:17px}
.who-yes ul{color:var(--ink)}
.who-no ul{color:var(--muted-l)}
.who li{display:flex;gap:12px;align-items:flex-start}
.who li svg{flex:none;margin-top:3px}

/* Depoimentos */
.quotes-in{display:flex;flex-direction:column;gap:48px}
.quotes-head{display:flex;flex-direction:column;gap:14px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.quote{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:32px;background:var(--g2);border:1px solid var(--line);border-radius:4px}
.quote blockquote{font-size:17px;line-height:1.6;color:#e3e7e5}
.quote figcaption{display:flex;flex-direction:column}
.quote figcaption strong{font-weight:600;color:var(--gold)}
.quote figcaption span{font-size:14px;color:var(--muted-d)}

/* Vivian */
.about-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,72px)}
.about-photo{flex:1 1 320px;min-width:0;max-width:460px;margin:0 auto}
.about-photo .frame{background:linear-gradient(160deg,#84734f,#e4d3ac 45%,#84734f)}
.about-photo img{object-position:center 22%}
.about-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
.about-text p{max-width:540px;font-size:18px;color:var(--muted-l)}
.about-text .short{height:1px;width:160px;background:linear-gradient(90deg,#84734f,#e4d3ac)}
.about-text .btn{align-self:flex-start}

/* Oferta */
.offer-in{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center}
.offer-head{display:flex;flex-direction:column;align-items:center;gap:14px}
.offer-frame{width:100%}
.offer-card{display:flex;flex-direction:column;align-items:center;gap:24px;padding:clamp(28px,5vw,48px);background:var(--g1);border-radius:3px}
.offer-card h3{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--text-d)}
.price{display:flex;flex-direction:column;align-items:center;gap:4px}
.price b{font-family:var(--serif);font-weight:600;font-size:clamp(44px,7vw,68px);line-height:1;color:var(--gold)}
.price span{font-size:15px;color:var(--muted-d);max-width:360px}
.offer-list{display:flex;flex-direction:column;gap:10px;text-align:left;font-size:16px;color:var(--text-d2)}
.offer-list li{display:flex;gap:12px;align-items:flex-start}
.offer-list svg{flex:none;margin-top:4px}
.offer-note{font-size:15px;color:var(--muted-d)}
.offer-note a{color:var(--green);border-bottom:1px solid var(--green-m)}

/* FAQ */
.faq-in{display:flex;flex-direction:column;gap:48px}
.faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 56px}
.faq div{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-top:1px solid var(--line-l)}
.faq h3{font-size:18px;font-weight:600;color:var(--ink)}
.faq p{color:var(--muted-l)}

/* Rodapé */
.foot{background:var(--black);padding:0 var(--pad-x)}
.foot-in{max-width:1200px;margin:0 auto;padding:48px 0 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.foot-brand{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:18px}
.foot-brand p{max-width:420px;font-size:14px;color:var(--muted-d)}
.foot nav{display:flex;flex-wrap:wrap;gap:12px 32px;align-content:flex-start;font-size:15px;color:var(--text-d2)}
.foot nav a:hover{color:var(--gold)}
.foot-legal{max-width:1200px;margin:0 auto;padding:20px 0 32px;border-top:1px solid var(--line);font-size:13px;color:var(--muted-d)}
.foot-legal a:hover{color:var(--gold)}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 18px;border-radius:28px;background:#128c4f;color:#fff;font-size:16px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s}
.wa-float:hover{transform:translateY(-2px)}

/* Logo animado */
.lg-bar{transform-box:fill-box;transform-origin:50% 100%}
.lg-dot{transform-box:fill-box;transform-origin:50% 50%}
@keyframes lgGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes lgDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes lgSweep{0%{stroke-dashoffset:1;opacity:1}18%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes lgDot{0%,14%{transform:scale(0);opacity:0}22%{transform:scale(1.35);opacity:1}28%{transform:scale(1);opacity:1}90%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .lg-bar{animation:lgGrow 1s cubic-bezier(.2,.8,.2,1) both}
  .lg-b2{animation-delay:.15s}
  .lg-b3{animation-delay:.3s}
  .lg-ring{stroke-dasharray:1;animation:lgDraw 1.8s ease-out both}
  .lg-sw{stroke-dasharray:1;animation:lgSweep 8s ease-in-out .9s infinite both}
  .lg-dot{animation:lgDot 8s ease-in-out .9s infinite both}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.wa-float{transition:none}}

@media (max-width:480px){
  .wa-float span{display:none}
  .wa-float{padding:0 16px}
  .form-card,.done-card{padding:22px}
  .brand svg{width:44px;height:44px}
  .brand-l2{font-size:32px}
  .btn-sm{padding:0 14px;font-size:14px}
  .nav-actions{gap:8px}
  .nav-actions .ig{width:40px;height:40px}
  .nav-in{flex-wrap:nowrap;gap:10px}
  .brand{gap:10px}
  .brand-l1{font-size:12px;letter-spacing:.1em;white-space:nowrap}
  .btn-sm{white-space:nowrap}
}
