/* ============================================================================
   Digital Tuor — estilos das peças adicionadas em 2026-09-23: logotipo, Hero com a foto do lago,
   página Sobre, blog e elementos interativos das páginas de serviço. Usa os tokens do base.html
   (funciona nos dois temas). Carregado em todas as páginas (assets/pages.css).
   ============================================================================ */

/* ---------- LOGOTIPO (cores por tema) ---------- */
.brand{gap:10px}
.brand-mark{width:34px;height:34px;flex:none}
.brand-word{height:22px;width:auto;flex:none}
.lg-ink{fill:var(--text)}
.lg-acc{fill:var(--gold-ink)}
.lg-compass .lg-ring{stroke:var(--gold-ink)}
.lg-compass .lg-n{fill:var(--text)}
.lg-compass .lg-s{fill:var(--gold);opacity:.6}
.lg-compass .lg-dot{fill:var(--gold-ink)}
.lg-tile{fill:#0D3B42}
.lg-mark .lg-ring{stroke:#D9A441}
.lg-mark .lg-n{fill:#D9A441}
.lg-mark .lg-s{fill:#F7F5F0;opacity:.5}
.lg-mark .lg-dot{fill:#0D3B42}
.lg-tick{stroke:#D9A441;opacity:.8}
html:not([data-theme="light"]) .lg-tile{fill:#0F4851}
.lg-needle{transition:transform .9s cubic-bezier(.3,1.6,.5,1)}
.brand:hover .lg-needle{transform:rotate(360deg)}
.brand-foot .brand-word{height:24px}
@media(max-width:380px){.brand-word{height:19px}.brand-mark{width:30px;height:30px}}

/* ---------- HERO: logotipo sobre o lago, com reflexo ---------- */
.hero-media{overflow:hidden}
.hero-logo{position:absolute;z-index:2;left:50%;top:47.8%;width:52%;transform:translateX(-50%);pointer-events:none}
.hero-logo svg{display:block;width:100%;height:auto;overflow:visible}
.hero-logo .lg-ink{fill:#FBF7EE}
.hero-logo .lg-acc{fill:#E9B455}
.hero-logo .lg-compass .lg-ring{stroke:#E9B455}
.hero-logo .lg-compass .lg-n{fill:#FBF7EE}
.hero-logo .lg-compass .lg-s{fill:#E9B455}
.hero-logo .lg-compass .lg-dot{fill:#E9B455}
.hl-main{filter:drop-shadow(0 6px 26px rgba(20,10,0,.38)) drop-shadow(0 0 40px rgba(255,200,120,.18))}
/* a linha de base das letras fica na linha d’água da foto (~59,5% da altura): o reflexo, espelhado em torno dela, cai no lago */
.hl-refl{position:absolute;left:0;right:0;top:56%;transform:scaleY(-1);opacity:.4;filter:blur(1.2px);
  -webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.35) 40%,transparent 70%);mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.35) 40%,transparent 70%)}
@media(max-width:680px){.hero-logo{width:74%;top:42.9%}}

/* entrada do logotipo: letras sobem desfocadas, a agulha gira e "assenta" como numa bússola real */
@media(prefers-reduced-motion:no-preference){
  .hero-logo .lg-g{opacity:0;transform:translateY(22px);filter:blur(6px);animation:hlIn 1.1s cubic-bezier(.22,.7,.2,1) forwards}
  .hero-logo .lg-g:nth-child(1){animation-delay:.15s}.hero-logo .lg-g:nth-child(2){animation-delay:.21s}
  .hero-logo .lg-g:nth-child(3){animation-delay:.27s}.hero-logo .lg-g:nth-child(4){animation-delay:.33s}
  .hero-logo .lg-g:nth-child(5){animation-delay:.39s}.hero-logo .lg-g:nth-child(6){animation-delay:.45s}
  .hero-logo .lg-g:nth-child(7){animation-delay:.51s}.hero-logo .lg-g:nth-child(8){animation-delay:.62s}
  .hero-logo .lg-g:nth-child(9){animation-delay:.68s}.hero-logo .lg-g:nth-child(11){animation-delay:.8s}
  .hero-logo .lg-compass{opacity:0;animation:hlFade .9s ease .72s forwards}
  .hero-logo .lg-needle{animation:hlNeedle 2.6s cubic-bezier(.3,1.5,.4,1) .8s both,hlSway 7s ease-in-out 3.4s infinite}
  .hl-refl{animation:hlRipple 6s ease-in-out infinite}
}
@keyframes hlIn{to{opacity:1;transform:none;filter:none}}
@keyframes hlFade{to{opacity:1}}
@keyframes hlNeedle{0%{transform:rotate(-320deg)}100%{transform:rotate(0)}}
@keyframes hlSway{0%,100%{transform:rotate(0)}30%{transform:rotate(7deg)}60%{transform:rotate(-4deg)}}
@keyframes hlRipple{0%,100%{transform:scaleY(-1) skewX(0)}50%{transform:scaleY(-1.03) skewX(1.2deg)}}

/* luz do sol, raios, névoa e partículas sobre a foto (posições em % da imagem) */
.hero-fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.sun-glow{position:absolute;left:61.5%;top:44%;width:34%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,214,140,.32),rgba(255,180,90,.1) 35%,transparent 62%);mix-blend-mode:screen}
.sun-rays{position:absolute;left:61.5%;top:46.5%;width:150%;aspect-ratio:1;translate:-50% -50%;opacity:.12;mix-blend-mode:screen;
  background:repeating-conic-gradient(from 0deg,rgba(255,226,170,.55) 0deg 2.2deg,transparent 2.2deg 13deg);
  -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 42%);mask-image:radial-gradient(circle,#000 0%,transparent 42%)}
.mist{position:absolute;left:-30%;width:160%;height:9%;border-radius:50%;filter:blur(18px);background:radial-gradient(ellipse at center,rgba(255,236,210,.42),transparent 70%)}
.mist.m1{top:52%}.mist.m2{top:57%;opacity:.7;height:6%}
.mote{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#FFE7B8;box-shadow:0 0 8px 2px rgba(255,210,140,.7);opacity:0}
@media(prefers-reduced-motion:no-preference){
  .sun-glow{animation:sunPulse 6s ease-in-out infinite}
  .sun-rays{animation:sunSpin 90s linear infinite}
  .mist.m1{animation:mist 38s ease-in-out infinite alternate}
  .mist.m2{animation:mist 52s ease-in-out -12s infinite alternate-reverse}
  .mote{animation:mote var(--t) ease-in-out var(--d) infinite}
}
@keyframes sunPulse{0%,100%{opacity:.75;scale:1}50%{opacity:1;scale:1.08}}
@keyframes sunSpin{to{rotate:360deg}}
@keyframes mist{from{transform:translate3d(-6%,0,0)}to{transform:translate3d(8%,0,0)}}
@keyframes mote{0%{opacity:0;transform:translate3d(0,0,0)}20%{opacity:.9}80%{opacity:.5}100%{opacity:0;transform:translate3d(18px,-60px,0)}}
@media(max-width:680px){.mote:nth-child(n+10){display:none}}

/* ---------- COMPONENTES GERAIS NOVOS ---------- */
.chip{padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-weight:800;font-size:13.5px;color:var(--text-soft);transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--border-strong);color:var(--text)}
.chip.on{background:var(--gold);border-color:var(--gold);color:#0D3B42}
.meta{font-size:12.5px;font-weight:700;color:var(--text-dim);letter-spacing:.02em}

/* ---------- BLOG ---------- */
.blog-hero{padding-bottom:clamp(56px,7vw,90px)}
.blog-hero h1{max-width:18ch;font-size:clamp(34px,4.6vw,60px)}
.blog-list{padding-top:0;margin-top:clamp(-50px,-5vw,-30px);position:relative;z-index:2}
.bfeature{display:grid;grid-template-columns:1.15fr .85fr;border-radius:26px;overflow:hidden;background:var(--surface-solid);border:1px solid var(--border);text-decoration:none;color:var(--text);box-shadow:0 30px 60px rgba(13,59,66,.14);transition:transform .4s var(--ease),box-shadow .4s}
.bfeature:hover{transform:translateY(-6px);box-shadow:0 40px 80px rgba(13,59,66,.2)}
.bfeature .thumb{min-height:340px;overflow:hidden}
.bfeature .thumb img,.bcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.bfeature:hover .thumb img,.bcard:hover .thumb img{transform:scale(1.06)}
.bfeature .body{padding:clamp(24px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center;gap:12px}
.bfeature h3{font-size:clamp(24px,2.6vw,34px);font-weight:500;line-height:1.15}
.bfeature p{color:var(--text-soft)}
.bfeature .btn{align-self:flex-start;margin-top:8px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(36px,5vw,56px) 0 22px}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bcard{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);box-shadow:0 10px 30px rgba(13,59,66,.06);transition:transform .35s var(--ease),box-shadow .35s,border-color .25s,opacity .3s}
.bcard:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:0 26px 50px rgba(13,59,66,.16)}
.bcard[hidden]{display:none}
.bcard .thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.bcard .thumb .badge-pill{position:absolute;left:12px;bottom:12px}
.bcard .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.bcard h3{font-size:19px;font-weight:600;line-height:1.25}
.bcard p{font-size:14.3px;color:var(--text-soft)}
.bcard .link-arrow{margin-top:auto;padding-top:8px}

/* artigo */
.post-hero{background:var(--teal-deep);color:#F5F2EA;padding:clamp(30px,4vw,50px) 0 0;position:relative}
.post-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:var(--bg)}
.post-hero .wrap{position:relative;z-index:1}
.post-hero .eyebrow{color:var(--gold)}
.post-hero h1{font-size:clamp(30px,4.2vw,54px);font-weight:400;line-height:1.1;max-width:24ch}
.post-hero .lead{color:rgba(245,242,234,.82);margin-top:18px;max-width:60ch}
.byline{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:13.5px;color:rgba(245,242,234,.75);line-height:1.45}
.byline strong{color:#fff}
.byline .av{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(217,164,65,.18);color:var(--gold-soft);border:1px solid rgba(217,164,65,.4)}
.post-cover{position:relative;z-index:1;margin-top:clamp(28px,4vw,44px) !important;border-radius:24px;overflow:hidden;aspect-ratio:16/8;box-shadow:0 40px 80px rgba(0,0,0,.28)}
.post-cover img{width:100%;height:112%;object-fit:cover;margin-top:-6%}
.post-grid{display:grid;grid-template-columns:260px 1fr;gap:clamp(30px,5vw,70px);padding:clamp(40px,5vw,70px) 0 clamp(60px,7vw,100px)}
.post-aside{position:sticky;top:92px;align-self:start;display:grid;gap:18px}
.toc{padding:20px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}
.toc strong{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}
.toc ol{list-style:none;display:grid;gap:4px;counter-reset:t}
.toc a{display:block;padding:6px 10px;border-radius:9px;font-size:14px;line-height:1.35;color:var(--text-soft);text-decoration:none;border-left:2px solid transparent;transition:background .2s,color .2s,border-color .2s}
.toc a:hover{background:var(--surface-2);color:var(--text)}
.toc a.on{color:var(--text);border-left-color:var(--gold);background:rgba(217,164,65,.1);font-weight:700}
.aside-cta{padding:20px;border-radius:18px;background:linear-gradient(160deg,var(--teal-mid),var(--teal-deep));color:#F5F2EA}
.aside-cta strong{display:block;font-family:var(--display);font-size:18px}
.aside-cta p{font-size:13.5px;color:rgba(245,242,234,.78);margin:8px 0 12px}
.aside-cta .link-arrow{color:var(--gold-soft)}
.prose{max-width:720px;font-size:17.5px;line-height:1.75}
.prose>*+*{margin-top:1.1em}
.prose .intro{font-size:19px;color:var(--text)}
.prose p,.prose li{color:var(--text-soft)}
.prose strong{color:var(--text)}
.prose h2{font-size:clamp(24px,2.6vw,32px);font-weight:500;margin-top:2em;scroll-margin-top:96px;color:var(--text)}
.prose h3{font-size:21px;font-weight:600;margin-top:1.6em;scroll-margin-top:96px}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.5em}
.prose li::marker{color:var(--gold-ink);font-weight:800}
.tip{padding:20px 22px;border-radius:16px;border:1px solid var(--border-strong);background:rgba(217,164,65,.08);border-left:4px solid var(--gold)}
.tip strong{display:block;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:6px}
.tip p{margin:0;font-size:16px}
.tbl{overflow-x:auto;border-radius:16px;border:1px solid var(--border)}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th{text-align:left;padding:12px 14px;background:var(--surface-2);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}
.tbl td{padding:12px 14px;border-top:1px solid var(--border);color:var(--text-soft);vertical-align:top}
.post-faq{margin-top:2.4em}
.post-faq .qa button{font-size:16px}
.post-cta{margin-top:2.6em;padding:clamp(24px,3vw,36px);border-radius:24px;background:linear-gradient(150deg,var(--surface-solid),var(--amber-2));border:1px solid var(--border-strong)}
.post-cta h2{margin-top:0}
.post-cta .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
@media(max-width:1080px){.bgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:940px){
  .bfeature{grid-template-columns:1fr}.bfeature .thumb{min-height:0;aspect-ratio:16/9}
  .post-grid{grid-template-columns:1fr}.post-aside{position:static}.post-aside .aside-cta{display:none}
}
@media(max-width:680px){.bgrid{grid-template-columns:1fr}.prose{font-size:16.5px}.post-cover{aspect-ratio:4/3;border-radius:18px}}

/* ---------- SOBRE ---------- */
.about-hero{padding-bottom:clamp(70px,9vw,120px)}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,5vw,70px);align-items:center}
.about-hero h1{font-size:clamp(34px,4.6vw,62px);font-weight:400;line-height:1.06;max-width:17ch}
.about-mark{position:relative;aspect-ratio:1;display:grid;place-items:center}
.about-logo{width:44%;height:auto;position:relative;z-index:2;filter:drop-shadow(0 30px 50px rgba(0,0,0,.4))}
.about-mark .ring{position:absolute;inset:var(--i);border-radius:50%;border:1px dashed rgba(217,164,65,.45)}
.about-mark .r1{--i:14%}.about-mark .r2{--i:4%;border-style:solid;border-color:rgba(255,255,255,.1)}.about-mark .r3{--i:26%;border-color:rgba(217,164,65,.25)}
.about-mark .ring::after{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold)}
@media(prefers-reduced-motion:no-preference){
  .about-mark .r1{animation:sunSpin 26s linear infinite}.about-mark .r2{animation:sunSpin 44s linear infinite reverse}.about-mark .r3{animation:sunSpin 18s linear infinite}
  .about-logo .lg-needle{animation:hlSway 6s ease-in-out infinite}
}
.manifesto .hl-text{font-family:var(--display);font-size:clamp(24px,3.2vw,42px);line-height:1.3;font-weight:400;max-width:28ch;color:var(--text)}
.js .hl-text[data-highlight] .hw{opacity:.18;transition:opacity .35s}
.js .hl-text[data-highlight] .hw.lit{opacity:1}
.about-photo{position:relative;margin:0;height:clamp(260px,38vw,520px);overflow:hidden}
.about-photo img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.about-photo figcaption{position:absolute;left:0;right:0;bottom:24px}
.principles{grid-template-columns:repeat(3,1fr)!important;margin:0!important}
.about-route{position:relative;padding-top:20px}
.route-svg{position:absolute;left:0;top:0;width:100%;height:120px;overflow:visible}
.route-svg path{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:var(--draw,1);transition:stroke-dashoffset .2s linear}
.about-route ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;padding-top:120px}
.about-route .rn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--gold);color:#0D3B42;font:600 17px var(--display);box-shadow:0 0 0 6px rgba(217,164,65,.18);margin-bottom:14px}
.about-route h3{font-size:21px;font-weight:600}
.about-route p{font-size:14.5px;color:var(--text-soft);margin-top:6px}
.seg-cloud{display:flex;flex-wrap:wrap;gap:10px}
.seg-cloud span{padding:12px 20px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-family:var(--display);font-size:clamp(15px,1.6vw,19px);transition:transform .3s var(--ease),border-color .3s}
.seg-cloud span:hover{transform:translateY(-4px) rotate(-1deg);border-color:var(--border-strong)}
.svc-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.svc-links a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none;color:var(--text-soft);border:1px dashed var(--border-strong)}
.svc-links a:hover{color:var(--text);background:var(--surface)}
.svc-links .ico{color:var(--gold-ink);width:17px;height:17px}
.where{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,5vw,64px);align-items:center}
.team{padding:28px;border-radius:var(--r-lg);border:1px dashed var(--border-strong);background:var(--surface)}
.team strong{display:block;font-family:var(--display);font-size:22px;margin:4px 0 8px}
.team p{color:var(--text-soft);font-size:15px}
@media(max-width:940px){
  .about-grid,.where{grid-template-columns:1fr}.about-mark{max-width:320px;margin:0 auto}
  .principles{grid-template-columns:1fr 1fr!important}
  .about-route ol{grid-template-columns:1fr;padding-top:0;gap:26px}.route-svg{display:none}
  .about-route li{display:grid;grid-template-columns:52px 1fr;column-gap:16px}.about-route li .rn{grid-row:span 2;margin:0}
}
@media(max-width:680px){.principles{grid-template-columns:1fr!important}}

/* ---------- INTERATIVOS (páginas de serviço) ---------- */
.imp .sec-split{margin-bottom:clamp(28px,4vw,44px)}
.imp-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,3vw,36px);padding:clamp(20px,3vw,36px);border-radius:28px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:0 30px 70px rgba(13,59,66,.12);position:relative;overflow:hidden}
.imp-box::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at 100% 0,rgba(217,164,65,.12),transparent 60%)}
.imp-ctl,.imp-res{position:relative;display:grid;gap:16px;align-content:start}
.imp-note{display:flex;gap:8px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--text-dim);max-width:90ch}
.imp-note .ico{width:16px;height:16px;flex:none;margin-top:3px;color:var(--gold-ink)}
.rg{display:block}
.rg-top{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;color:var(--text-soft);margin-bottom:8px}
.rg output{font-family:var(--display);font-weight:600;color:var(--text);white-space:nowrap}
.rg input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--gold) var(--p,50%),var(--border) var(--p,50%));outline-offset:6px;cursor:pointer}
.rg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--gold);box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .2s}
.rg input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--gold);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.rg input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpis.k3{grid-template-columns:repeat(3,1fr)}
.kpis.k2{grid-template-columns:1fr 1fr}
.kpi{padding:16px;border-radius:16px;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;min-width:0}
.k-lbl{font-size:12.5px;font-weight:700;color:var(--text-dim);line-height:1.3}
.kpi strong{font-family:var(--display);font-size:clamp(18px,1.9vw,24px);font-weight:600;line-height:1.1;overflow-wrap:anywhere}
.kpi.big strong{font-size:clamp(24px,2.6vw,34px)}
.kpi.gold{background:linear-gradient(160deg,rgba(217,164,65,.2),rgba(217,164,65,.06));border-color:var(--border-strong)}
.kpi.gold strong{color:var(--gold-ink)}
.hbars{display:grid;gap:14px}
.hb{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}
.hb-l{font-size:13.5px;font-weight:700;color:var(--text-soft)}
.hb strong{font-family:var(--display);font-size:20px;grid-row:1;grid-column:2}
.hb-t{grid-column:1/-1;height:16px;border-radius:10px;background:var(--bg);overflow:hidden;border:1px solid var(--border)}
.hb-t i{display:block;height:100%;width:calc(var(--w,0)*100%);border-radius:inherit;background:linear-gradient(90deg,var(--teal-mid),var(--gold));transition:width .6s var(--ease)}
.hb:first-child .hb-t i{background:var(--text-dim);opacity:.5}
/* funil */
.funnel{display:grid;gap:8px}
.fn{position:relative;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:14px;overflow:hidden;background:var(--bg);border:1px solid var(--border);font-weight:700;font-size:14px;color:var(--text-soft)}
.fn::before{content:"";position:absolute;inset:0;right:auto;width:calc(max(var(--w,0),.02)*100%);background:linear-gradient(90deg,rgba(217,164,65,.35),rgba(217,164,65,.12));transition:width .7s var(--ease)}
.fn>*{position:relative}
.fn strong{font-family:var(--display);font-size:20px;color:var(--text)}
/* ROAS */
.roas{padding:18px;border-radius:16px;background:var(--bg);border:1px solid var(--border)}
.roas-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;color:var(--text-soft);font-size:14px}
.roas-top strong{font-family:var(--display);font-size:clamp(30px,3vw,42px);color:var(--gold-ink)}
.roas-bar{height:12px;border-radius:10px;margin:12px 0 8px;background:linear-gradient(90deg,#D9655A 0 5%,#E0B04F 5% 20%,#3E9B78 20%);opacity:.35;position:relative}
.roas-bar i{position:absolute;top:-5px;left:calc(var(--r,0)*100%);width:4px;height:22px;margin-left:-2px;border-radius:3px;background:var(--text);transition:left .6s var(--ease);opacity:1}
.roas small{font-size:13px;color:var(--text-soft)}
/* checklist + ficha do Google */
fieldset{border:0;min-width:0}
legend{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}
.chk{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700;font-size:14.5px;transition:background .2s}
.chk:hover{background:var(--bg)}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk .box{flex:none;width:24px;height:24px;border-radius:8px;border:2px solid var(--border-strong);display:grid;place-items:center;transition:background .2s,border-color .2s}
.chk .box .ico{width:15px;height:15px;stroke-width:3;color:#0D3B42;opacity:0;transform:scale(.4);transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}
.chk input:checked+.box{background:var(--gold);border-color:var(--gold)}
.chk input:checked+.box .ico{opacity:1;transform:none}
.chk input:focus-visible+.box{outline:2px solid var(--gold);outline-offset:3px}
.gscore{display:flex;align-items:center;gap:16px;padding:14px;border-radius:16px;background:var(--bg);border:1px solid var(--border)}
.gscore svg{width:84px;height:84px;transform:rotate(-90deg)}
.gscore circle{fill:none;stroke:var(--border);stroke-width:10}
.gscore .arc{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:calc(var(--s,0)*1) 100;transition:stroke-dasharray .7s var(--ease)}
.gscore strong{display:block;font-family:var(--display);font-size:30px}
.gscore span{font-size:13.5px;font-weight:700;color:var(--text-soft)}
.gcard{border-radius:20px;overflow:hidden;background:#fff;color:#1f2d30;box-shadow:0 24px 50px rgba(0,0,0,.16);border:1px solid rgba(13,59,66,.1);transition:box-shadow .4s}
.gcard.full{box-shadow:0 0 0 3px rgba(217,164,65,.6),0 30px 60px rgba(0,0,0,.2)}
.g-photos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3px;height:0;overflow:hidden;transition:height .5s var(--ease)}
.g-photos.on{height:150px}
.g-photos i{background:linear-gradient(150deg,#e7c27a,#7c5a2b);display:block}
.g-photos i:nth-child(2){background:linear-gradient(150deg,#78a7a6,#1d4b52)}.g-photos i:nth-child(3){background:linear-gradient(150deg,#e8b86b,#a35d2e)}
.g-body{padding:18px 20px;display:grid;gap:6px}
.g-name{font-size:20px;font-family:Arial,sans-serif}
.g-rate{font-size:13.5px;color:#5f6368}.g-rate b{color:#1f2d30}.stars{color:#FBBC04;letter-spacing:1px}
.g-cat,.g-open,.g-desc,.g-post,.g-serv,.g-rate small,.g-btns [data-on]{display:none}
.g-cat.on,.g-open.on,.g-desc.on,.g-rate small.on{display:block}
.g-post.on,.g-serv.on,.g-btns span.on{display:flex}
.g-cat{font-size:13.5px;color:#5f6368}
.g-open{font-size:13.5px;color:#188038;font-weight:700}
.g-desc{font-size:13.5px;color:#3c4043}
.g-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.g-btns span{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid #dadce0;font-size:13px;font-weight:700;color:#1a73e8}
.g-btns .ico{width:15px;height:15px}
.g-post{gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f1f3f4;font-size:13px}
.g-post .ico{color:#1a73e8}
.g-serv{flex-wrap:wrap;gap:6px}.g-serv span{padding:5px 10px;border-radius:8px;background:#e8f0fe;color:#1967d2;font-size:12.5px;font-weight:700}
.gcard [data-on].on{animation:pop .45s cubic-bezier(.3,1.5,.5,1)}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* identidade visual */
.txt{display:grid;gap:8px;font-size:14px;font-weight:700;color:var(--text-soft)}
.txt input{height:48px;border-radius:14px;padding:0 14px;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border)}
.txt input:focus{outline:none;border-color:var(--gold)}
.sws{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sw{cursor:pointer;display:grid;gap:6px;justify-items:center;font-size:12.5px;font-weight:700;color:var(--text-soft)}
.sw input,.seg input{position:absolute;opacity:0;pointer-events:none}
.sw>span{display:flex;width:100%;height:40px;border-radius:12px;overflow:hidden;border:2px solid transparent;transition:border-color .2s,transform .2s}
.sw>span i{flex:1}.sw>span i:nth-child(1){background:var(--a)}.sw>span i:nth-child(2){background:var(--b)}.sw>span i:nth-child(3){background:var(--c)}
.sw input:checked+span{border-color:var(--text);transform:translateY(-2px)}
.sw input:focus-visible+span,.seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.sw em{font-style:normal}
.segs{display:flex;flex-wrap:wrap;gap:6px}
.seg{cursor:pointer}
.seg>span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font-weight:800;font-size:13.5px;color:var(--text-soft);transition:background .2s,color .2s,border-color .2s}
.seg input:checked+span{background:var(--gold);border-color:var(--gold);color:#0D3B42}
.toggle{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:var(--text-soft);cursor:pointer}
.toggle input{position:absolute;opacity:0}
.toggle>span{flex:none;width:44px;height:26px;border-radius:26px;background:var(--border);position:relative;transition:background .25s}
.toggle>span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.3,1.4,.5,1)}
.toggle input:checked+span{background:var(--gold)}
.toggle input:checked+span::after{transform:translateX(18px)}
.toggle input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.brandprev{--a:#0E5E6F;--b:#F2C14E;--c:#F8F4EA;--f:"Montserrat Alternates",sans-serif;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.brandprev[data-pal=serra]{--a:#2F4B3A;--b:#C8894B;--c:#F4EFE6}
.brandprev[data-pal=cerrado]{--a:#7A3E1D;--b:#E3A857;--c:#FBF3E4}
.brandprev[data-pal=urbano]{--a:#1E2A44;--b:#E86A58;--c:#F5F5F7}
.brandprev[data-font=classic]{--f:Georgia,"Times New Roman",serif}
.brandprev[data-font=modern]{--f:"Montserrat",system-ui,sans-serif}
.brandprev>div{border-radius:16px;overflow:hidden;transition:background .4s,color .4s,transform .4s var(--ease),font-family .1s}
.brandprev b{font-family:var(--f);font-weight:700;letter-spacing:-.01em}
.bp-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--b);color:var(--a);flex:none;transition:background .4s,color .4s}
.bp-ic .ico{width:20px;height:20px;stroke-width:1.8}
.bp-card{grid-column:1/-1;background:var(--c);color:var(--a);padding:22px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:140px;box-shadow:0 14px 30px rgba(0,0,0,.12)}
.bp-logo{display:flex;align-items:center;gap:12px}.bp-logo b{font-size:clamp(20px,2.2vw,28px)}
.bp-card small{letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;font-weight:800;opacity:.7;padding-left:50px}
.bp-post{background:var(--a);color:var(--c)}
.bp-img{height:110px;background:linear-gradient(160deg,var(--b),var(--a));position:relative}
.bp-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.25))}
.bp-cap{padding:12px 14px;display:grid;gap:3px;font-size:12.5px}
.bp-cap b{font-size:15px}.bp-cap em{font-style:normal;color:var(--b);font-weight:800}
.bp-sign{background:var(--b);color:var(--a);display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center}
.bp-sign .bp-ic{background:var(--a);color:var(--b)}.bp-sign b{font-size:18px}
.bp-tag{grid-column:1/-1;background:var(--c);color:var(--a);display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:2px dashed var(--b)}
.bp-tag span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;opacity:.7}
/* "sem identidade": cada peça com uma cor e uma fonte */
.brandprev.messy .bp-card{background:#fff;color:#c0392b}.brandprev.messy .bp-card b{font-family:"Courier New",monospace}
.brandprev.messy .bp-post{background:#6c3483;color:#fff}.brandprev.messy .bp-post b{font-family:Impact,sans-serif;font-weight:400}
.brandprev.messy .bp-img{background:linear-gradient(160deg,#16a085,#f39c12)}
.brandprev.messy .bp-sign{background:#2e86c1;color:#fff}.brandprev.messy .bp-sign b{font-family:"Comic Sans MS",cursive}
.brandprev.messy .bp-tag{background:#f7dc6f;color:#1b4f72;border-color:#d35400}.brandprev.messy .bp-tag b{font-family:Georgia,serif;font-style:italic}
.brandprev.messy .bp-ic{background:#aaa;color:#fff}
.brandprev.messy>div:nth-child(odd){transform:rotate(-1deg)}.brandprev.messy>div:nth-child(even){transform:rotate(1.2deg)}
/* consultoria */
.quiz{gap:10px}
.q{padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--border)}
.q legend{display:block;float:left;width:100%;text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}
.q legend b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.q .segs{clear:both}.q .seg>span{min-height:34px;font-size:13px}
.radar-wrap{position:relative;display:grid;place-items:center}
.radar{width:min(100%,340px);height:auto;overflow:visible}
.radar .grid polygon{fill:none;stroke:var(--border);stroke-width:1}
.radar .grid line{stroke:var(--border)}
.radar .area{fill:rgba(217,164,65,.3);stroke:var(--gold);stroke-width:2;stroke-linejoin:round;transition:all .6s var(--ease)}
.radar text{font:700 10.5px var(--body);fill:var(--text-soft)}
.rscore{position:absolute;display:grid;justify-items:center;pointer-events:none}
.rscore strong{font-family:var(--display);font-size:28px;background:var(--surface-solid);padding:2px 10px;border-radius:10px}
.rscore span{font-size:11px;font-weight:800;color:var(--text-dim);background:var(--surface-solid);padding:0 6px;border-radius:6px}
.prio{padding:18px;border-radius:16px;background:linear-gradient(160deg,rgba(217,164,65,.16),transparent);border:1px solid var(--border-strong)}
.prio strong{display:block;font-family:var(--display);font-size:18px;margin-bottom:8px}
.prio ol{padding-left:1.2em;display:grid;gap:6px;font-size:14.5px;color:var(--text-soft)}
.prio b{color:var(--text)}.prio a{color:var(--gold-ink);font-weight:800;text-decoration:none;white-space:nowrap}
/* pacotes */
.ticket-card{border-radius:20px;background:linear-gradient(160deg,var(--teal-mid),var(--teal-deep));color:#F5F2EA;padding:20px 22px;position:relative;overflow:hidden}
.ticket-card::before,.ticket-card::after{content:"";position:absolute;top:58%;width:22px;height:22px;border-radius:50%;background:var(--surface-solid)}
.ticket-card::before{left:-11px}.ticket-card::after{right:-11px}
.tk-head{display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:14px;color:var(--gold-soft)}
.tk-head span{display:flex;align-items:center;gap:8px;margin-right:auto}
.tk-head b{font-family:var(--display);font-size:24px;color:#fff}
.tk-items{list-style:none;display:grid;gap:6px;margin:14px 0;padding-bottom:14px;border-bottom:1px dashed rgba(255,255,255,.25);font-size:14px}
.tk-items li{display:flex;justify-content:space-between;gap:10px;color:rgba(245,242,234,.85)}
.tk-price{display:grid;gap:2px}
.tk-price span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:rgba(245,242,234,.7)}
.tk-price strong{font-family:var(--display);font-size:clamp(30px,3.2vw,42px);color:var(--gold)}
.tk-price small{color:rgba(245,242,234,.8)}
.stack{display:flex;height:16px;border-radius:10px;overflow:hidden;gap:2px}
.stack i{flex-basis:0;transition:flex-grow .6s var(--ease)}
.stack i:nth-child(1),.stack-leg .l1::before{background:#16525A}.stack i:nth-child(2),.stack-leg .l2::before{background:#2B8C96}
.stack i:nth-child(3),.stack-leg .l3::before{background:#8FBDAE}.stack i:nth-child(4),.stack-leg .l4::before{background:#B9862C}
.stack i:nth-child(5),.stack-leg .l5::before{background:#D9A441}
.stack-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;font-weight:700;color:var(--text-soft)}
.stack-leg span{display:flex;align-items:center;gap:6px}.stack-leg span::before{content:"";width:10px;height:10px;border-radius:3px}
/* treinamentos: 100 pontos */
.dots-wrap{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.dots{display:grid;grid-template-columns:repeat(10,16px);gap:5px}
.dots i{width:16px;height:16px;border-radius:50%;background:var(--border);transition:background .4s,transform .4s}
.dots i.d0{background:var(--teal-mid)}html:not([data-theme="light"]) .dots i.d0{background:#8FBDAE}
.dots i.d1{background:var(--gold);transform:scale(1.15);box-shadow:0 0 10px rgba(217,164,65,.6)}
.dots-leg{display:grid;gap:8px;font-size:13.5px;font-weight:700;color:var(--text-soft)}
.dots-leg span{display:flex;align-items:center;gap:8px}.dots-leg span::before{content:"";width:12px;height:12px;border-radius:50%}
.dots-leg .d0::before{background:var(--teal-mid)}.dots-leg .d1::before{background:var(--gold)}.dots-leg .d2::before{background:var(--border)}
.dots-leg small{color:var(--text-dim);font-weight:600}
/* suporte: monitor */
.monitor{padding:18px;border-radius:18px;background:#0B2328;color:#e9f1f1;display:grid;gap:14px;border:1px solid rgba(255,255,255,.08)}
.mon-top{display:flex;align-items:center;gap:10px;font-size:14px}
.mon-top small{color:rgba(233,241,241,.55);margin-right:auto}
.mon-top em{font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:rgba(233,241,241,.7)}
.mon-dot{width:12px;height:12px;border-radius:50%;background:#E5534B;box-shadow:0 0 0 0 rgba(229,83,75,.6);animation:ping 1.6s infinite}
.monitor.healthy .mon-dot{background:#3FB97F;box-shadow:0 0 0 0 rgba(63,185,127,.6)}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(0,0,0,0)}}
.mon-days{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;height:34px}
.mon-days i{border-radius:3px;background:#3FB97F;transition:background .4s}
.mon-days i.down{background:#E5534B}.mon-days i.warn{background:#E0B04F}
.monitor .toggle{color:#e9f1f1}
@media(max-width:940px){
  .imp-box{grid-template-columns:1fr}
}
@media(max-width:680px){
  .kpis,.kpis.k3{grid-template-columns:1fr 1fr}
  .kpis .kpi:last-child:nth-child(odd){grid-column:1/-1}
  .dots-wrap{grid-template-columns:1fr;justify-items:center}
  .dots{grid-template-columns:repeat(10,14px);gap:4px}.dots i{width:14px;height:14px}
  .brandprev{grid-template-columns:1fr}
  .sws{grid-template-columns:repeat(2,1fr)}
  .f169 img{width:110px;height:62px}
}
@media(prefers-reduced-motion:reduce){.mon-dot{animation:none}}
.post-grid>*{min-width:0}

/* ---------- FUNDOS COM FOTO (.has-bg; --bgi = imagem, --bgi-s = versão menor para celular) ---------- */
.has-bg{position:relative;isolation:isolate;overflow:hidden}
.has-bg::before{content:"";position:absolute;inset:-2%;z-index:-2;background:var(--bgi) center/cover no-repeat;opacity:var(--bgo,.42);transform:scale(1.03)}
@media(max-width:680px){.has-bg::before{background-image:var(--bgi-s,var(--bgi))}}
.page-hero.has-bg::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--teal-deep) 28%,rgba(8,42,48,.72) 62%,rgba(8,42,48,.45)),linear-gradient(0deg,var(--teal-deep),transparent 40%)}
@media(max-width:940px){.page-hero.has-bg::after{background:linear-gradient(180deg,rgba(8,42,48,.78),var(--teal-deep) 85%)}}
.post-hero.has-bg{overflow:visible}
.post-hero.has-bg::before{inset:0 0 34% 0;z-index:0;opacity:1;transform:none;background:linear-gradient(180deg,rgba(8,42,48,.72),var(--teal-deep) 70%),var(--bgi) center/cover no-repeat}
/* seções claras: foto suave que aparece pela direita; o texto fica sempre sobre fundo quase sólido */
.has-bg.bg-soft{--bgo:1}
.has-bg.bg-soft::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,var(--bg-2) 34%,color-mix(in srgb,var(--bg-2) 80%,transparent) 62%,color-mix(in srgb,var(--bg-2) 48%,transparent))}
.has-bg.bg-soft.bg-right::before{inset:0 0 0 45%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%)}
@media(max-width:940px){.has-bg.bg-soft::after{background:color-mix(in srgb,var(--bg-2) 86%,transparent)}}
.final.has-bg .next-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--surface-solid) 88%,transparent)}
.sv-all{display:flex;justify-content:center;margin-top:28px}

/* ---------- /servicos ---------- */
.hub-hero h1{font-size:clamp(32px,4.6vw,60px);font-weight:400;line-height:1.06;max-width:18ch}
.hub-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 30px;margin-bottom:28px}
.hub-top .filters{margin:0}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hub-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--text);box-shadow:0 10px 30px rgba(13,59,66,.06);transition:transform .35s var(--ease),box-shadow .35s,border-color .25s}
.hub-card[hidden]{display:none}
.hub-card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:0 26px 50px rgba(13,59,66,.16)}
.hub-card .thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--teal-deep)}
.hub-card .thumb img,.hub-card .thumb .art,.hub-card .thumb svg{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.hub-card:hover .thumb img{transform:scale(1.06)}
.hub-card .thumb .badge-pill{position:absolute;left:12px;bottom:12px}
.hub-card .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.hub-card h3{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;line-height:1.2}
.hub-card h3 .sv2-ico{width:44px;height:44px;flex:none}
.hub-card h3 .sv2-ico .ico{width:20px;height:20px}
.hub-card p{font-size:14.5px;color:var(--text-soft)}
.hub-card ul{list-style:none;display:grid;gap:6px;margin-top:2px}
.hub-card li{display:flex;gap:8px;align-items:flex-start;font-size:13.8px;color:var(--text-soft)}
.hub-card li .ico{width:16px;height:16px;margin-top:3px;color:var(--gold-ink);flex:none}
.hub-card .sv2-more{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:14.5px;color:var(--gold-ink)}
.hub-card:hover .sv2-go{background:var(--gold);color:#0D3B42;transform:translateX(4px)}
.journey{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative}
.journey::before{content:"";position:absolute;left:4%;right:4%;top:26px;border-top:1.5px dashed var(--border-strong)}
.journey li{position:relative;display:flex;flex-direction:column;gap:6px;padding:0 4px}
.jn{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--gold);color:#0D3B42;font:600 16px var(--display);box-shadow:0 0 0 6px var(--bg-2),0 0 0 7px rgba(217,164,65,.35);margin-bottom:10px}
.journey strong{font-family:var(--display);font-size:18px;font-weight:600;line-height:1.2}
.journey small{font-size:13.5px;color:var(--text-soft);line-height:1.45}
.jl{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.jl a{display:block;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:13.5px;font-weight:800;color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}
.jl a:hover{border-color:var(--border-strong);transform:translateX(3px)}
@media(max-width:1080px){.hub-grid{grid-template-columns:repeat(2,1fr)}.journey{grid-template-columns:repeat(3,1fr);row-gap:34px}.journey::before{display:none}}
@media(max-width:680px){
  .hub-grid{grid-template-columns:1fr}
  .journey{grid-template-columns:1fr;row-gap:22px}
  .journey li{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:start}.journey li .jn{grid-row:span 4;margin:0}
  .hub-top .filters,.blog-list .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:-22px;padding-inline:22px;scrollbar-width:none}
  .hub-top .filters .chip,.blog-list .filters .chip{flex:none}
}

/* ---------- PÁGINAS LEGAIS ---------- */
.legal-hero h1{font-size:clamp(32px,4.4vw,56px);font-weight:400}
.legal .prose h2{font-size:clamp(21px,2.2vw,26px)}
.legal .prose code{font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border)}
.legal-warn{border-left-color:#D9655A;background:rgba(217,101,90,.08);border-color:rgba(217,101,90,.4)}
.legal-warn strong{color:#B4483E}
html:not([data-theme="light"]) .legal-warn strong{color:#F0A097}
.linklike{display:inline;padding:0;font:inherit;color:var(--gold-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fcol .linklike{color:var(--text-soft);text-decoration:none;font-weight:400;text-align:left}
.fcol .linklike:hover{color:var(--text)}

/* ---------- AVISO DE COOKIES ---------- */
.cookie{position:fixed;z-index:130;left:20px;bottom:20px;width:min(440px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:20px;border-radius:22px;
  background:var(--surface-solid);color:var(--text);border:1px solid var(--border-strong);box-shadow:0 30px 70px rgba(0,0,0,.28);
  opacity:0;transform:translate3d(0,24px,0);transition:opacity .45s var(--ease),transform .5s var(--ease)}
.cookie.in{opacity:1;transform:none}
.ck-main{display:grid;grid-template-columns:44px 1fr;gap:14px}
.ck-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(217,164,65,.16);color:var(--gold-ink)}
.ck-ico .ico{width:22px;height:22px}
.ck-main strong{display:block;font-family:var(--display);font-size:17px;margin-bottom:4px}
.ck-main p{font-size:13.8px;line-height:1.5;color:var(--text-soft)}
.ck-main a{color:var(--gold-ink);font-weight:700}
.ck-prefs{display:grid;gap:12px;margin:16px 0 4px;padding:14px;border-radius:16px;background:var(--bg);border:1px solid var(--border)}
.ck-prefs[hidden]{display:none}
.ck-prefs .toggle{display:grid;grid-template-columns:44px 1fr;gap:2px 12px;align-items:center}
.ck-prefs .toggle>span{grid-row:span 2}
.ck-prefs b{font-size:14px;color:var(--text)}
.ck-prefs small{font-size:12.5px;font-weight:600;color:var(--text-dim);line-height:1.35}
.ck-prefs input:disabled+span{opacity:.6}
.ck-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ck-btns .btn{flex:1 1 auto}
.ck-btns [hidden]{display:none}
@media(max-width:680px){
  .cookie{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;padding:16px;border-radius:18px}
  body.ck-open .wa-float{opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.cookie{transition:none}}

/* ---------- RESPONSIVIDADE: toque e legibilidade no celular (auditoria 320–1920px) ---------- */
.brand{min-height:44px}
@media(max-width:680px){
  /* alvos de toque de pelo menos ~40px nos links do rodapé e links com seta */
  .fcol ul{gap:0}
  .fcol a,.fcol .linklike{display:inline-flex;align-items:center;min-height:40px;padding:4px 0}
  .link-arrow{min-height:40px}
  .foot-grid{gap:26px}
  /* rótulos pequenos um pouco maiores */
  .eyebrow{font-size:11.5px;letter-spacing:.1em;white-space:normal}
  .badge-pill{font-size:11px}
  .dest2 .coord{font-size:10.5px}
  .hero-coord{font-size:11px}
  .mono{font-size:11.5px}
  .kpi strong{font-size:20px}
  .kpi.big strong{font-size:26px}
  /* seções um pouco mais compactas */
  .sec{padding:clamp(56px,14vw,80px) 0}
  .sec-split{margin-bottom:28px}
  .page-hero .hero-buttons{gap:10px}
  .imp-box{padding:16px;border-radius:22px}
  .bfeature .body{padding:20px}
}
@media(max-width:380px){
  .wrap{width:min(var(--wrap),100% - 32px)}
  .btn{padding:0 18px;font-size:15px}
  .h2{font-size:28px}
  .kpis,.kpis.k3,.kpis.k2{grid-template-columns:1fr}
  .kpis .kpi:last-child:nth-child(odd){grid-column:auto}
  .dots{grid-template-columns:repeat(10,12px);gap:4px}.dots i{width:12px;height:12px}
  .sws{gap:6px}
}
/* telas grandes: um pouco mais de largura útil */
@media(min-width:1600px){:root{--wrap:1280px}}
@media(max-width:680px){
  .legal button{min-height:40px}
  .dest2 .nm{font-size:11.5px}
  .prio a{display:inline-block;padding:8px 0}
  .bp-card small,.bp-tag span{font-size:11px}
}

/* ---------- CTA FINAL ESCURO sobre foto (contraste AA nos dois temas) ---------- */
.final.bg-dark{background:var(--teal-deep);color:#F5F2EA;--text:#F5F2EA;--text-soft:rgba(245,242,234,.86);--text-dim:rgba(245,242,234,.72);--gold-ink:#EDBB5F;--border:rgba(255,255,255,.18);--border-strong:rgba(237,187,95,.55);--surface:rgba(255,255,255,.06)}
.final.bg-dark::before{opacity:.6}
.final.bg-dark::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,42,48,.94) 22%,rgba(8,42,48,.7) 58%,rgba(8,42,48,.5)),linear-gradient(0deg,rgba(8,42,48,.55),transparent 50%)}
.final.bg-dark .next-card{background:rgba(8,42,48,.72);border-color:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F5F2EA}
.final.bg-dark .next-card li::marker{color:#EDBB5F}
.final.bg-dark .mono{color:rgba(245,242,234,.72)}
.final.bg-dark .route-line path{opacity:.6}
@media(max-width:940px){.final.bg-dark::after{background:rgba(8,42,48,.84)}}

/* backlinks: mapa de links */
.linkmap{border-radius:20px;background:radial-gradient(circle at 50% 50%,rgba(217,164,65,.12),transparent 65%),var(--bg);border:1px solid var(--border);padding:6px}
.linkmap svg{width:100%;height:auto;overflow:visible}
.ln line{stroke:var(--gold);stroke-width:var(--sw);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .7s var(--ease),opacity .3s}
.ln circle{fill:var(--surface-solid);stroke:var(--border-strong);stroke-width:1.5;transition:fill .3s,stroke .3s,transform .4s cubic-bezier(.3,1.5,.5,1);transform-box:fill-box;transform-origin:center}
.ln text{font:700 11.5px var(--body);fill:var(--text-dim);transition:fill .3s}
.ln.on line{stroke-dashoffset:0;opacity:.85}
.ln.on circle{fill:var(--gold);stroke:var(--gold);transform:scale(1.12)}
.ln.on text{fill:var(--text)}
.ln.bad.on line{stroke:#D9655A;stroke-dasharray:.04 .03;opacity:1;animation:dash 1s linear infinite}
.ln.bad.on circle{fill:#D9655A;stroke:#D9655A}
@keyframes dash{to{stroke-dashoffset:-.07}}
.hub circle{fill:var(--teal-deep);stroke:var(--gold);stroke-width:2}
.hub text{font:700 12px var(--display);fill:#F5F2EA}
.linkmap.bad .hub circle{stroke:#D9655A;animation:shake .5s}
@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.chk.risk em{font-style:normal;color:#C0503F;font-weight:800}
.lscore{padding:16px;border-radius:16px;background:var(--bg);border:1px solid var(--border)}
.ls-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:14px;color:var(--text-soft)}
.ls-top strong{font-family:var(--display);font-size:30px;color:var(--gold-ink)}
.ls-bar{height:12px;border-radius:10px;background:var(--border);margin:10px 0;overflow:hidden}
.ls-bar i{display:block;height:100%;width:calc(var(--s,0)*100%);border-radius:inherit;background:linear-gradient(90deg,var(--teal-mid),var(--gold));transition:width .6s var(--ease)}
.lscore.bad .ls-bar i{background:#D9655A}
.lscore.bad .ls-top strong{color:#C0503F}
.lscore p{font-size:14px;color:var(--text-soft)}

/* a camada que escurece/clareia a foto das seções .has-bg não pode ser trocada pelo brilho decorativo do fx.css
   (.fx-page .final::after) — este seletor tem prioridade maior e anula tamanho/posição/animação do brilho */
body .has-bg.bg-dark::after,body .has-bg.bg-soft::after{inset:0;right:0;bottom:0;width:auto;height:auto;border-radius:0;animation:none;z-index:-1}
body .final.bg-dark::after{background:linear-gradient(90deg,rgba(8,42,48,.94) 22%,rgba(8,42,48,.74) 58%,rgba(8,42,48,.55)),linear-gradient(0deg,rgba(8,42,48,.6),transparent 50%)}
@media(max-width:940px){body .final.bg-dark::after{background:rgba(8,42,48,.86)}}

/* ---------- CURSOR PERSONALIZADO (só com mouse; ativado pelo site.js com html.cc) ----------
   Seta = agulha de bússola (arquivo nativo: sem atraso na mira). Sobre links/botões a agulha fica dourada.
   Um anel dourado segue o mouse com leve atraso, cresce em elementos clicáveis e mostra rótulos. */
@media (hover:hover) and (pointer:fine){
  html.cc,html.cc body{cursor:url(/assets/cursor/seta.svg) 3 3,url(/assets/cursor/seta.png) 3 3,auto}
  html.cc a,html.cc button,html.cc label,html.cc summary,html.cc select,html.cc [role=button],html.cc [data-cursor],
  html.cc input[type=checkbox],html.cc input[type=radio],html.cc .chip{cursor:url(/assets/cursor/link.svg) 3 3,url(/assets/cursor/link.png) 3 3,pointer}
  html.cc input[type=range]{cursor:grab}
  html.cc input[type=range]:active{cursor:grabbing}
  html.cc input:not([type=range]):not([type=checkbox]):not([type=radio]),html.cc textarea{cursor:text}
  html.cc [disabled]{cursor:not-allowed}
}
.cc-ring{position:fixed;left:0;top:0;z-index:9999;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;
  border:1.5px solid rgba(217,164,65,.85);pointer-events:none;display:grid;place-items:center;opacity:0;will-change:transform;
  transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s,border-color .3s,opacity .3s,scale .2s}
.cc-ring.on{opacity:1}
.cc-ring.hover{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(217,164,65,.12);border-color:var(--gold)}
.cc-ring.label{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(217,164,65,.92);border-color:#D9A441;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.cc-ring.text{opacity:0}
.cc-ring.down{scale:.82}
.cc-ring span{font:800 10.5px var(--body);letter-spacing:.1em;text-transform:uppercase;color:#0D3B42;opacity:0;transition:opacity .2s;white-space:nowrap}
.cc-ring.label span{opacity:1}
.cc-ring::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.9;transition:opacity .2s}
.cc-ring.hover::after,.cc-ring.label::after{opacity:0}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cc-ring{display:none}}
