:root{
    --sand:#F3F5FA; --sand-deep:#E1E6F2; --sea-deep:#0D5A94; --sea:#1473B8;
    --coral:#E8623D; --ink:#202A3D; --muted:#5A6478; --whats:#25D366; --card:#FFFEFA;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--sand); color:var(--ink); font-family:'Work Sans',sans-serif; line-height:1.6;}
  h1,h2,h3{font-family:'Fraunces',serif; font-weight:600; line-height:1.2; text-wrap:balance;}
  a{color:inherit;}
  img{max-width:100%; display:block;}

  .menu-topo{position:sticky; top:0; z-index:60; background:var(--sea-deep); display:flex; justify-content:center; gap:24px; padding:10px 16px; flex-wrap:wrap;}
  .menu-topo a{color:#fff; text-decoration:none; font-weight:600; font-size:15px;}

  .hero{background:linear-gradient(135deg,var(--sea-deep),var(--sea)); color:#fff; padding:56px 16px 64px; text-align:center;}
  .hero .in{max-width:760px; margin:0 auto;}
  .hero small{display:inline-block; letter-spacing:.14em; text-transform:uppercase; font-size:12px; font-weight:600; opacity:.85; margin-bottom:12px;}
  .hero h1{font-size:clamp(30px,6vw,46px); margin-bottom:14px;}
  .hero p{font-size:clamp(16px,2.6vw,19px); opacity:.95;}
  .hero .atalhos{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:26px;}
  .hero .atalhos a{background:#fff; color:var(--sea-deep); text-decoration:none; font-weight:600; padding:11px 20px; border-radius:999px; font-size:15px;}
  .hero .atalhos a.sec{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7);}

  main{max-width:1040px; margin:0 auto; padding:0 16px 56px;}
  .bloco-titulo{padding:52px 0 8px;}
  .bloco-titulo .tag{display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--coral); margin-bottom:6px;}
  .bloco-titulo h2{font-size:clamp(26px,4.4vw,36px);}
  .bloco-titulo p{color:var(--muted); margin-top:8px; max-width:62ch;}

  .passo{display:grid; grid-template-columns:1fr; gap:22px; align-items:center; padding:34px 0; border-bottom:1px solid var(--sand-deep);}
  .passo:last-of-type{border-bottom:0;}
  .passo .txt{min-width:0;}
  .num{display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--sea-deep); color:#fff; font-weight:700; font-family:'Fraunces',serif; margin-bottom:10px;}
  .passo h3{font-size:clamp(21px,3.4vw,27px); margin-bottom:10px;}
  .passo ul{list-style:none; display:grid; gap:9px; margin-top:12px;}
  .passo li{position:relative; padding-left:26px;}
  .passo li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--sea); font-weight:700;}
  .passo li b{font-weight:600;}
  .destaque{background:#FFF1EC; border:1px solid #F6C9BA; border-radius:12px; padding:11px 14px; margin-top:14px; font-size:14.5px;}

  .midia{min-width:0; display:flex; gap:14px; justify-content:center; align-items:flex-start; flex-wrap:wrap;}
  .tela{background:#10192B; border-radius:26px; padding:9px; box-shadow:0 14px 34px rgba(13,40,80,.28); width:min(100%,290px);}
  .tela img{border-radius:18px; width:100%; height:auto; background:#fff;}
  .tela.rolo{max-height:470px; overflow:hidden; position:relative;}
  .tela.rolo::after{content:""; position:absolute; left:9px; right:9px; bottom:9px; height:70px; border-radius:0 0 18px 18px; background:linear-gradient(transparent,rgba(16,25,43,.55));}
  .cartao-img{background:var(--card); border:1px solid var(--sand-deep); border-radius:16px; padding:8px; box-shadow:0 8px 22px rgba(13,40,80,.1); width:min(100%,420px);}
  .cartao-img img{border-radius:10px; width:100%; height:auto;}
  .legenda{font-size:12.5px; color:var(--muted); text-align:center; margin-top:8px; width:100%;}

  /* ilustrações de fluxo */
  .fluxo{display:grid; gap:10px; width:min(100%,430px);}
  .etapa{display:flex; gap:12px; align-items:center; background:var(--card); border:1px solid var(--sand-deep); border-radius:14px; padding:12px 14px; box-shadow:0 6px 16px rgba(13,40,80,.08);}
  .etapa .ic{flex:0 0 44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; background:#E4EEF8;}
  .etapa b{display:block; font-size:15px;}
  .etapa span{font-size:13.5px; color:var(--muted);}
  .seta{text-align:center; color:var(--sea); font-weight:700; line-height:1;}
  .etapa.pub .ic{background:#E5F6EC;} .etapa.priv .ic{background:#FFF1EC;}
  .selo{display:inline-block; font-size:11.5px; font-weight:600; letter-spacing:.04em; padding:2px 9px; border-radius:999px; margin-left:6px; vertical-align:middle;}
  .selo.pub{background:#DDF3E5; color:#1C7A44;} .selo.priv{background:#FDE2D9; color:#B44420;}

  .cliente{background:var(--card); border:1px solid var(--sand-deep); border-radius:20px; padding:26px 20px; margin-top:20px;}
  .grade{display:grid; grid-template-columns:1fr; gap:14px; margin-top:6px;}
  .item{display:flex; gap:12px; align-items:flex-start;}
  .item .ic{flex:0 0 42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:21px; background:#E4EEF8;}
  .item b{display:block;}
  .item span{color:var(--muted); font-size:14.5px;}

  .cta{background:linear-gradient(135deg,var(--sea-deep),var(--sea)); color:#fff; border-radius:22px; padding:36px 22px; text-align:center; margin-top:46px;}
  .cta h2{font-size:clamp(24px,4.4vw,34px); margin-bottom:8px;}
  .cta p{opacity:.95; margin-bottom:20px;}
  .cta .bts{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
  .cta a{text-decoration:none; font-weight:600; padding:12px 24px; border-radius:999px;}
  .cta a.p{background:#fff; color:var(--sea-deep);} .cta a.w{background:var(--whats); color:#fff;}
  footer{text-align:center; color:var(--muted); font-size:13px; padding:0 16px 34px;}
  footer a{color:var(--sea-deep);}

  @media (min-width:820px){
    .passo{grid-template-columns:1fr 1fr; gap:48px; padding:44px 0;}
    .passo.inv .txt{order:2;}
    .grade{grid-template-columns:1fr 1fr; gap:18px 30px;}
    .cliente{padding:34px 36px;}
  }

  /* menu de atalhos */
  .atalhos-menu{position:sticky; top:var(--h-topo,43px); z-index:55; background:rgba(243,245,250,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--sand-deep);}
  .atalhos-menu .fila{max-width:1040px; margin:0 auto; display:flex; gap:8px; overflow-x:auto; padding:10px 16px; scrollbar-width:none;}
  .atalhos-menu .fila::-webkit-scrollbar{display:none;}
  .atalhos-menu a{flex:0 0 auto; text-decoration:none; font-weight:600; font-size:14px; color:var(--sea-deep); background:#fff; border:1.5px solid var(--sand-deep); padding:8px 15px; border-radius:999px; white-space:nowrap;}
  .atalhos-menu a.ativo{background:var(--sea-deep); border-color:var(--sea-deep); color:#fff;}
  .atalhos-menu a .e{margin-right:5px;}
  section[id]{scroll-margin-top:110px;}

  /* valores */
  .precos{display:grid; grid-template-columns:1fr; gap:14px; margin-top:18px;}
  .preco{background:var(--card); border:1px solid var(--sand-deep); border-radius:18px; padding:20px; position:relative; box-shadow:0 8px 22px rgba(13,40,80,.08);}
  .preco .fase{font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--coral);}
  .preco .v{font-family:'Fraunces',serif; font-size:34px; font-weight:700; color:var(--sea-deep); line-height:1.1; margin:6px 0 2px;}
  .preco .v small{font-family:'Work Sans',sans-serif; font-size:14px; font-weight:500; color:var(--muted);}
  .preco p{color:var(--muted); font-size:14.5px;}
  .preco.dest{border:2px solid var(--sea); }
  .preco.dest::before{content:"Lançamento"; position:absolute; top:-12px; left:18px; background:var(--sea); color:#fff; font-size:11.5px; font-weight:600; padding:3px 11px; border-radius:999px; letter-spacing:.05em;}
  .aviso-valores{background:#EAF3FB; border:1px solid #BCD7EE; border-radius:12px; padding:12px 16px; margin-top:16px; font-size:15px;}
  .tabela-anun{width:100%; border-collapse:collapse; margin-top:12px; background:var(--card); border-radius:14px; overflow:hidden; border:1px solid var(--sand-deep); font-size:15px;}
  .tabela-anun th,.tabela-anun td{padding:11px 14px; text-align:left; border-bottom:1px solid var(--sand-deep);}
  .tabela-anun th{background:#E4EEF8; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--sea-deep);}
  .tabela-anun tr:last-child td{border-bottom:0;}
  .tabela-anun td:last-child{font-weight:600; white-space:nowrap;}
  .rolagem-x{overflow-x:auto; max-width:100%;}
  .gratis{display:inline-block; background:#DDF3E5; color:#1C7A44; font-weight:600; font-size:12px; padding:2px 10px; border-radius:999px; margin-left:6px; vertical-align:middle;}

  /* faq */
  .faq{display:grid; gap:10px; margin-top:16px;}
  .faq details{background:var(--card); border:1px solid var(--sand-deep); border-radius:14px; padding:0 16px;}
  .faq summary{cursor:pointer; list-style:none; font-weight:600; padding:14px 22px 14px 0; position:relative;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+"; position:absolute; right:2px; top:11px; font-size:22px; color:var(--sea); font-weight:500;}
  .faq details[open] summary::after{content:"–";}
  .faq details p{padding:0 0 14px; color:var(--muted);}

  /* privacidade e checklist */
  .cards-3{display:grid; grid-template-columns:1fr; gap:14px; margin-top:16px;}
  .cartao{background:var(--card); border:1px solid var(--sand-deep); border-radius:16px; padding:18px;}
  .cartao .ic{font-size:26px; margin-bottom:6px;}
  .cartao b{display:block; margin-bottom:4px;}
  .cartao span{color:var(--muted); font-size:14.5px;}
  .links-leg{margin-top:16px; font-size:15px;}
  .links-leg a{color:var(--sea-deep); font-weight:600;}
  .check{list-style:none; display:grid; gap:10px; margin-top:14px;}
  .check li{display:flex; gap:12px; align-items:flex-start; background:var(--card); border:1px solid var(--sand-deep); border-radius:14px; padding:12px 14px;}
  .check li .n{flex:0 0 28px; height:28px; border-radius:50%; background:var(--sea-deep); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px;}
  .check li::before{content:none;}
  .check li{padding-left:14px;}
  .embed{background:var(--sand);}
  .embed .menu-topo, .embed .rodape-embed{display:none;}
  @media (min-width:820px){
    .precos{grid-template-columns:repeat(3,1fr);}
    .cards-3{grid-template-columns:repeat(3,1fr);}
  }
  .btn-link{display:inline-block; background:var(--sea-deep); color:#fff; text-decoration:none; font-weight:600; padding:11px 22px; border-radius:999px; font-size:15px;}
  .cta .bts a.p + a.p{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7);}
