/* ============ THEME ============ */
:root{
  --blue:#0A3659; --deep:#0b1e32;
  --orange:#FF7A1A; --orange-2:#ff6a00; --gold:#D4AF37;

  --offA:#f9fbff; --offB:#eef4fb; --cream:#fffce9;

  --grad: linear-gradient(135deg, #0A3659 0%, #0b2a48 55%, #FF7A1A 180%);
  --grad-blue: radial-gradient(1200px 600px at 70% -10%, #0e4c7b 0%, transparent 60%), linear-gradient(180deg,#0A3659 0%, #0b1e32 100%);
  --grad-off: linear-gradient(180deg, var(--offA) 0%, var(--offB) 70%, var(--offA) 100%);

  /* MapoaCred */
  --mp-blue-900:#0B2A46; --mp-blue-800:#0E3A5F; --mp-gold:#FFD391;
}

/* ============ BASE ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:#0a2540;background:var(--offA)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92%);margin:auto}
.stack{display:flex;gap:.6rem;flex-wrap:wrap}
.stack-center{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}

/* “transparência” visual do logo (usar só quando quiser o efeito) */
.logo__blend{
  mix-blend-mode:multiply;
  filter: contrast(1.1) saturate(1.05) drop-shadow(0 2px 6px rgba(0,0,0,.12));
}

/* Scroll progress */
#scrollbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--orange));z-index:90}

/* ============ TOPBAR ============ */
.topbar{position:sticky; top:0; z-index:70; background:var(--grad); color:var(--cream); border-bottom:1px solid rgba(255,255,255,.12); height:38px; display:flex; align-items:center; overflow:hidden}
.topbar .wrap{width:min(1120px,92%); margin:auto; height:100%; display:flex; align-items:center}
.ticker{position:relative;width:100%;overflow:hidden;height:100%;mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}
.ticker-track{display:flex;gap:32px;align-items:center;white-space:nowrap;position:absolute;left:0;top:0;height:100%;animation:ticker 26s linear infinite}
.msg{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;padding:.32rem .9rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;position:static}.ticker{mask-image:none;-webkit-mask-image:none}}

/* ============ HEADER ============ */
header{position:sticky; top:38px; z-index:60; background:var(--grad); color:var(--cream); border-bottom:1px solid rgba(255,255,255,.14); padding:.7rem 0}
header .row{width:min(1120px,92%);margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.6rem}
.brand img{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.25)} /* sem .logo__blend aqui */
.brand b{font-weight:800;letter-spacing:.5px}
nav.primary{display:flex;gap:1.1rem;align-items:center}
nav.primary a{font-weight:800;color:var(--cream);padding:.45rem .7rem;border-radius:10px;position:relative}
nav.primary a::after{content:"";position:absolute;left:12%;right:12%;bottom:4px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.primary a:hover::after, nav.primary a.active::after{transform:scaleX(1)}
.hamb{display:none;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:.5rem;cursor:pointer}
.menu{position:absolute;right:4%;top:108px;background:#0b2236;border:1px solid rgba(255,255,255,.15);border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.35);padding:.5rem;display:none;min-width:220px}
.menu.show{display:flex;flex-direction:column}
.menu a{padding:.75rem;border-radius:8px;color:#fff}
.menu a:hover{background:#0f2d49}
@media (max-width:920px){nav.primary{display:none}.hamb{display:inline-flex}}

/* ============ HERO ============ */
.hero{position:relative;text-align:center;padding:82px 16px 42px;background:var(--grad-off)}
.logo.no-frame{width:200px;height:200px;margin:0 auto 12px}
.hero-logo{width:100%;height:100%;object-fit:contain}

/* Banner em degradê (Canva) */
.panel-gradient{
  background: linear-gradient(135deg, var(--mp-blue-800) 0%, var(--mp-blue-900) 100%);
  color:#fff;
}
.hero-banner{
  width:min(1120px, 92%);
  margin: 8px auto 18px;
  padding: clamp(16px, 2.2vw, 26px) clamp(18px, 2.4vw, 30px);
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 38px rgba(9,28,46,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-banner::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(120% 60% at 10% 0%, rgba(255,255,255,.10) 0%, transparent 60%);
  pointer-events:none;
}
.hero-banner::after{
  content:""; position:absolute; left:0; right:0; bottom:-18px; height:38px;
  background: radial-gradient(60% 60% at 50% 0%, rgba(0,0,0,.22), transparent 70%);
  filter: blur(12px); pointer-events:none;
}
.hero-banner-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px}
.hero-chip{
  font: 800 .75rem/1 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform: uppercase; letter-spacing:.08em;
  color:#062033; background: linear-gradient(180deg, #FFE5B6, var(--mp-gold));
  padding:6px 10px; border-radius:999px; border:1px solid rgba(6,32,51,.08);
  box-shadow:0 6px 14px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6);
}
.hero-title{margin:0; font-family:"Playfair Display",serif; font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:#fff; text-shadow:0 2px 0 rgba(0,0,0,.15); font-size:clamp(1.05rem, 2.2vw, 1.35rem)}
.hero-text{margin-top:6px; font-size:clamp(.98rem,1.65vw,1.15rem); line-height:1.7; letter-spacing:.15px; color:#EAF2FB}
.hl-gold{ color: var(--mp-gold); font-weight:800 }

.kicker{color:#0a3659;background:#ffffff;border:1px solid #d9e6ff;padding:.35rem .6rem;border-radius:999px;display:inline-flex;gap:.4rem;align-items:center;box-shadow:0 8px 24px rgba(10,54,89,.08)}
.hero h1{font-family:"Playfair Display",serif;color:#0a3659;font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.15;margin:.6rem 0}
.hero-sub{color:#385b85;max-width:62ch;margin:0 auto}
.hero-cta{margin-top:12px;display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.2rem;border-radius:14px;font-weight:800;transition:.25s;box-shadow:0 10px 22px rgba(0,0,0,.14);cursor:pointer;border:0;position:relative;z-index:2}
.btn:hover{transform:translateY(-2px)}
.btn-orange{background:linear-gradient(180deg,var(--orange),var(--orange-2));color:#fff}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.btn-secondary{background:#fff;color:#0a3659;border:1px solid #cfe0ff}
.btn-accept{ color:#0b1e32; background: linear-gradient(180deg,var(--orange),var(--orange-2)) }

/* Sections */
.section{padding:64px 16px}
.section.offwhite{background:var(--grad-off)}
.section.blue{background:var(--grad-blue);color:#e7f0ff}
.section h2{font-family:"Playfair Display",serif;color:#0a3659;text-align:center;margin-bottom:10px}
.section.blue h2{color:#ffecc6}
.section p.lead{text-align:center;margin:0 auto 22px;max-width:70ch}
.section.blue p.lead{color:#d2e7ff}
.dark-title{color:#0a3659}
.lead.dark{color:#385b85}

/* Sobre */
#sobre.section.offwhite{background: linear-gradient(180deg,#F7F9FC 0%, #F2F5FA 100%);color:#12263A}
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}
@media (max-width:980px){.about-grid{grid-template-columns:1fr}}

.panel{border-radius:18px;padding:22px 24px;margin-bottom:18px;box-shadow:0 12px 30px rgba(14,58,95,.08);border:1px solid rgba(14,58,95,.12)}
.panel-title{font-weight:800;letter-spacing:.2px;margin:2px 0 10px}
.panel-body{line-height:1.65;letter-spacing:.1px}
.panel-body b,.panel-title b{color:#ffd391}
.panel-gradient .quote-author{font-size:.92rem;opacity:.95;display:block;margin-top:6px}

.about-photo{position:relative;margin:0;border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(14,58,95,.14);box-shadow:0 18px 40px rgba(14,58,95,.15)}
.about-photo img{display:block;width:100%;height:auto;object-fit:cover}
.about-photo figcaption{position:absolute;right:12px;bottom:12px;background: linear-gradient(135deg, rgba(11,42,70,.95), rgba(23,77,119,.95));color:#fff;padding:6px 10px;border-radius:10px;font-weight:800;letter-spacing:.2px;border:1px solid rgba(255,255,255,.18)}

/* Cards */
.grid{display:grid;gap:18px}
.cards-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:940px){.cards-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards-3{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #dbe6fb;border-radius:16px;padding:18px;position:relative;overflow:hidden;transition:.2s ease}
.card h3{margin:0 0 .35rem;color:#0a3659}
.card p{color:#385b85}
.card .halo{
  position:absolute;inset:-1px;border-radius:16px;padding:1px;
  background:linear-gradient(135deg,#D4AF3733,#FF7A1A33,#16a34a33);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none; /* <<< NÃO bloqueia clique dos botões */
}
.card.hover-blue:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.12);background:linear-gradient(180deg,#0a2a46,#0b1e32);color:#fff}
.card.hover-blue:hover h3,.card.hover-blue:hover p{color:#fff}

/* Carousel depoimentos */
.carousel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(180deg,#0a2a46,#0b1e32)}
.track{display:flex;transition:transform .45s ease}
.slide{min-width:100%;padding:14px;display:flex;justify-content:center}
.dots{display:flex;gap:6px;justify-content:center;margin:10px 0 0}
.dot{width:8px;height:8px;border-radius:999px;background:#7fa7d8;opacity:.6}
.dot.active{opacity:1;background:linear-gradient(90deg,#ffd391,var(--orange))}
/* phone mock */
.carousel.vert{max-width:540px;margin:0 auto;background:transparent;border:0}
.phone{--frame:#0b1e32;--bezel:#0e2a46;--glass:rgba(255,255,255,.06);
  width:min(380px,92vw);padding:14px;border-radius:34px;margin:0 auto;
  background:radial-gradient(120% 80% at 50% 0%, var(--glass), transparent 60%), linear-gradient(180deg, var(--bezel), var(--frame));
  box-shadow:0 18px 40px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08)}
.phone-screen{border-radius:24px;background:#000;overflow:hidden}
.phone-screen > video{display:block;width:100%;aspect-ratio:9/16;height:auto;object-fit:cover;background:#000;border-radius:inherit}
.phone-notch{height:18px;width:40%;background:linear-gradient(180deg,#0a1422,#000);margin:-6px auto 10px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,.35)}

/* KPIs */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
@media (max-width:940px){.kpi-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.kpi-grid{grid-template-columns:1fr}}
.kpi{background:#fff;border:1px solid #dbe6fb;border-radius:16px;padding:18px;text-align:center;box-shadow:0 10px 26px rgba(10,54,89,.08)}
.kpi-number{font:800 2rem/1 "Inter";color:#0a3659}
.kpi-label{color:#385b85;margin-top:6px}

/* Form */
.form-wrap{background:linear-gradient(135deg, rgba(10,54,89,.06) 0%, rgba(11,30,50,.06) 55%, rgba(255,122,26,.05) 200%);border:1px solid #dbe6fb;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.06);padding:22px}
.form-wrap h3{font-family:"Playfair Display",serif;color:#0a3659;font-size:clamp(1.2rem,2.2vw,1.8rem);text-align:center;margin-bottom:6px}
.form-wrap p{color:#385b85;text-align:center;margin-bottom:16px}
.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid-form textarea{grid-column:1/-1;min-height:120px}
.grid-form .row{grid-column:1/-1;display:flex;gap:10px;align-items:center}
@media (max-width:700px){.grid-form{grid-template-columns:1fr}}
.in{width:100%;background:#fff;border:1px solid #cfe0ff;color:#0a2a46;border-radius:12px;padding:.9rem 1rem;outline:none}
.in::placeholder{color:#9bb3d8}
.sel{appearance:none;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="%230a3659"><path d="M7 10l5 5 5-5"/></svg>') no-repeat right .7rem center;background-size:18px;padding-right:2.2rem}
.chk{accent-color:#ff7a1a;scale:1.15}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.lead-feedback{grid-column:1/-1;margin-top:6px;color:#0a3659;font-weight:700}

/* CTA final */
.cta{background:var(--grad-blue);color:#fff;text-align:center;padding:64px 16px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(0,0,0,.35)}
.cta h2{font-family:"Playfair Display",serif;color:#ffecc6}
.muted{color:#cfe4ff}

/* Footer */
footer{background:#070f19;color:#dfe9f7;padding:28px 16px}
.foot{display:grid;gap:16px;grid-template-columns:1.2fr 1fr 1fr}
@media (max-width:820px){.foot{grid-template-columns:1fr}}
footer a{color:#bcd7ff}
.ft-brand{font-weight:800}

/* FAB WhatsApp (verde estilo oficial) */
.fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  border: none;
  border-radius: 999px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  box-shadow: 0 16px 34px rgba(0,0,0,.25);
  z-index: 60;
  cursor: pointer;
  transition: .25s;
}

.fab:hover {
  transform: scale(1.05) translateY(-2px);
}

.fab-whats {
  background: linear-gradient(135deg, #25D366, #128C7E); /* verde WhatsApp */
  color: #fff; /* ícone branco */
}

/* Sticky CTA (mobile) */
.sticky-cta{position:sticky;bottom:0;z-index:55;background:linear-gradient(180deg,rgba(11,30,50,.0),rgba(11,30,50,.9) 30%, #0b1e32 100%);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.12);padding:10px 12px;display:none}
.sticky-cta .inner{display:flex;gap:.6rem;justify-content:center}
@media (max-width:920px){.sticky-cta{display:block}}

/* Reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s, transform .6s}
.reveal.show{opacity:1;transform:none}

/* Cookiebar */
.cookiebar{position:fixed; inset:auto 0 0 0; z-index:9999; display:none;background: linear-gradient(135deg, rgba(10,54,89,.92) 0%, rgba(11,30,50,.92) 55%, rgba(255,122,26,.94) 200%);backdrop-filter: blur(8px) saturate(1.1); -webkit-backdrop-filter: blur(8px) saturate(1.1);border-top:1px solid rgba(255,255,255,.12);box-shadow: 0 -18px 40px rgba(0,0,0,.35);padding: clamp(12px, 1.8vw, 18px)}
.cookiebar .inner{ width:min(1120px,92%); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; color:#fffce9 }
.cookie-icon{ width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background: radial-gradient(80% 80% at 30% 20%, #ffd280 0%, #ffb24d 60%, #ff8a1a 100%); color:#0b1e32; font-weight:900; box-shadow:0 6px 16px rgba(0,0,0,.25); margin-right:8px; flex:0 0 auto }
.cookie-title{font-weight:800; letter-spacing:.2px; margin-bottom:2px}
.cookie-text{opacity:.95; line-height:1.45}
.cookiebar .actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.cookiebar .btn{ border:0; cursor:pointer; font-weight:800; border-radius:14px; padding:.85rem 1.25rem; box-shadow: 0 10px 22px rgba(0,0,0,.25) }

/* ===== Mobile extras ===== */
@media (max-width:700px){
  .card .btn{width:100%; justify-content:center}
  .hero-banner{padding:16px}
}

/* ===================== CORES ===================== */

:root {
  --mapoa-blue: #050b23;
  --mapoa-blue-soft: #0b1635;
  --mapoa-gold: #f7b44a;
  --mapoa-offwhite: #f5f5f7;
  --mapoa-text: #111827;
  --mapoa-muted: #6b7280;
}

/* ===================== BASE ===================== */

.policy-body {
  margin: 0;
  padding: 0;
  background: var(--mapoa-offwhite);
  font-family: "Inter", sans-serif;
  color: var(--mapoa-text);
  line-height: 1.7;
}

/* ===================== HEADER ===================== */

.policy-header {
  background: var(--mapoa-blue);
  padding: 12px 0;
  position: sticky;
  top: 0;
  z-index: 20;
  color: #fff;
}

.policy-header-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.policy-back {
  color: #e5e7eb;
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  backdrop-filter: blur(8px);
  transition: 0.2s ease;
}

.policy-back:hover {
  color: #fff;
  border-color: var(--mapoa-gold);
}

.policy-brand {
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  font-weight: 700;
  text-transform: uppercase;
  opacity: 0.9;
}

/* ===================== CONTEÚDO ===================== */

.policy-main {
  background: #fff;
  margin: 32px auto 64px;
  padding: 32px 28px;
  max-width: 960px;
  border-radius: 18px;
  box-shadow:
    0 18px 40px rgba(15,23,42,0.12),
    0 0 0 1px rgba(15,23,42,0.03);
}

.policy-main h1 {
  font-family: "Playfair Display", serif;
  color: var(--mapoa-blue);
  font-size: clamp(1.9rem, 3vw, 2.3rem);
  margin-bottom: 6px;
}

.policy-updated {
  font-size: 0.9rem;
  color: var(--mapoa-muted);
  margin-bottom: 24px;
}

.policy-main h2 {
  margin-top: 28px;
  margin-bottom: 8px;
  color: var(--mapoa-blue-soft);
  font-size: 1.25rem;
}

.policy-main p,
.policy-main li {
  margin-bottom: 12px;
}

.policy-main ul {
  margin-left: 1.4rem;
}

/* Rodapé interno */
.policy-footer-note {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid rgba(15,23,42,0.06);
  font-size: 0.9rem;
  color: var(--mapoa-muted);
}

.policy-main a {
  color: var(--mapoa-blue-soft);
  text-decoration: none;
  border-bottom: 1px solid rgba(15,23,42,0.3);
  transition: 0.2s ease;
}

.policy-main a:hover {
  color: var(--mapoa-gold);
  border-bottom-color: var(--mapoa-gold);
}

/* ===================== RESPONSIVO ===================== */

@media (max-width: 640px) {
  .policy-main {
    padding: 22px 16px;
    margin: 16px auto;
    border-radius: 0;
    box-shadow: none;
  }

  .policy-brand {
    display: none;
  }
}
