/* Pulso · estilos do site */
@font-face{font-family:'Figtree';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/figtree-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/figtree-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Young Serif';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/young-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2')}
/* Pulso: regras que dependem de classe (responsivo, revelação ao rolar, carregamento sob demanda, linha de pulso). */
html { scroll-behavior: smooth; }
.pf-nav-links { display: flex; }
.pf-nav-toggle { display: none; }
@media (max-width: 760px) {
  .pf-nav-links { display: none !important; }
  .pf-nav-cta { display: none !important; }
  .pf-nav-toggle { display: inline-flex !important; }
}
@media (min-width: 761px) {
  .pf-menu-panel { display: none !important; }
}

/* Seções abaixo da dobra só são desenhadas quando chegam perto da tela */
.pf-lazy { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* Entrada flutuante: cada bloco sobe devagar e aparece quando chega na tela, um depois do outro.
   O <head> marca a página com .pf-io antes de desenhar (sem piscar). Se o script não rodar, a marca sai
   sozinha em 2,5 s e tudo aparece. Com "reduzir movimento" ligado no aparelho, nada se mexe. */
@media (prefers-reduced-motion: no-preference) {
  .pf-io .pf-rv { opacity: 0; transform: translateY(44px); }
  .pf-io .pf-rv.pf-shown { opacity: 1; transform: none; transition: opacity 1s cubic-bezier(.16, .8, .24, 1), transform 1.1s cubic-bezier(.16, .8, .24, 1); }

  /* Topo: entra ao abrir a página, em cascata */
  @keyframes pf-float { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
  #conteudo > * { animation: pf-float 1s cubic-bezier(.16, .8, .24, 1) both; }
  #conteudo > :nth-child(1) { animation-delay: .05s; }
  #conteudo > :nth-child(2) { animation-delay: .18s; }
  #conteudo > :nth-child(3) { animation-delay: .34s; }
  #conteudo > :nth-child(4) { animation-delay: .5s; }
  #conteudo > :nth-child(n+5) { animation-delay: .64s; }
}
@keyframes pf-pop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .pf-bubble { animation: pf-pop .35s ease-out both; }
}

/* Linha de pulso: desenha uma vez ao abrir; o anel do ponto verde pulsa devagar */
.pf-ping { transform-box: fill-box; transform-origin: center; opacity: 0; }
@keyframes pf-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes pf-ping { 0% { transform: scale(1); opacity: .75; } 80%, 100% { transform: scale(3.2); opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .pf-trace { stroke-dasharray: 1; animation: pf-trace 2.4s cubic-bezier(.3, .1, .2, 1) .2s both; }
  .pf-ping { animation: pf-ping 2.4s ease-out 2.4s infinite; }
}
.pf-cta { view-timeline-name: --pf-cta; }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .pf-trace-view { stroke-dasharray: 1; animation: pf-trace linear both; animation-timeline: --pf-cta; animation-range: entry 15% cover 55%; }
  }
}

/* Estados */
.pf-btn { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease; }
.pf-btn:hover { transform: translateY(-1px); }
.pf-tab { transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.pf-tab:hover { border-color: #788DA8; }
.pf-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pf-input { transition: border-color .15s ease, box-shadow .15s ease; }
.pf-input:focus { border-color: #1E5FC6; box-shadow: 0 0 0 3px rgba(30, 95, 198, .18); outline: none; }

/* Foco: azul-pulso no claro, branco sobre os blocos azuis */
:root { --pf-foco: #1E5FC6; }
.pf-on-dark { --pf-foco: #FFFFFF; }
.pf-menu-panel, .pf-on-light { --pf-foco: #1E5FC6; }
a:focus-visible, button:focus-visible, .pf-btn:focus-visible, .pf-tab:focus-visible, .pf-link:focus-visible, .pf-nav-toggle:focus-visible { outline: 2px solid var(--pf-foco); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pf-btn, .pf-tab, .pf-input { transition: none; }
  .pf-btn:hover { transform: none; }
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#F5F8FC;color:#0D2A4D;font:16px/1.55 Figtree,'Segoe UI',system-ui,sans-serif}
a{color:#08694A}a:hover{color:#064E37}
[hidden]{display:none !important}
.pf-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pf-mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.pf-eyebrow{margin:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#08694A}
.pf-h2{margin:0;font-family:'Young Serif',Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;text-wrap:balance}
.pf-lead{margin:0;color:#4A5C74;font-size:17px}

/* ---------- Demonstração ---------- */
.pf-demo{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,5vw,72px)}
.pf-demo-copy{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:16px}
.pf-starts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pf-chip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #788DA8;background:#FFFFFF;color:#0D2A4D;font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.pf-chip:hover{border-color:#1E5FC6;background:#EAF2FD}
.pf-chip[aria-pressed="true"]{border-color:#1E5FC6;background:#EAF2FD;box-shadow:0 0 0 1px #1E5FC6}
.pf-try{display:flex;flex-wrap:wrap;gap:8px}
.pf-try .pf-chip{min-height:40px;font-size:14px;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500}
.pf-phone{flex:0 1 360px;min-width:0;margin:0 auto;width:100%;max-width:360px;background:#0D2A4D;border-radius:44px;padding:11px;box-shadow:0 30px 60px rgba(13,42,77,.22),0 8px 18px rgba(13,42,77,.12)}
.pf-screen{background:#EEF3F8;border-radius:34px;overflow:hidden;height:640px;display:flex;flex-direction:column}
.pf-chat-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;background:#FFFFFF;border-bottom:1px solid #D8E2EF}
.pf-chat-head strong{display:block;font-size:15px;font-weight:600;line-height:1.2}
.pf-chat-head span{font-size:12.5px;color:#4A5C74}
.pf-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.pf-b{max-width:88%;padding:9px 12px 6px;font-size:14px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere;color:#0D2A4D}
.pf-b.me{align-self:flex-end;background:#DFF2EA;border-radius:16px 16px 4px 16px}
.pf-b.bot{align-self:flex-start;background:#FFFFFF;border-radius:16px 16px 16px 4px;box-shadow:0 1px 2px rgba(13,42,77,.06)}
.pf-b strong{font-weight:700}
.pf-b em{font-style:italic;color:#4A5C74}
.pf-b time{display:block;text-align:right;font-size:11px;color:#4A5C74;margin-top:3px;font-family:'JetBrains Mono',ui-monospace,monospace}
.pf-btns{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;max-width:92%}
.pf-btns button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #1E5FC6;background:#FFFFFF;color:#1E5FC6;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.pf-btns button:hover{background:#EAF2FD}
.pf-doc{align-self:flex-start;display:flex;align-items:center;gap:10px;max-width:88%;padding:10px 12px;background:#FFFFFF;border:1px solid #D8E2EF;border-radius:14px;font:inherit;font-size:14px;color:#0D2A4D;cursor:pointer;text-align:left}
.pf-doc span.ic{flex:none;width:34px;height:40px;border-radius:6px;background:#1E5FC6;color:#FFFFFF;display:grid;place-items:center;font:600 10px 'JetBrains Mono',monospace}
.pf-typing{align-self:flex-start;padding:10px 14px;background:#FFFFFF;border-radius:16px 16px 16px 4px;color:#4A5C74;font-size:13px}
.pf-compose{display:flex;align-items:center;gap:8px;padding:10px 12px 14px;background:#FFFFFF;border-top:1px solid #D8E2EF}
.pf-compose input{flex:1;min-width:0;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid #D8E2EF;background:#EEF3F8;font:inherit;font-size:16px;color:#0D2A4D}
.pf-compose input:focus{outline:2px solid #1E5FC6;outline-offset:1px;background:#FFFFFF}
.pf-compose button{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:#0B7F59;color:#FFFFFF;display:grid;place-items:center;cursor:pointer}
.pf-demo-note{margin:0;font-size:13px;color:#4A5C74}

/* ---------- Documento da demonstração ---------- */
.pf-modal{position:fixed;inset:0;z-index:50;background:rgba(7,20,38,.6);display:grid;place-items:center;padding:16px}
.pf-modal-box{background:#FFFFFF;border-radius:20px;width:min(820px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px rgba(13,42,77,.3)}
.pf-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #D8E2EF}
.pf-modal-head strong{font-size:15px}
.pf-modal-head button{min-width:44px;min-height:44px;border:0;background:none;font-size:24px;line-height:1;color:#4A5C74;cursor:pointer}
.pf-modal-body{overflow:auto;padding:16px;background:#F5F8FC;display:flex;flex-direction:column;gap:14px}
.pf-modal-foot{padding:12px 16px;border-top:1px solid #D8E2EF;font-size:14px;color:#4A5C74}
.pf-pg{position:relative;width:100%;overflow:hidden;border-radius:6px;box-shadow:0 10px 24px rgba(13,42,77,.08);background:#FFFFFF}
.pf-pg>div{position:absolute;top:0;left:0;transform-origin:0 0}
.sheet-table{width:100%;border-collapse:collapse;font-size:13px;background:#FFFFFF}
.sheet-table th,.sheet-table td{border:1px solid #D8E2EF;padding:5px 8px;text-align:left;white-space:nowrap}
.sheet-table th{background:#EAF2FD;font-weight:600}
.sheet-table td.num{text-align:right;font-family:'JetBrains Mono',monospace;font-size:12px}
.sheet-scroll{overflow-x:auto}
.sheet-tab{margin:0 0 6px;font-weight:600;font-size:13px}
.sheet-block+.sheet-block{margin-top:16px}
.note{margin:0 0 10px;font-size:14px;color:#4A5C74}

/* ---------- Preços ---------- */
.pf-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.pf-plan{position:relative;background:#FFFFFF;color:#0D2A4D;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:14px}
.pf-plan.feature{box-shadow:0 0 0 3px #17A673}
.pf-tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#DFF2EA;color:#08694A}
.pf-plan h3{margin:0;font-size:21px;font-weight:600}
.pf-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pf-price b{font-family:'Young Serif',Georgia,serif;font-weight:400;font-size:52px;line-height:1;color:#1E5FC6}
.pf-price span{font-size:16px;color:#4A5C74}
.pf-plan p{margin:0;color:#4A5C74;font-size:15px}
.pf-plan ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px}
.pf-plan li{display:flex;gap:10px;align-items:flex-start}
.pf-plan li svg{flex:none;margin-top:3px}
.pf-buy{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:#0B7F59;color:#FFFFFF;font-weight:600;font-size:16px;text-decoration:none;margin-top:auto}
.pf-buy:hover{color:#FFFFFF;background:#08694A}
.pf-buy.alt{background:#FFFFFF;color:#0D2A4D;border:1px solid #788DA8}
.pf-buy.alt:hover{background:#EAF2FD;color:#0D2A4D}

/* ---------- Perguntas ---------- */
.pf-faq{display:grid;gap:10px}
.pf-faq details{background:#FFFFFF;border:1px solid #D8E2EF;border-radius:20px;padding:0 20px}
.pf-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;font-weight:600;font-size:17px}
.pf-faq summary::-webkit-details-marker{display:none}
.pf-faq summary::after{content:"+";flex:none;font:400 26px/1 Figtree,sans-serif;color:#1E5FC6}
.pf-faq details[open] summary::after{content:"–"}
.pf-faq details p{margin:0 0 18px;color:#4A5C74}

/* ---------- Páginas internas ---------- */
.pf-top{background:#FFFFFF;border-bottom:1px solid #D8E2EF}
.pf-top-in{max-width:1160px;margin:0 auto;padding:12px clamp(16px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.pf-brand{display:inline-flex;align-items:center;gap:10px;color:#0D2A4D;text-decoration:none;min-height:44px}
.pf-brand span{font-weight:800;font-size:25px;letter-spacing:-.02em;line-height:1}
.pf-page{max-width:760px;margin:0 auto;padding:40px 16px 80px}
.pf-page h1{margin:0 0 8px;font-family:'Young Serif',Georgia,serif;font-weight:400;font-size:clamp(2rem,5vw,2.8rem);line-height:1.1}
.pf-page h2{margin:32px 0 8px;font-size:20px}
.pf-page p,.pf-page li{color:#0D2A4D}
.pf-page .muted{color:#4A5C74;font-size:14px}
.pf-card{background:#FFFFFF;border:1px solid #D8E2EF;border-radius:28px;padding:clamp(20px,4vw,32px)}
.pf-form{display:flex;flex-direction:column;gap:16px}
.pf-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.pf-field input{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #788DA8;background:#FFFFFF;font:inherit;font-weight:400;font-size:16px;color:#0D2A4D}
.pf-field input:focus{border-color:#1E5FC6;box-shadow:0 0 0 3px rgba(30,95,198,.18);outline:none}
.pf-field .err{font-weight:600;font-size:13px;color:#B4432A}
.pf-field input[aria-invalid="true"]{border-color:#B4432A}
.pf-planpick{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:0}
.pf-planpick legend{font-size:14px;font-weight:600;margin-bottom:6px;padding:0}
.pf-planpick label{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid #788DA8;border-radius:16px;cursor:pointer;background:#FFFFFF}
.pf-planpick input{position:absolute;opacity:0;pointer-events:none}
.pf-planpick label:has(input:checked){border-color:#1E5FC6;box-shadow:0 0 0 1px #1E5FC6;background:#EAF2FD}
.pf-planpick label:has(input:focus-visible){outline:2px solid #1E5FC6;outline-offset:3px}
.pf-planpick b{font-size:16px}
.pf-planpick span{font-size:14px;color:#4A5C74;font-weight:400}
.pf-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#4A5C74}
.pf-check input{flex:none;width:22px;height:22px;margin:0;accent-color:#0B7F59}
.pf-submit{min-height:54px;border:0;border-radius:999px;background:#0B7F59;color:#FFFFFF;font:inherit;font-weight:700;font-size:17px;cursor:pointer}
.pf-submit:disabled{opacity:.6;cursor:progress}
.pf-alert{margin:0;padding:12px 14px;border-radius:12px;background:#FBE9E3;color:#B4432A;font-weight:600;font-size:14px}
.pf-total{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #D8E2EF;border-bottom:1px solid #D8E2EF;font-size:15px}
.pf-total b{font-family:'JetBrains Mono',monospace}
.pf-foot{background:#FFFFFF;border-top:1px solid #D8E2EF;padding:40px 16px;text-align:center;font-size:14px;color:#4A5C74}
.pf-foot p{margin:6px 0}
.pf-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px}
.pf-foot nav a{display:inline-flex;align-items:center;min-height:44px}
.pf-submit:focus-visible,.pf-buy:focus-visible,.pf-chip:focus-visible,.pf-btns button:focus-visible,.pf-doc:focus-visible,.pf-compose button:focus-visible,.pf-faq summary:focus-visible{outline:2px solid #1E5FC6;outline-offset:3px}
@media (max-width:420px){.pf-screen{height:560px}.pf-planpick{grid-template-columns:1fr}}
.pf-sr:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;margin:0;padding:10px 16px;z-index:100;background:#FFFFFF;color:#0D2A4D;border-radius:12px;box-shadow:0 10px 24px rgba(13,42,77,.2)}
