/* LP diagnóstico - Agência Pilaris
   Composição espelhada da referência (Kauri Digital), tokens de referencias/marca/DESIGN.md. */

:root{
  --blue:#0B63E6; --blue-txt:#0A55C8; --blue-700:#0A47B8; --blue-800:#0A2E86; --navy:#08122E; --navy-2:#0E1B3F;
  --lime:#A3E635; --lime-hover:#93D423; --lime-ink:#1A2E05;
  --paper:#F4F7FC; --paper-2:#EAF0FA; --line:#E2E7F0; --ctl:#7E8CA3;
  --ink:#0A1024; --body:#465066; --muted:#64708A;
  --on-dark:rgba(255,255,255,.9); --on-dark-soft:rgba(255,255,255,.72); --edge-dark:rgba(255,255,255,.14);
  --ease:cubic-bezier(.2,.6,.2,1);
  --wrap:1180px; --gut:clamp(20px,4vw,40px);
  --r-card:20px; --r-panel:28px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);font:400 16px/1.6 'Poppins',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:'Outfit',sans-serif;color:var(--ink);margin:0}
p{margin:0 0 14px}
b,strong{font-weight:600}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 14px;border-radius:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pend{background:#FEF3C7;color:#8A3B04!important;-webkit-text-stroke:0;border-radius:6px;padding:1px 6px;font-style:normal;font-weight:600}

/* ---------- tipografia de seção ---------- */
.kicker{font:700 13px/1 'Outfit',sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--blue-txt);margin:0 0 18px}
.kicker--lime{color:var(--lime)}
.h-big{font-size:clamp(28px,3.4vw,44px);line-height:1.12;letter-spacing:-.02em;font-weight:700}
.h-caps{font-size:clamp(30px,3.6vw,46px);line-height:1.05;letter-spacing:-.01em;font-weight:800;text-transform:uppercase}
.h-light{color:#fff}
.accent{font:600 clamp(19px,1.8vw,24px)/1.35 'Outfit',sans-serif;color:var(--blue-txt);letter-spacing:-.01em}
.blue{color:var(--blue-txt)}
.center-head{text-align:center;max-width:820px;margin:0 auto clamp(34px,4vw,54px)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px/1 'Outfit',sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:999px;padding:17px 26px;border:0;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn--outline{color:#fff;border:2px solid var(--lime);background:rgba(8,18,46,.35)}
.btn--outline:hover{background:var(--lime);color:var(--lime-ink)}
.btn--sm{padding:13px 20px;font-size:13px}
.btn--text{color:var(--on-dark);text-transform:none;letter-spacing:0;font-weight:600;padding:17px 6px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.35)}
.btn--lime{background:var(--lime);color:var(--lime-ink);box-shadow:0 4px 14px rgba(163,230,53,.35);border-radius:14px}
.btn--lime:hover{background:var(--lime-hover)}
.btn--ghost{background:transparent;color:var(--on-dark);border:1.5px solid var(--edge-dark);border-radius:14px}
.btn--ghost:hover{border-color:rgba(255,255,255,.4)}
.btn:focus-visible,.opt input:focus-visible+span,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}

/* ---------- HERO ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;min-height:clamp(640px,92vh,820px);display:flex;flex-direction:column}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 700px at 12% 110%,rgba(11,99,230,.38),transparent 60%),radial-gradient(520px 420px at 40% 0%,rgba(163,230,53,.08),transparent 70%);z-index:-2}
.nav{position:relative;z-index:5;padding:26px 0}
.nav__in{display:flex;align-items:center;gap:24px}
.nav__logo img{width:150px;height:auto}
.nav__links{display:flex;align-items:center;gap:18px;margin:0 auto;font:500 14px/1 'Outfit',sans-serif}
.nav__links a{text-decoration:none;color:var(--on-dark);transition:color .18s}
.nav__links a:hover{color:var(--lime)}
.nav__links i{width:4px;height:4px;border-radius:50%;background:var(--lime);opacity:.7}
.nav__ig{color:var(--lime);display:grid;place-items:center;width:40px;height:40px}

.hero__photo{position:absolute;top:0;right:0;bottom:0;width:min(56vw,860px);z-index:-1;border-bottom-left-radius:clamp(160px,22vw,340px);overflow:hidden}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;filter:grayscale(.6) contrast(1.05) brightness(.5)}
.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(8,18,46,.55) 22%,rgba(8,18,46,0) 55%),linear-gradient(0deg,rgba(11,99,230,.28),rgba(11,99,230,0) 60%)}
.hero__mark{position:absolute;z-index:-1;width:min(62vw,900px);aspect-ratio:330/241;right:-6vw;top:50%;transform:translateY(-46%);background:url(assets/home/monograma.svg) center/contain no-repeat;opacity:.07;pointer-events:none}

.hero__body{position:relative;flex:1;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(24px,5vh,60px);padding-bottom:clamp(120px,16vh,170px)}
/* hero: resultado de ser encontrada (cartão de busca local + mensagem) */
.hx{position:absolute;z-index:2;right:var(--gut);top:50%;transform:translateY(-52%);width:340px;font-family:'Poppins',sans-serif}
.hx__search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:12px 18px;box-shadow:0 18px 40px rgba(2,8,24,.35);color:#465066;font-size:14px;margin:0 0 14px 28px;width:max-content}
.hx__search svg{flex:none}
.hx__card{background:#fff;border-radius:20px;padding:18px;box-shadow:0 30px 60px rgba(2,8,24,.45);color:#0A1024;position:relative}
.hx__tag{position:absolute;top:-11px;right:18px;background:#A3E635;color:#1A2E05;font:700 11px/1 'Outfit',sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;border-radius:8px}
.hx__map{height:92px;border-radius:12px;background:linear-gradient(135deg,#EEF4FF,#D7E6FF);position:relative;overflow:hidden;margin-bottom:14px}
.hx__map::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(28deg,transparent 0 22px,rgba(11,99,230,.12) 22px 24px),repeating-linear-gradient(-62deg,transparent 0 30px,rgba(11,99,230,.10) 30px 32px)}
.hx__pin{position:absolute;left:50%;top:44%;width:30px;height:30px;transform:translate(-50%,-50%) rotate(-45deg);background:#0B63E6;border-radius:50% 50% 50% 0;box-shadow:0 0 0 8px rgba(11,99,230,.18)}
.hx__pin::after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.hx__name{font:700 19px/1.2 'Outfit',sans-serif;margin:0 0 4px}
.hx__meta{font-size:13px;color:#64708A;margin:0 0 6px}
.hx__stars{color:#F59E0B;letter-spacing:1px}
.hx__open{font-size:13px;color:#15803D;font-weight:600;margin:0 0 14px}
.hx__btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hx__btns span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#0A47B8;background:#EEF4FF;border-radius:10px;padding:9px 4px}
.hx__msg{display:flex;gap:12px;align-items:flex-start;background:rgba(14,27,63,.92);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9);border-radius:16px;padding:14px 16px;margin:14px -36px 0 40px;box-shadow:0 20px 40px rgba(2,8,24,.4);font-size:13px;line-height:1.45}
.hx__msg b{display:block;color:#A3E635;font:600 12px/1.2 'Outfit',sans-serif;letter-spacing:.06em;margin-bottom:3px}
.hx__dot{flex:none;width:34px;height:34px;border-radius:50%;background:#16A34A;display:grid;place-items:center}
@media (max-width:940px){.hx{display:none}.hero__photo img{filter:grayscale(.35) contrast(1.05) brightness(.82)}}
.hero h1{color:#fff;text-transform:uppercase;font-weight:800;font-size:clamp(38px,5.4vw,74px);line-height:1.02;letter-spacing:-.01em;max-width:11.5em;text-wrap:balance}
.hero h1 .hl{position:relative;display:inline-block;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:-1%;right:-2%;bottom:-.1em;height:.16em;background:var(--lime);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C52 4 128 3 197 6' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C52 4 128 3 197 6' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
.hero__sub{font:600 clamp(19px,2vw,26px)/1.3 'Outfit',sans-serif;color:var(--lime);margin:22px 0 34px;max-width:28em}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}

.hero__tab{position:absolute;left:0;bottom:0;z-index:3;background:var(--paper);color:var(--body);padding:22px var(--gut) 20px max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));width:auto;max-width:100vw;font-size:15px}
.hero__tab p{max-width:min(560px,calc(100vw - 2*var(--gut) - 40px))}
.hero__tab::after{content:"";position:absolute;top:0;bottom:0;right:calc(1px - var(--tw,88px));width:var(--tw,88px);background:var(--paper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0C55 0 45 100 100 100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0C55 0 45 100 100 100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.hero__tab p{margin:0}
.hero__tab strong{color:var(--ink);font-family:'Outfit',sans-serif;letter-spacing:.06em}

/* ---------- FAIXA ---------- */
.ticker{background:var(--paper);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0}
.ticker__track{display:flex;align-items:center;gap:34px;width:max-content;animation:tick 38s linear infinite}
.ticker span{font:700 clamp(18px,1.8vw,22px)/1 'Outfit',sans-serif;color:#9AA6BC;letter-spacing:.02em;white-space:nowrap}
.ticker b{width:14px;height:14px;background:var(--blue);opacity:.35;mask:url(assets/home/monograma.svg) center/contain no-repeat;-webkit-mask:url(assets/home/monograma.svg) center/contain no-repeat;flex:none}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- papel com textura ---------- */
.paper{background:radial-gradient(circle at 1px 1px,rgba(11,99,230,.09) 1px,transparent 0) 0 0/24px 24px,var(--paper)}
.sec{padding:clamp(64px,8vw,110px) 0}

/* ---------- SOBRE ---------- */
.sobre{padding-bottom:clamp(40px,5vw,64px)}
.sobre__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(34px,6vw,90px);align-items:start}
.sobre__side{padding-top:6px}
.plats{display:flex;gap:14px;margin-bottom:22px}
.plats span{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}
.plats svg{width:22px;height:22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:clamp(50px,6vw,80px)}
.stats strong{display:block;font:800 clamp(30px,3.4vw,44px)/1 'Outfit',sans-serif;color:var(--blue-txt);letter-spacing:-.02em;text-transform:uppercase;margin-bottom:12px}
.stats strong .pend{font-size:15px;vertical-align:middle;letter-spacing:0}
.stats span{font:600 15px/1.45 'Outfit',sans-serif;color:var(--ink)}

/* ---------- cards escuros ---------- */
.card-dark{position:relative;overflow:hidden;background:var(--navy);color:var(--on-dark);border-radius:var(--r-card);isolation:isolate}
.card-dark::after{content:"";position:absolute;z-index:-1;width:320px;height:240px;right:-90px;bottom:-60px;background:url(assets/home/monograma.svg) center/contain no-repeat;opacity:.05}

/* ---------- TRIO ---------- */
.trio{padding-top:0}
.trio__grid{display:grid;grid-template-columns:1.12fr .78fr 1.1fr;gap:22px;align-items:stretch}
.trio__urg{padding:clamp(30px,3vw,42px);display:flex;flex-direction:column;justify-content:center}
.trio__urg h2{color:#fff;font-size:clamp(26px,2.5vw,34px);line-height:1.15;letter-spacing:-.015em;margin-bottom:22px}
.trio__urg h2 span{color:var(--lime)}
.trio__urg p{font-size:15px;color:var(--on-dark-soft);margin-bottom:26px}
.trio__urg p b{color:var(--lime);font-weight:600}
.trio__urg .btn{align-self:flex-start}

.video{position:relative;margin:0;border-radius:var(--r-card);overflow:hidden;aspect-ratio:9/16;background:#000;max-height:600px;width:100%;justify-self:center}
.video img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.78)}
.video video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.video.is-playing::after,.video.is-playing .video__play,.video.is-playing figcaption{opacity:0;pointer-events:none}
.video::after,.video__play,.video figcaption{transition:opacity .25s var(--ease)}
.video::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,18,46,.1) 45%,rgba(8,18,46,.92))}
.video__play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:0;background:var(--lime);color:var(--lime-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 12px rgba(163,230,53,.18);transition:transform .18s var(--ease),box-shadow .18s var(--ease),opacity .25s var(--ease)}
.video__play:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 0 0 18px rgba(163,230,53,.14)}
.video__play svg{margin-left:4px}
.video figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}
.video figcaption strong{display:block;font:700 18px/1.2 'Outfit',sans-serif}
.video figcaption span{font-size:13px;color:var(--on-dark-soft)}

.trio__data{padding:clamp(28px,3vw,38px)}
.data__title{font:700 18px/1 'Outfit',sans-serif;color:var(--lime);margin-bottom:26px}
.data__row{display:flex;align-items:center;gap:12px}
.data__row strong{font:800 clamp(22px,2vw,27px)/1 'Outfit',sans-serif;color:#fff;white-space:nowrap;letter-spacing:-.01em}
.data__line{flex:1;height:28px;min-width:40px}
.data__line path{fill:none;stroke:var(--lime);stroke-width:2;vector-effect:non-scaling-stroke}
.trio__data p{font-size:14px;color:var(--on-dark-soft);margin:10px 0 24px}
.trio__data p:last-child{margin-bottom:0}
.src{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.62);margin-top:3px}

/* ---------- MÉTODO ---------- */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step4{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-card);min-height:340px;padding:26px 24px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--on-dark);background:var(--navy);transition:transform .32s var(--ease)}
.step4::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center 30%/cover;filter:saturate(.9) brightness(.92);transition:transform .6s var(--ease)}
.step4::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,18,46,.15),rgba(8,18,46,.35) 40%,var(--navy) 86%),linear-gradient(135deg,rgba(11,99,230,.35),transparent 60%)}
.step4:hover{transform:translateY(-4px)}
.step4:hover::before{transform:scale(1.06)}
.step4__n{position:absolute;top:22px;left:24px;font:800 46px/1 'Outfit',sans-serif;color:transparent;-webkit-text-stroke:1.5px rgba(163,230,53,.8)}
.step4 h3{color:var(--lime);font-size:22px;line-height:1.2;margin-bottom:8px}
.step4 p{font-size:14.5px;margin:0;color:var(--on-dark-soft)}

/* ---------- SERVIÇOS ---------- */
.serv__head{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,6vw,90px);align-items:start;margin-bottom:clamp(34px,4vw,52px)}
.serv__head .h-caps{margin-bottom:16px}
.serv__head .accent{padding-top:34px}
.serv__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.serv{padding:30px 26px 34px;min-height:220px;transition:transform .32s var(--ease)}
.serv:hover{transform:translateY(-4px)}
.serv__ic{width:46px;height:46px;fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:26px}
.serv p{font-size:15px;line-height:1.55;margin:0;color:var(--on-dark)}

/* ---------- DEPOIMENTOS ---------- */
.depo{padding-left:clamp(0px,1.4vw,20px);padding-right:clamp(0px,1.4vw,20px)}
.depo__panel{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-panel);background:var(--navy);padding:clamp(60px,7vw,96px) 0}
.depo__bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,18,46,.72),rgba(8,18,46,.94)),url(assets/home/hero-loja.jpg) center 40%/cover;filter:grayscale(.6)}
.depo__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dep{margin:0;background:rgba(14,27,63,.92);border:1px solid var(--edge-dark);border-radius:var(--r-card);padding:26px}
.dep__who{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.dep__av{width:52px;height:52px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--blue),var(--navy));border:2px solid var(--lime);display:grid;place-items:center;font:700 20px 'Outfit',sans-serif;color:#fff}
.dep__who strong{display:block;font:600 14px/1.3 'Outfit',sans-serif;color:#fff}
.stars{color:var(--lime);letter-spacing:3px;font-size:15px}
.dep blockquote{margin:0;font-size:14.5px;line-height:1.6;color:var(--on-dark)}

/* depoimentos em carrossel */
.depo__in{position:relative}
.depo__nav{display:flex;justify-content:center;gap:12px;margin:-24px 0 30px}
.depo__btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--lime);background:transparent;color:var(--lime);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s}
.depo__btn:hover{background:var(--lime);color:var(--lime-ink)}
.depo__grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.depo__grid::-webkit-scrollbar{display:none}
.dep{scroll-snap-align:start;display:flex;flex-direction:column}
.dep__av{background:var(--navy) url(assets/home/monograma.svg) center/62% no-repeat;border:2px solid var(--lime)}
.dep blockquote{font-size:15px;line-height:1.65}
.dep__who>div{min-width:0}
@media (max-width:860px){.depo__grid{grid-auto-columns:78%;grid-template-columns:none}}

/* ---------- DIAGNÓSTICO ---------- */
.diag__grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:clamp(34px,5vw,70px);align-items:center}
.diag__copy .h-big{font-size:clamp(32px,3.8vw,50px);margin-bottom:18px}
.diag__copy .accent{margin-bottom:16px}
.wa-link{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font:600 15px/1.2 'Outfit',sans-serif;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:4px}
.wa-link svg{color:#16A34A}

.diag__card{position:relative;background:var(--navy);border-radius:var(--r-panel);padding:clamp(42px,4vw,54px) clamp(20px,3vw,34px) clamp(26px,3vw,34px);box-shadow:0 24px 50px rgba(2,8,24,.2)}
.diag__tab{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--lime);color:var(--lime-ink);font:700 15px/1 'Outfit',sans-serif;padding:14px 22px;border-radius:12px;white-space:nowrap;box-shadow:0 4px 14px rgba(163,230,53,.4)}
.hp{position:absolute;left:-9999px}
.progress__bar{position:relative;height:22px;border-radius:6px;background:var(--blue-800);overflow:hidden;margin-bottom:26px}
.progress__bar i{position:absolute;inset:0;background:var(--lime);transform-origin:left;transform:scaleX(.3333);transition:transform .32s var(--ease)}
.progress__bar span{position:absolute;inset:0;display:grid;place-items:center;font:700 12px/1 'Outfit',sans-serif;color:#fff;mix-blend-mode:difference}
.step{border:0;margin:0;padding:0;min-width:0;display:none}
.step.is-active{display:block;animation:in .32s var(--ease)}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.step legend{font:500 clamp(18px,1.7vw,21px)/1.35 'Outfit',sans-serif;color:#fff;text-align:center;margin:0 auto 22px;padding:0;max-width:30em}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{position:relative;cursor:pointer}
.opt--wide{grid-column:span 1}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;gap:14px;min-height:62px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.04);border:1.5px solid var(--edge-dark);color:var(--on-dark);font-size:14px;line-height:1.35;transition:border-color .18s,background .18s}
.opt svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.opt:hover span{border-color:rgba(255,255,255,.34)}
.opt input:checked+span{border-color:var(--lime);background:rgba(163,230,53,.1);color:#fff}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{display:block;font:600 13px/1 'Outfit',sans-serif;color:var(--on-dark);margin-bottom:8px}
.field input{width:100%;height:50px;border-radius:12px;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;font:400 15px 'Poppins',sans-serif;padding:0 14px;transition:border-color .18s}
.field input::placeholder{color:rgba(255,255,255,.45)}
.field input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 4px rgba(163,230,53,.14)}
.field.is-error input{border-color:#F87171}
.err{display:block;min-height:0;margin:6px 0 0;font-size:12.5px;color:#FCA5A5}
.err:empty{margin:0}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:13px;color:var(--on-dark-soft)}
.check input{width:20px;height:20px;margin-top:1px;accent-color:var(--lime);flex:none}
.check a{color:var(--lime)}
.check.is-error label{color:#FCA5A5}
.actions{display:flex;justify-content:center;gap:12px;margin-top:22px}
.actions .btn{min-width:150px;letter-spacing:.04em}
.msg{display:none;margin-top:16px;padding:16px 18px;border-radius:12px;font-size:14.5px}
.msg.is-visible{display:block}
.msg--ok{background:rgba(163,230,53,.12);border:1px solid rgba(163,230,53,.5);color:#fff}
.msg--err{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.5);color:#FECACA}
.msg a{color:var(--lime)}

/* ---------- RODAPÉ ---------- */
.foot{background:var(--navy);color:var(--on-dark-soft);padding:46px 0 26px;font-size:14px}
.foot a{text-decoration:none;color:var(--on-dark)}
.foot a:hover{color:var(--lime)}
.foot__top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid var(--lime)}
.foot__top img{width:140px;height:auto}
.foot__bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;font-size:12.5px;letter-spacing:.04em}
.foot__bot a{text-transform:uppercase;letter-spacing:.14em;text-decoration:underline;text-underline-offset:4px}

/* ---------- responsivo ---------- */
@media (max-width:1080px){
  .steps4,.serv__grid{grid-template-columns:repeat(2,1fr)}
  .trio__grid{grid-template-columns:1fr 1fr}
  .trio__urg{grid-column:1/-1}
}
@media (max-width:860px){
  .nav__links{display:none}
  .nav__ig{margin-left:auto}
  .hero__photo{width:100%;border-bottom-left-radius:0;opacity:.55}
  .hero__photo::after{background:linear-gradient(180deg,rgba(8,18,46,.55),var(--navy) 92%)}
  .hero__mark{width:120vw;right:-30vw;opacity:.06}
  .sobre__grid,.serv__head,.diag__grid{grid-template-columns:1fr}
  .serv__head .accent{padding-top:0}
  .stats{grid-template-columns:1fr;gap:26px}
}
@media (max-width:620px){
  .trio__grid{grid-template-columns:1fr}
  .video{max-width:340px}
  .steps4,.serv__grid{grid-template-columns:1fr}
  .step4{min-height:260px}
  .opts,.fields{grid-template-columns:1fr}
  /* hero centralizado no celular */
  .hero__body{text-align:center;align-items:center}
  .hero h1,.hero__sub{margin-left:auto;margin-right:auto}
  .hero__ctas{justify-content:center}
  .hero .kicker{margin-right:-.32em}
  .hero__tab{--tw:64px;font-size:13.5px;padding-right:28px}
  .hero__ctas .btn--outline{width:100%}
  .diag__tab{font-size:13.5px}
  .foot__top,.foot__bot{flex-direction:column;justify-content:center;text-align:center}
  .foot__top{gap:14px}
  .foot__top img{margin-bottom:6px}
  .foot__bot{gap:14px}
  .foot__bot span{text-wrap:balance}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* quebras de linha: sem palavra sozinha no fim */
h1,h2,h3,.h-big,.h-caps,legend{text-wrap:balance}
p,blockquote,li,.opt span,.stats span,figcaption span,.hero__tab p{text-wrap:pretty}
.dep__who strong{display:block;line-height:1.25}
.dep__city{display:block;font-size:13px;color:var(--on-dark-soft);margin-top:2px}
.dep__who .stars{display:block;margin-top:4px}
.kicker,.serv p,.step4 p,.trio__data p{text-wrap:balance}
.stats span{display:block}
