/* Aleixo Comunicação — site v2 (rascunho). Estimativa de ID visual: azul #1E80E6 / azul profundo #0A3B91 / branco. */
@font-face{font-family:'Big Shoulders Display';font-weight:700;font-display:swap;src:url(fonts/big-shoulders-display-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:800;font-display:swap;src:url(fonts/big-shoulders-display-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:900;font-display:swap;src:url(fonts/big-shoulders-display-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:400;font-display:swap;src:url(fonts/bricolage-grotesque-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:500;font-display:swap;src:url(fonts/bricolage-grotesque-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:600;font-display:swap;src:url(fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2')}

:root{
  --blue:#1C7DE2;--blue-hi:#2B8BF0;--blue-lo:#1368CC;--deep:#0A3B91;--ink:#061633;--night:#040F27;
  --paper:#F2F6FC;--white:#fff;--pop:#FFD43B;--red:#E5322D;--line:rgba(6,22,51,.14);--line-w:rgba(255,255,255,.28);
  --f-d:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --f-b:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-m:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);--gut:clamp(20px,4.2vw,64px);--max:1320px;--hd:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-b);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;padding-bottom:34px;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--pop);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;background:var(--pop);color:var(--ink);padding:10px 14px;z-index:999;font-weight:700}
.skip:focus{top:12px}
.w{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(72px,10vw,150px);position:relative}
.sec.tight{padding-block:clamp(48px,6vw,90px)}

/* ---------- tipografia ---------- */
.d{font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:.005em;text-wrap:balance}
.d-xl{font-size:clamp(3.6rem,12.4vw,12.5rem)}
.d-l{font-size:clamp(3rem,8.6vw,8.2rem)}
.d-m{font-size:clamp(2.4rem,5.6vw,5rem)}
.d-s{font-size:clamp(1.9rem,3.4vw,3rem)}
.hl{background:var(--deep);color:#fff;padding:0 .13em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hl-y{background:var(--pop);color:var(--ink);padding:0 .13em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.k{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-m);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.k::before{content:'';width:10px;height:10px;background:currentColor;flex:none}
.lead{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.45;max-width:46ch}
.mono{font-family:var(--f-m);font-weight:500}
.pend{background:#FFF1B8;color:#5C4300;font-family:var(--f-m);font-size:.78em;padding:2px 7px;border:1px dashed #C79A00;font-weight:500}
.dk .pend{background:rgba(255,212,59,.16);color:#FFE27A;border-color:#FFD43B}

/* linhas reveladas */
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:block}
.js .rvl .ln>span{transform:translateY(108%);transition:transform 1s var(--ease)}
.js .rvl.in .ln>span{transform:none}
.js .rvl.in .ln:nth-child(2)>span{transition-delay:.09s}
.js .rvl.in .ln:nth-child(3)>span{transition-delay:.18s}
.js .rvl.in .ln:nth-child(4)>span{transition-delay:.27s}
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--dl,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- botões ---------- */
.btn{--bg:var(--deep);--fg:#fff;position:relative;display:inline-flex;align-items:center;gap:16px;min-height:60px;padding:0 26px;background:var(--bg);color:var(--fg);text-decoration:none;font-family:var(--f-d);font-weight:800;font-size:1.45rem;text-transform:uppercase;letter-spacing:.03em;border:3px solid var(--bg);overflow:hidden;isolation:isolate;transition:color .35s var(--ease),transform .3s var(--ease)}
.btn::before{content:'';position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{color:var(--bg)}
.btn .ar{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .ar{transform:translateX(6px)}
.btn.on-blue{--bg:#fff;--fg:var(--deep)}
.btn.on-blue:hover{color:#fff}
.btn.on-blue::before{background:var(--deep)}
.btn.pop{--bg:var(--pop);--fg:var(--ink)}
.btn.pop::before{background:var(--ink)}
.btn.pop:hover{color:var(--pop)}
.btn.ghost{--bg:transparent;--fg:currentColor;border-color:currentColor;background:transparent}
.tl{display:inline-flex;gap:10px;align-items:center;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.tl:hover .ar{transform:translateX(5px)}
.tl .ar{transition:transform .3s var(--ease)}

/* ---------- header ---------- */
.hd{position:fixed;inset:0 0 auto;z-index:60;height:var(--hd);color:#fff;transition:background .4s,backdrop-filter .4s,transform .5s var(--ease)}
.hd.sc{background:rgba(10,59,145,.93);backdrop-filter:blur(10px)}
.hd.hide{transform:translateY(-100%)}
.hd .w{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:block;flex:none}
.logo img{height:42px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px);font-weight:500;font-size:.98rem}
.nav a{text-decoration:none;position:relative;padding:6px 0}
.nav a:not(.nav-cta)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:not(.nav-cta):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta{border:2px solid #fff;border-radius:40px;padding:9px 20px!important;font-weight:700;transition:background .3s,color .3s}
.nav-cta:hover{background:#fff;color:var(--deep)}
.burger{display:none;width:48px;height:48px;border:2px solid #fff;border-radius:50%;background:transparent;position:relative}
.burger i{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:transform .4s var(--ease),top .4s var(--ease)}
.burger i:nth-child(1){top:18px}.burger i:nth-child(2){top:26px}
.menu-open .burger i:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .burger i:nth-child(2){top:22px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:55;background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:100px var(--gut) 60px;clip-path:circle(0 at calc(100% - 44px) 44px);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}
.menu-open .mnav{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible;transition:clip-path .7s var(--ease),visibility 0s}
.mnav a{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,12vw,4.4rem);line-height:1.02;text-decoration:none}
.mnav a small{font-family:var(--f-m);font-size:.9rem;letter-spacing:.14em;vertical-align:top;margin-right:8px;opacity:.7}
.mnav .mn-foot{margin-top:26px;font-family:var(--f-m);font-size:.85rem;opacity:.8;letter-spacing:.08em}
@media (max-width:900px){.nav{display:none}.burger{display:block}}
@media (min-width:901px){.mnav{display:none}}

/* ---------- cortina e transições ---------- */
.curtain{position:fixed;inset:0;z-index:200;background:var(--deep);pointer-events:none;transform:translateY(-101%)}
.first .curtain{transform:none;animation:cur 1.05s .15s var(--ease) forwards}
@keyframes cur{to{transform:translateY(-101%)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vo .35s ease both}
::view-transition-new(root){animation:vn .6s var(--ease) both}
@keyframes vo{to{opacity:0;transform:translateY(-14px)}}
@keyframes vn{from{opacity:0;transform:translateY(24px)}}

/* ---------- cursor ---------- */
.cur{position:fixed;left:0;top:0;z-index:250;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--pop);pointer-events:none;mix-blend-mode:normal;opacity:0;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),opacity .3s;display:grid;place-items:center;font-family:var(--f-m);font-size:.62rem;font-weight:600;color:var(--ink);letter-spacing:.06em;text-transform:uppercase}
.cur.on{opacity:1}
.cur.big{width:78px;height:78px;margin:-39px 0 0 -39px}
@media (pointer:coarse){.cur{display:none}}

/* ---------- pontos ---------- */
.dots{position:absolute;width:var(--dw,200px);height:var(--dh,200px);background-image:radial-gradient(circle,rgba(255,255,255,.42) 3.5px,transparent 4px);background-size:32px 32px;pointer-events:none}
.dots.dk{background-image:radial-gradient(circle,rgba(10,59,145,.28) 3.5px,transparent 4px)}

/* ---------- hero ---------- */
.hero{position:relative;background:linear-gradient(165deg,var(--blue-hi) 0%,var(--blue) 40%,var(--blue-lo) 100%);color:#fff;padding-top:calc(var(--hd) + clamp(44px,8vh,100px));padding-bottom:clamp(60px,9vw,120px);overflow:hidden;min-height:min(100svh,980px)}
.hero .k{margin-bottom:clamp(22px,3.4vw,40px)}
.hero-h{display:block}
.hh{display:block;font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.88;font-size:clamp(4.2rem,12.4vw,12.4rem);letter-spacing:.003em}
.hh .row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0 .22em}
.swap{display:inline-block;height:.9em;overflow:hidden;background:var(--deep);padding:0 .1em;vertical-align:bottom;transition:width .7s var(--ease);position:relative;top:0;line-height:.9em}
.swap-in{display:block;transition:transform .8s var(--ease)}
.swap-in b{display:block;height:.9em;line-height:.9em;font-weight:inherit;white-space:nowrap}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;margin-top:clamp(28px,4vw,56px);align-items:end}
.hero-q{font-family:var(--f-b);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.12;max-width:20ch;text-wrap:balance}
.hero-sub{font-size:1.2rem;max-width:44ch;line-height:1.45;margin-top:14px;color:#fff}
.hero-act{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;margin-top:28px}
.hero-cluster{position:absolute;right:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));bottom:clamp(40px,7vw,100px);width:clamp(260px,32vw,470px);height:clamp(260px,26vw,380px);pointer-events:none}
.hero-cluster>*{position:absolute;will-change:transform}
.sticker{background:var(--pop);color:var(--ink);font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.9;padding:16px 22px 14px;transform:rotate(-7deg);box-shadow:6px 6px 0 var(--deep);right:0;top:0}
.sticker small{display:block;font-family:var(--f-m);font-weight:600;font-size:.66rem;letter-spacing:.14em;margin-bottom:6px}
.sticker strong{font-size:clamp(2.4rem,4.4vw,4rem);display:block}
.sticker i{display:block;font-family:var(--f-m);font-style:normal;font-weight:500;font-size:.62rem;letter-spacing:.1em;margin-top:6px;opacity:.75}
.mini-bill{left:0;top:34%;width:68%;background:#fff;color:var(--deep);padding:14px;box-shadow:8px 8px 0 rgba(4,15,39,.5);transform:rotate(3deg)}
.mini-bill .mb-in{background:var(--deep);color:#fff;padding:16px 16px 12px;font-family:var(--f-d);font-weight:900;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:.92;text-transform:uppercase}
.mini-bill .mb-in span{background:var(--pop);color:var(--ink);padding:0 .1em}
.mini-bill small{display:block;margin-top:8px;font-family:var(--f-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}
.wave-chip{right:6%;bottom:0;display:flex;align-items:center;gap:3px;height:62px;padding:0 16px;background:var(--night);border-radius:40px}
.wave-chip span{width:4px;background:#fff;border-radius:3px;animation:wv 1.1s ease-in-out infinite;height:30%}
.wave-chip span:nth-child(3n){animation-delay:-.4s}.wave-chip span:nth-child(3n+1){animation-delay:-.8s}.wave-chip span:nth-child(5n){animation-delay:-.2s}
@keyframes wv{50%{height:92%}}
@media (max-width:1000px){.hero-cluster{display:none}}

/* ---------- marquee ---------- */
.marq{background:var(--night);color:#fff;overflow:hidden;border-block:3px solid var(--pop)}
.marq-t{display:flex;width:max-content;animation:mq 38s linear infinite}
.marq:hover .marq-t{animation-play-state:paused}
.marq span{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.2rem,5vw,4.2rem);padding:14px 0;line-height:1;white-space:nowrap}
.marq span::after{content:'✱';color:var(--pop);margin-inline:.5em;font-size:.7em;display:inline-block;vertical-align:.08em}
.marq span:nth-child(even){-webkit-text-stroke:1.5px #fff;color:transparent}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- faixa de credenciais ---------- */
.cred{background:var(--paper);border-bottom:1px solid var(--line)}
.cred-g{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cred-i{padding:30px 26px 30px 0;border-right:1px solid var(--line);margin-right:26px}
.cred-i:last-child{border:0;margin:0}
.cred-i b{display:block;font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:1.9rem;line-height:1;color:var(--deep);margin-bottom:8px}
.cred-i span{font-size:.96rem;color:#33415c;line-height:1.4;display:block}
@media (max-width:900px){.cred-g{grid-template-columns:1fr 1fr}.cred-i{border:0;margin:0;padding:22px 16px 22px 0}}
@media (max-width:520px){.cred-g{grid-template-columns:1fr}}

/* ---------- storytelling: uma ideia, quatro telas ---------- */
.story{position:relative;height:calc(var(--n,4)*85vh + 100vh);background:var(--ink);color:#fff}
.story-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hd)}
.story-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(16px,3vh,34px)}
.story-head .d{font-size:clamp(2.6rem,6.4vw,6rem)}
.story-head .k{color:var(--pop)}
.story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px);align-items:center}
.steps{position:relative;display:grid}
.steps li{grid-area:1/1;opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none}
.steps li.on{opacity:1;transform:none;pointer-events:auto}
.steps .num{font-family:var(--f-m);font-weight:600;color:var(--pop);letter-spacing:.14em;font-size:.85rem}
.steps h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(3.4rem,7vw,6.6rem);line-height:.9;margin:10px 0 14px}
.steps p{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:34ch;line-height:1.45;color:#E4ECFA}
.dots-nav{display:flex;gap:10px;margin-top:26px}
.dots-nav i{width:34px;height:6px;background:rgba(255,255,255,.25);transition:background .4s,width .4s var(--ease)}
.dots-nav i.on{background:var(--pop);width:64px}
.stage{position:relative;aspect-ratio:16/11;max-height:62vh;width:100%;background:radial-gradient(circle at 70% 20%,#12326B,#081C45);border:2px solid rgba(255,255,255,.14);overflow:hidden}
.stage .pn{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.94) translateY(30px);transition:opacity .6s var(--ease),transform .8s var(--ease);pointer-events:none}
.stage .pn.on{opacity:1;transform:none}
.stage .cap{position:absolute;left:14px;bottom:10px;font-family:var(--f-m);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#9FB8E6;z-index:3}
/* outdoor */
.bill{width:min(78%,560px);position:relative;filter:drop-shadow(0 22px 24px rgba(0,0,0,.4))}
.bill-lamps{display:flex;justify-content:space-around;padding:0 10%}
.bill-lamps i{width:6px;height:16px;background:#C6D2E8;position:relative}
.bill-lamps i::after{content:'';position:absolute;left:-12px;top:14px;width:30px;height:10px;background:radial-gradient(ellipse at 50% 0,rgba(255,244,190,.95),transparent 70%);animation:lamp 2.4s ease-in-out infinite}
@keyframes lamp{50%{opacity:.55}}
.bill-face{background:var(--blue);border:7px solid #E9EEF8;padding:clamp(14px,2.4vw,30px);color:#fff;aspect-ratio:2.2/1;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.bill-face .dots{right:8px;top:8px;--dw:110px;--dh:70px}
.bill-face small{font-family:var(--f-m);font-weight:600;letter-spacing:.14em;font-size:clamp(.55rem,.9vw,.8rem);text-transform:uppercase}
.bill-face strong{font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.88;font-size:clamp(1.8rem,4.6vw,4.2rem)}
.bill-face strong em{font-style:normal;background:var(--deep);padding:0 .1em}
.bill-legs{display:flex;justify-content:space-around;padding:0 18%}
.bill-legs i{width:12px;height:clamp(40px,8vw,90px);background:linear-gradient(90deg,#8397BB,#B9C7E2)}
/* rádio */
.radio{width:min(86%,600px);background:#0B1F4B;border:2px solid rgba(255,255,255,.18);padding:clamp(14px,2vw,26px)}
.radio-top{display:flex;justify-content:space-between;font-family:var(--f-m);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#9FB8E6}
.radio-top b{color:var(--pop);font-weight:600}
.wavebox{display:flex;align-items:center;gap:3px;height:clamp(70px,11vw,130px);margin:16px 0}
.wavebox span{flex:1;background:#fff;height:20%;border-radius:2px;transition:height .3s}
.pn.on .wavebox span{animation:wv2 1.2s ease-in-out infinite}
.wavebox span:nth-child(4n){animation-delay:-.3s!important}.wavebox span:nth-child(4n+1){animation-delay:-.6s!important}.wavebox span:nth-child(4n+2){animation-delay:-.9s!important}.wavebox span:nth-child(7n){animation-delay:-.15s!important}
@keyframes wv2{0%,100%{height:14%}50%{height:var(--h,80%)}}
.ruler{height:4px;background:rgba(255,255,255,.2);position:relative;margin-bottom:12px}
.ruler i{position:absolute;left:0;top:-4px;height:12px;width:3px;background:var(--pop);animation:ph 5s linear infinite}
@keyframes ph{to{left:100%}}
.radio p{font-family:var(--f-b);font-size:clamp(.82rem,1.3vw,1.05rem);color:#fff;line-height:1.4}
.radio p em{font-style:normal;color:var(--pop);font-family:var(--f-m);font-size:.74em;letter-spacing:.1em;margin-right:6px}
/* post/celular */
.phone{width:min(34%,230px);aspect-ratio:9/17;background:#fff;border-radius:26px;border:6px solid #0b0f1c;padding:8px;color:var(--ink);box-shadow:0 22px 30px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:6px;overflow:hidden}
.phone-bar{display:flex;align-items:center;gap:6px;font-size:.55rem;font-weight:700}
.phone-bar i{width:20px;height:20px;border-radius:50%;background:var(--blue);display:block}
.phone-card{flex:1;background:var(--blue);color:#fff;padding:12px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.phone-card small{font-family:var(--f-m);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase}
.phone-card strong{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:.9}
.phone-card strong em{font-style:normal;background:var(--deep);padding:0 .1em}
.phone-card .tag{align-self:flex-start;background:var(--pop);color:var(--ink);font-family:var(--f-d);font-weight:900;font-size:1.3rem;padding:2px 8px;transform:rotate(-4deg)}
.phone-act{display:flex;gap:8px;font-size:.7rem}
.like{animation:lk 2.2s ease-in-out infinite;display:inline-block;color:var(--red)}
@keyframes lk{50%{transform:scale(1.35)}}
.phone-side{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:34%;display:grid;gap:8px}
.phone-side i{display:block;height:10px;background:rgba(255,255,255,.2)}
.phone-side i:nth-child(2){width:70%}.phone-side i:nth-child(3){width:85%}
/* encarte */
.flyer{width:min(60%,420px);aspect-ratio:3/3.9;background:#fff;color:var(--ink);border:3px solid #fff;display:flex;flex-direction:column;box-shadow:0 22px 30px rgba(0,0,0,.4);transform:rotate(-2deg)}
.fl-h{background:var(--blue);color:#fff;font-family:var(--f-d);font-weight:900;text-transform:uppercase;text-align:center;font-size:clamp(1.2rem,2.6vw,2.1rem);padding:8px 6px 6px;line-height:.9}
.fl-h em{font-style:normal;background:var(--pop);color:var(--ink);padding:0 .1em}
.fl-g{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;padding:8px}
.fl-p{background:repeating-linear-gradient(135deg,#EEF3FB 0 7px,#E2EAF7 7px 14px);position:relative;display:grid;place-items:center;font-family:var(--f-m);font-size:.5rem;letter-spacing:.1em;color:#6C7F9F;text-transform:uppercase}
.fl-p b{position:absolute;right:-2px;bottom:-2px;background:var(--pop);color:var(--ink);font-family:var(--f-d);font-weight:900;font-size:clamp(1rem,2vw,1.6rem);padding:1px 7px;border:2px solid var(--ink);transform:scale(0) rotate(-12deg)}
.pn.on .fl-p b{animation:pop .5s var(--ease) forwards}
.pn.on .fl-p:nth-child(2) b{animation-delay:.18s}.pn.on .fl-p:nth-child(3) b{animation-delay:.36s}.pn.on .fl-p:nth-child(4) b{animation-delay:.54s}
@keyframes pop{70%{transform:scale(1.15) rotate(-4deg)}to{transform:scale(1) rotate(-4deg)}}
.fl-f{font-family:var(--f-m);font-size:.42rem;line-height:1.3;color:#51627F;padding:4px 8px 6px;border-top:1px solid #D5DEEE}
@media (max-width:860px){
  .story{height:calc(var(--n,4)*70vh + 100vh)}
  .story-pin{justify-content:flex-start;padding-top:calc(var(--hd) + 10px)}
  .story-head{margin-bottom:10px}.story-head .d{font-size:clamp(2.2rem,10vw,3.4rem)}
  .story-head .k{display:none}
  .story-grid{grid-template-columns:1fr;gap:14px}
  .stage{max-height:none;aspect-ratio:4/3;order:-1}
  .steps h3{font-size:clamp(2.6rem,12vw,4rem);margin:4px 0 8px}
  .steps p{font-size:1.05rem}
  .dots-nav{margin-top:14px}
  .phone{width:44%}.phone-side{display:none}.flyer{width:62%}
}
@media (max-height:700px) and (min-width:861px){.stage{max-height:54vh}.steps h3{font-size:clamp(2.6rem,5.4vw,4.6rem)}}

/* ---------- serviços (acordeão) ---------- */
.svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,5vw,64px)}
.svc-top .k{color:var(--deep);margin-bottom:16px}
.svc-list{border-top:3px solid var(--ink)}
.svc{border-bottom:2px solid var(--ink);position:relative}
.svc summary{list-style:none;display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;padding:clamp(18px,2.4vw,30px) 0;cursor:pointer;position:relative;z-index:1;transition:padding .4s var(--ease),color .3s}
.svc summary::-webkit-details-marker{display:none}
.svc::before{content:'';position:absolute;inset:0 calc(var(--gut) * -1);background:var(--deep);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease)}
.svc:hover::before,.svc[open]::before{transform:scaleY(1)}
.svc:hover summary,.svc[open] summary{color:#fff;padding-left:14px}
.svc .i{font-family:var(--f-m);font-weight:600;font-size:.9rem;letter-spacing:.1em}
.svc h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.2vw,4.6rem);line-height:.95}
.svc .pl{width:44px;height:44px;border:2px solid currentColor;border-radius:50%;position:relative;transition:transform .5s var(--ease)}
.svc .pl::before,.svc .pl::after{content:'';position:absolute;left:11px;right:11px;top:50%;height:2px;background:currentColor;margin-top:-1px}
.svc .pl::after{transform:rotate(90deg);transition:transform .4s}
.svc[open] .pl{transform:rotate(180deg)}.svc[open] .pl::after{transform:rotate(0)}
.svc-b{position:relative;z-index:1;color:#fff;display:grid;grid-template-columns:70px minmax(0,1.1fr) minmax(0,1fr);gap:18px;padding:0 0 30px 14px;overflow:hidden}
.svc-b p{font-size:1.15rem;max-width:44ch;grid-column:2}
.svc-b ul{grid-column:3;display:grid;gap:8px;font-family:var(--f-m);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.svc-b li::before{content:'→ ';color:var(--pop)}
@media (max-width:760px){.svc summary{grid-template-columns:44px 1fr 40px;gap:10px}.svc .pl{width:38px;height:38px}.svc .pl::before,.svc .pl::after{left:9px;right:9px}.svc-b{grid-template-columns:1fr;padding-left:14px}.svc-b p,.svc-b ul{grid-column:1}}

/* ---------- processo ---------- */
.proc{background:var(--paper)}
.proc-line{position:relative;margin-top:clamp(36px,6vw,80px)}
.proc-bar{position:absolute;left:0;right:0;top:28px;height:6px;background:rgba(10,59,145,.14)}
.proc-bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .15s linear}
.proc-g{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,2vw,28px);position:relative}
.pstep{padding-top:70px;position:relative;opacity:.4;transition:opacity .5s}
.pstep.on{opacity:1}
.pstep .dot{position:absolute;left:0;top:10px;width:42px;height:42px;background:#fff;border:4px solid var(--deep);border-radius:50%;display:grid;place-items:center;font-family:var(--f-m);font-weight:600;font-size:.78rem;transition:background .4s,color .4s,transform .5s var(--ease)}
.pstep.on .dot{background:var(--deep);color:#fff;transform:scale(1.12)}
.pstep h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,3.4vw,3.2rem);line-height:.95;margin-bottom:10px}
.pstep p{font-size:1rem;line-height:1.45;color:#2b3955}
@media (max-width:900px){.proc-g{grid-template-columns:1fr;gap:0}.proc-bar{top:0;bottom:0;left:20px;right:auto;width:6px;height:auto}.proc-bar i{width:100%!important;height:var(--pv,0%);transition:height .15s linear}.pstep{padding:6px 0 38px 70px;opacity:.5}.pstep .dot{top:0}}

/* ---------- varejo escuro + teste de distância ---------- */
.dk{background:var(--night);color:#fff}
.dist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,6vw,90px);align-items:center;margin-top:clamp(28px,5vw,60px)}
.dist-poster{position:relative;background:#fff;color:var(--ink);padding:clamp(18px,3vw,38px);aspect-ratio:4/5;max-width:520px;width:100%;margin-inline:auto;box-shadow:12px 12px 0 var(--blue);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.dist-poster>*{transition:filter .15s linear,transform .15s linear}
.dp-top{font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.88;font-size:clamp(2.4rem,5.4vw,4.4rem);color:var(--deep)}
.dp-top em{font-style:normal;background:var(--blue);color:#fff;padding:0 .1em}
.dp-mid{font-weight:700;font-size:clamp(.95rem,1.7vw,1.3rem);line-height:1.2}
.dp-price{font-family:var(--f-d);font-weight:900;font-size:clamp(4.4rem,10.4vw,8.4rem);line-height:.8;background:var(--pop);align-self:flex-start;padding:10px 16px 6px;transform:rotate(-3deg)}
.dp-price small{font-family:var(--f-m);font-size:.14em;display:block;letter-spacing:.1em;font-weight:600}
.dp-fine{font-family:var(--f-m);font-size:clamp(.5rem,.85vw,.66rem);line-height:1.35;color:#3A4963;letter-spacing:.02em}
.dist-ctl{display:grid;gap:22px}
.dist-ctl .big{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(3rem,6.4vw,6rem);line-height:.9}
.range{width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:44px}
.range::-webkit-slider-runnable-track{height:8px;background:rgba(255,255,255,.28)}
.range::-moz-range-track{height:8px;background:rgba(255,255,255,.28)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;margin-top:-13px;background:var(--pop);border:3px solid var(--night);border-radius:50%;box-shadow:0 0 0 3px var(--pop);cursor:grab}
.range::-moz-range-thumb{width:28px;height:28px;background:var(--pop);border:3px solid var(--night);border-radius:50%;cursor:grab}
.dist-scale{display:flex;justify-content:space-between;font-family:var(--f-m);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#A8BDE6}
.dist-out{border-left:6px solid var(--pop);padding-left:18px;min-height:96px}
.dist-out b{font-family:var(--f-m);font-size:.85rem;letter-spacing:.12em;color:var(--pop);text-transform:uppercase;display:block;margin-bottom:6px}
.dist-out p{font-size:1.15rem;line-height:1.4;max-width:44ch}
@media (max-width:860px){.dist{grid-template-columns:1fr}.dist-poster{max-width:420px}}

/* ---------- grátis / cards de conteúdo ---------- */
.free-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,5vw,60px)}
.free-h .d em,.free-h .d .y{font-style:normal;color:var(--blue)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px}
.card{position:relative;background:#fff;border:2px solid var(--ink);padding:0;display:flex;flex-direction:column;text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease);min-width:0}
a.card:hover{transform:translate(-6px,-6px);box-shadow:10px 10px 0 var(--deep)}
.card-v{aspect-ratio:16/10;background:var(--blue);position:relative;overflow:hidden;display:grid;place-items:center;border-bottom:2px solid var(--ink)}
.card-v .dots{left:10px;bottom:10px;--dw:90px;--dh:60px}
.card-v b{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.2rem,4vw,3.4rem);line-height:.9;color:#fff;text-align:center;padding:0 16px;position:relative}
.card-v.alt{background:var(--deep)}.card-v.pale{background:var(--paper)}.card-v.pale b{color:var(--deep)}.card-v.yel{background:var(--pop)}.card-v.yel b{color:var(--ink)}
.card-b{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.badge{align-self:flex-start;font-family:var(--f-m);font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:#fff;padding:4px 9px}
.badge.free{background:var(--blue)}.badge.soon{background:#E7ECF6;color:#3A4963}
.card h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:1.9rem;line-height:.98}
.card p{font-size:.98rem;color:#33415c}
.card .go{margin-top:auto;font-weight:700;display:inline-flex;gap:8px;padding-top:6px}
.card.soon{border-style:dashed;background:var(--paper)}

/* ---------- FAQ ---------- */
.faq{max-width:900px}
.faq details{border-bottom:2px solid var(--ink)}
.faq details:first-child{border-top:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-family:var(--f-d);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.05}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:2.2rem;line-height:1;transition:transform .4s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq .ans{padding:0 0 24px;max-width:62ch;font-size:1.08rem;color:#26354F}
.faq-w{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,90px);align-items:start}
@media (max-width:860px){.faq-w{grid-template-columns:1fr}}

/* ---------- CTA final / footer ---------- */
.cta{background:var(--blue);color:#fff;position:relative;overflow:hidden;text-align:left}
.cta .dots{right:3%;top:10%;--dw:260px;--dh:260px}
.cta .d{max-width:13ch}
.cta-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:34px}
.cta p{font-size:1.25rem;max-width:36ch}
.ft{background:var(--night);color:#C7D5F0;padding:clamp(48px,6vw,90px) 0 30px}
.ft-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.ft h4{font-family:var(--f-m);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;color:var(--pop);margin-bottom:14px}
.ft a{text-decoration:none;display:block;padding:4px 0}
.ft a:hover{color:#fff;text-decoration:underline}
.ft .logo img{height:50px}
.ft-big{font-family:var(--f-d);font-weight:900;text-transform:uppercase;line-height:.86;font-size:clamp(3.4rem,13vw,13rem);color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.35);margin-top:clamp(30px,5vw,60px);letter-spacing:.01em;white-space:nowrap;overflow:hidden}
.ft-sm{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;font-size:.84rem;color:#8FA5CF;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
@media (max-width:860px){.ft-g{grid-template-columns:1fr 1fr}.ft-g>div:first-child{grid-column:1/-1}}
.draft{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--night);color:var(--pop);font-family:var(--f-m);font-size:.68rem;letter-spacing:.08em;text-align:center;padding:9px 12px;line-height:1.3;text-transform:uppercase;border-top:1px solid rgba(255,212,59,.5)}

/* ---------- páginas internas: hero ---------- */
.phero{background:linear-gradient(165deg,var(--blue-hi),var(--blue) 45%,var(--blue-lo));color:#fff;padding-top:calc(var(--hd) + clamp(50px,8vw,110px));padding-bottom:clamp(50px,7vw,100px);position:relative;overflow:hidden}
.phero .k{margin-bottom:22px}
.phero .dots{right:4%;bottom:12%}
.phero .lead{margin-top:26px;color:#fff;font-size:clamp(1.2rem,1.9vw,1.6rem)}
.crumb{font-family:var(--f-m);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:26px;opacity:.9}
.crumb a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}

/* ---------- soluções ---------- */
.sol-w{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(24px,5vw,80px)}
.sol-nav{position:sticky;top:calc(var(--hd) + 24px);align-self:start;display:grid;gap:2px;font-family:var(--f-m);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.sol-nav a{text-decoration:none;padding:10px 0 10px 16px;border-left:4px solid var(--line);color:#3A4963;transition:border-color .3s,color .3s,padding .3s var(--ease)}
.sol-nav a.on{border-color:var(--blue);color:var(--deep);padding-left:24px}
@media (max-width:900px){.sol-w{grid-template-columns:1fr}.sol-nav{display:none}}
.sol{padding-block:clamp(40px,6vw,90px);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,60px);align-items:start;scroll-margin-top:calc(var(--hd) + 10px)}
.sol:first-child{padding-top:0}
.sol .n{font-family:var(--f-m);font-weight:600;color:var(--blue);letter-spacing:.14em;font-size:.85rem}
.sol h2{margin:10px 0 18px}
.sol p{font-size:1.14rem;max-width:46ch;margin-bottom:18px;color:#1d2c47}
.sol h4{font-family:var(--f-m);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin:22px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:2px solid var(--ink);padding:6px 12px;font-weight:700;font-size:.92rem}
.sol-v{position:sticky;top:calc(var(--hd) + 24px);aspect-ratio:1/1;background:var(--paper);border:2px solid var(--ink);overflow:hidden;display:grid;place-items:center}
@media (max-width:900px){.sol{grid-template-columns:1fr}.sol-v{position:relative;top:0;aspect-ratio:16/10}}
.v-sw{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:78%}
.v-sw i{aspect-ratio:1;display:block;transform:scale(.6) rotate(-6deg);transition:transform .8s var(--ease)}
.in .v-sw i,.v-sw.in i{transform:none}
.v-sw i:nth-child(odd){border-radius:50%}
.v-clap{width:70%}
.v-clap .top{height:40px;background:repeating-linear-gradient(115deg,var(--ink) 0 22px,#fff 22px 44px);border:3px solid var(--ink);transform-origin:left bottom;animation:clap 3s ease-in-out infinite}
@keyframes clap{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-16deg)}80%{transform:rotate(0)}}
.v-clap .body{background:var(--ink);color:#fff;font-family:var(--f-m);font-size:.7rem;padding:12px;letter-spacing:.1em;display:grid;gap:8px;text-transform:uppercase}
.v-clap .tl-bar{height:14px;background:rgba(255,255,255,.2);position:relative}
.v-clap .tl-bar i{position:absolute;top:0;bottom:0;background:var(--blue)}
.v-bars{display:flex;align-items:flex-end;gap:6px;height:56%;width:70%}
.v-bars span{flex:1;background:var(--blue);animation:wv2 1.6s ease-in-out infinite;height:30%}
.v-bars span:nth-child(odd){background:var(--deep)}.v-bars span:nth-child(3n){animation-delay:-.5s}.v-bars span:nth-child(3n+1){animation-delay:-1s}
.v-pin{position:relative;width:80%;aspect-ratio:1}
.v-pin i{position:absolute;width:46px;height:46px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--blue);display:block;animation:bob 2.6s ease-in-out infinite}
.v-pin i::after{content:'';position:absolute;inset:14px;background:#fff;border-radius:50%}
.v-pin i:nth-child(2){left:52%;top:18%;background:var(--deep);animation-delay:-.7s}.v-pin i:nth-child(1){left:14%;top:50%}.v-pin i:nth-child(3){left:60%;top:60%;background:var(--ink);animation-delay:-1.4s}
.v-pin::before{content:'';position:absolute;inset:8%;border:3px dashed rgba(10,59,145,.4);border-radius:50%}
@keyframes bob{50%{transform:rotate(-45deg) translate(6px,6px)}}
.v-cal{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:80%}
.v-cal i{aspect-ratio:1;background:#fff;border:2px solid var(--ink);display:block}
.v-cal i.f{background:var(--blue)}.v-cal i.g{background:var(--pop)}.v-cal i.h{background:var(--deep)}
.v-cal i{animation:flick 4s steps(1) infinite;animation-delay:calc(var(--d)*.3s)}
@keyframes flick{50%{opacity:.55}}
.v-arrow svg{width:78%}
.v-arrow path{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 3.2s var(--ease) infinite}
@keyframes draw{60%,100%{stroke-dashoffset:0}}

/* ---------- varejo ---------- */
.anat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;margin-top:clamp(26px,4vw,56px)}
.anat-fl{position:relative;max-width:480px;width:100%;margin-inline:auto;background:#fff;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--blue)}
.anat-fl .fl-h{font-size:clamp(1.6rem,3.6vw,2.8rem);padding:12px 8px 8px}
.anat-fl .fl-g{padding:10px;gap:10px;min-height:260px}
.anat-fl .fl-p b{transform:rotate(-4deg) scale(1);font-size:clamp(1.2rem,2.6vw,2rem);animation:none}
.anat-fl .fl-f{font-size:.58rem;padding:8px 10px}
.hot{position:absolute;width:34px;height:34px;border-radius:50%;background:var(--pop);border:3px solid var(--ink);font-family:var(--f-m);font-weight:600;font-size:.8rem;display:grid;place-items:center;cursor:pointer;z-index:4;animation:ping 2.4s ease-out infinite;color:var(--ink)}
.hot[aria-pressed="true"]{background:var(--ink);color:var(--pop);animation:none}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,212,59,.8)}80%,100%{box-shadow:0 0 0 16px rgba(255,212,59,0)}}
.anat-t{display:grid}
.anat-t>div{grid-area:1/1;opacity:0;transform:translateX(24px);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}
.anat-t>div.on{opacity:1;transform:none;pointer-events:auto}
.anat-t h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.92;margin:8px 0 14px}
.anat-t p{font-size:1.15rem;max-width:42ch}
.anat-t .n{font-family:var(--f-m);font-weight:600;color:var(--blue);letter-spacing:.12em}
@media (max-width:860px){.anat{grid-template-columns:1fr}}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0;border-top:3px solid var(--ink)}
.rule{padding:30px 28px 30px 0;border-bottom:2px solid var(--ink)}
.rule h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:2.3rem;line-height:.95;margin-bottom:12px}
.rule p{font-size:1.05rem;color:#26354F;max-width:36ch}
.rule .n{font-family:var(--f-m);color:var(--blue);font-weight:600;letter-spacing:.12em;font-size:.82rem;display:block;margin-bottom:10px}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,50px)}
.phase{padding:clamp(24px,3vw,40px);border:3px solid var(--ink);background:#fff;position:relative}
.phase.b{background:var(--blue);color:#fff;border-color:var(--blue)}
.phase h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.9;margin:8px 0 14px}
.phase ul{display:grid;gap:8px;margin-top:14px}
.phase li::before{content:'→ ';font-weight:800}
@media (max-width:760px){.split2{grid-template-columns:1fr}}
.check{display:grid;gap:10px;max-width:820px}
.check label{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:2px solid var(--line-w);cursor:pointer;transition:background .3s,border-color .3s;font-size:1.1rem}
.check label:hover{border-color:#fff}
.check input{appearance:none;width:28px;height:28px;border:3px solid #fff;flex:none;margin-top:1px;display:grid;place-items:center;background:transparent;cursor:pointer}
.check input:checked{background:var(--pop);border-color:var(--pop)}
.check input:checked::after{content:'✓';color:var(--ink);font-weight:900;font-size:1.1rem}
.check input:checked+span{text-decoration:line-through;text-decoration-color:var(--pop);opacity:.7}
.check-sc{margin-top:22px;font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1}
.check-sc em{font-style:normal;color:var(--pop)}

/* ---------- conteúdo (hub) e artigos ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.filters button{border:2px solid var(--ink);background:#fff;padding:9px 18px;font-family:var(--f-m);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s}
.filters button[aria-pressed="true"],.filters button:hover{background:var(--ink);color:#fff}
.card[hidden]{display:none}
.art-h{background:var(--deep);color:#fff;padding-top:calc(var(--hd) + clamp(40px,6vw,80px));padding-bottom:clamp(40px,6vw,80px);position:relative;overflow:hidden}
.art-h .d{max-width:16ch}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-family:var(--f-m);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#BFD3F5}
.prog{position:fixed;left:0;top:0;height:5px;width:0;background:var(--pop);z-index:80}
.art{display:grid;grid-template-columns:minmax(0,740px);justify-content:center}
.art-b{padding-block:clamp(40px,6vw,80px)}
.art-b p{font-size:1.2rem;line-height:1.7;margin-bottom:1.3em;color:#14223C}
.art-b p:first-of-type::first-letter{font-family:var(--f-d);font-weight:900;font-size:5.4rem;line-height:.78;float:left;padding:.06em .1em 0 0;color:var(--blue)}
.art-b h2{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:.95;margin:1.6em 0 .6em;color:var(--deep)}
.art-b blockquote{margin:1.6em 0;padding:22px 26px;border-left:8px solid var(--blue);background:var(--paper);font-family:var(--f-d);font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1}
.art-b ol{counter-reset:o;margin:0 0 1.4em;display:grid;gap:12px}
.art-b ol li{counter-increment:o;padding-left:50px;position:relative;font-size:1.15rem;line-height:1.55}
.art-b ol li::before{content:counter(o);position:absolute;left:0;top:0;width:34px;height:34px;background:var(--deep);color:#fff;font-family:var(--f-d);font-weight:900;display:grid;place-items:center;font-size:1.3rem}
.art-end{background:var(--paper);border-top:3px solid var(--ink);padding:clamp(40px,6vw,70px) 0}
.art-end .w{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:center}

/* ---------- sobre ---------- */
.about-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,6vw,90px);align-items:start}
.about-g p{font-size:1.2rem;margin-bottom:1.1em;max-width:48ch}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px}
.team div{border:2px solid var(--ink);padding:22px;background:#fff;transition:transform .4s var(--ease),background .3s,color .3s}
.team div:hover{transform:translateY(-6px);background:var(--deep);color:#fff}
.team b{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:2rem;line-height:.95;display:block;margin-bottom:8px}
.team span{font-size:.98rem;line-height:1.4;display:block}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;border:3px solid var(--ink)}
.duo>div{padding:clamp(26px,4vw,50px)}
.duo>div+div{background:var(--ink);color:#fff}
.duo h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.9;margin:8px 0 14px}
@media (max-width:860px){.about-g,.duo{grid-template-columns:1fr}}
.vals{display:grid;gap:0;border-top:3px solid var(--ink)}
.val{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:26px 0;border-bottom:2px solid var(--ink);align-items:baseline}
.val .n{font-family:var(--f-m);font-weight:600;color:var(--blue)}
.val h3{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(1.9rem,3.6vw,3rem);line-height:.95;margin-bottom:6px}
.val p{max-width:56ch;font-size:1.08rem}

/* ---------- contato ---------- */
.cform{display:grid;gap:30px;max-width:860px}
.cform fieldset{border:0;padding:0;margin:0;min-width:0}
.cform legend{font-family:var(--f-d);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;margin-bottom:14px;padding:0}
.cform .opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0}
.opt span{display:block;border:2px solid var(--ink);padding:10px 18px;font-weight:700;transition:background .25s,color .25s,transform .25s var(--ease)}
.opt input:checked+span{background:var(--deep);color:#fff;border-color:var(--deep);transform:translateY(-3px)}
.opt input:focus-visible+span{outline:3px solid var(--pop);outline-offset:3px}
.fld{display:grid;gap:8px}
.fld label{font-family:var(--f-m);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.fld input[type=text],.fld input[type=tel],.fld textarea{font:inherit;font-size:1.15rem;padding:14px 16px;border:2px solid var(--ink);background:#fff;color:var(--ink);width:100%;border-radius:0}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:3px solid var(--blue);outline-offset:2px}
.fld .err{color:#B3261E;font-size:.92rem;min-height:1.2em;font-weight:700}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.row2{grid-template-columns:1fr}}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.98rem}
.consent input{width:24px;height:24px;margin-top:2px;flex:none;accent-color:var(--deep)}
.sum{background:var(--paper);border:2px dashed var(--ink);padding:22px;font-family:var(--f-m);font-size:.9rem;white-space:pre-wrap;line-height:1.5;display:none}
.sum.show{display:block}
.act{display:flex;flex-wrap:wrap;gap:16px}
.note{font-size:.95rem;color:#3A4963;max-width:60ch}
.cside{border-left:6px solid var(--blue);padding-left:20px;display:grid;gap:16px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .marq-t{animation:none}
  .js .rv,.js .rvl .ln>span{opacity:1!important;transform:none!important}
  .first .curtain{display:none}
  .steps li{transition:none}
}

/* ajustes v2.1 */
.hot{padding:0;line-height:1}
.marq-t>span{flex:none}
.hero .dots{z-index:0}
.hero .w{position:relative;z-index:2}

.anat-t{overflow:hidden}
.flyer{width:auto;height:90%;aspect-ratio:3/3.9}
@media (max-width:860px){.flyer{width:auto;height:88%}}
.dots.dk{background-color:transparent}
@media (max-width:600px){.hh{font-size:clamp(3rem,11.4vw,4.4rem)}.hero{padding-top:calc(var(--hd) + 34px)}}
