:root{
  --deep:#062E2C; --forest:#0B4A44; --teal:#0F6B6F; --gold:#C8A46B; --gold-lite:#F3D79A; --on-gold:#062E2C;
  --on-deep:#F5F2EC; --on-deep-muted:#C3D2CB;
  --bg:#F5F2EC; --surface:#FFFDF9; --ink:#0E3035; --muted:#536768; --line:#E6DDCC; --kicker:#85642A; --tile:#062E2C;
  --shadow:0 16px 40px -22px rgba(6,46,44,.38);
  --display:"Montserrat", "Segoe UI", system-ui, sans-serif;
  --text:"Lato", "Helvetica Neue", Arial, sans-serif;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#082826; --surface:#0E3532; --ink:#EEF1EA; --muted:#A8BCB6; --line:#1F4A45; --kicker:#E2C48C; --tile:#0A3F3B; --shadow:0 16px 40px -22px rgba(0,0,0,.8); color-scheme:dark; }
}
:root[data-theme="dark"]{ --bg:#082826; --surface:#0E3532; --ink:#EEF1EA; --muted:#A8BCB6; --line:#1F4A45; --kicker:#E2C48C; --tile:#0A3F3B; --shadow:0 16px 40px -22px rgba(0,0,0,.8); color-scheme:dark; }
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px); background:var(--deep)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--ink); font:17px/1.6 var(--text); -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display); margin:0; line-height:1.15; letter-spacing:-.015em}
p{margin:0}
.wrap{width:min(1200px, calc(100% - 40px)); margin-inline:auto}
.ic{width:22px; height:22px; flex:none}
a:focus-visible, button:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:10px}
.gold-text{color:var(--gold-lite)}

/* Botões: pílula, como no conceito */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:700 15px/1 var(--display); padding:15px 24px; border-radius:999px; text-decoration:none; transition:transform .2s ease, background-color .2s ease; white-space:nowrap}
.btn .chev{width:18px; height:18px}
.btn-gold{background:linear-gradient(180deg,#F7DFA6 0%,#D9B676 55%,#C8A46B 100%); color:var(--on-gold); box-shadow:0 10px 22px -12px rgba(200,164,107,.95), inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--gold); color:var(--on-deep); background:rgba(6,46,44,.35)}
.btn-ghost:hover{background:rgba(200,164,107,.16)}
.btn-line{border:1.5px solid var(--gold); color:var(--ink); background:var(--surface)}
.btn-line:hover{background:rgba(200,164,107,.14)}

/* Cabeçalho */
.top{background:var(--deep); border-bottom:1px solid rgba(200,164,107,.28); position:relative; z-index:20}
.top-in{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:92px}
.brand img{height:72px; width:auto}
.nav{display:flex; align-items:center; gap:24px}
.nav a{color:var(--on-deep); text-decoration:none; font:600 14px/1 var(--display); padding:10px 0; border-bottom:2px solid transparent}
.nav a:hover{color:var(--gold-lite)}
.nav a.on{color:var(--gold-lite); border-bottom-color:var(--gold)}
.nav .nav-cta{border:1.5px solid var(--gold); border-radius:999px; padding:12px 20px; color:var(--on-deep); display:inline-flex; gap:8px; align-items:center; margin-left:6px}
.nav .nav-cta .ic{color:var(--gold-lite)}
.nav .nav-cta:hover{background:rgba(200,164,107,.16)}
.menu{display:none; background:none; border:1.5px solid rgba(200,164,107,.6); color:var(--on-deep); border-radius:12px; width:46px; height:42px; cursor:pointer}
.menu span,.menu span::before,.menu span::after{display:block; width:20px; height:2px; background:currentColor; margin:auto; position:relative; content:""}
.menu span::before{position:absolute; top:-6px} .menu span::after{position:absolute; top:6px}

/* Hero */
.hero{position:relative; background:var(--deep) url(/assets/img/hero.webp) right center / cover no-repeat; color:var(--on-deep); overflow:hidden}
.hero::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,36,34,.94) 0%, rgba(4,36,34,.78) 40%, rgba(4,36,34,0) 64%)}
.swoosh{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
.neon{position:absolute; right:3.5%; top:15%; width:118px; opacity:.85; filter:drop-shadow(0 0 10px rgba(255,214,140,.75)) drop-shadow(0 0 26px rgba(255,200,110,.45)); pointer-events:none}
.hero-in{position:relative; padding:76px 0 150px; max-width:680px}
.eyebrow{font:700 13px/1 var(--display); letter-spacing:.18em; color:var(--on-deep-muted); margin-bottom:20px}
.hero h1{font-size:clamp(32px, 4vw, 52px); font-weight:700; line-height:1.08}
.hero h1 .gold-text{white-space:nowrap}
.hero-lead{display:flex; gap:18px; align-items:flex-start; margin:24px 0 32px; color:var(--on-deep-muted); font-size:18px; line-height:1.55; max-width:560px}
.hero-lead::before{content:""; flex:none; width:52px; height:2px; background:var(--gold); margin-top:13px}
.actions{display:flex; flex-wrap:wrap; gap:14px}
.hero-pets{display:none}

/* Barra de números (sobe sobre o hero) */
.facts-bar{position:relative; z-index:3; margin-top:-72px}
.facts{display:grid; grid-template-columns:repeat(4,1fr); background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow)}
.fact{display:flex; gap:16px; align-items:center; padding:24px 26px}
.fact + .fact{border-left:1px solid var(--line)}
.fact .ic{width:44px; height:44px; color:var(--kicker)}
.fact strong{display:block; font:700 19px/1.2 var(--display)}
.fact span{font-size:14.5px; color:var(--muted)}

/* Frentes */
.fronts{padding:26px 0 0}
.fronts-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.front{display:flex; gap:16px; align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:20px 18px; text-decoration:none; color:var(--ink); box-shadow:var(--shadow); transition:transform .2s ease, border-color .2s ease}
.front:hover{transform:translateY(-3px); border-color:var(--gold)}
.front img{width:68px; height:68px; border-radius:14px; flex:none}
.front h3{font-size:19px; font-weight:700; margin-bottom:4px; line-height:1.1}
.front h3 .gold{color:var(--kicker); display:block}
.front p{font-size:14px; line-height:1.45; color:var(--muted)}
.front .go{margin-left:auto; color:var(--kicker)}
.front .go .ic{width:20px; height:20px}

/* Sobre + Academia */
.duo{display:grid; grid-template-columns:1.25fr 1fr; gap:24px; padding:56px 0 0}
.about{display:grid; grid-template-columns:230px 1fr; gap:28px; align-items:center; background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:20px; box-shadow:var(--shadow)}
.about figure{margin:0; height:100%; min-height:300px; border-radius:16px; overflow:hidden}
.about figure img{width:100%; height:100%; object-fit:cover; object-position:62% 30%}
.kicker{display:flex; align-items:center; gap:12px; color:var(--kicker); font:700 13px/1.2 var(--display); letter-spacing:.06em; margin-bottom:12px}
.kicker::before{content:""; width:28px; height:2px; background:var(--gold)}
.about h2{font-size:clamp(25px,2.4vw,31px); font-weight:800}
.about p{margin-top:12px; color:var(--muted); font-size:16px}
.cv{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:8px}
.cv li{position:relative; padding-left:22px; font-size:14.5px; line-height:1.45; color:var(--muted)}
.cv li::before{content:""; position:absolute; left:2px; top:7px; width:8px; height:8px; border-radius:50%; background:var(--gold)}
.cv strong{color:var(--ink)}
.about .btn{margin-top:20px}

.academy{position:relative; overflow:hidden; border-radius:22px; background:radial-gradient(ellipse 70% 90% at 85% 10%, #0E5A51 0%, rgba(14,90,81,0) 60%), linear-gradient(135deg, #062E2C 0%, #0A433E 100%); color:var(--on-deep); padding:32px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:28px; align-items:center; box-shadow:var(--shadow)}
.academy-head{display:flex; gap:14px; align-items:center; margin-bottom:12px}
.academy-head .ic{width:52px; height:52px; color:var(--gold-lite)}
.academy h2{font-size:clamp(26px,2.6vw,32px); font-weight:700; line-height:1.05}
.academy h2 span{display:block; color:var(--gold-lite)}
.academy .sub{margin:4px 0 16px; color:var(--on-deep-muted); font-size:16.5px}
.checks{list-style:none; margin:0 0 22px; padding:0; display:grid; gap:9px}
.checks li{display:flex; gap:10px; align-items:center; font-size:15px}
.checks svg{width:20px; height:20px; flex:none}
.academy .disc{margin-top:12px; font-size:12.5px; color:var(--on-deep-muted)}

/* Notebook desenhado em CSS */
.laptop{position:relative; width:calc(100% - 18px); max-width:240px; justify-self:center}
.screen{background:#111; border-radius:12px 12px 4px 4px; padding:8px; box-shadow:0 22px 40px -18px rgba(0,0,0,.7)}
.ui{background:#0A3B37; border-radius:6px; overflow:hidden; aspect-ratio:16/10.5; display:grid; grid-template-rows:auto 1fr}
.ui-bar{display:flex; align-items:center; gap:6px; padding:6px 8px; background:#062E2C; border-bottom:1px solid rgba(200,164,107,.3)}
.ui-bar img{height:12px; width:auto}
.ui-bar i{display:block; height:4px; width:16px; border-radius:2px; background:rgba(245,242,236,.25)}
.ui-bar i:first-of-type{margin-left:auto}
.ui-body{display:grid; grid-template-columns:1.6fr 1fr; gap:6px; padding:7px}
.ui-video{position:relative; border-radius:5px; overflow:hidden; background:#062E2C}
.ui-video img{width:100%; height:100%; object-fit:cover; object-position:50% 25%}
.ui-video b{position:absolute; inset:0; margin:auto; width:30px; height:30px; border-radius:50%; background:rgba(6,46,44,.75); border:1.5px solid #F3D79A; display:grid; place-items:center}
.ui-video b::after{content:""; border-left:9px solid #F3D79A; border-top:6px solid transparent; border-bottom:6px solid transparent; margin-left:3px}
.ui-list{display:grid; gap:5px; align-content:start}
.ui-list span{display:flex; align-items:center; gap:4px; background:rgba(245,242,236,.08); border-radius:3px; padding:4px}
.ui-list span::before{content:""; width:6px; height:6px; border-radius:50%; background:#C8A46B; flex:none}
.ui-list span::after{content:""; height:3px; flex:1; border-radius:2px; background:rgba(245,242,236,.3)}
.base{height:12px; margin:0 -18px; background:linear-gradient(180deg,#d9d6d0,#9b9892); border-radius:0 0 14px 14px; position:relative}
.base::before{content:""; position:absolute; left:50%; top:0; transform:translateX(-50%); width:60px; height:5px; background:#8a8780; border-radius:0 0 6px 6px}

/* Soluções com imagem */
.solutions{padding:72px 0 0}
.sec-title{text-align:center; font-size:clamp(26px,3vw,36px); font-weight:800; margin-bottom:28px}
.sol-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.sol{background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; color:var(--ink); box-shadow:var(--shadow)}
.sol figure{margin:0; aspect-ratio:16/10; overflow:hidden; background:var(--tile)}
.sol figure img{width:100%; height:100%; object-fit:cover}
.sol div{padding:18px 18px 22px}
.sol h3{font-size:18px; font-weight:700; margin-bottom:6px}
.sol p{font-size:14.5px; line-height:1.5; color:var(--muted)}
.sol div{display:flex; flex-direction:column; gap:8px; height:auto}
.sol{display:flex; flex-direction:column}
.sol > div{flex:1}
.deliv{padding-top:10px; border-top:1px solid var(--line)}
.deliv b{color:var(--ink)}
.sol-cta{margin-top:auto; padding-top:6px; display:inline-flex; align-items:center; gap:8px; font:700 14.5px/1 var(--display); color:var(--kicker); text-decoration:none}
.sol-cta .ic{width:18px; height:18px}
.sol-cta:hover{text-decoration:underline; text-underline-offset:4px}
.sec-lead{text-align:center; color:var(--muted); margin:-16px auto 28px; max-width:560px}

/* Trajetória */
/* fio dourado fino e nítido no topo, sem cruzar o conteúdo */
.train{border-top:1px solid rgba(200,164,107,.45); border-bottom:1px solid rgba(200,164,107,.45); background:radial-gradient(ellipse 60% 80% at 90% 20%, #0E5A51 0%, rgba(14,90,81,0) 65%), linear-gradient(160deg, #062E2C 0%, #0A433E 100%); color:var(--on-deep); margin-top:76px}
.train-in{display:grid; grid-template-columns:1fr 1.1fr; gap:48px; padding:64px 0; align-items:center}
.train h2{font-size:clamp(26px,3vw,36px); font-weight:800}
.train-copy p:not(.kicker){color:var(--on-deep-muted); margin:14px 0 26px; max-width:470px}
.kicker-dark{color:var(--gold-lite)}
.themes{list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:t}
.themes li{counter-increment:t; display:grid; grid-template-columns:44px 1fr; column-gap:14px; background:rgba(245,242,236,.06); border:1px solid rgba(200,164,107,.28); border-radius:16px; padding:16px 18px}
.themes li::before{content:counter(t); grid-row:span 2; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(180deg,#F7DFA6,#C8A46B); color:var(--on-gold); font:800 16px/1 var(--display)}
.themes b{font:700 16px/1.3 var(--display)}
.themes span{font-size:14px; color:var(--on-deep-muted)}
.story{padding:76px 0 84px}
.photos{display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:18px; margin-top:8px}
.photos figure{margin:0; position:relative; border-radius:18px; overflow:hidden; height:340px; background:var(--tile)}
.photos img{width:100%; height:100%; object-fit:cover}
.photos figcaption{position:absolute; left:12px; right:12px; bottom:12px; background:rgba(6,46,44,.86); color:var(--on-deep); font:600 13.5px/1.3 var(--display); padding:10px 14px; border-radius:10px}

/* Formulário */
.lead{padding:0 0 84px}
.lead-in{display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:start; background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:44px; box-shadow:var(--shadow)}
.lead h2{font-size:clamp(26px,3vw,34px); font-weight:800}
.lead-copy > p:not(.kicker){color:var(--muted); margin-top:12px}
.steps{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:16px}
.steps li{display:flex; gap:14px; align-items:flex-start; font-size:15px; color:var(--muted)}
.steps .ic{width:40px; height:40px; padding:9px; border-radius:12px; background:var(--tile); color:var(--gold-lite); box-sizing:border-box}
.steps b{color:var(--ink); display:block}
.form{display:grid; gap:14px}
.row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.form label{display:grid; gap:6px; font:600 13.5px/1.2 var(--display); color:var(--ink)}
.form input,.form select,.form textarea{font:16px/1.4 var(--text); color:var(--ink); background:var(--bg); border:1.5px solid #8C9A97; border-radius:12px; padding:12px 14px; width:100%; min-width:0}
.form textarea{resize:vertical}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--gold); outline-offset:1px}
.form [aria-invalid="true"]{border-color:#B3261E}
.form .btn{justify-self:start; border:0; cursor:pointer}
.err{color:#B3261E; font-weight:700; font-size:14px}
.lgpd{font-size:12.5px; color:var(--muted)}
.done[hidden]{display:none}
.done{display:grid; gap:12px; padding:18px; border-radius:16px; background:var(--bg); border:1px solid var(--gold)}
.done textarea{font-size:14px}
.done-actions{display:flex; flex-wrap:wrap; gap:10px}
.done-actions .btn{cursor:pointer}

/* Botão flutuante */
.float{position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:30; display:inline-flex; align-items:center; gap:8px; padding:14px 18px; border-radius:999px; background:linear-gradient(180deg,#F7DFA6,#C8A46B); color:var(--on-gold); font:700 14px/1 var(--display); text-decoration:none; box-shadow:0 12px 28px -10px rgba(0,0,0,.5)}
.float .ic{width:20px; height:20px}

/* Chamada final */
.cta{position:relative; overflow:hidden; background:radial-gradient(ellipse 50% 120% at 75% 50%, #0E5A51 0%, rgba(14,90,81,0) 70%), linear-gradient(90deg, #062E2C 0%, #0A433E 100%); color:var(--on-deep)}
.cta-in{position:relative; display:flex; align-items:center; gap:32px; padding:50px 0}
.cta-ghost{position:absolute; left:-70px; top:50%; transform:translateY(-50%); width:320px; opacity:.07; pointer-events:none}
.cta-logo{height:84px; width:auto; flex:none}
.cta-line{width:2px; align-self:stretch; background:var(--gold); opacity:.8}
.cta-quote{font:italic 400 clamp(22px,2.4vw,30px)/1.25 var(--text); flex:1}

/* Rodapé */
.foot{background:#041F1E; color:var(--on-deep-muted); font-size:14px}
.foot-in{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; padding:22px 0}
.foot a{color:var(--gold-lite); text-decoration:none; font-weight:700}

/* Responsivo */
@media (max-width:1180px){ .nav{gap:16px} .nav a{font-size:13px} }
@media (max-width:1100px){
  .fronts-grid, .sol-grid{grid-template-columns:repeat(2,1fr)}
  .duo{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(3){border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:980px){
  .train-in,.lead-in{grid-template-columns:1fr; gap:30px}
  .menu{display:block}
  .nav{display:none; position:absolute; left:0; right:0; top:100%; background:var(--deep); flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 20px; border-bottom:1px solid rgba(200,164,107,.25)}
  .nav.open{display:flex}
  .nav a{padding:15px 0; font-size:15px; border-bottom:1px solid rgba(245,242,236,.08)}
  .nav a.on{border-bottom-color:rgba(245,242,236,.08)}
  .nav .nav-cta{margin:14px 0 0; justify-content:center}
  .neon{display:none}
  .photos{grid-template-columns:1fr 1fr}
  .photos figure:first-child{grid-column:1 / -1}
  .cta-in{flex-wrap:wrap}
  .cta-line{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .brand img{height:54px}
  .top-in{min-height:76px}
  .hero{background:radial-gradient(ellipse 95% 55% at 50% 74%, #0B4A42 0%, #073B36 45%, #062E2C 100%)}
  .hero::before{background:none}
  .swoosh{display:none}
  .hero-in{padding:40px 0 100px}
  .eyebrow{font-size:11px; letter-spacing:.14em}
  .hero-lead::before{display:none}
  .actions .btn{flex:1 1 100%}
  .hero-pets{display:block; width:min(100%, 340px); margin:26px auto -8px; aspect-ratio:465/560; object-fit:cover; object-position:50% 20%;
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%), linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%);
    -webkit-mask-composite:source-in;
            mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%), linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%);
            mask-composite:intersect}
  .facts{grid-template-columns:1fr 1fr}
  .fact{padding:18px 16px; gap:10px; flex-direction:column; align-items:flex-start}
  .fact .ic{width:34px; height:34px}
  .fact strong{font-size:16px}
  .fact span{font-size:13px}
  .fronts-grid, .sol-grid{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .about figure{min-height:280px}
  .academy{grid-template-columns:1fr; padding:26px 22px}
  .laptop{justify-self:center; margin-top:12px; max-width:270px}
  .academy .btn{width:100%}
  .photos{grid-template-columns:1fr}
  .photos figure{height:300px}
  .cta-in{flex-direction:column; align-items:flex-start; gap:20px}
  .cta .btn{width:100%}
  .lead-in{padding:26px 20px; border-radius:20px}
  .row{grid-template-columns:1fr}
  .form .btn{justify-self:stretch}
  .float span{display:none}
  .float{padding:15px}
  .train-in{padding:48px 0}
  .themes li{grid-template-columns:36px 1fr; padding:14px}
  .themes li::before{width:34px; height:34px; font-size:14px}
}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none !important} }

/* ===== Navegação entre páginas ===== */
[data-view][hidden]{display:none !important}
.wa-only{display:none !important}
html.has-wa .wa-only{display:inline-flex !important}
html.has-wa .no-wa{display:none !important}
:root{--gold-soft:#F4EAD7}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--gold-soft:#2C2A1C} }
:root[data-theme="dark"]{--gold-soft:#2C2A1C}
.nav{gap:20px}
.nav a{font-size:13.5px}
.view-title:focus{outline:none}

/* ===== Abertura das páginas internas ===== */
.p-hero{background:radial-gradient(ellipse 55% 90% at 88% 15%, #0E5A51 0%, rgba(14,90,81,0) 65%), linear-gradient(150deg,#062E2C 0%,#0A433E 100%); color:var(--on-deep); border-bottom:1px solid rgba(200,164,107,.4)}
.p-hero-in{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:48px; align-items:center; padding:48px 0 60px}
.crumb{font:600 13px/1.4 var(--display); color:var(--on-deep-muted); margin-bottom:18px}
.crumb a{color:var(--gold-lite); text-decoration:none}
.crumb a:hover{text-decoration:underline}
.p-eyebrow{font:700 12.5px/1.4 var(--display); letter-spacing:.14em; color:var(--gold-lite); margin-bottom:14px}
.p-hero h1{font-size:clamp(28px,3.5vw,44px); font-weight:800; line-height:1.1}
.p-hero .sub{color:var(--on-deep-muted); font-size:18px; line-height:1.55; margin:18px 0 28px; max-width:640px}
.p-visual{display:flex; justify-content:center}
.p-visual .icon{width:min(200px,100%); border-radius:40px; filter:drop-shadow(0 0 24px rgba(243,215,154,.28)) drop-shadow(0 22px 40px rgba(0,0,0,.45))}
.p-visual .photo{margin:0; width:100%; border-radius:20px; overflow:hidden; border:1px solid rgba(200,164,107,.45); box-shadow:0 24px 50px -24px rgba(0,0,0,.7); aspect-ratio:4/3}
.p-visual .photo img{width:100%; height:100%; object-fit:cover}

/* ===== Corpo das páginas ===== */
.p-body{padding:56px 0 8px; display:grid; gap:56px}
.blk h2{font-size:clamp(23px,2.5vw,31px); font-weight:800; margin-bottom:12px}
.blk > p{color:var(--muted); max-width:780px; font-size:17px}
.blk > p + p{margin-top:10px}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.chips span{background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:9px 16px; font:600 14px/1.2 var(--display); color:var(--ink)}
.steps2{list-style:none; counter-reset:s; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; padding:0; margin:20px 0 0}
.steps2 li{counter-increment:s; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:var(--shadow)}
.steps2 li::before{content:counter(s); display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:linear-gradient(180deg,#F7DFA6,#C8A46B); color:var(--on-gold); font:800 16px/1 var(--display); margin-bottom:14px}
.steps2 small{display:block; font:700 12px/1.3 var(--display); letter-spacing:.08em; color:var(--kicker); margin-bottom:4px}
.steps2 b{display:block; font:700 17px/1.3 var(--display); margin-bottom:6px}
.steps2 p{color:var(--muted); font-size:15px; line-height:1.5}
.two{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.box{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:var(--shadow)}
.box h3{font-size:19px; font-weight:700; margin-bottom:12px}
.box p{color:var(--muted); font-size:15.5px}
.box.deep{background:#062E2C; border-color:#062E2C; color:var(--on-deep)}
.box.deep p{color:var(--on-deep-muted)}
.ticks{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.ticks li{display:flex; gap:10px; align-items:flex-start; font-size:15.5px; line-height:1.45}
.ticks li svg{width:20px; height:20px; flex:none; margin-top:1px}
.ticks.no li svg circle{fill:#8C9A97}
.box .fine{margin-top:14px; font-size:14px}
.note{display:flex; gap:14px; align-items:flex-start; background:var(--gold-soft); border:1px solid var(--gold); border-radius:16px; padding:16px 18px; font-size:15.5px; line-height:1.5; color:var(--ink); max-width:880px}
.note .ic{color:var(--kicker); width:24px; height:24px; margin-top:1px}
.note b{font-family:var(--display)}
.note a{color:var(--kicker); font-weight:700}
.cards3{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-top:20px}
.topic{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:var(--shadow)}
.topic .ic{width:30px; height:30px; color:var(--kicker); margin-bottom:12px}
.topic b{display:block; font:700 17px/1.3 var(--display); margin-bottom:6px}
.topic p{color:var(--muted); font-size:15px; line-height:1.5}
.quote{margin:0; padding:26px 30px; border-radius:20px; background:#062E2C; color:var(--on-deep); font:italic 400 clamp(18px,2vw,22px)/1.5 var(--text); max-width:880px}
.table-wrap{overflow-x:auto; margin-top:18px; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow)}
.compare{width:100%; min-width:560px; border-collapse:collapse; background:var(--surface); font-size:15px}
.compare th{background:#062E2C; color:var(--gold-lite); font:700 15px/1.3 var(--display); text-align:left; padding:16px 18px}
.compare td{padding:14px 18px; border-top:1px solid var(--line); color:var(--ink); vertical-align:top; width:50%}
.compare td:first-child{color:var(--muted)}
.timeline{list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.timeline li{background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--gold); border-radius:16px; padding:22px; box-shadow:var(--shadow)}
.timeline small{display:block; font:800 13px/1 var(--display); letter-spacing:.08em; color:var(--kicker); margin-bottom:10px}
.timeline b{display:block; font:700 18px/1.3 var(--display); margin-bottom:8px}
.timeline p{color:var(--muted); font-size:15px; line-height:1.5}
.proof{display:grid; grid-template-columns:1.4fr 1fr; gap:16px; margin-top:20px}
.proof figure{margin:0; position:relative; border-radius:18px; overflow:hidden; height:320px; background:var(--tile)}
.proof img{width:100%; height:100%; object-fit:cover}
.proof figcaption{position:absolute; left:12px; right:12px; bottom:12px; background:rgba(6,46,44,.88); color:var(--on-deep); font:600 13.5px/1.35 var(--display); padding:10px 14px; border-radius:10px}
.faq{margin-top:18px; display:grid; gap:10px; max-width:900px}
.faq details{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:0 20px}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 0; font:700 16px/1.35 var(--display); color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font:600 24px/1 var(--display); color:var(--kicker); flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px; color:var(--muted); font-size:15.5px}
.faq summary:focus-visible{outline:3px solid var(--gold); outline-offset:4px; border-radius:6px}
.p-cta{background:radial-gradient(ellipse 50% 120% at 80% 50%, #0E5A51 0%, rgba(14,90,81,0) 70%), linear-gradient(90deg,#062E2C,#0A433E); color:var(--on-deep); border-radius:24px; padding:44px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between}
.p-cta h2{font-size:clamp(22px,2.6vw,30px); font-weight:800}
.p-cta p{color:var(--on-deep-muted); margin-top:8px; max-width:560px}
.p-cta .actions{flex:none}
.back{display:inline-flex; align-items:center; gap:8px; margin:28px 0 64px; font:700 14.5px/1 var(--display); color:var(--kicker); text-decoration:none}
.back .ic{transform:rotate(180deg); width:18px; height:18px}
.back:hover{text-decoration:underline; text-underline-offset:4px}
.status-pill{display:inline-flex; align-items:center; gap:8px; background:rgba(243,215,154,.14); border:1px solid rgba(243,215,154,.55); color:var(--gold-lite); border-radius:999px; padding:7px 14px; font:700 13px/1 var(--display); margin-bottom:18px}
.status-pill::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--gold-lite)}

/* ===== Formulários ===== */
.form-card{background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:36px; box-shadow:var(--shadow)}
.form-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:start}
.form fieldset{border:1px dashed var(--line); border-radius:16px; padding:16px; margin:0; display:grid; gap:14px}
.form legend{font:700 13.5px/1 var(--display); color:var(--kicker); padding:0 6px}
.form .check{display:flex; gap:10px; align-items:flex-start; font:400 14.5px/1.45 var(--text); color:var(--muted)}
.form .check input{width:20px; height:20px; flex:none; margin-top:1px; accent-color:#0F6B6F; padding:0}
.form .opt{font-weight:400; color:var(--muted)}
.form fieldset[hidden]{display:none}
.nav a, .nav .nav-cta{white-space:nowrap}
.hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
.ok{display:flex; gap:12px; align-items:flex-start; padding:18px; border-radius:16px; background:#E3F1EA; border:1px solid #2E8B78; color:#0E3035; font-size:15.5px}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ok{background:#123F37; color:#EEF1EA} }
:root[data-theme="dark"] .ok{background:#123F37; color:#EEF1EA}
.ok[hidden],.fail[hidden],.done[hidden]{display:none}
.fail{padding:16px 18px; border-radius:14px; border:1.5px solid #B3261E; color:var(--ink); background:var(--surface); font-size:15px}
.fail b{color:#B3261E}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .fail b{color:#F2938A} }
.other-flows{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); font-size:14.5px; color:var(--muted)}
.other-flows a{color:var(--kicker); font-weight:700}

/* ===== Rodapé completo ===== */
.foot-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:32px; padding:40px 0 26px}
.foot-grid img{height:56px; width:auto; margin-bottom:12px}
.foot-grid p{font-size:14px; line-height:1.6}
.foot-grid h3{font:700 13px/1 var(--display); letter-spacing:.1em; color:var(--gold-lite); margin-bottom:14px}
.foot-grid ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.foot-grid ul a{color:var(--on-deep); font-weight:400}
.foot-bottom{border-top:1px solid rgba(200,164,107,.18); padding:16px 0 22px; font-size:12.5px}

@media (max-width:1100px){
  .menu{display:block}
  .nav{display:none; position:absolute; left:0; right:0; top:100%; background:var(--deep); flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 20px; border-bottom:1px solid rgba(200,164,107,.25)}
  .nav.open{display:flex}
  .nav a{padding:15px 0; font-size:15px; border-bottom:1px solid rgba(245,242,236,.08)}
  .nav a.on{border-bottom-color:rgba(245,242,236,.08)}
  .nav .nav-cta{margin:14px 0 0; justify-content:center}
  .form-grid{grid-template-columns:1fr; gap:28px}
}
@media (max-width:900px){
  .p-hero-in{grid-template-columns:1fr; gap:28px}
  .p-visual .icon{display:none}
  .two,.timeline{grid-template-columns:1fr}
  .proof{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .p-hero-in{padding:32px 0 40px}
  .p-hero .sub{font-size:16.5px}
  .p-hero .actions .btn{flex:1 1 100%}
  .p-body{padding-top:40px; gap:44px}
  .p-cta{padding:28px 22px}
  .p-cta .actions{width:100%}
  .p-cta .actions .btn{flex:1 1 100%}
  .form-card{padding:24px 18px; border-radius:20px}
  .proof figure{height:260px}
  .foot-grid{grid-template-columns:1fr}
}

/* Menu com 8 seções + Área do cliente: compacta antes de virar o menu de celular (que entra em 1100px). */
@media (min-width:1101px) and (max-width:1340px){ .nav{gap:14px} .nav a{font-size:13px} .nav .nav-cta{padding:10px 14px} .brand img{height:60px} }
/* Atributo hidden sempre esconde (os blocos .note e afins usam display próprio). */
[hidden]{display:none !important}
/* WhatsApp no meio de uma frase: inline, para não engolir os espaços em volta. */
html.has-wa .wa-texto{display:inline !important}

/* Cartões dos planos (página Nutrição e planos), montados pelo site.js com os planos publicados no painel */
.planos-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:20px; align-items:stretch}
.plano-card{position:relative; display:flex; flex-direction:column; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:var(--shadow)}
.plano-card.destaque{border:2px solid var(--gold); box-shadow:0 24px 50px -26px rgba(200,164,107,.9)}
.plano-selo{position:absolute; z-index:1; top:-13px; left:22px; background:linear-gradient(180deg,#F7DFA6,#C8A46B); color:var(--on-gold); font:800 12px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; padding:7px 12px; border-radius:999px}
.plano-foto{display:block; width:100%; aspect-ratio:5/3; object-fit:cover; border-radius:14px; background:var(--line)}
.plano-publico{font:700 12.5px/1.3 var(--display); letter-spacing:.08em; color:var(--kicker); text-transform:uppercase}
.plano-card h3{font-size:24px; font-weight:800}
.plano-preco{display:flex; align-items:baseline; gap:4px}
.plano-preco strong{font:800 32px/1 var(--display); color:var(--ink)}
.plano-preco span{color:var(--muted); font-weight:700}
.plano-card p{color:var(--muted); font-size:15.5px}
.plano-card .ticks{flex:1; align-content:start; padding-top:14px; border-top:1px solid var(--line)}
.plano-brinde{background:var(--gold-soft); border:1px solid var(--gold); border-radius:12px; padding:10px 12px; font:700 14.5px/1.4 var(--display); color:var(--ink) !important}
.plano-card .plano-obs{font-size:13.5px; line-height:1.45}
.plano-card .btn{justify-content:center; margin-top:auto; white-space:normal; text-align:center}
/* Outras frentes (empresas e profissionais) na página de planos */
.frentes{display:grid; gap:12px; margin-top:20px; max-width:900px}
.frente{display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; justify-content:space-between; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 22px; box-shadow:var(--shadow); text-decoration:none; color:var(--ink)}
.frente b{display:block; font:700 17px/1.3 var(--display)}
.frente span{color:var(--muted); font-size:15px}
.frente .selo-frente{font:800 13px/1 var(--display); letter-spacing:.04em; color:var(--kicker); white-space:nowrap}
a.frente:hover{border-color:var(--gold)}
