/* ACHEI · Presença Local — site público
   Ideia: as 4 cores do pin viram os capítulos da jornada "buscar → ser achado". Campos de cor chapada, uma tipografia, uma grade. */

@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/pjs-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/pjs-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0A1A33; --navy:#0A1A33; --navy-2:#13294C; --paper:#F5F8FD; --paper-2:#E7EEF9; --white:#fff;
  --blue:#1B66F2; --blue-d:#1453C7; --blue-l:#5C9AFF; --red:#D93025; --yellow:#FBBC04; --green:#34A853; --green-d:#1E8E3E;
  --mut:#43536E; --mut-d:#DCE6F7;
  --m:clamp(20px,4vw,56px); --r:28px; --e:cubic-bezier(.2,.8,.2,1);
  --t-xl:clamp(88px,30vw,560px); --t-h1:clamp(52px,6.7vw,118px); --t-h2:clamp(34px,4.6vw,76px); --t-m:clamp(24px,2.5vw,38px); --t-b:clamp(17px,1.25vw,19px);
  --d:0ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h,76px) + 8px)}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:var(--t-b);line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
::selection{background:var(--yellow);color:var(--ink)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:200;font-weight:700}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1520px;margin-inline:auto;padding-inline:var(--m)}
.ic{width:1.15em;height:1.15em;flex:none}
.stars{width:5.6em;height:1.1em;color:var(--yellow);flex:none;display:inline-block;vertical-align:-.2em}

/* ---------- tipografia ---------- */
.h1,.h2,.h3{font-weight:800;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
.h1{font-size:var(--t-h1)}
.h2{font-size:var(--t-h2)}
.h3{font-size:var(--t-m);letter-spacing:-.025em;line-height:1.1}
.lead{font-size:clamp(19px,1.7vw,26px);line-height:1.42;font-weight:500;max-width:34ch}
.statement{font-size:clamp(19px,1.9vw,28px);line-height:1.34;font-weight:500;letter-spacing:-.015em;max-width:36ch;text-wrap:pretty}
.statement b{font-weight:800}
.body{font-size:var(--t-b);max-width:52ch}
.hint{font-size:clamp(17px,1.4vw,20px);font-weight:600}

/* ---------- botões (uma forma: pílula) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:58px;padding:0 30px;border-radius:999px;font-weight:700;font-size:17px;letter-spacing:-.01em;white-space:nowrap;transition:transform .25s var(--e),background-color .25s,color .25s}
.btn .ic{transition:transform .3s var(--e)}
.btn:hover .ic:last-child{transform:translateX(5px)}
.btn:active{transform:scale(.96)}
.btn-sm{height:44px;padding:0 20px;font-size:15px}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-d)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000}
.btn-green{background:var(--green);color:var(--ink)}.btn-green:hover{background:#44BC64}
.btn-ghost{background:var(--paper-2);color:var(--ink)}.btn-ghost:hover{background:#D8E3F5}
.btn-block{width:100%}
.link-wa{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:17px;padding:10px 4px;transition:color .2s}
.link-wa:hover{color:var(--blue)}

/* ---------- cabeçalho: fixo, centralizado, sempre à vista ---------- */
:root{--nav-h:76px}
.nav{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 var(--m);color:var(--ink);background:var(--nav-bg,var(--paper));transition:background-color .35s,color .35s}
.nav[data-tone="dark"]{color:#fff}
.brand{display:flex;align-items:center;gap:10px;justify-self:start}
.brand-pin{width:26px;height:37px;transition:background-color .35s,padding .35s}
.nav[data-tone="dark"] .brand-pin{background:#fff;border-radius:50%;width:38px;height:44px;padding:6px 8px}
.brand-name{font-weight:800;font-size:25px;letter-spacing:-.02em}
.nav-links{display:flex;justify-content:center;align-items:center;gap:2px}
.nav-links a{position:relative;padding:11px 14px 15px;font-weight:600;font-size:15px;line-height:1;border-radius:999px;white-space:nowrap;transition:background-color .2s}
.nav-links a:hover{background:rgba(127,127,127,.16)}
.nav-links a::after{content:"";position:absolute;left:50%;bottom:5px;width:6px;height:6px;border-radius:50%;background:currentColor;translate:-50% 0;scale:0;transition:scale .3s var(--e)}
.nav-links a.active::after{scale:1}
.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;justify-self:end}
.nav-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transition:background-color .2s,transform .25s var(--e)}
.nav-ic svg{width:23px;height:23px}
.nav-ic:hover{background:rgba(127,127,127,.18)}
.nav-ic:active{transform:scale(.96)}
.nav .btn-sm{height:44px}
.btn-wa{background:#25D366;color:#0A1A33}.btn-wa:hover{background:#3BE07A}
.nav .btn-blue{background:var(--blue);color:#fff}
.nav[data-tone="dark"] .btn-blue{background:#fff;color:var(--ink)}
.burger{display:none;width:44px;height:44px;border-radius:50%;place-content:center;gap:5px;transition:background-color .2s}
.burger:hover{background:rgba(127,127,127,.18)}
.burger i{display:block;width:22px;height:2.5px;border-radius:2px;background:currentColor;transition:transform .3s var(--e),opacity .2s}
.nav-open .burger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-open .burger i:nth-child(2){opacity:0}
.nav-open .burger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mnav{position:fixed;inset:var(--nav-h) 0 0 0;z-index:59;display:grid;align-content:start;gap:2px;padding:20px var(--m) 40px;overflow-y:auto;background:var(--nav-bg,var(--paper));color:inherit;opacity:0;visibility:hidden;translate:0 -10px;transition:opacity .25s,translate .35s var(--e),visibility 0s .35s}
.nav-open .mnav{opacity:1;visibility:visible;translate:0 0;transition:opacity .25s,translate .35s var(--e)}
.mnav>a:not(.btn){font-size:clamp(26px,7vw,34px);font-weight:800;letter-spacing:-.03em;padding:12px 0}
.mnav-cta{display:grid;gap:10px;margin-top:22px}
.mnav-cta .btn{width:100%}
.mnav-cta .btn-ghost{background:rgba(127,127,127,.16);color:inherit}
@media (max-width:1240px){.nav-links a{padding-inline:10px;font-size:14.5px}}
@media (max-width:1100px){.nav{grid-template-columns:1fr auto}.nav-links{display:none}.burger{display:grid}.nav-actions .btn-diag{display:none}}
@media (max-width:560px){.nav-actions .btn-wa{width:44px;padding:0}.nav-actions .btn-wa span{display:none}.nav-actions{gap:4px}}
@media (min-width:1101px){.mnav{display:none}}

/* ---------- botão flutuante do WhatsApp ---------- */
.fab{position:fixed;z-index:55;right:calc(clamp(14px,2vw,28px) + env(safe-area-inset-right,0px));bottom:calc(clamp(14px,2vw,28px) + env(safe-area-inset-bottom,0px));width:62px;height:62px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;opacity:0;translate:0 14px;scale:.85;pointer-events:none;transition:opacity .45s var(--e),translate .55s var(--e),scale .55s var(--e),background-color .2s}
.fab.show{opacity:1;translate:0 0;scale:1;pointer-events:auto}
.fab.hide{opacity:0;translate:0 14px;pointer-events:none}
.fab svg{position:relative;width:32px;height:32px}
.fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.4;animation:fabPing 2.8s var(--e) infinite}
.fab:hover{background:#1FB958}
.fab:active{scale:.96}
.fab-tip{position:absolute;right:calc(100% + 12px);top:50%;translate:6px -50%;background:var(--ink);color:#fff;font-weight:700;font-size:15px;line-height:1;white-space:nowrap;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .25s,translate .3s var(--e)}
.fab:hover .fab-tip,.fab:focus-visible .fab-tip{opacity:1;translate:0 -50%}
@keyframes fabPing{0%{scale:1;opacity:.4}70%,100%{scale:1.55;opacity:0}}
@media (max-width:560px){.fab{width:58px;height:58px}.fab-tip{display:none}}

/* ---------- clientes: cartões de portfólio ---------- */
.cli-head{margin-top:clamp(64px,8vw,120px);display:grid;gap:8px}
.cli-head .h3{font-size:clamp(28px,3.2vw,50px)}
.cli-head .body{font-weight:600}
.clientes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-top:clamp(22px,3vw,36px)}
.cli{display:flex;flex-direction:column;background:var(--navy);color:#fff;border-radius:var(--r);overflow:hidden;cursor:pointer;transition:translate .4s var(--e),scale .2s var(--e),background-color .3s}
.cli:hover{translate:0 -6px}
.cli:active{scale:.985}
.cli-media{position:relative;aspect-ratio:4/3;background:var(--navy-2);overflow:hidden;display:grid;place-items:center}
.cli-media img{width:100%;height:100%;object-fit:cover;transition:scale 1.1s var(--e)}
.cli:hover .cli-media img{scale:1.05}
.cli-count{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--ink);font-weight:800;font-size:13px;border-radius:999px;padding:6px 13px}
.cli-ini{font-size:clamp(72px,9vw,120px);font-weight:800;color:var(--blue-l);letter-spacing:-.05em}
.cli .cli-kpis{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:6px;padding:8px;width:100%;height:100%}
.cli .cli-kpis .kpi{min-height:0;padding:12px 14px;border-radius:16px;gap:2px;grid-template-rows:auto 1fr auto}
.cli .cli-kpis .kpi b{font-size:clamp(26px,2.4vw,36px)}
.cli-kpis .kpi span{font-size:13px;line-height:1.15}
.cli-kpis .kpi em{font-size:13px;padding:2px 9px}
.cli-body{display:grid;gap:9px;padding:18px 20px 22px;align-content:start;flex:1}
.cli-meta{font-size:14px;color:var(--mut-d);font-weight:600}
.cli h3{font-size:clamp(20px,1.8vw,26px);font-weight:800;letter-spacing:-.025em;line-height:1.15}
.cli-desc{font-size:15.5px;line-height:1.5;color:var(--mut-d);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cli .chips{display:flex;flex-wrap:wrap;gap:6px}
.cli .chips li{background:rgba(255,255,255,.12);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.cli-m{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:2px}
.cli-m div{background:rgba(255,255,255,.08);border-radius:14px;padding:9px 12px}
.cli-m dt{font-size:13px;color:var(--mut-d);font-weight:600}
.cli-m dd{font-size:22px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cli-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto;padding-top:6px}
.chip-s{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-weight:700;font-size:14px;background:#fff;color:var(--ink);border-radius:999px;padding:6px 14px}
.chip-s .ic{color:var(--blue)}
.cli-nota{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:15px}
.cli-nota small{font-weight:500;font-size:13px;color:var(--mut-d)}

/* ---------- avaliações: cartões ---------- */
.ch-rev{background:var(--paper)}
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px;margin-top:clamp(36px,5vw,64px)}
.rev{display:flex;flex-direction:column;gap:16px;background:var(--paper-2);color:var(--ink);border-radius:var(--r);padding:clamp(22px,2.4vw,32px);transition:translate .4s var(--e)}
.rev:hover{translate:0 -5px}
.rev.dest{background:var(--blue);color:#fff}
.rev-h{display:flex;align-items:center;gap:12px}
.rev-av{width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;flex:none}
.rev.dest .rev-av{background:#fff;color:var(--blue)}
.rev-av img{width:100%;height:100%;object-fit:cover}
.rev-h b{display:block;font-size:18px;letter-spacing:-.015em;line-height:1.2}
.rev-h div{min-width:0}
.rev-h div span{display:block;font-size:14.5px;line-height:1.35;color:var(--mut)}
.rev.dest .rev-h div span{color:#DCE6F7}
.rev-src{margin-left:auto;align-self:flex-start;font-size:13px;font-weight:700;background:#fff;color:var(--ink);border-radius:999px;padding:5px 12px;white-space:nowrap}
.rev-rate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:800;font-size:18px}
.rev-big{font-size:clamp(44px,4.6vw,64px);letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.rev-q{font-weight:500;font-size:15px;color:var(--mut)}
.rev.dest .rev-q{color:#DCE6F7}
.rate{position:relative;display:inline-block;width:112px;height:22.4px;flex:none}
.rate svg{position:absolute;inset:0;width:100%;height:100%}
.rate .bg{color:rgba(10,26,51,.16)}
.rev.dest .rate .bg{color:rgba(255,255,255,.28)}
.rate .fg{color:var(--yellow);clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.rev-t{font-size:clamp(17px,1.4vw,19.5px);line-height:1.55;font-weight:500;text-wrap:pretty}
.rev-f{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto;font-size:14.5px;color:var(--mut)}
.rev.dest .rev-f{color:#DCE6F7}
.rev-f a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---------- janela do cliente (fotos + detalhes) ---------- */
.lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(10px,3vw,40px)}
.lb[hidden]{display:none}
.lb-bg{position:absolute;inset:0;background:rgba(10,26,51,.9);opacity:0;transition:opacity .3s}
.lb.open .lb-bg{opacity:1}
.lb-card{position:relative;display:grid;grid-template-columns:1.25fr 1fr;width:min(1180px,100%);max-height:100%;overflow:auto;background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:0 40px 90px rgba(5,20,60,.45);opacity:0;scale:.96;translate:0 14px;transition:opacity .3s var(--e),scale .4s var(--e),translate .4s var(--e)} /* taste-skill-ignore */
.lb.open .lb-card{opacity:1;scale:1;translate:0 0}
.lb-x{position:absolute;top:12px;right:12px;z-index:3;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;transition:scale .2s var(--e)}
.lb-x:active{scale:.96}
.lb-x svg{width:20px;height:20px}
.lb-media{position:relative;background:var(--navy);min-height:320px;display:grid;align-content:center;align-self:stretch}
.lb-media img{width:100%;max-height:min(70svh,640px);object-fit:contain}
.lb-nav{position:absolute;top:calc(50% - 40px);width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);font-size:28px;font-weight:800;line-height:1;display:grid;place-items:center;transition:scale .2s var(--e)}
.lb-nav:active{scale:.96}
.lb-prev{left:12px}.lb-next{right:12px}
.lb-thumbs{display:flex;gap:6px;justify-content:center;padding:10px;flex-wrap:wrap}
.lb-thumbs button{width:64px;height:48px;border-radius:10px;overflow:hidden;opacity:.55;transition:opacity .2s}
.lb-thumbs button.on,.lb-thumbs button:hover{opacity:1}
.lb-thumbs img{width:100%;height:100%;object-fit:cover}
.lb-info{padding:clamp(24px,3vw,44px);display:grid;gap:12px;align-content:start}
.lb-info .cli-meta{color:var(--mut)}
.lb-info h3{font-size:clamp(26px,2.6vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1.1;padding-right:48px}
.lb-info p{font-size:17px;line-height:1.55}
.lb-info .chips{display:flex;flex-wrap:wrap;gap:6px}
.lb-info .chips li{background:var(--paper-2);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}
.lb-info .cli-m div{background:var(--paper-2)}
.lb-info .cli-m dt{color:var(--mut)}
.lb-info .btn{width:fit-content}
@media (max-width:860px){.lb-card{grid-template-columns:1fr}.lb-media{min-height:0}}

/* ---------- capítulos (campos de cor) ---------- */
.ch{position:relative;padding-block:clamp(84px,11vw,168px);overflow:clip}
.ch-red{background:var(--red);color:#fff}
.ch-blue{background:var(--blue);color:#fff}
.ch-navy{background:var(--navy);color:#fff}
.ch-yellow{background:var(--yellow);color:var(--ink)}
.ch-green{background:var(--green);color:var(--ink)}
.ch-paper{background:var(--paper);color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,110px);align-items:center}
.intro-row{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,72px);align-items:end}
.intro-row .statement{max-width:40ch;justify-self:end}
@media (max-width:900px){.two,.intro-row{grid-template-columns:1fr}.intro-row .statement{justify-self:start}}

/* ---------- revelar ao rolar ---------- */
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s var(--e) var(--d),transform .9s var(--e) var(--d)}
.js .rv.in{opacity:1;transform:none}
.js .nojs-fallback .rv,.nojs-fallback .rv,.nojs-fallback .rise,.nojs-fallback .ln>span{opacity:1!important;transform:none!important}

/* ---------- abertura ---------- */
@property --ir{syntax:"<length>";inherits:false;initial-value:0px}
.intro{position:fixed;inset:0;z-index:300;background:var(--navy);display:grid;place-items:center;--ir:0px;-webkit-mask-image:radial-gradient(circle at 50% var(--hy,42%),transparent var(--ir),#000 calc(var(--ir) + 1px));mask-image:radial-gradient(circle at 50% var(--hy,42%),transparent var(--ir),#000 calc(var(--ir) + 1px));pointer-events:none} /* taste-skill-ignore */
.intro-pin{width:min(26vw,150px);min-width:92px;height:auto;aspect-ratio:100/142;overflow:visible}
.ip{transition:transform .7s var(--e)}
.intro:not(.run) .ip-r{transform:translateX(-80px)}.intro:not(.run) .ip-y{transform:translateY(90px)}.intro:not(.run) .ip-g{transform:translateX(90px)}.intro:not(.run) .ip-b{transform:translateY(-90px)}
.intro .ip-y{transition-delay:.08s}.intro .ip-g{transition-delay:.16s}.intro .ip-b{transition-delay:.24s}
.intro.open{transition:--ir .95s cubic-bezier(.65,0,.2,1);--ir:160vmax}
.intro.gone{display:none}
.no-intro .intro{display:none}
@supports not (mask-image:radial-gradient(circle,#000,#000)){.intro.open{opacity:0;transition:opacity .6s}} /* taste-skill-ignore */

/* ---------- 1 · hero ---------- */
.ch-hero{min-height:100svh;display:flex;align-items:center;padding-top:calc(var(--nav-h,76px) + 28px);padding-bottom:72px;background:var(--paper)}
.hero-pin-wrap{position:absolute;z-index:1;height:118svh;aspect-ratio:100/142;left:calc(80vw - 41.5svh);top:-8svh;transform:translate3d(calc(var(--px,0) * 14px),calc(var(--py,0) * 10px),0) rotate(calc(var(--px,0) * 1.2deg));transition:transform .5s var(--e);will-change:transform}
.hero-pin{width:100%;height:100%;overflow:visible}
.js:not(.ready) .seg{opacity:0}
.js .ready .seg,.ready .seg{animation:segIn 1.4s var(--e) both}
.seg-r{animation-delay:0s!important}.seg-y{animation-delay:.08s!important}.seg-g{animation-delay:.16s!important}.seg-b{animation-delay:.24s!important}
@keyframes segIn{from{opacity:0;transform:scale(1.1) rotate(2.5deg);transform-origin:50px 50.5px}to{opacity:1;transform:none;transform-origin:50px 50.5px}}
.hole{position:absolute;left:50%;top:35.6%;width:42%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.ping{position:absolute;inset:0;border-radius:50%;border:5px solid #fff;opacity:0;transform:scale(.4)}
.ping.go{animation:ping 1.5s var(--e)}
.ping:nth-child(2).go{animation-delay:.18s}.ping:nth-child(3).go{animation-delay:.36s}
@keyframes ping{0%{opacity:.9;transform:scale(.55)}100%{opacity:0;transform:scale(2.3)}}
.query{position:relative;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:999px;padding:.85em 1.2em;font-weight:600;font-size:clamp(13px,2.2svh,19px);white-space:nowrap;max-width:140%}
.q-ic{width:1.2em;height:1.2em;color:var(--yellow);flex:none}
.q-caret{width:2px;height:1.1em;background:#fff;animation:caret 1s steps(2) infinite}
@keyframes caret{50%{opacity:0}}
.found{position:absolute;left:36%;top:66%;z-index:3;display:grid;gap:3px;background:#fff;color:var(--ink);border-radius:22px;padding:16px 18px;min-width:min(260px,64%);font-size:clamp(13px,1.9svh,16px);opacity:0;transform:translateY(14px) scale(.94);transition:opacity .5s var(--e),transform .6s var(--e)}
.found.show{opacity:1;transform:none}
.found b{font-size:1.28em;letter-spacing:-.02em}
.found-meta{display:flex;align-items:center;gap:8px;font-weight:700}
.found-sub{color:var(--mut)}.found-sub em{font-style:normal;color:var(--green-d);font-weight:700}
.found-btns{display:flex;gap:8px;margin-top:8px}
.found-btns i{font-size:13px;display:inline-flex;align-items:center;gap:6px;font-style:normal;font-weight:700;background:var(--paper-2);border-radius:999px;padding:6px 12px;color:var(--blue)}
.found-btns svg{width:1.1em;height:1.1em}
.hero-grid{position:relative;z-index:2}
.hero-copy{max-width:min(54vw,860px)}
.hero-h{font-size:var(--t-h1);font-weight:800;letter-spacing:-.045em;word-spacing:.07em;line-height:.96}
.ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.ln>span{display:inline-block}
.js:not(.ready) .ln>span{transform:translateY(112%)}
.ready .ln>span{animation:lnUp 1s var(--e) both}
.ready .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes lnUp{from{transform:translateY(112%)}to{transform:none}}
.hl{color:var(--blue)}
.hero-p{margin-top:clamp(22px,3vw,38px)}
.hero-cta{margin-top:clamp(24px,3vw,40px);display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.js:not(.ready) .rise{opacity:0;transform:translateY(20px)}
.ready .rise{animation:riseIn .9s var(--e) .45s both}
.ready .hero-cta{animation-delay:.6s}
@keyframes riseIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;left:var(--m);bottom:26px;z-index:2;width:48px;height:48px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.scroll-cue span{width:10px;height:10px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg) translate(-2px,-2px);animation:bob 1.8s var(--e) infinite}
@keyframes bob{50%{transform:rotate(45deg) translate(2px,2px)}}
@media (max-width:860px){
  .ch-hero{align-items:flex-start;padding-top:calc(var(--nav-h,76px) + 20px);min-height:100svh}
  .hero-copy{max-width:none}
  .hero-pin-wrap{height:auto;width:120vw;left:50%;top:auto;bottom:-94vw;transform:translate3d(-50%,0,0);aspect-ratio:100/142}
  .hero-h{font-size:clamp(46px,14.2vw,72px)}
  .found{left:30%;top:72%;min-width:50vw;font-size:12.5px;padding:12px 14px}
  .query{font-size:13px}
  .scroll-cue{display:none}
}

/* ---------- 2 · problema (vermelho) ---------- */
.ch-red .h2{max-width:none;margin-bottom:clamp(36px,5vw,72px)}
.ch-red .two{align-items:start}
.ch-red .h2 span{display:block;color:#FFE27A}
.ch-red .lead{margin-top:28px;max-width:30ch}
.srcs{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.srcs li{display:flex;flex-direction:column;align-items:center;gap:10px;width:clamp(104px,10vw,140px);background:#fff;color:var(--ink);border-radius:24px;padding:18px 10px;font-weight:700;font-size:14.5px;text-align:center;line-height:1.2;transition:transform .35s var(--e)}
.srcs li:hover{transform:translateY(-6px) rotate(-1.5deg)}
.srcs svg{width:36px;height:36px}
.pills{display:grid;gap:14px}
.pill{display:flex;align-items:center;gap:14px;background:#fff;color:var(--ink);border-radius:999px;padding:clamp(16px,1.6vw,22px) clamp(20px,2vw,30px);font-size:clamp(18px,1.9vw,28px);font-weight:600;letter-spacing:-.015em;width:fit-content;max-width:100%;min-height:1.9em}
.pill .ic{color:var(--blue);width:1.05em;height:1.05em}
.pill:nth-child(even){margin-left:clamp(0px,5vw,84px)}
.pill span[data-full]{display:inline-block}
.pill span[data-full]::before{content:attr(data-full);display:block;height:0;overflow:hidden;visibility:hidden}
.pill span.typing::after{content:"";display:inline-block;width:2px;height:1em;background:var(--ink);margin-left:3px;vertical-align:-.12em;animation:caret 1s steps(2) infinite}
.ask{display:flex;align-items:center;gap:20px;margin-top:30px;background:var(--navy);color:#fff;border-radius:var(--r);padding:clamp(20px,2.4vw,32px);font-size:clamp(18px,1.7vw,24px);line-height:1.3;font-weight:500}
.ask b{color:var(--yellow);font-weight:800}
.ask-pin{width:34px;height:48px;flex:none;animation:hop 2.4s var(--e) infinite}
@keyframes hop{0%,60%,100%{transform:none}70%{transform:translateY(-10px)}80%{transform:none}88%{transform:translateY(-4px)}}

/* ---------- 3 · mundo / IA (azul) ---------- */
.ch-blue .statement{margin-top:20px;font-weight:800;font-size:clamp(24px,2.8vw,42px);letter-spacing:-.03em;line-height:1.12;max-width:22ch}
.ch-blue .body{margin-top:22px;color:#fff;max-width:46ch}
.two--orbit{grid-template-columns:1fr 1.05fr}
.orbit{position:relative;width:min(100%,640px);aspect-ratio:1;margin-inline:auto;container-type:inline-size}
.orbit-core{position:absolute;inset:0;margin:auto;width:15%;height:21%;z-index:2}
.orbit-core svg{width:100%;height:100%;animation:hop 3.4s var(--e) infinite}
.ring{position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}
.ring-2{inset:0}.ring-1{inset:28.5%;background:rgba(255,255,255,.13)}
.sats{position:absolute;inset:0}
.sat{position:absolute;inset:0;animation:spin var(--T,80s) linear infinite;animation-delay:var(--o,0s)}
.sat-in{position:absolute;left:50%;top:50%;width:23cqi;display:flex;flex-direction:column;align-items:center;gap:1.4cqi;text-align:center;background:#fff;color:var(--ink);border-radius:4.4cqi;padding:2.4cqi 1.6cqi;font-size:max(13px,2.1cqi);line-height:1.2;transform:translate(-50%,calc(-50% - var(--rr)));animation:spinr var(--T,80s) linear infinite;animation-delay:var(--o,0s);transition:scale .35s var(--e)}
.sat-in svg{width:7.5cqi;height:7.5cqi}
.sat-in b{font-weight:800}
.sat-in span{display:none;font-size:max(13px,1.9cqi);font-weight:500;color:var(--mut)}
.sat-in:hover{scale:1.12;z-index:5}.sat-in:hover span{display:block}
.orbit:hover .sat,.orbit:hover .sat-in{animation-play-state:paused}
.sat,.sat-in{--rr:38cqi;--T:120s}
.s1{--o:0s}.s2{--o:-24s}.s3{--o:-48s}.s4{--o:-72s}.s5{--o:-96s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{from{transform:translate(-50%,calc(-50% - var(--rr))) rotate(0)}to{transform:translate(-50%,calc(-50% - var(--rr))) rotate(-360deg)}}
.chosen{margin-top:clamp(56px,7vw,110px);max-width:none}
.chosen-lead{font-size:clamp(19px,2.2vw,32px);font-weight:600;line-height:1.3;letter-spacing:-.015em;max-width:34ch}
.chosen-words{margin-top:clamp(10px,1.4vw,20px);font-size:clamp(34px,6vw,96px);font-weight:800;letter-spacing:-.045em;line-height:1.02;max-width:none;text-wrap:balance}
.chosen-words b{position:relative;display:inline-block;z-index:0;font-weight:800}
.chosen-words b::after{content:"";position:absolute;left:0;bottom:.04em;height:.22em;width:0;z-index:-1;background:var(--c);transition:width .9s var(--e) var(--cd)}
.chosen.in .chosen-words b::after{width:100%}
.chosen .w1{--c:var(--yellow);--cd:.5s}.chosen .w2{--c:var(--green);--cd:1.1s}.chosen .w3{--c:var(--red);--cd:1.7s}
@media (max-width:900px){.two--orbit{grid-template-columns:1fr}.orbit{width:min(100%,520px)}}

/* ---------- 4 · o que é (papel) ---------- */
.ch-paper .statement b{color:var(--blue)}
.quad{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:clamp(40px,5vw,72px)}
.q{border-radius:var(--r);padding:clamp(24px,3vw,44px);min-height:clamp(210px,26vw,380px);display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.q h3{font-size:var(--t-m);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.q p{font-size:clamp(17px,1.4vw,21px);max-width:26ch;font-weight:500}
.q-b{background:var(--blue);color:#fff}.q-g{background:var(--green);color:var(--ink)}.q-r{background:var(--red);color:#fff}.q-y{background:var(--yellow);color:var(--ink)}
.js .q{opacity:0;transition:opacity .7s var(--e),transform 1s var(--e)}
.js .q-b{transform:translateY(-60px)}.js .q-g{transform:translateX(70px)}.js .q-r{transform:translateX(-70px)}.js .q-y{transform:translateY(60px)}
.js .quad.in .q{opacity:1;transform:none}
.js .quad.in .q-g{transition-delay:.12s}.js .quad.in .q-r{transition-delay:.2s}.js .quad.in .q-y{transition-delay:.3s}
@media (max-width:640px){.quad{grid-template-columns:1fr}.q{min-height:170px}}

/* ---------- 5 · camadas (amarelo) ---------- */
.layers{display:grid;grid-template-columns:1.12fr .88fr;grid-template-areas:"head stage" "list stage";grid-template-rows:auto 1fr;column-gap:clamp(32px,5vw,90px);align-items:start}
.layers-head{grid-area:head}.lyr{grid-area:list}.layers-stage{grid-area:stage}
.layers-head .h2{max-width:none;font-size:clamp(32px,3.9vw,64px)}
.layers-head .hint{margin-top:22px}
.lyr{margin-top:clamp(28px,3vw,48px);display:grid;gap:clamp(10px,1.4vw,20px)}
.ly{display:grid;grid-template-columns:34px 1fr;column-gap:16px;align-items:start;width:100%;text-align:left;padding:6px 0;border-radius:14px;transition:transform .3s var(--e)}
.ly::before{content:"";grid-row:1/3;width:30px;height:30px;margin-top:.45em;border-radius:50%;background:rgba(10,26,51,.14);transition:background-color .3s,transform .4s var(--e)}
.ly[aria-pressed="true"]::before{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.500 4 4 8-9' fill='none' stroke='%23FBBC04' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;transform:scale(1.1)}
.ly:hover{transform:translateX(6px)}
.ly-n{font-size:clamp(26px,3.3vw,52px);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.ly-d{font-size:clamp(15.5px,1.15vw,18px);font-weight:500;color:var(--ink);max-width:46ch;margin-top:4px}
.layers-stage{position:sticky;top:calc(var(--nav-h,76px) + 12px)}
.stage{position:relative;width:100%;aspect-ratio:10/11;border-radius:var(--r);overflow:hidden;background:#EAF0F8;container-type:size;color:var(--ink)}
.stage-map{position:absolute;inset:0;width:100%;height:100%}
.st{position:absolute;opacity:0;transform:scale(.9) translateY(10px);transition:opacity .5s var(--e),transform .7s var(--e);pointer-events:none}
.stage[data-on~="seo"] .st-seo,.stage[data-on~="dirs"] .st-dirs,.stage[data-on~="prod"] .st-prod,.stage[data-on~="rev"] .st-rev,.stage[data-on~="photos"] .st-photos,.stage[data-on~="auth"] .st-auth,.stage[data-on~="rep"] .st-rep,.stage[data-on~="profile"] .st-card{opacity:1;transform:none}
.st-pin{opacity:1;left:50cqw;top:53cqw;width:12cqw;transform:translateX(-50%)!important;transition:scale .6s var(--e)}
.st-pin svg{width:100%;height:auto;aspect-ratio:100/142;filter:none}
.stage[data-on~="auth"] .st-pin{scale:1.22;transform-origin:50% 100%}
.st-prod,.st-dirs{inset:0}
.st-seo{left:50cqw;top:59.5cqw;width:0;height:0}
.st-seo i{position:absolute;border-radius:50%;background:var(--blue);opacity:.14;left:0;top:0;translate:-50% -50%;width:var(--w);height:var(--w)}
.st-seo i:nth-child(1){--w:26cqw}.st-seo i:nth-child(2){--w:48cqw;opacity:.1}.st-seo i:nth-child(3){--w:74cqw;opacity:.07}
.stage[data-on~="seo"] .st-seo i{animation:seoPulse 3.6s var(--e) infinite}
.stage[data-on~="seo"] .st-seo i:nth-child(2){animation-delay:.3s}.stage[data-on~="seo"] .st-seo i:nth-child(3){animation-delay:.6s}
@keyframes seoPulse{0%,100%{scale:.94}50%{scale:1.04}}
.st-dirs i{position:absolute;width:5.6cqw;height:7.8cqw;background:url("../img/pin.svg") center/contain no-repeat;transform:translate(-50%,-100%);transform-origin:50% 100%}
.stage[data-on~="dirs"] .st-dirs i{animation:drop .7s var(--e) both}
.stage[data-on~="dirs"] .st-dirs i:nth-child(2){animation-delay:.08s}.stage[data-on~="dirs"] .st-dirs i:nth-child(3){animation-delay:.16s}.stage[data-on~="dirs"] .st-dirs i:nth-child(4){animation-delay:.24s}.stage[data-on~="dirs"] .st-dirs i:nth-child(5){animation-delay:.32s}.stage[data-on~="dirs"] .st-dirs i:nth-child(6){animation-delay:.4s}
@keyframes drop{from{opacity:0;translate:0 -3cqw}to{opacity:1;translate:0 0}}
.st-card{left:50%;top:4.5cqw;translate:-50% 0;width:64cqw;background:#fff;border-radius:5cqw;padding:3.2cqw 3.6cqw;display:grid;gap:.8cqw;font-size:max(13px,2.6cqw)}
.st-card b{font-size:1.7em;letter-spacing:-.02em;line-height:1.1}
.st-card .cm{display:flex;align-items:center;gap:1.4cqw;font-weight:700}
.st-card .cs{color:var(--mut)}.st-card em{font-style:normal;color:var(--green-d);font-weight:700}
.cb{display:flex;gap:1.6cqw;margin-top:1.2cqw}
.cb i{display:inline-flex;align-items:center;gap:.9cqw;font-style:normal;font-weight:700;background:var(--paper-2);color:var(--blue);border-radius:999px;padding:.9cqw 2.2cqw}
.cb svg{width:1.15em;height:1.15em}
.st-prod span{position:absolute;background:var(--ink);color:#fff;border-radius:999px;padding:1.4cqw 3cqw;font-size:max(13px,2.5cqw);font-weight:700;white-space:nowrap}
.st-prod span:nth-child(2){background:var(--blue)}.st-prod span:nth-child(3){background:var(--red)}
.st-rev{left:4cqw;top:53cqw;display:grid;gap:1.6cqw;font-size:max(13px,2.5cqw)}
.st-rev b{display:inline-flex;align-items:center;gap:1.2cqw;background:#fff;border-radius:999px;padding:1.2cqw 2.4cqw;font-weight:800;width:fit-content}
.st-rev em{font-style:normal;font-weight:500;color:var(--mut)}
.st-rev p{background:var(--ink);color:#fff;border-radius:3cqw 3cqw 3cqw .6cqw;padding:1.4cqw 2.6cqw;font-weight:600;width:fit-content}
.st-photos{left:4cqw;top:84cqw;display:flex;gap:1.6cqw}
.st-photos img{width:15cqw;height:15cqw;object-fit:cover;border-radius:2.6cqw}
.st-auth{left:50%;top:76cqw;translate:-50% 0;display:flex;align-items:center;gap:1.4cqw;background:var(--green);color:var(--ink);border-radius:999px;padding:1.4cqw 3cqw 1.4cqw 2cqw;font-weight:800;font-size:max(13px,2.5cqw);white-space:nowrap}
.st-auth svg{width:3.8cqw;height:3.8cqw}
.st-rep{right:4cqw;top:84cqw;width:40cqw;height:21cqw;background:#fff;border-radius:3.6cqw;padding:2cqw 2.6cqw;display:grid;grid-template-rows:auto 1fr;font-size:max(13px,2.3cqw);font-weight:800}
.st-rep svg{width:100%;height:100%;overflow:visible}
.st-rep path{stroke-dasharray:1;stroke-dashoffset:1}
.stage[data-on~="rep"] .st-rep path{animation:draw 1.6s var(--e) .3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.meter{display:flex;align-items:center;gap:14px;margin-top:16px;font-weight:800;font-size:17px;flex-wrap:wrap}
.meter-bar{flex:1;min-width:120px;height:14px;border-radius:999px;background:rgba(10,26,51,.16);overflow:hidden}
.meter-bar i{display:block;height:100%;width:0;background:var(--ink);border-radius:999px;transition:width .6s var(--e)}
.meter-all{background:var(--ink);color:#fff;border-radius:999px;padding:9px 18px;font-weight:700;font-size:14.5px;transition:transform .2s var(--e)}
.meter-all:active{transform:scale(.95)}
@container (max-width:420px){
  .st-prod span:nth-child(3){display:none}
  .st-prod span:nth-child(1){left:5%!important;top:35%!important}
  .st-prod span:nth-child(2){left:50%!important;top:35%!important}
  .st-rev p{display:none}
  .st-rev b svg{display:none}
  .st-card{width:74cqw}
}
@media (max-width:900px){
  .layers{grid-template-columns:1fr;grid-template-areas:"head" "stage" "list";grid-template-rows:auto}
  .layers-stage{position:sticky;top:var(--nav-h,76px);z-index:3;margin-inline:calc(var(--m) * -1);padding:12px var(--m) 10px;background:var(--yellow)}
  .layers-stage .stage{max-height:46svh;aspect-ratio:auto;height:46svh}
  .ly-n{font-size:clamp(23px,6.6vw,34px)}
}

/* ---------- 6 · sem pagar por clique (navy) ---------- */
.intro-row--dark .statement{color:#fff;font-size:clamp(18px,1.5vw,22px);line-height:1.45}
.climb{position:relative;height:175svh;margin-top:clamp(48px,6vw,90px)}
.climb-in{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:var(--nav-h,76px)}
.climb-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,84px);align-items:center}
.climb-facts{display:grid;gap:clamp(18px,2.4vw,34px)}
.climb-facts h3{font-size:var(--t-m);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.climb-facts article h3{transition:color .4s}
.climb-facts article.on h3{color:var(--yellow)}
.climb-facts p{margin-top:6px;color:var(--mut-d);font-size:clamp(16px,1.2vw,18px);max-width:40ch;transition:color .4s}
.climb-facts article.on p{color:#fff}
.climb-facts .note{font-size:14.5px;color:var(--mut-d)}
.serp{background:#fff;color:var(--ink);border-radius:var(--r);padding:clamp(16px,2vw,28px);--rh:clamp(58px,8.2svh,76px)}
.serp-bar{display:flex;align-items:center;gap:12px;background:var(--paper-2);border-radius:999px;padding:12px 20px;font-weight:600;font-size:clamp(14px,1.2vw,17px)}
.serp-bar .ic{color:var(--blue)}
.serp-head{display:flex;justify-content:space-between;align-items:baseline;margin:18px 4px 10px;font-weight:700;color:var(--mut)}
.serp-head b{font-size:clamp(36px,4.2vw,64px);font-weight:800;color:var(--ink);letter-spacing:-.04em;line-height:1;min-width:2.2ch;text-align:right;transition:color .3s}
.serp[data-pos="1"] .serp-head b{color:var(--green-d)}
.serp-list{position:relative;height:calc(var(--rh) * 6)}
.row{position:absolute;left:0;right:0;top:0;height:calc(var(--rh) - 6px);display:flex;align-items:center;gap:14px;padding:0 16px;border-radius:18px;background:var(--paper);transform:translateY(calc(var(--i,0) * var(--rh)));transition:transform .7s var(--e),background-color .4s,color .4s}
.row .dot{width:14px;height:14px;border-radius:50%;background:#B5C3DA;flex:none;margin:0 5px}
.row div{flex:1;min-width:0;display:grid;line-height:1.2}
.row b{font-size:clamp(15px,1.25vw,18px)}
.row span{font-size:clamp(13px,.95vw,14px);color:var(--mut)}
.row em{font-style:normal;font-weight:700;font-size:clamp(13px,.95vw,14px);white-space:nowrap;display:flex;align-items:center;gap:6px}
.row .pin-s{width:38px;height:38px;flex:none;padding:5px 9px;background:#fff;border-radius:50%;margin:0 0 0 -2px}
.row .stars{width:5em;color:var(--yellow)}
.row u{text-decoration:none;color:var(--green-d);font-weight:700}
.row.me{background:var(--blue);color:#fff;z-index:2}
.row.me span,.row.me em{color:#E3EDFF}.row.me u{color:#9EF0B4}
.row.me.top{background:var(--green);color:var(--ink)}.row.me.top span,.row.me.top em{color:var(--ink)}.row.me.top u{color:var(--ink)}
.pair-wrap{margin-top:clamp(70px,9vw,140px)}
.pair-wrap .h3{max-width:24ch;font-size:clamp(28px,3.6vw,56px)}
.pair-wrap .body{margin-top:20px;color:var(--mut-d);max-width:60ch}
.pair{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:clamp(28px,3vw,44px)}
.pair article{border-radius:var(--r);padding:clamp(22px,2.6vw,38px);display:grid;gap:10px;align-content:end;min-height:220px}
.pair h4{font-size:var(--t-m);font-weight:800;letter-spacing:-.03em;line-height:1.08}
.pair p{font-size:clamp(16px,1.3vw,19px);font-weight:500;max-width:34ch}
.pair-a{background:#fff;color:var(--ink)}.pair-b{background:var(--yellow);color:var(--ink)}
.pair-plus{align-self:center;font-size:clamp(40px,5vw,72px);font-weight:800;color:var(--blue-l);line-height:1}
@media (max-width:900px){
  .climb{height:210svh}.climb-grid{grid-template-columns:1fr}.climb-facts article:nth-of-type(n+2),.climb-facts .note{display:none}
  .serp{--rh:clamp(50px,7.4svh,64px)}
  .row .stars{display:none}.row div b,.row div span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{padding:0 12px;gap:10px}
  .pair{grid-template-columns:1fr}.pair-plus{justify-self:center}
}

/* ---------- 7 · processo / rota (papel) ---------- */
.ch-route .h2{max-width:14ch}
.route{position:relative;margin-top:clamp(40px,6vw,90px)}
.route-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.route-rest{fill:none;stroke:#9DB1D1;stroke-width:6;stroke-linecap:round;stroke-dasharray:.1 16}
.route-case{fill:none;stroke:#1346A8;stroke-width:16;stroke-linecap:round;stroke-linejoin:round}
.route-line{fill:none;stroke:#4C8DF6;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.you{position:absolute;left:0;top:0;width:0;height:0;z-index:3;pointer-events:none}
.you i{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border-radius:50%;background:var(--blue);border:4px solid #fff}
.you::before{content:"";position:absolute;left:-34px;top:-34px;width:68px;height:68px;border-radius:50%;background:var(--blue);opacity:.2;animation:halo 2.2s var(--e) infinite}
@keyframes halo{0%{scale:.5;opacity:.35}100%{scale:1.3;opacity:0}}
.steps{position:relative;z-index:2;display:grid;gap:clamp(70px,11vw,150px);padding-block:clamp(10px,3vw,40px)}
.step{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:120px}
.wp{position:absolute;top:50%;width:34px;height:34px;border-radius:50%;background:var(--c,var(--blue));border:7px solid #fff;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:transform .6s var(--e),opacity .4s}
.step:nth-child(odd) .wp{left:38%}.step:nth-child(even) .wp{left:62%}
.step.in .wp{opacity:1;transform:translate(-50%,-50%) scale(1)}
.wp svg{display:none}
.step:last-child .wp{width:46px;height:64px;border:0;background:none;border-radius:0;transform-origin:50% 100%;translate:0 -32%}
.step:last-child .wp svg{display:block;width:100%;height:100%}
.step[data-c="b"]{--c:var(--blue)}.step[data-c="r"]{--c:var(--red)}.step[data-c="y"]{--c:var(--yellow)}.step[data-c="g"]{--c:var(--green)}
.step .card{grid-column:2;background:var(--paper-2);border-radius:var(--r);padding:clamp(22px,2.6vw,38px);max-width:520px;border-left:12px solid var(--c)}
.step:nth-child(even) .card{grid-column:1;grid-row:1;justify-self:end;border-left:0;border-right:12px solid var(--c)}
.card h3{font-size:var(--t-m);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.card p{margin-top:8px;font-size:clamp(16px,1.3vw,19px);max-width:36ch}
.js .step .card{opacity:0;transform:translateY(34px);transition:opacity .8s var(--e) .1s,transform .9s var(--e) .1s}
.js .step.in .card{opacity:1;transform:none}
@media (max-width:860px){
  .step{grid-template-columns:1fr;padding-left:56px}
  .step .card,.step:nth-child(even) .card{grid-column:1;justify-self:stretch;border-left:12px solid var(--c);border-right:0;max-width:none}
  .step:nth-child(odd) .wp,.step:nth-child(even) .wp{left:20px}
}

/* ---------- 8 · resultados (verde) ---------- */
.ch-green .h2{max-width:13ch}
.ch-green .statement{color:var(--ink)}
.matrix{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(28px,4vw,72px);align-items:center;margin-top:clamp(40px,5vw,80px)}
#dots{width:100%;height:auto;border-radius:var(--r)}
.legend{display:grid;gap:clamp(14px,1.8vw,26px)}
.legend li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;cursor:default;transition:transform .3s var(--e)}
.legend li:hover{transform:translateX(8px)}
.legend .k{width:22px;height:22px;border-radius:50%;grid-row:1/3;align-self:start;margin-top:.55em}
.k-imp{background:var(--navy)}.k-rotas{background:var(--red)}.k-cham{background:#fff}.k-site{background:var(--yellow)}
.legend b{font-size:clamp(46px,5.4vw,92px);font-weight:800;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.legend span{font-weight:800;font-size:clamp(18px,1.6vw,23px);line-height:1.15;letter-spacing:-.015em;grid-column:2}
.legend small{display:block;font-weight:500;font-size:17px;line-height:1.35;margin-top:3px}
.legend b{grid-column:2}
.legend.dim li:not(.on){opacity:.4}
.src{margin-top:26px;font-size:15px;font-weight:600;max-width:90ch}
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px;margin-top:clamp(56px,7vw,110px)}
.case{display:grid;gap:14px;background:var(--navy);color:#fff;border-radius:var(--r);overflow:hidden;padding-bottom:22px}
.case img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;transition:scale 1.2s var(--e)}
.case:hover img{scale:1.04}
.case{overflow:hidden}
.case figcaption{display:grid;gap:4px;padding:0 24px}
.case b{font-size:clamp(22px,2vw,30px);letter-spacing:-.025em}
.case span{color:var(--mut-d);font-size:16px}
.case em{display:inline-flex;align-items:center;gap:8px;margin-top:8px;width:fit-content;font-style:normal;font-weight:700;font-size:15px;background:#fff;color:var(--ink);border-radius:999px;padding:7px 16px}
.case em .ic{color:var(--blue)}
.dz9{margin-top:8px;background:var(--navy);color:#fff;border-radius:var(--r);padding:clamp(22px,3vw,44px)}
.dz9-head{margin-bottom:clamp(18px,2.4vw,32px)}
.dz9-cap{margin-top:16px;color:var(--mut-d);font-weight:600;font-size:16px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi{border-radius:22px;padding:clamp(16px,2vw,28px);display:grid;gap:6px;min-height:clamp(150px,15vw,220px);grid-template-rows:auto 1fr auto}
.kpi span{align-self:end}
.kpi span{font-weight:700;font-size:clamp(14.5px,1.2vw,17px)}
.kpi b{font-size:clamp(40px,4.6vw,76px);font-weight:800;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.kpi em{font-style:normal;font-weight:800;font-size:15px;background:rgba(10,26,51,.18);border-radius:999px;padding:4px 12px;width:fit-content}
.kpi-b{background:var(--blue);color:#fff}.kpi-g{background:var(--green);color:var(--ink)}.kpi-r{background:var(--red);color:#fff}.kpi-y{background:var(--yellow);color:var(--ink)}
.kpi-b em,.kpi-r em{background:rgba(255,255,255,.22)}
@media (max-width:900px){.matrix{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.legend{grid-template-columns:1fr 1fr}.legend li{grid-template-columns:1fr}.legend .k{grid-row:auto;margin:0 0 6px}.legend span,.legend b{grid-column:1}.legend small{display:none}}

/* ---------- 9 · gestão mensal (navy) ---------- */
.month{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,100px);align-items:center}
.ch-month .h2{max-width:none;font-size:clamp(32px,4.1vw,64px)}
.ch-month .statement{margin-top:26px;color:#fff;font-weight:800;letter-spacing:-.03em}
.ch-month .body{margin-top:18px;color:var(--mut-d)}
.routine{margin-top:clamp(26px,3vw,44px);display:grid;gap:6px}
.routine li{position:relative;display:grid;gap:2px;padding:16px 20px 16px 44px;border-radius:20px;transition:background-color .3s}
.routine li::before{content:"";position:absolute;left:16px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--ac)}
.routine li:hover,.routine li:focus-within{background:rgba(255,255,255,.07)}
.routine b{font-size:clamp(18px,1.6vw,23px);letter-spacing:-.02em}
.routine span{color:var(--mut-d);font-size:16px}
.routine [data-a="b"]{--ac:var(--blue-l)}.routine [data-a="r"]{--ac:#FF6A5E}.routine [data-a="y"]{--ac:var(--yellow)}.routine [data-a="g"]{--ac:#4FD27A}
.month-viz{position:relative;width:min(100%,520px);aspect-ratio:1;margin-inline:auto}
.cycle{width:100%;height:100%;overflow:visible}
.c-base{fill:none;stroke:rgba(255,255,255,.07);stroke-width:46}
.arc{fill:none;stroke-width:46;stroke-linecap:butt;stroke-dasharray:0 100;stroke-dashoffset:calc(var(--i) * -25);transform:rotate(-90deg);transform-origin:200px 200px;transition:stroke-dasharray 1.1s var(--e) calc(var(--i) * .25s),opacity .3s}
.arc-b{--i:0;stroke:var(--blue-l)}.arc-r{--i:1;stroke:#FF6A5E}.arc-y{--i:2;stroke:var(--yellow)}.arc-g{--i:3;stroke:#4FD27A}
.month-viz.in .arc{stroke-dasharray:23.2 76.8}
.cycle[data-hi] .arc{opacity:.22}
.cycle[data-hi="b"] .arc-b,.cycle[data-hi="r"] .arc-r,.cycle[data-hi="y"] .arc-y,.cycle[data-hi="g"] .arc-g{opacity:1}
.cycle-dot{transform-origin:200px 200px;animation:spin 20s linear infinite}
.cycle-dot circle{fill:#fff}
.cycle-mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;padding:22%}
.cycle-mid b{font-size:clamp(34px,4.6vw,72px);font-weight:800;letter-spacing:-.04em;line-height:1}
.cycle-mid span{color:var(--mut-d);font-size:clamp(14px,1.2vw,17px);font-weight:600}
.gains{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:clamp(56px,7vw,110px)}
.gains li{background:var(--navy-2);border-radius:var(--r);padding:clamp(20px,2.4vw,34px);font-size:clamp(17px,1.5vw,22px);font-weight:500;line-height:1.25;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}
.gains b{display:block;font-weight:800;font-size:1.28em;letter-spacing:-.025em;color:var(--yellow)}
.evolve{margin-top:clamp(40px,5vw,72px);font-weight:800;letter-spacing:-.03em;font-size:clamp(26px,3.4vw,52px);max-width:24ch;line-height:1.1}
@media (max-width:900px){.month{grid-template-columns:1fr}.gains{grid-template-columns:1fr 1fr}}

/* ---------- 10 · dúvidas (papel) ---------- */
.faq{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,90px);align-items:start}
.faq-h{position:sticky;top:calc(var(--nav-h,76px) + 20px);font-size:clamp(34px,4.2vw,68px);max-width:9ch}
.faq-list{display:grid;gap:8px}
.qa{background:var(--paper-2);border-radius:var(--r);transition:background-color .3s,color .3s}
.qa summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;font-weight:700;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.015em;cursor:pointer;list-style:none;min-height:76px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:18px;height:18px;background:currentColor;clip-path:polygon(40% 0,60% 0,60% 40%,100% 40%,100% 60%,60% 60%,60% 100%,40% 100%,40% 60%,0 60%,0 40%,40% 40%);transition:transform .35s var(--e)}
.qa[open]{background:var(--blue);color:#fff}
.qa[open] summary::after{clip-path:polygon(0 40%,100% 40%,100% 60%,0 60%)}
.qa p{padding:0 30px 28px;max-width:56ch;font-size:clamp(16.5px,1.3vw,18.5px)}
.qa:not([open]):hover{background:#DAE5F6}
@media (max-width:900px){.faq{grid-template-columns:1fr}.faq-h{position:static;max-width:none}}

/* ---------- 11 · diagnóstico (azul) — o gesto vivo ---------- */
.ch-cta{padding-block:clamp(70px,8vw,120px)}
.cta{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,5vw,90px);align-items:end;min-height:min(86svh,860px)}
.cta-copy{display:grid;gap:clamp(18px,2vw,28px);align-content:end}
.cta-copy .h1{font-size:clamp(42px,5.2vw,90px);max-width:13ch;line-height:1}
.cta .lead{max-width:30ch}
.cta .lead b{font-weight:800}
.cta-wa{font-weight:600}
.cta-wa a{display:inline-flex;align-items:center;gap:8px;font-weight:800;margin-left:6px;border-bottom:3px solid var(--yellow)}
.dlg{width:100%;max-width:540px;margin-left:auto;background:#fff;color:var(--ink);border-radius:34px;padding:clamp(22px,2.6vw,34px);box-shadow:0 40px 90px rgba(5,20,60,.34)} /* taste-skill-ignore */
.dlg-head h3{font-size:clamp(23px,2vw,30px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.dlg-head p{color:var(--mut);font-weight:600;font-size:15px;margin-top:4px}
.serp-live{background:var(--paper-2);border-radius:22px;padding:14px;margin:18px 0}
.sl-bar{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:11px 18px;font-weight:600;font-size:16px;overflow:hidden}
.sl-bar .ic{color:var(--blue)}
.sl-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-res{display:flex;align-items:center;gap:14px;padding:14px 8px 4px}
.sl-pin{width:26px;height:37px;flex:none;transform-origin:50% 100%}
.sl-pin.bump{animation:bump .6s var(--e)}
@keyframes bump{0%{transform:translateY(-14px) scale(.9)}55%{transform:translateY(0) scale(1.08,.92)}100%{transform:none}}
.sl-res div{display:grid;line-height:1.25;min-width:0}
.sl-res b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-res span{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--mut)}
.sl-res em{font-style:normal;color:var(--green-d);font-weight:700}
.fld{display:grid;gap:6px;margin-top:14px}
.fld span{font-weight:700;font-size:14.5px}
.fld input{height:54px;border-radius:16px;border:2px solid transparent;background:var(--paper-2);padding:0 16px;font-size:17px;font-weight:500;width:100%;transition:border-color .2s,background-color .2s}
.fld input:focus{outline:none;border-color:var(--blue);background:#fff}
.fld input::placeholder{color:#7384A0}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seg-c{border:0;margin:18px 0 20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.seg-c legend{font-weight:700;font-size:14.5px;margin-bottom:8px;padding:0;float:left;width:100%}
.seg-c label{position:relative}
.seg-c input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg-c span{display:block;padding:11px 22px;border-radius:999px;background:var(--paper-2);font-weight:700;font-size:15.5px;transition:background-color .2s,color .2s,transform .2s var(--e)}
.seg-c input:checked+span{background:var(--ink);color:#fff}
.seg-c input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:2px}
.seg-c label:active span{transform:scale(.95)}
.dlg-btns{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:20px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.err{margin-top:12px;color:var(--red);font-weight:700;font-size:15px}
.done{text-align:center;padding:12px 0 4px;display:grid;gap:12px;justify-items:center}
.done-ic{width:70px;height:70px;padding:16px;border-radius:50%;background:var(--green);color:var(--ink)}
.done h3{font-size:28px;font-weight:800;letter-spacing:-.03em}
.done p{color:var(--mut);max-width:34ch}
[hidden]{display:none!important}
@media (max-width:900px){.cta{grid-template-columns:1fr;align-items:start;min-height:0}.dlg{margin:0 auto}.cta-copy .h1{max-width:none}}
@media (max-width:480px){.fld-row{grid-template-columns:1fr}}

/* ---------- rodapé ---------- */
.foot{background:var(--navy);color:#fff;padding-top:clamp(70px,9vw,140px);overflow:hidden}
.foot-tag{font-weight:700;letter-spacing:.22em;font-size:clamp(15px,1.6vw,22px)}
.foot-tag span{color:var(--green)}
.foot-row{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,6vw,100px);margin-top:clamp(36px,5vw,70px);align-items:start}
.foot-places{display:grid;gap:8px}
.foot-places a{display:inline-flex;align-items:center;gap:16px;font-size:clamp(22px,2.9vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.15;transition:color .25s,transform .35s var(--e);word-break:break-word}
.foot-places a:hover{color:var(--yellow);transform:translateX(8px)}
.foot-places .ic{width:.8em;height:.8em}
.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-top:.6em}
.foot-links a{font-size:16.5px;font-weight:600;color:var(--mut-d);padding:4px 0;transition:color .2s}
.foot-links a:hover{color:#fff}
.foot-legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(56px,8vw,110px);font-size:14.5px;color:var(--mut-d)}
.foot-legal a:hover{color:#fff}
.foot-word{font-weight:800;font-size:clamp(88px,31.5vw,560px);letter-spacing:-.045em;line-height:.8;text-align:center;margin-top:clamp(24px,3vw,48px);margin-bottom:-.12em;color:#fff;user-select:none;white-space:nowrap}
@media (max-width:900px){.foot-row{grid-template-columns:1fr}.foot-word{font-size:27vw}}

/* ---------- acessibilidade: movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .js .rv,.js .q,.js .step .card{opacity:1!important;transform:none!important}
  .js:not(.ready) .ln>span,.js:not(.ready) .rise{transform:none;opacity:1}
  .sat,.sat-in{animation:none!important}.sat-in{transform:translate(-50%,calc(-50% - var(--rr)))}
  .arc{stroke-dasharray:23.2 76.8!important}
  .chosen-words b::after{width:100%}
  .fab::before{animation:none}
  .fab{transition:opacity .2s}
  .climb{height:auto}.climb-in{position:static;height:auto;padding-block:40px}
}
