:root{
  --indigo-900:#1B0E48; --indigo-700:#23135E; --indigo-500:#29166F;
  --indigo-300:#897FB0; --indigo-200:#BFB9D4; --indigo-100:#EAE8F1;
  --ink:#1A1A1A; --ink-2:#5A5A5A; --line:#E5E5E5; --white:#FFFFFF; --warm:#FAF8F5;
  --wa:#25D366; --wa-700:#1DA851; --wa-ink:#0B2A16;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
  --sans:system-ui,-apple-system,'Segoe UI','Helvetica Neue',sans-serif;
  --ease:cubic-bezier(.22,.61,.24,1);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:var(--indigo-500);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--indigo-700)}
:focus-visible{outline:2px solid var(--indigo-500);outline-offset:2px}

/* campos de formulário — mesmo raio, cor de borda e foco da home */
input,select,textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:6px;padding:12px 14px;width:100%;max-width:100%;min-width:0;min-height:48px;box-sizing:border-box;transition:border-color .25s var(--ease)}
input[type="date"]{-webkit-appearance:none;appearance:none;display:block}
label{min-width:0}
input:focus,select:focus,textarea:focus{border-color:var(--indigo-500)}
input:invalid:not(:placeholder-shown){border-color:#b3a99a}

/* botões — mesmo efeito de hover/active dos .btn da home (scale + --ease), sem translateY/box-shadow */
.btn-primary,.btn-outline,.btn-wa,.btn-wa-fab,.btn-ghost{
  transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)
}
.btn-primary:hover,.btn-outline:hover,.btn-wa:hover,.btn-wa-fab:hover,.btn-ghost:hover{transform:scale(1.025)}
.btn-primary:active,.btn-outline:active,.btn-wa:active,.btn-wa-fab:active,.btn-ghost:active{transform:scale(.99)}

.btn-primary{border-radius:4px;background:var(--indigo-500);color:var(--white)}
.btn-primary:hover{background:var(--indigo-700);color:var(--white)}

.btn-outline{border-radius:9999px;border:1px solid var(--indigo-500);color:var(--indigo-500)}
.btn-outline:hover{background:var(--indigo-500);color:var(--white)}
.btn-outline:hover .ico-mask{background:var(--white)}

.btn-wa{border-radius:4px;background:var(--wa);color:var(--wa-ink)}
.btn-wa:hover{background:var(--wa-700);color:var(--wa-ink)}

.btn-wa-fab{border-radius:9999px;background:var(--wa)}
.btn-wa-fab:hover{background:var(--wa-700)}

/* variante clara para botões outline sobre fundo escuro (ex.: rodapé) */
.btn-ghost{border-radius:9999px}
.btn-ghost:hover{background:rgba(255,255,255,.12)}

/* menu de navegação — mesma cor/hover e breakpoint do .nav da home */
.nav a{color:var(--ink)}
.nav a:hover{color:var(--indigo-700)}
.nav a:hover{
  color:var(--indigo-700);
}
.nav-social-label{display:none}
@media (max-width:1080px){.nav .opt{display:none}}

/* botão de menu sanduíche — só aparece no mobile (ver media query abaixo) */
.menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;flex-shrink:0}
.menu-btn-bar{display:block;width:22px;height:2px;border-radius:1px;background:var(--ink);
  transition:transform .25s var(--ease),opacity .25s var(--ease)}


/* links do rodapé sobre fundo escuro */
.foot-link{color:rgba(255,255,255,.78)}
.foot-link:hover{color:var(--white)}

@media (max-width:700px){
  .ff-sec{padding-left:16px !important;padding-right:16px !important;padding-top:48px !important;padding-bottom:48px !important}
  .ff-col1{grid-template-columns:1fr !important;gap:24px !important}
  .ff-field2{grid-template-columns:1fr !important}
  .ff-form-wrap{order:2 !important}
  .ff-aside{order:1 !important}
}

/* cabeçalho mobile: menu sanduíche no lugar da navegação espremida */
@media (max-width:760px){
  .head-in{position:static !important;padding-left:24px !important;padding-right:24px !important;gap:10px !important}
  .menu-btn{display:flex}
  .head .btn-wa{margin-left:auto}

  .nav{display:flex !important;flex-direction:column !important;align-items:stretch !important;
    justify-content:flex-start !important;gap:0 !important;flex:none !important;
    position:absolute !important;top:100% !important;left:0 !important;right:0 !important;
    background:var(--white);border-bottom:1px solid var(--line);
    box-shadow:0 16px 32px rgba(27,14,72,.12);
    padding:4px 24px 12px;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
  .head.nav-open .nav{opacity:1;visibility:visible;transform:translateY(0)}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a:last-child{border-bottom:0}
  .nav .opt{display:flex !important}
  .nav-social-label{display:inline}

  .head.nav-open .menu-btn-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .head.nav-open .menu-btn-bar:nth-child(2){opacity:0}
  .head.nav-open .menu-btn-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
