/* Sapiro · base (tokens, tipografia, cabeçalho, botões, utilitários)
   Regras de design: nada arredondado, sem caixa alta em rótulos, sem linhas decorativas. */

:root{
  --laranja:#F39440; --laranja-tom:#F18934; --cinza:#474647; --grafite:#404040;
  --nevoa:#EFEDEE; --branco:#fff; --apoio:#9A989A; --noite-fim:#2E2D2E; --tom-claro:#C9C6C8;
  --dg-laranja:linear-gradient(120deg,#F39440 0%,#F18934 100%);
  --dg-nevoa:linear-gradient(180deg,#FFFFFF 0%,#EFEDEE 100%);
  --dg-noite:linear-gradient(160deg,#474647 0%,#2E2D2E 100%);
  --dg-foto:linear-gradient(90deg,rgba(46,45,46,.85) 0%,rgba(46,45,46,0) 60%);
  --ease-elo:cubic-bezier(.65,0,.35,1); --ease-sai:cubic-bezier(.22,1,.36,1);
  --t-micro:240ms; --t-medio:600ms; --t-longo:1200ms;
  --h-cab:88px; --margem:40px; --container:1280px;
  /* curvas da marca: um canto grande por forma (quarto de círculo), nunca todos os cantos */
  --r-g:clamp(72px,10vw,160px); --r-m:clamp(40px,5vw,72px); --r-p:16px;
}
*,*::before,*::after{box-sizing:border-box;letter-spacing:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;color:var(--grafite);background:var(--branco);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media(min-width:768px){body{font-size:18px}}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.15;color:var(--grafite);letter-spacing:0}
h1{font-size:clamp(32px,3.6vw,44px)}
h2{font-size:clamp(26px,2.6vw,32px)}
h3{font-size:22px;line-height:1.25}
p{margin:0 0 1em;max-width:64ch}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--laranja);outline-offset:2px}
.sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:12px;top:-60px;z-index:400;background:var(--laranja);color:var(--grafite);padding:10px 16px;font-weight:600}
.pular:focus{top:12px}
.container{width:100%;max-width:calc(var(--container) + var(--margem)*2);margin-inline:auto;padding-inline:var(--margem)}
@media(max-width:767px){:root{--margem:20px;--h-cab:68px}}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.secao{padding-block:clamp(72px,8vw,104px);position:relative}
.grande{font-size:clamp(20px,2vw,24px);line-height:1.55;max-width:none}

/* ---------- botões e links ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;font-weight:600;font-size:17px;line-height:1.2;color:var(--grafite);
  background-image:linear-gradient(90deg,var(--laranja-tom) 0 50%,var(--laranja) 50% 100%);background-size:200% 100%;background-position:100% 0;
  transition:background-position var(--t-medio) var(--ease-elo);border-radius:0 var(--r-p) 0 var(--r-p)}
.btn:hover,.btn:focus-visible{background-position:0 0}
.btn--nevoa{background-image:linear-gradient(90deg,#E2DFE1 0 50%,var(--nevoa) 50% 100%)}
.btn--menu{padding:12px 20px;font-size:16px}
.lk{display:inline;font-weight:600;padding-bottom:2px;background:linear-gradient(var(--laranja),var(--laranja)) left bottom/0 2px no-repeat;transition:background-size var(--t-micro) var(--ease-elo)}
.lk:hover,.lk:focus-visible{background-size:100% 2px}

/* ---------- cabeçalho ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--h-cab);background:transparent;transition:height var(--t-micro) var(--ease-elo),background-color var(--t-micro)}
.site-header.compacto{--h-cab:64px;background:#fff}
.cab-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{display:block;flex:none}
.logo-svg{height:40px;width:auto;overflow:visible;transition:height var(--t-micro) var(--ease-elo)}
.compacto .logo-svg{height:30px}
.logo-letras{transition:opacity var(--t-micro)}
.compacto .logo-letras{opacity:0}
.nav{display:flex;align-items:center;gap:28px}
.nav-lk{font-weight:600;font-size:16px;color:var(--grafite);padding-block:6px;background:linear-gradient(var(--laranja),var(--laranja)) left bottom/0 2px no-repeat;transition:background-size var(--t-micro) var(--ease-elo)}
.nav-lk:hover,.nav-lk:focus-visible{background-size:100% 2px}
.burger{display:none;width:48px;height:48px;background:var(--laranja);position:relative;z-index:130;border-radius:0 var(--r-p) 0 var(--r-p)}
.burger i{position:absolute;left:14px;right:14px;height:3px;background:var(--grafite);transition:transform var(--t-micro) var(--ease-elo)}
.burger i:first-of-type{top:19px}.burger i:last-of-type{top:27px}
.menu-aberto .burger{background:var(--grafite)}
.menu-aberto .burger i{background:#fff}
.menu-aberto .burger i:first-of-type{transform:translateY(4px)}
.menu-aberto .burger i:last-of-type{transform:translateY(-4px)}
@media(max-width:1180px){.nav{gap:20px}.nav-lk{font-size:15px}}
@media(max-width:1023px){
  .burger{display:block}
  .nav{position:fixed;inset:0;z-index:120;background:var(--dg-laranja);flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:96px 28px 40px;visibility:hidden;opacity:0;transition:opacity var(--t-micro),visibility 0s var(--t-micro)}
  .menu-aberto .nav{visibility:visible;opacity:1;transition:opacity var(--t-micro)}
  .nav-lk{font-size:30px;font-weight:700;background-image:none;padding-block:4px}
  .btn--menu{margin-top:18px;background-image:none;background:#fff}
  .menu-aberto .site-header{background:transparent}
}

/* ---------- abertura e transição ---------- */
.intro{position:fixed;inset:0;z-index:300;display:none}
html.tem-intro .intro{display:block}
.intro-cortina{position:absolute;inset:0;background:#fff}
.intro-logo{position:fixed;inset:0;margin:auto;width:min(440px,72vw);height:calc(min(440px,72vw)*.2392);overflow:visible}
html.tem-intro .logo{opacity:0}
.transicao{position:fixed;inset:0;z-index:310;background:var(--dg-laranja);display:grid;place-items:center;transform:translateY(100%);visibility:hidden;pointer-events:none}
.transicao-s{width:110px;height:auto}
.zap{position:fixed;right:24px;bottom:24px;z-index:90;width:56px;height:56px;background:var(--laranja);color:var(--grafite);display:grid;place-items:center;border-radius:0 var(--r-p) 0 var(--r-p);transition:background-color var(--t-micro),transform var(--t-micro) var(--ease-elo)}
.zap svg{width:26px;height:26px}
.zap:hover,.zap:focus-visible{background:var(--laranja-tom);transform:translateY(-3px)}
html.tem-intro .zap,.menu-aberto .zap{opacity:0;pointer-events:none}

/* ---------- movimento reduzido ---------- */
html.reduzir *{animation-duration:.01ms !important;transition-duration:200ms !important}
html.reduzir .intro,html.reduzir .transicao{display:none !important}

/* zap verde */
.zap{background:#25D366;color:#fff}
.zap svg{width:30px;height:30px}
.zap:hover,.zap:focus-visible{background:#1EBE5B}
/* subir ao topo */
.ao-topo{position:fixed;right:24px;bottom:92px;z-index:90;width:48px;height:48px;display:grid;place-items:center;background:var(--grafite);color:#fff;border:0;cursor:pointer;border-radius:var(--r-p) 0 var(--r-p) 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility 0s .3s,background-color var(--t-micro)}
.ao-topo.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s,background-color var(--t-micro)}
.ao-topo:hover,.ao-topo:focus-visible{background:var(--laranja);color:var(--grafite)}
.ao-topo svg{width:20px;height:20px}
html.tem-intro .ao-topo,.menu-aberto .ao-topo{opacity:0;pointer-events:none}
@media(max-width:767px){.zap{right:16px;bottom:16px}.ao-topo{right:20px;bottom:84px}}

/* campo-armadilha anti-robô dos formulários: nunca aparece */
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
