/* =====================================================================
   PRISMA · style.css
   Base do site: tokens, reset, tipografia, botões, ícones, cards,
   topo, rodapé e WhatsApp flutuante.
   Mobile-first: aqui fica o celular. Telas maiores em responsive.css.
   ===================================================================== */

/* ---------- INÍCIO: fontes (arquivos locais em assets/fonts, licença OFL) ---------- */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-sans-latin-700-normal.woff2) format("woff2")}
/* ---------- FIM: fontes ---------- */

/* ---------- INÍCIO: tokens ---------- */
:root{
  --navy:#0B2B63; --navy-2:#071D45; --navy-3:#04132F;
  --deep:#0F4D68; --aqua:#11A9E2; --aqua-2:#31B8D4; --aqua-ink:#7FD6F7;
  --text:#18384B; --muted:#5C7483; --line:#D7EAF0; --soft:#F4F9FC; --soft-2:#EDF7FB; --icon-bg:#EAF8FB;
  --white:#FFFFFF; --wa:#25D366; --wa-dark:#128C4B;
  --head:"Plus Jakarta Sans",Arial,sans-serif; --body:"Nunito Sans",Arial,sans-serif;
  --r-card:16px; --r-btn:12px; --r-tile:14px; --max:1200px;
  --shadow:0 18px 40px rgba(11,43,99,.10);
  --pad-sec:56px;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  color-scheme:light;
}
/* ---------- FIM: tokens ---------- */

/* ---------- INÍCIO: reset e base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--white);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy-2)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--head);color:var(--navy);margin:0;text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sec{padding-block:var(--pad-sec);position:relative;scroll-margin-top:64px}
.bg-soft{background:var(--soft)}
.bg-navy{background:var(--navy-2);color:#fff}
.center{text-align:center;margin-inline:auto;align-items:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---------- FIM: reset e base ---------- */

/* ---------- INÍCIO: tipografia (escala fixa) ---------- */
.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua);line-height:1.4}
.eyebrow::before{content:"";width:24px;height:2px;background:currentColor;border-radius:2px;flex:none}
.center .eyebrow{justify-content:center}
.h1{color:#fff;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.h2{font-size:28px;line-height:1.12;font-weight:800}
.h1 em,.h2 em{font-style:normal;color:var(--aqua)}
.h3{font-size:18px;line-height:1.3;font-weight:700}
.lead{font-size:16px;color:var(--muted);max-width:60ch}
.small{font-size:14px;color:var(--muted);line-height:1.5}
.head{display:flex;flex-direction:column;gap:12px;max-width:720px}
.bg-navy .h2,.bg-navy .h3{color:#fff}
.bg-navy .lead{color:rgba(255,255,255,.78)}
.bg-navy .eyebrow{color:var(--aqua-ink)}
/* ---------- FIM: tipografia ---------- */

/* ---------- INÍCIO: botões (3 tipos + flutuante) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:var(--r-btn);font-family:var(--head);font-weight:700;font-size:15px;line-height:1.2;border:1.5px solid transparent;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;text-align:center;width:100%}
.btn svg{width:20px;height:20px;flex:none;fill:currentColor;color:currentColor;--prisma-icon-accent:currentColor}
.btn:active{transform:scale(.98)}
.btn-main{background:var(--aqua);color:var(--navy-2);box-shadow:0 10px 24px rgba(17,169,226,.30)}
.btn-line{background:var(--white);border-color:var(--navy);color:var(--navy)}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}
.actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--head);font-weight:700;font-size:15px;color:var(--deep);text-decoration:underline;text-decoration-color:var(--aqua-2);text-underline-offset:4px}
.link svg{width:18px;height:18px}
/* ---------- FIM: botões ---------- */

/* ---------- INÍCIO: ícones ---------- */
.ico{width:28px;height:28px;color:var(--deep);--prisma-icon-accent:#23B9D8;flex:none}
.ico.lg{width:40px;height:40px}
.ico.xl{width:48px;height:48px}
.dico{width:44px;height:44px;flex:none}
.dico.sm{width:36px;height:36px}
/* padrão do designer: ícone solto, sem quadradinho de fundo */
.tile{width:auto;height:auto;background:none;display:inline-grid;place-items:center;flex:none}
.tile .ico{width:36px;height:36px}
.bg-navy .tile{background:none}
.bg-navy .ico{color:#DDF6FF;--prisma-icon-accent:#58DDF7}
/* ---------- FIM: ícones ---------- */

/* ---------- INÍCIO: card único ---------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;display:flex;flex-direction:column;gap:10px;height:100%;min-width:0}
.card p{font-size:15px;color:var(--muted);line-height:1.5}
.card .btn{margin-top:auto}
.grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.grid-2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
/* carrossel por arraste (celular) */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:84%;align-items:stretch;scroll-padding-inline:max(16px,env(safe-area-inset-left,0px));gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(16px,env(safe-area-inset-left,0px)) 14px;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start}
.rail-hint{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-top:4px}
.rail-hint svg{width:18px;height:18px;color:var(--aqua)}
/* ---------- FIM: card único ---------- */

/* ---------- INÍCIO: topo ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(7,29,69,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.top .logo img{height:36px;width:auto}
.nav{display:none}
.top-cta{display:none}
.burger{width:46px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:transparent;display:grid;place-items:center;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;box-shadow:0 6px 0 #fff,0 -6px 0 #fff}
.drawer{background:var(--navy-2);border-top:1px solid rgba(255,255,255,.08)}
.drawer .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-block:14px 18px}
.drawer a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font-family:var(--head);font-weight:600;font-size:14px;text-align:center;padding:0 8px}
/* ---------- FIM: topo ---------- */

/* ---------- INÍCIO: rodapé (compacto) ---------- */
footer{background:var(--navy-3);color:rgba(255,255,255,.72);padding-block:28px 84px;font-size:14px}
.foot{display:grid;gap:14px}
.foot .brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.foot img{height:32px;width:auto}
.foot .brand p{font-size:13.5px;max-width:34ch}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 16px}
.foot-links a{display:inline-block;padding-block:6px;color:rgba(255,255,255,.85)}
.foot-contact{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:13.5px}
.copy{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;display:flex;flex-direction:column;gap:6px;color:rgba(255,255,255,.6)}
.copy a{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px;padding-block:4px;display:inline-block}
/* ---------- FIM: rodapé ---------- */

/* ---------- INÍCIO: WhatsApp flutuante (logo oficial) ---------- */
.float{position:fixed;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:55;width:56px;height:56px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:transform .2s}
.float svg{width:30px;height:30px;fill:#fff}
/* ---------- FIM: WhatsApp flutuante ---------- */

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
