/* Gerado a partir de styles.scss — Grupo Malba "Em breve" v14.
   Já compilado para uso imediato; recompile se editar o .scss. */
:root{
  --ink:#06132a; --ink-soft:#2a3a57; --gray-500:#6b7280; --gray-400:#9aa1ac;
  --paper:#f4f2ec; --white:#fff; --line:#e4e1d7;
  --accent:oklch(0.55 0.15 256); --accent-ink:oklch(0.46 0.14 256);
  --display:"Schibsted Grotesk",system-ui,sans-serif;
  --text:"Hanken Grotesk",system-ui,sans-serif;
  --pad:clamp(24px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;min-height:100%;}
body{
  font-family:var(--text); color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased; letter-spacing:-0.01em; line-height:1.5;
  min-height:100dvh; display:flex; flex-direction:column; padding:var(--pad); position:relative; overflow-x:hidden;
}
::selection{background:var(--ink);color:#fff;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--accent-ink);}
h1{font-family:var(--display);font-weight:700;letter-spacing:-0.045em;margin:0;line-height:.98;}

.top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.top img{height:84px;width:auto;}
.top .tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.top .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative;}
.top .pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--accent);animation:ping 1.9s cubic-bezier(0,0,.2,1) infinite;}
@keyframes ping{0%{transform:scale(.7);opacity:.9}80%,100%{transform:scale(1.7);opacity:0}}

/* ---- seletor de idioma (bandeiras em linha) ---- */
.flag{display:block;width:22px;height:15px;border-radius:3px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(6,19,42,.14) inset;}
.lang{display:inline-flex;align-items:center;gap:4px;padding:5px;border-radius:100px;border:1px solid var(--line);background:var(--white);flex:0 0 auto;}
.lang button{position:relative;display:grid;place-items:center;width:46px;height:38px;border:0;border-radius:100px;background:transparent;cursor:pointer;transition:background .18s;}
.lang button:hover{background:var(--paper);}
.lang button:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(0.55 0.15 256 / .22);}
.lang button[aria-checked="true"]{background:var(--ink);}
.lang button[aria-checked="true"] .flag{box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 0 0 2px var(--ink);}
.lang .lbl{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--gray-500);opacity:0;pointer-events:none;transition:opacity .16s;white-space:nowrap;}
.lang button:hover .lbl,.lang button:focus-visible .lbl{opacity:1;}
@media (max-width:400px){.lang button{width:40px;height:36px;}}
@media (max-width:640px){.top{flex-wrap:wrap;row-gap:18px;}.top img{min-width:0;}.lang{order:2;}.lang button{width:42px;height:36px;}.lang .flag{width:20px;height:14px;}}
@media (max-width:400px){.lang button{width:38px;height:34px;}.lang{gap:2px;padding:4px;}}

.hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,5vw,56px) 0;}
h1{font-size:clamp(46px,10vw,132px);}
h1 .l{display:block;}
h1 .thin{font-weight:400;color:var(--ink-soft);}
.roller{display:inline-flex;overflow:hidden;height:1em;vertical-align:top;}
.roller ul{list-style:none;margin:0;padding:0;transition:transform .62s cubic-bezier(.6,0,.15,1);}
.roller li{height:1em;display:flex;align-items:center;}
.roller .w{color:var(--accent-ink);position:relative;white-space:nowrap;}

.sub{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:clamp(30px,4vw,52px);flex-wrap:wrap;}
.sub p{font-size:clamp(16px,1.7vw,20px);color:var(--ink-soft);max-width:46ch;line-height:1.55;text-wrap:pretty;}
.mail{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:100px;background:var(--ink);color:#fff;font-weight:600;font-size:15px;white-space:nowrap;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;}
.mail:hover{color:#fff;transform:translateY(-2px);box-shadow:0 20px 40px -18px rgba(6,19,42,.4);}
.mail svg{width:16px;height:16px;}

.foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;font-size:12.5px;color:var(--gray-500);}
.foot .prog{display:flex;align-items:center;gap:12px;}
.foot .track{width:clamp(120px,20vw,200px);height:5px;border-radius:100px;background:#e7e3d9;overflow:hidden;}
.foot .fill{display:block;height:100%;width:64%;border-radius:100px;background:linear-gradient(90deg,var(--accent),oklch(0.66 0.12 210));}

.rev{opacity:0;transform:translateY(16px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards;}
.rev.d1{animation-delay:.1s}.rev.d2{animation-delay:.24s}.rev.d3{animation-delay:.36s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;animation:none;}.roller ul{transition:none;}.top .pulse::after{animation:none;}}
@media (max-width:640px){.top img{height:66px;}h1{font-size:clamp(44px,13vw,88px);}.lang-btn .lang-name{display:none;}}

/* ---- modal de contato ---- */
.mdl{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;}
.mdl.open{display:flex;}
.mdl-bg{position:absolute;inset:0;background:rgba(6,19,42,.55);backdrop-filter:blur(3px);animation:fade .22s ease forwards;}
@keyframes fade{from{opacity:0}to{opacity:1}}
.mdl-card{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--white);border-radius:20px;border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(6,19,42,.5);padding:clamp(22px,3.6vw,34px);animation:pop .28s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.mdl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.mdl-head h2{font-family:var(--display);font-size:clamp(21px,2.6vw,26px);font-weight:700;letter-spacing:-.03em;margin:0 0 6px;}
.mdl-head p{margin:0;font-size:14.5px;color:var(--ink-soft);max-width:38ch;text-wrap:pretty;}
.mdl-x{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s;}
.mdl-x:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.mdl-x svg{width:16px;height:16px;}
.mdl-form{display:grid;gap:16px;margin-top:22px;}
.row2{display:grid;gap:16px;grid-template-columns:1fr 1fr;align-items:end;}
.fld{display:grid;gap:7px;}
.fld label{font-size:13px;font-weight:600;color:var(--ink);}
.fld .hint{font-weight:400;color:var(--gray-500);}
.fld input,.fld textarea,.fld select{font-family:var(--text);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;transition:border-color .18s,box-shadow .18s,background .18s;}
.fld textarea{min-height:118px;resize:vertical;line-height:1.5;}
.fld input::placeholder,.fld textarea::placeholder{color:var(--gray-400);}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px oklch(0.55 0.15 256 / .16);}
.fld.err input,.fld.err textarea,.fld.err select{border-color:#c0392b;background:#fdf4f3;}
.msg{display:none;font-size:12.5px;color:#c0392b;font-weight:600;}
.fld.err .msg{display:block;}
/* telefone com o país dentro do campo */
.uni{position:relative;}
.uni .box{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;transition:border-color .18s,box-shadow .18s,background .18s;overflow:hidden;}
.uni .box:focus-within{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px oklch(0.55 0.15 256 / .16);}
.fld.err .uni .box{border-color:#c0392b;background:#fdf4f3;}
.uni .pick{display:flex;align-items:center;gap:7px;min-height:45px;padding:0 12px;border:0;background:transparent;cursor:pointer;font-family:var(--text);font-size:15px;font-weight:600;color:var(--ink);flex:0 0 auto;font-variant-numeric:tabular-nums;}
.uni .pick:hover{background:rgba(6,19,42,.05);}
.uni .pick .caret{width:10px;height:10px;color:var(--gray-500);transition:transform .2s;}
.uni.open .pick .caret{transform:rotate(180deg);}
.uni input.tel{flex:1;min-width:0;min-height:45px;border:0;background:transparent;font-family:var(--text);font-size:15px;color:var(--ink);padding:0 14px 0 2px;outline:none;}
.uni input.tel::placeholder{color:var(--gray-400);}
.uni .list{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(340px,100%);background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -26px rgba(6,19,42,.45);padding:6px;display:none;}
.uni.open .list{display:block;animation:pop .2s cubic-bezier(.2,.7,.2,1) forwards;}
.uni .scroll{max-height:150px;overflow:auto;}
.uni .list button{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;border-radius:11px;font-family:var(--text);font-size:14.5px;font-weight:500;color:var(--ink);cursor:pointer;text-align:left;}
.uni .list button:hover{background:var(--paper);}
.uni .list button[aria-checked="true"]{background:var(--paper);font-weight:700;}
.uni .list .dial{margin-left:auto;color:var(--gray-500);font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums;}
.uni .search{display:flex;align-items:center;gap:9px;padding:0 12px;margin:2px 2px 6px;height:42px;border-radius:11px;background:var(--paper);border:1px solid var(--line);}
.uni .search svg{width:15px;height:15px;color:var(--gray-500);flex:0 0 auto;}
.uni .search input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:var(--text);font-size:14px;color:var(--ink);}
.uni .empty{padding:14px 12px;font-size:13.5px;color:var(--gray-500);}
.mdl-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 24px;border-radius:100px;font-family:var(--text);font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,background .2s,color .2s;}
.btn svg{width:16px;height:16px;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -18px rgba(6,19,42,.45);}
.btn-ghost{background:var(--white);color:var(--ink-soft);border-color:var(--line);}
.btn-ghost:hover{background:var(--paper);color:var(--ink);}
.mdl-note{margin:14px 0 0;font-size:12.5px;color:var(--gray-500);line-height:1.5;}
.mdl-ok{display:none;text-align:center;padding:8px 4px 4px;}
.mdl-card.done .mdl-form,.mdl-card.done .mdl-note,.mdl-card.done .mdl-head p{display:none;}
.mdl-card.done .mdl-ok{display:block;}
.mdl-ok .tick{width:56px;height:56px;border-radius:50%;background:oklch(0.55 0.15 256 / .12);color:var(--accent-ink);display:grid;place-items:center;margin:14px auto 16px;}
.mdl-card.state-error .mdl-ok .tick{background:rgba(192,57,43,.1);color:#c0392b;}
.mdl-ok .code{display:block;margin-top:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;letter-spacing:.06em;color:var(--gray-500);}
.mdl-ok .tick svg{width:26px;height:26px;}
.mdl-ok h3{font-family:var(--display);font-size:20px;margin:0 0 8px;letter-spacing:-.02em;}
.mdl-ok p{margin:0 auto 20px;font-size:14.5px;color:var(--ink-soft);max-width:40ch;text-wrap:pretty;}
body.locked{overflow:hidden;}
@media (max-width:560px){.row2{grid-template-columns:1fr;}.mdl-actions .btn{width:100%;}}
@media (prefers-reduced-motion:reduce){.mdl-bg,.mdl-card{animation:none;}}

/* ============================================================
   Abaixo: o que existe só neste site (não vem do handoff v14).
   ============================================================ */

/* O atributo hidden vale sobre qualquer display declarado. Sem isto, regras
   como `.mdl-ok .code { display: block }` deixam o elemento na tela mesmo com
   hidden=true (era o que fazia o ERR-0412 sobrar no estado de sucesso). */
[hidden]{display:none!important;}

/* ============================================================
   Banner de consentimento (LGPD) — paleta Grupo Malba
   ============================================================ */
@keyframes cs-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.cf-consent {
  position: fixed;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: clamp(12px, 3vw, 24px);
  z-index: 50;
  width: min(680px, calc(100% - 28px));
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  padding: 16px 18px;
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid #e4e1d7;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(6, 19, 42, .16);
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  animation: cs-rise .4s cubic-bezier(.2, .7, .2, 1) .2s both;
}
.cf-consent__text {
  flex: 1 1 260px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: #2a3a57;
}
.cf-consent__text a { color: #06132a; text-decoration: underline; }

.cf-consent__actions { display: flex; gap: 10px; flex-shrink: 0; }

.cf-consent__btn {
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 10px 20px;
  border-radius: 100px;
  border: 1px solid #e4e1d7;
  background: transparent;
  color: #06132a;
  cursor: pointer;
  transition: all .2s cubic-bezier(.2, .7, .2, 1);
}
.cf-consent__btn:hover { border-color: #06132a; }
.cf-consent__btn--accept {
  background: #06132a;
  border-color: #06132a;
  color: #fff;
}
.cf-consent__btn--accept:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -12px rgba(6, 19, 42, .5); }

@media (max-width: 480px) {
  .cf-consent__actions { width: 100%; }
  .cf-consent__btn { flex: 1; }
}

/* ============================================================
   Página de documento (Política de Privacidade) — paleta Grupo Malba
   ============================================================ */
.cf-doc {
  min-height: 100dvh;
  background: #f4f2ec;
  color: #06132a;
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  padding: 0;
}
.cf-doc__wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(32px, 6vw, 72px) clamp(20px, 4vw, 32px);
}
.cf-doc__logo { width: auto; height: clamp(56px, 8vw, 72px); }
.cf-doc h1 {
  font-family: "Schibsted Grotesk", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1;
  margin: clamp(24px, 4vw, 36px) 0 4px;
  color: #06132a;
}
.cf-doc h2 {
  font-family: "Schibsted Grotesk", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(19px, 2.6vw, 24px);
  letter-spacing: -0.02em;
  margin: 32px 0 8px;
  color: #06132a;
}
.cf-doc p, .cf-doc li { font-size: 15.5px; line-height: 1.65; color: #2a3a57; }
.cf-doc ul { padding-left: 20px; margin: 8px 0; }
.cf-doc a { color: #06132a; text-decoration: underline; }
.cf-doc__meta { font-size: 13px; color: #6b7280; margin-top: 0; }
.cf-doc__back {
  display: inline-block;
  margin-top: 40px;
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
}

/* Cabeçalho da página de documento: logo + seletor de idioma na mesma linha. */
.cf-doc__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;row-gap:18px;}
.cf-doc__note{margin-top:28px;font-size:12.5px;color:#6b7280;font-style:italic;}

/* Botão de envio em carregamento (o modal fala com api/contato.php). */
@keyframes mdl-spin{to{transform:rotate(360deg);}}
.btn.is-loading{pointer-events:none;opacity:.85;}
.btn.is-loading svg{animation:mdl-spin .9s linear infinite;}
@media (prefers-reduced-motion:reduce){.btn.is-loading svg{animation:none;}}

/* Honeypot: fora da tela em vez de display:none, que robô mais esperto ignora. */
.mdl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
