/* Site VERI — base, cabeçalho, botões, diálogo, rodapé e componentes comuns.
   Carregado em todas as páginas, depois de tokens.css. O que é de uma página só vai
   no CSS dela (ex.: home.css). Escrito a partir do celular; quebras em 621px, 981px e 1101px. */

/* ── Base ────────────────────────────────────────────────────────────────────── */
*{box-sizing:border-box}
html{scrollbar-color:#28569f #04070f;scroll-padding-top:92px}
body{margin:0;background:var(--deep);color:var(--white);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0;color:inherit;cursor:pointer;font:inherit}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid var(--light);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
h1,h2,p{margin:0}
h1,h2{font-family:var(--display)}
::selection{background:rgba(33,112,237,.62);color:#fff}
.no-break{white-space:nowrap}
.skip{position:fixed;top:-90px;left:20px;z-index:100;padding:16px;background:#fff;color:var(--deep)}
.skip:focus{top:10px}
@keyframes signal{to{opacity:0;transform:scale(1.5)}}

/* Título principal: cada <span> ou <em> é uma linha; o <em> sai em azul. */
h1{max-width:650px;font-size:clamp(27px,7.3vw,42px);font-weight:700;line-height:1.01;letter-spacing:-.025em}
h1 span,h1 em{display:block}
h1 em{font-style:normal;font-weight:700;color:var(--blue);text-shadow:0 0 30px rgba(33,112,237,.42)}

/* ── Cabeçalho ───────────────────────────────────────────────────────────────── */
.site-header{position:relative;z-index:4;width:88%;height:75px;margin:auto;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}
.brand{width:80px;flex:none}
.nav-cta{margin-left:auto;min-height:44px;padding:0 11px;border:1px solid rgba(154,193,255,.38);border-radius:7px;background:rgba(5,7,11,.25);font-size:11px;font-weight:600;transition:.24s var(--ease)}
.nav-cta:hover{border-color:var(--light);background:rgba(33,112,237,.12)}
.arrow-icon{display:inline-block;width:10px;height:10px;margin-left:18px;border-top:1.5px solid;border-right:1.5px solid}
.arrow-icon::after{content:"";display:block;width:12px;height:1.5px;background:currentColor;transform:rotate(-45deg) translate(-3px,-1px);transform-origin:right}

/* Selo e rótulo acima do título. */
.hero-proof{display:inline-flex;align-items:center;gap:10px;min-height:30px;padding:0 14px;margin-bottom:24px;border:1px solid rgba(33,112,237,.55);border-radius:var(--radius-pill);background:rgba(7,18,37,.7);color:var(--light);font-size:7px;font-weight:700;letter-spacing:.1em}
.proof-signal{position:relative;width:6px;height:6px;border-radius:50%;background:var(--light);box-shadow:0 0 12px var(--blue)}
.proof-signal::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(154,193,255,.42);border-radius:50%;animation:signal 2.4s infinite}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:rgba(154,193,255,.82);font-size:9px;font-weight:700;letter-spacing:.1em}
.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* ── Botão principal ───────────────────────────────────────────────────────────
   Borda clara por baixo (fundo do próprio botão), preenchimento azul no ::after e
   brilho que atravessa no ::before. Canto inferior direito cortado. */
.primary-cta{position:relative;isolation:isolate;overflow:hidden;min-height:52px;margin-top:30px;padding:0 23px;display:inline-flex;align-items:center;gap:32px;border:0;border-radius:7px;clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%);background:rgba(154,193,255,.5);box-shadow:0 12px 32px rgba(33,112,237,.24);font-size:14px;font-weight:700;transition:color 240ms var(--ease),background 320ms var(--ease),border-color 320ms var(--ease),box-shadow 320ms var(--ease),backdrop-filter 320ms var(--ease)}
.primary-cta::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.34) 48%,transparent 58%);transform:translateX(-145%);transition:transform 560ms var(--ease)}
.primary-cta::after{content:"";position:absolute;z-index:-2;inset:1px;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);background:linear-gradient(110deg,#2170ed,#0869f8 68%,#005be3);transition:opacity 280ms var(--ease)}
.primary-cta:hover,.primary-cta:focus-visible{background:rgba(154,193,255,.78);box-shadow:0 14px 38px rgba(0,0,0,.34),0 0 28px rgba(33,112,237,.34),inset 0 1px rgba(255,255,255,.18);backdrop-filter:blur(16px)}
.primary-cta:hover::before,.primary-cta:focus-visible::before{transform:translateX(145%)}
.primary-cta:hover::after,.primary-cta:focus-visible::after{background:linear-gradient(135deg,rgba(154,193,255,.16),rgba(5,18,39,.84))}
.primary-cta .arrow-icon{transition:transform 240ms var(--ease),color 240ms var(--ease)}
.primary-cta:hover .arrow-icon,.primary-cta:focus-visible .arrow-icon{color:var(--light);transform:translate(2px,-2px)}
.primary-cta:active,.nav-cta:active{scale:.975}

/* ── Diálogo ─────────────────────────────────────────────────────────────────── */
dialog{width:min(560px,calc(100% - 32px));padding:32px 25px;border:1px solid #d0dceb;border-radius:14px;background:#f6f8fc;color:#15233a}
dialog::backdrop{background:#020914bd;backdrop-filter:blur(8px)}
.dialog-open{overflow:hidden}
.dialog-close{position:absolute;right:14px;top:10px;width:40px;height:40px;background:none;color:#48617f;font-size:27px;transition:color var(--motion-fast) var(--ease)}
.dialog-close:hover,.dialog-close:focus-visible{color:var(--light)}
dialog .eyebrow{color:#4a6b99}
dialog h2{margin-bottom:20px;font-size:34px;line-height:1.07}
dialog>p:not(.eyebrow){color:#52657e;font-size:15px;line-height:1.5}

/* ── Página 404 ──────────────────────────────────────────────────────────────── */
.not-found{min-height:100svh;background:#020409}
.not-found-stage{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 72% 35%,rgba(33,112,237,.28),transparent 38%),linear-gradient(115deg,#020307,var(--deep))}
.not-found-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent)}
.not-found-content{position:relative;z-index:2;width:88%;min-height:calc(100svh - 75px);margin:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px 0 90px}
.not-found-content .hero-proof{margin-bottom:24px}
.not-found-code{position:absolute;right:-8%;top:50%;color:rgba(154,193,255,.055);font:700 58vw/.75 var(--display);letter-spacing:-.1em;transform:translateY(-50%);pointer-events:none}
.not-found-content h1{max-width:780px;font-size:clamp(38px,11vw,52px)}
.not-found-content>p:not(.hero-proof):not(.not-found-code){max-width:560px;margin-top:26px;color:var(--muted);font-size:14px;line-height:1.6}
.not-found-content .primary-cta{margin-top:34px}

/* ── Desfoque fixo da base da janela (desligado no celular) ──────────────────── */
.progressive-blur{display:none;position:fixed;z-index:9;left:0;right:0;bottom:0;height:150px;pointer-events:none;background:none}
.progressive-blur .blur{position:absolute;inset:0;pointer-events:none}
.progressive-blur .blur-1{z-index:1;backdrop-filter:blur(.25px);-webkit-backdrop-filter:blur(.25px);mask-image:linear-gradient(to bottom,transparent 0,#000 12.5%,#000 25%,transparent 37.5%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12.5%,#000 25%,transparent 37.5%)}
.progressive-blur .blur-2{z-index:2;backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px);mask-image:linear-gradient(to bottom,transparent 12.5%,#000 25%,#000 37.5%,transparent 50%);-webkit-mask-image:linear-gradient(to bottom,transparent 12.5%,#000 25%,#000 37.5%,transparent 50%)}
.progressive-blur .blur-3{z-index:3;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);mask-image:linear-gradient(to bottom,transparent 25%,#000 37.5%,#000 50%,transparent 62.5%);-webkit-mask-image:linear-gradient(to bottom,transparent 25%,#000 37.5%,#000 50%,transparent 62.5%)}
.progressive-blur .blur-4{z-index:4;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:linear-gradient(to bottom,transparent 37.5%,#000 50%,#000 62.5%,transparent 75%);-webkit-mask-image:linear-gradient(to bottom,transparent 37.5%,#000 50%,#000 62.5%,transparent 75%)}
.progressive-blur .blur-5{z-index:5;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(to bottom,transparent 50%,#000 62.5%,#000 75%,transparent 87.5%);-webkit-mask-image:linear-gradient(to bottom,transparent 50%,#000 62.5%,#000 75%,transparent 87.5%)}
.progressive-blur .blur-6{z-index:6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);mask-image:linear-gradient(to bottom,transparent 62.5%,#000 75%,#000 87.5%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 62.5%,#000 75%,#000 87.5%,transparent 100%)}
.progressive-blur .blur-7{z-index:7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mask-image:linear-gradient(to bottom,transparent 75%,#000 87.5%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 75%,#000 87.5%,#000 100%)}
.progressive-blur .blur-8{z-index:8;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);mask-image:linear-gradient(to bottom,transparent 87.5%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 87.5%,#000 100%)}

/* ── Rodapé ──────────────────────────────────────────────────────────────────── */
.site-footer{position:relative;padding:48px 6% 80px;background:#03060c;color:#f7f9fc}
.footer-main{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:1fr;gap:42px}
.footer-brand img{width:110px}
.footer-brand p{max-width:250px;margin:23px 0;color:#a1aec0;font-size:14px;line-height:1.8}
.footer-email{font-size:13px;color:#bfd0e5;overflow-wrap:anywhere}
.footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.footer-social a{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:1px solid #354052;border-radius:var(--radius-pill);color:#b7c5d6;font-size:12px;font-weight:500;transition:background .2s,border-color .2s,color .2s}
.footer-social a:hover,.footer-social a:focus-visible{background:#122747;border-color:#6f9cdb;color:#fff}
.footer-social span{color:#6f9cdb;font-size:11px}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:35px 24px}
.footer-nav>div{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.footer-nav>div:last-child{grid-column:1/-1}
.footer-nav strong{font-size:13px;font-weight:600;margin-bottom:10px}
.footer-nav a,.footer-nav button{background:none;padding:0;color:#a1aec0;font:400 12px/1.6 var(--body);text-align:left;transition:color .2s}
.footer-nav a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:color var(--motion-fast) var(--ease),background-size var(--motion-base) var(--ease-out)}
.footer-nav a:hover,.footer-nav button:hover,.footer-email:hover{color:#fff}
.footer-nav a:hover,.footer-nav a:focus-visible{background-size:100% 1px}
.footer-pending{font-size:12px;color:#8390a3;line-height:1.5}
.footer-pending small{display:block;font-size:11px;color:#8f9bb0}
.footer-nav .footer-seal{margin-top:14px;max-width:174px}
.footer-seal img{width:100%;height:auto}
.footer-bottom{width:min(100%,1280px);margin:38px auto 0;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid #ffffff19;color:#8190a4;font-size:10px;line-height:1.5}
.footer-bottom a{margin-left:auto;color:#becbdc}
.footer-bottom a:hover{color:#fff}

/* ── Base: telas maiores ─────────────────────────────────────────────────────── */
@media (min-width:621px){
  h1{font-size:clamp(42px,5vw,52px)}
  .site-header{width:min(90%,1536px);height:96px;gap:38px}
  .brand{width:100px}
  .nav-cta{padding:0 18px;font-size:13px}
  .hero-proof{font-size:9px}
  .eyebrow{margin-bottom:26px;font-size:11px}
  dialog{padding:45px}
  .not-found-content{width:min(90%,1536px);min-height:calc(100svh - 96px);padding:70px 0 110px}
  .not-found-code{right:2%;font-size:clamp(220px,34vw,520px)}
  .not-found-content h1{font-size:clamp(42px,5vw,52px)}
  .not-found-content>p:not(.hero-proof):not(.not-found-code){font-size:16px}
  .progressive-blur{display:block}
  .site-footer{padding:70px 5% 90px}
  .footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .footer-nav>div:last-child{grid-column:auto}
  .footer-bottom{margin-top:55px;flex-wrap:nowrap;gap:20px}
  .footer-bottom a{margin-left:0}
}
@media (min-width:981px){
  .footer-main{grid-template-columns:1fr 2.2fr;gap:75px}
}
@media (min-width:1101px){
  h1,.not-found-content h1{font-size:clamp(34px,3.25vw,52px)}
}

/* ── Movimento ───────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .primary-cta::before{display:none}
}

/* ── Componentes do site ──────────────────────────────────────────────────────
   Peças reutilizáveis em qualquer página. Escritas a partir do celular; as quebras
   são 621px, 981px e 1101px. Detalhes e exemplos de marcação em PADRAO-VISUAL.md. */

/* Largura útil das seções. */
.shell{width:var(--shell);margin-inline:auto}

/* Rótulo técnico com ponto aceso. */
.kicker{display:flex;align-items:center;gap:10px;margin-bottom:23px;color:var(--light);font:600 10px var(--label-font);letter-spacing:.1em}
.kicker span{width:6px;height:6px;flex:none;border-radius:50%;background:var(--blue);box-shadow:0 0 14px var(--blue)}

/* Cabeçalho de seção: rótulo, título e apoio. No desktop, o apoio vai para a direita. */
.section-head{margin-bottom:clamp(40px,4.6vw,68px);display:grid;row-gap:22px}
.section-head .kicker{margin-bottom:1px}
.section-head h2{font:650 var(--h2)/1.04 var(--display);letter-spacing:-.045em;text-wrap:balance}
.section-head h2 em{color:var(--accent-text);font-style:normal}
.section-head>p:last-child{max-width:460px;color:var(--muted);font-size:16px;font-weight:300;line-height:1.55}

/* Lista com marca de conferido. */
.check-list{margin:0;padding:0;display:grid;list-style:none}
.check-list li{position:relative;padding-left:24px}
.check-list li::before{content:"";position:absolute;left:2px;top:.36em;width:10px;height:5px;border-left:1.5px solid var(--light);border-bottom:1.5px solid var(--light);rotate:-45deg}

/* Link de texto com sublinhado que se desenha. */
.text-link{padding-bottom:3px;color:var(--light);font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:color var(--motion-fast) var(--ease),background-size var(--motion-base) var(--ease-out)}
.text-link:hover,.text-link:focus-visible{color:var(--white);background-size:100% 1px}
.text-link span{display:inline-block;transition:translate var(--motion-base) var(--ease-out)}
.text-link:hover span{translate:4px 0}

/* Botão secundário em pílula. O principal continua sendo .primary-cta. */
.pill-cta{position:relative;min-height:44px;padding:0 44px 0 18px;display:inline-flex;align-items:center;border:1px solid rgba(74,141,255,.5);border-radius:var(--radius-pill);background:rgba(10,30,60,.48);color:#edf4ff;font:600 12px var(--display);transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.pill-cta:hover,.pill-cta:focus-visible{border-color:#5797ff;background:rgba(33,112,237,.26);box-shadow:0 0 28px rgba(33,112,237,.24)}
.pill-cta:active{scale:.975}
.pill-cta .arrow-icon{position:absolute;right:17px;top:50%;margin:0;translate:0 -50%;transition:translate var(--motion-fast) var(--ease)}
.pill-cta:hover .arrow-icon,.pill-cta:focus-visible .arrow-icon{translate:2px calc(-50% - 2px)}

/* Campos de formulário. */
.field{display:grid;gap:7px}
.field>span{color:#b9c8dd;font-size:12px;font-weight:500}
.field small{color:#7d93b5;font-size:11px}
.field input,.field select{width:100%;height:48px;padding:0 14px;border:1px solid rgba(154,193,255,.24);border-radius:var(--radius-control);background:rgba(2,6,14,.62);color:var(--white);font:400 16px var(--body);transition:border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.field select{padding-right:38px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--light) 50%),linear-gradient(135deg,var(--light) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.field input::placeholder{color:#7d8fa9;opacity:1}
.field input:hover,.field select:hover{border-color:rgba(154,193,255,.46)}
.field input:focus-visible,.field select:focus-visible{outline:0;border-color:#5c9cff;box-shadow:0 0 0 3px rgba(33,112,237,.34)}
.field [aria-invalid="true"]{border-color:var(--alert)}
.check-field{display:flex;align-items:flex-start;gap:11px;color:#b9c8dd;font-size:13px;line-height:1.45;cursor:pointer}
.check-field input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--blue)}
.form-error{min-height:20px;color:var(--alert);font-size:13px;line-height:1.45}

/* Perguntas em sanfona; com o mesmo name, abrir uma fecha a outra. */
.accordion{display:grid;gap:10px}
.accordion details{border:1px solid var(--border-quiet);border-radius:var(--radius-md);background:var(--surface-quiet);transition:border-color var(--motion-base) var(--ease),background var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease)}
.accordion details:hover{border-color:rgba(154,193,255,.34)}
.accordion details[open]{border-color:var(--border-strong);background:linear-gradient(160deg,rgba(18,48,100,.55),rgba(6,13,26,.72));box-shadow:0 0 44px rgba(33,112,237,.16)}
.accordion summary{position:relative;display:block;padding:19px 44px 19px 50px;color:var(--text-strong);font:600 15px/1.35 var(--display);letter-spacing:-.02em;cursor:pointer;counter-increment:pergunta;transition:color var(--motion-fast) var(--ease)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::before{content:counter(pergunta,decimal-leading-zero);position:absolute;left:16px;top:22px;color:#6f9ff0;font:600 11px var(--label-font);letter-spacing:.1em}
.accordion summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--light);border-bottom:1.5px solid var(--light);transform:translateY(-70%) rotate(45deg);transition:transform var(--motion-fast) var(--ease)}
.accordion details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.accordion summary:hover,.accordion details[open] summary{color:var(--light)}
.accordion summary:focus-visible{border-radius:var(--radius-md);outline-offset:-3px}
.accordion details p{padding:0 18px 20px 50px;color:var(--text-dim);font-size:14px;line-height:1.65}
@supports (interpolate-size:allow-keywords){
  .accordion details{interpolate-size:allow-keywords}
  .accordion details::details-content{height:0;overflow:clip;transition:height 420ms var(--ease-out),content-visibility 420ms allow-discrete}
  .accordion details[open]::details-content{height:auto}
}

/* Entrada ao rolar: o bloco sobe e o trecho em azul do título se preenche. */
[data-feature-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
[data-feature-reveal].is-visible{opacity:1;transform:none}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  [data-feature-reveal] h2 em{background:linear-gradient(90deg,#5c9cff 0 50%,rgba(154,193,255,.22) 50% 100%) 100% 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;transition:background-position 1.15s var(--ease-out) .35s}
  [data-feature-reveal].is-visible h2 em{background-position:0 0}
}
@media (scripting:none){
  [data-feature-reveal]{opacity:1;transform:none}
  [data-feature-reveal] h2 em{background-position:0 0}
}

@media (min-width:621px){
  .kicker{font-size:11px;letter-spacing:.12em}
  .accordion summary{padding:21px 52px 21px 58px;font-size:16px}
  .accordion summary::before{left:20px;top:25px}
  .accordion summary::after{right:22px}
  .accordion details p{padding:0 26px 22px 58px;font-size:15px}
}
@media (min-width:981px){
  .section-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(36px,5.5vw,88px);row-gap:0;align-items:end}
  .section-head .kicker{grid-column:1 / -1;margin-bottom:23px}
}
@media (prefers-reduced-motion:reduce){
  [data-feature-reveal]{opacity:1;transform:none;transition:none}
  [data-feature-reveal] h2 em{background-position:0 0;transition:none}
}

/* O desfoque fixo da base da janela só entra a partir do tablet: no celular ele custa
   processamento a cada quadro de rolagem e cobre texto numa tela pequena. */
@media (min-width:621px){
  .progressive-blur{display:block}
}

/* Fundo único das páginas escuras: grade e três luzes que acompanham a rolagem (Home e páginas de solução). */
.page-aura{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.page-aura::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(154,193,255,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(154,193,255,.034) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000,transparent)}
.page-aura i{position:absolute;border-radius:50%;will-change:transform}
.page-aura i:nth-child(1){left:-20vmax;top:-12vmax;width:64vmax;height:64vmax;background:radial-gradient(circle,rgba(33,112,237,.36),rgba(33,112,237,.1) 40%,transparent 68%)}
.page-aura i:nth-child(2){right:-24vmax;top:22%;width:58vmax;height:58vmax;background:radial-gradient(circle,rgba(3,166,232,.22),rgba(3,166,232,.06) 42%,transparent 68%)}
.page-aura i:nth-child(3){left:18%;bottom:-38vmax;width:72vmax;height:72vmax;background:radial-gradient(circle,rgba(74,110,255,.24),rgba(33,112,237,.06) 44%,transparent 68%)}
@keyframes aura-drift-a{to{transform:translate(9vw,7vh) scale(1.12)}}
@keyframes aura-drift-b{to{transform:translate(-8vw,-9vh) scale(.9)}}
@keyframes aura-drift-c{to{transform:translate(7vw,-8vh) scale(1.08)}}
@keyframes aura-travel-a{to{translate:46vw 34vh}}
@keyframes aura-travel-b{to{translate:-52vw 18vh}}
@keyframes aura-travel-c{to{translate:22vw -46vh}}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:scroll()){
    .page-aura i:nth-child(1){animation:aura-travel-a linear both;animation-timeline:scroll(root)}
    .page-aura i:nth-child(2){animation:aura-travel-b linear both;animation-timeline:scroll(root)}
    .page-aura i:nth-child(3){animation:aura-travel-c linear both;animation-timeline:scroll(root)}
  }
}
@media (min-width:621px) and (prefers-reduced-motion:no-preference){
  .page-aura i:nth-child(1){animation:aura-drift-a 26s var(--ease) infinite alternate}
  .page-aura i:nth-child(2){animation:aura-drift-b 34s var(--ease) infinite alternate}
  .page-aura i:nth-child(3){animation:aura-drift-c 30s var(--ease) infinite alternate}
}
@media (min-width:621px) and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:scroll()){
    .page-aura i:nth-child(1){animation:aura-drift-a 26s var(--ease) infinite alternate,aura-travel-a linear both;animation-timeline:auto,scroll(root)}
    .page-aura i:nth-child(2){animation:aura-drift-b 34s var(--ease) infinite alternate,aura-travel-b linear both;animation-timeline:auto,scroll(root)}
    .page-aura i:nth-child(3){animation:aura-drift-c 30s var(--ease) infinite alternate,aura-travel-c linear both;animation-timeline:auto,scroll(root)}
  }
}

/* Pedido de demonstração: perfil (escritório ou empresa) e formulário. Mesmo bloco na Home e nas páginas de solução; ver CAPTACAO.md. */
.lead{padding:var(--section-pad) 0 clamp(40px,4vw,64px)}
.lead-shell{display:grid;gap:clamp(32px,5vw,80px);align-items:center}
.lead-shell::before{content:"";position:absolute;z-index:-1;right:-30%;top:70%;width:min(760px,70vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(33,112,237,.3),rgba(3,166,232,.08) 55%,transparent);translate:0 -50%;pointer-events:none}
.lead-audience h2{font:650 var(--h2)/1.04 var(--display);letter-spacing:-.045em;text-wrap:balance}
.lead-audience h2 em{color:var(--accent-text);font-style:normal}
.audience-switch{min-inline-size:0;margin:30px 0 0;padding:4px;display:inline-flex;gap:4px;border:1px solid rgba(154,193,255,.22);border-radius:var(--radius-pill);background:rgba(4,10,22,.5)}
.audience-switch label{position:relative;cursor:pointer}
.audience-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.audience-switch span{display:block;padding:12px 16px;border-radius:var(--radius-pill);color:#b9c8dd;font:600 13px var(--display);transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.audience-switch label:hover span{color:#fff}
.audience-switch input:checked+span{background:var(--blue);color:#fff;box-shadow:0 0 26px rgba(33,112,237,.5)}
.audience-switch input:focus-visible+span{outline:3px solid var(--light);outline-offset:3px}
.audience-panel{margin-top:28px}
.audience-panel h3{margin:0;color:var(--white);font:650 clamp(22px,2.1vw,30px)/1.14 var(--display);letter-spacing:-.035em}
.audience-panel p{max-width:520px;margin-top:14px;color:var(--muted);font-size:16px;font-weight:300;line-height:1.55}
.audience-panel .check-list{margin-top:22px;gap:12px}
.audience-panel li{color:#e6eefb;font-size:15px;line-height:1.4}
/* Folha escura do pedido de demonstração dentro de páginas claras (Sobre, Conteúdos e artigos) */
.lead-sheet{position:relative;isolation:isolate;overflow:clip;width:calc(100% - 20px);margin-inline:auto;padding:clamp(40px,6vw,88px) 0;border-radius:clamp(22px,2.6vw,40px);background:radial-gradient(60% 70% at 0% 100%,rgba(33,112,237,.28),transparent 62%),var(--page);color:var(--white);color-scheme:dark}
.lead .lead-sheet h2{color:var(--white)}
.lead .lead-sheet h2 em{color:var(--accent-text)}
.lead-note{max-width:440px;margin-top:22px;color:var(--muted);font-size:15px;line-height:1.65}
.lead-card{position:relative;padding:clamp(24px,3vw,40px);border:1px solid rgba(122,170,247,.42);border-radius:24px;background:var(--surface-raised);box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 80px rgba(33,112,237,.22),inset 0 1px rgba(214,234,255,.1)}
.lead-card h3{margin:0;color:var(--white);font:650 clamp(22px,2vw,28px)/1.15 var(--display);letter-spacing:-.035em}
.lead-intro{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.5}
.lead-fields{margin-top:20px;display:grid;gap:12px}
.lead-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.lead-form .check-field{margin-top:18px}
.lead-form .form-error{margin-top:14px}
.lead-form .primary-cta{margin-top:8px}
.lead-form .primary-cta[disabled]{opacity:.6;cursor:progress}
/* Faixas que rolam para os lados (public/scroll-hint.js): borda esmaecida, medidor e empurrão inicial */
[data-scroll-hint].is-scrollable{--fade-start:0px;--fade-end:36px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent)}
[data-scroll-hint].is-scrollable:not(.at-start){--fade-start:28px}
[data-scroll-hint].is-scrollable.at-end{--fade-end:0px}
[data-scroll-hint].is-nudging>*{animation:scroll-nudge 1.1s var(--ease-out) both}
@keyframes scroll-nudge{0%,100%{translate:0}35%{translate:-26px 0}}
.scroll-meter{margin:14px auto 0;display:flex;align-items:center;justify-content:center;gap:10px}
.scroll-meter[hidden]{display:none}
.scroll-meter-track{position:relative;width:64px;height:3px;overflow:hidden;border-radius:3px;background:rgba(154,193,255,.18)}
.scroll-meter-thumb{position:absolute;inset:0 auto 0 0;width:calc(var(--ratio,.3) * 64px);border-radius:3px;background:var(--light);box-shadow:0 0 10px rgba(122,170,247,.6);translate:calc(var(--progress,0) * (64px - var(--ratio,.3) * 64px)) 0}
.scroll-meter-label{color:var(--label);font:600 10px var(--label-font);letter-spacing:.14em;text-transform:uppercase;transition:opacity var(--motion-base) var(--ease)}
.scroll-meter-label::after{content:" →"}
.scroll-meter.was-used .scroll-meter-label{opacity:0}
.lead-done{padding:clamp(20px,3vw,44px) 0;text-align:center}
.lead-done:focus{outline:0}
.lead-done-mark{position:relative;width:58px;height:58px;margin:0 auto 22px;display:block;border:1px solid rgba(154,193,255,.5);border-radius:50%;background:rgba(33,112,237,.22);box-shadow:0 0 44px rgba(33,112,237,.45)}
.lead-done-mark::after{content:"";position:absolute;left:50%;top:46%;width:18px;height:9px;border-left:2px solid #fff;border-bottom:2px solid #fff;translate:-50% -50%;rotate:-45deg}
.lead-done p{max-width:400px;margin:12px auto 20px;color:var(--muted);font-size:15px;line-height:1.55}
.lead-done .text-link{font-size:14px}
.lead-noscript{margin-top:16px;color:var(--muted);font-size:13px}
/* Depois da etapa 1 (partials/lead-next.html): escolha do caminho, agenda do HubSpot e etapa 2 em perguntas. */
.lf-step{display:grid;gap:14px}
.lf-step[hidden],.lf-question[hidden],[data-lead-step][hidden]{display:none}
.lf-title{margin:0;padding:0;color:var(--white);font:650 clamp(20px,2vw,24px)/1.2 var(--display);letter-spacing:-.03em}
.lf-title:focus{outline:0}
.lf-sent{display:flex;align-items:center;gap:8px;color:var(--ok);font-size:13px;font-weight:600}
.lf-sent>span:first-child{width:16px;height:16px;flex:none;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.5' fill='none' stroke='%23052014' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.lf-paths{display:grid;gap:10px}
.lf-path{min-height:76px;padding:16px 18px 16px 62px;position:relative;display:grid;gap:3px;text-align:left;border:1px solid rgba(154,193,255,.28);border-radius:16px;background:rgba(2,6,14,.62);color:var(--white);font:inherit;cursor:pointer;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}
.lf-path strong{font:600 16px/1.25 var(--display)}
.lf-path small{color:var(--text-dim);font-size:13px}
.lf-path:hover{border-color:rgba(154,193,255,.6)}
.lf-choose{min-inline-size:0;margin:18px 0 0;padding:0;border:0}
.lf-choose legend{margin-bottom:10px;padding:0;color:var(--white);font:600 15px/1.3 var(--display)}
.lf-choose .lf-paths{grid-template-columns:1fr}
.lf-choose .lf-path{min-height:0;padding:13px 16px 13px 60px}
.lf-choose .lf-path strong{font-size:15px}
.lf-choose input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lf-choose .lf-path:has(input:checked){border-color:var(--blue);background:rgba(33,112,237,.2);box-shadow:0 0 0 3px rgba(33,112,237,.22)}
.lf-choose .lf-path:has(input:focus-visible){outline:3px solid var(--light);outline-offset:2px}
.lf-path-icon{position:absolute;left:18px;top:50%;width:30px;height:30px;translate:0 -50%;border-radius:9px;background:rgba(122,170,247,.16) center/18px no-repeat}
.lf-icon-calendar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfe1ff' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.lf-icon-chat{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfe1ff' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E")}
.lf-agenda{overflow:hidden;border-radius:16px;background:#fff}
.lf-agenda-frame{display:block;width:100%;height:680px;border:0}
.lf-progress{display:flex;align-items:center;gap:10px;color:var(--label);font:600 11px var(--label-font);letter-spacing:.08em;text-transform:uppercase}
.lf-progress b{color:var(--light);font-weight:600}
.lf-progress-bar{position:relative;width:64px;height:3px;flex:none;overflow:hidden;border-radius:3px;background:rgba(154,193,255,.2)}
.lf-progress-bar span{position:absolute;inset:0 auto 0 0;width:0;border-radius:3px;background:var(--light);box-shadow:0 0 10px rgba(122,170,247,.6);transition:inline-size var(--motion-base) var(--ease-out)}
.lf-why{color:var(--text-dim);font-size:13.5px;line-height:1.45}
.lf-question{min-inline-size:0;margin:6px 0 0;padding:0;border:0;display:grid;gap:12px}
.lf-question legend{margin-bottom:12px}
.lf-hint{color:var(--text-dim);font-size:12.5px;line-height:1.45}
.lf-hint.is-warning{color:var(--warn)}
.lf-chips{display:flex;flex-wrap:wrap;gap:8px}
.lf-chips label{position:relative;cursor:pointer}
.lf-chips input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lf-chips span{min-height:44px;padding:10px 15px;display:flex;align-items:center;border:1px solid rgba(154,193,255,.24);border-radius:var(--radius-pill);background:rgba(2,6,14,.62);color:#c9d6ea;font-size:14px;line-height:1.3;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}
.lf-chips label:hover span{border-color:rgba(154,193,255,.46)}
.lf-chips input:checked+span{border-color:var(--blue);background:rgba(33,112,237,.28);color:#fff}
.lf-chips input:focus-visible+span{outline:3px solid var(--light);outline-offset:2px}
.lf-actions{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.lead-form .lf-actions .primary-cta{margin-top:0}
.lf-back,.lf-skip{min-height:44px;padding:0 4px;border:0;background:none;color:var(--text-dim);font:500 14px var(--body);cursor:pointer}
.lf-skip{margin-left:auto;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.lf-back:hover,.lf-skip:hover,.lf-back:focus-visible,.lf-skip:focus-visible{color:var(--white)}
.lf-back[disabled],.lf-skip[disabled]{opacity:.6}
@media (prefers-reduced-motion:reduce){
  .lf-path,.lf-chips span,.lf-progress-bar span{transition:none}
}
@media (min-width:621px){
  .lf-paths{grid-template-columns:1fr 1fr}
  .lf-path{padding:18px 18px 18px 64px}
}
@supports selector(:has(a)){
  .audience-panel{display:none}
  .lead-audience:has(#for-office:checked) .audience-office,.lead-audience:has(#for-company:checked) .audience-company{display:block;animation:rise-in 520ms var(--ease-out) both}
  .audience-panel.audience-fixed{display:block}
}
@media (min-width:621px){
  .lead-sheet{width:min(96%,1480px)}
  .lead-fields{grid-template-columns:1fr 1fr;gap:14px}
  .field-wide,.lead-pair{grid-column:1 / -1}
  .lead-pair{gap:14px}
  .audience-switch span{padding:11px 20px}
}
@media (min-width:981px){
  .lead-shell{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
  .lead-shell::before{right:-6%;top:50%}
}

/* Selo da homologação: a logo do Serpro vai sobre fundo branco, sem alteração. */
.hero-seal{max-width:100%;margin-bottom:20px;padding:5px 14px 5px 5px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(154,193,255,.3);border-radius:var(--radius-pill);background:rgba(7,18,37,.7);color:var(--text-soft);font:600 10px/1.35 var(--label-font);letter-spacing:.06em;text-transform:uppercase}
.hero-seal-logo{flex:none;padding:5px 10px;display:flex;align-items:center;border-radius:var(--radius-pill);background:#fff}
.hero-seal-logo img{display:block;width:auto;height:16px}
@media (min-width:621px){
  .hero-seal{margin-bottom:26px;font-size:11px}
}

/* Entradas usadas nos topos de página e nos painéis de perfil. */
@keyframes rise-in{from{opacity:0;transform:translateY(14px)}}
@keyframes line-in{from{opacity:0;transform:translateY(.42em);filter:blur(10px)}}

/* Folha VERI white: bloco claro dentro da página escura (homologação na Home, telas nas páginas de solução). */
.light-sheet{position:relative;isolation:isolate;overflow:clip;width:calc(100% - 20px);margin-inline:auto;padding:clamp(48px,6vw,96px) clamp(22px,5.6vw,100px);border-radius:clamp(22px,2.6vw,40px);background:radial-gradient(60% 70% at 100% 0%,rgba(33,112,237,.14),transparent 62%),radial-gradient(50% 60% at 0% 100%,rgba(3,166,232,.1),transparent 60%),var(--white);color:var(--ink);box-shadow:0 0 0 1px rgba(154,193,255,.6),0 0 90px rgba(33,112,237,.36),0 50px 120px rgba(2,10,30,.6)}
.light-sheet .kicker{color:var(--blue)}
.light-sheet .section-head h2{color:var(--ink)}
.light-sheet .section-head h2 em{color:var(--blue)}
.light-sheet .section-head>p:last-child{color:var(--ink-soft);font-weight:400}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .light-sheet [data-feature-reveal] h2 em{background-image:linear-gradient(90deg,var(--blue) 0 50%,rgba(33,112,237,.24) 50% 100%)}
}
.light-sheet::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(rgba(33,112,237,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(33,112,237,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(115deg,transparent 42%,#000);-webkit-mask-image:linear-gradient(115deg,transparent 42%,#000)}
@media (min-width:621px){
  .light-sheet{width:min(96%,1480px)}
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .light-sheet{animation:sheet-open linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  }
}
@keyframes sheet-open{from{scale:.94}to{scale:1}}

/* Texto só para leitores de tela. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Topo sem menu e rodapé enxuto: landing pages e páginas de parceiro (src/partials/header-landing.html e
   footer-landing.html). */
.lp-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px}
.lp-brand img{display:block;width:96px;height:auto}
.lp-header-cta{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;background:var(--blue);color:#fff;font:600 13px var(--body);text-decoration:none;box-shadow:0 10px 24px -10px rgba(33,112,237,.9);transition:background var(--motion-fast,.18s) ease}
.lp-header-cta:hover{background:#1858c2}
.lp-footer{padding:44px 0 28px;border-top:1px solid rgba(11,28,54,.08);background:#fff;color:var(--ink);font-size:14px}
.lp-footer-main{display:grid;gap:24px}
.lp-footer-logo{width:120px;height:auto}
.lp-footer strong{display:block;margin-bottom:8px;font:500 16px var(--display);color:var(--ink)}
.lp-footer p{color:var(--ink-soft);line-height:1.6}
.lp-footer a{color:var(--ink-soft)}
.lp-footer-social{display:flex;flex-wrap:wrap;gap:8px 16px}
.lp-footer-social a{font-weight:600;color:var(--blue);text-decoration:none}
.lp-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;margin-top:32px;padding-top:18px;border-top:1px solid rgba(11,28,54,.1);color:var(--ink-soft);font-size:12.5px}
.lp-footer-bottom .footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.lp-footer-bottom button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (min-width:761px){
  .lp-header-cta{min-height:44px;padding:0 22px;font-size:14px}
  .lp-brand img{width:118px}
  .lp-footer-main{grid-template-columns:auto repeat(3,minmax(0,1fr));gap:40px;align-items:start}
}
