:root{
    /* identidade institucional SMGA */
    --marinho:#101B3B;
    --marinho-esc:#0B1229;
    --marinho-cla:#1B2A52;
    --areia:#CABDAA;
    --areia-cla:#E3DBD0;
    --areia-esc:#B3A48D;
    --lavanda:#878B9B;
    --lavanda-cla:#C2C2CA;
    --papel:#FDFAFA;
    --papel-2:#F4F2EF;
    --wa:#25D366;

    --serif:"Playfair Display",Georgia,"Times New Roman",serif;
    --sans:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

    --wrap:1180px;
    --gut:24px;
  }
  *,*::before,*::after{box-sizing:border-box}
  body{margin:0;background:var(--papel);color:var(--marinho);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  figure{margin:0}
  a{color:inherit}
  p{margin:0;text-wrap:pretty}
  h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.14;text-wrap:balance;letter-spacing:-.005em}
  ::selection{background:var(--areia);color:var(--marinho)}
  :focus-visible{outline:2px solid var(--areia);outline-offset:3px}

  .wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
  .narrow{max-width:880px;margin:0 auto;padding-inline:var(--gut)}
  .band{padding-block:clamp(60px,9vw,116px)}
  .b-marinho{background:var(--marinho);color:var(--papel)}
  .b-marinho-esc{background:var(--marinho-esc);color:var(--papel)}
  .b-areia{background:var(--areia);color:var(--marinho)}
  .b-papel{background:var(--papel)}
  .b-papel2{background:var(--papel-2)}
  .b-lavanda{background:var(--lavanda-cla);color:var(--marinho)}
  /* acervo do escritório como textura por trás da tese */
  .b-acervo{
    background-color:var(--marinho-esc);background-position:center;background-size:cover;background-repeat:no-repeat;
    color:var(--papel);
  }
  /* faixa da recepção antes do contato */
  .recepcao{position:relative;line-height:0;background:var(--marinho)}
  .recepcao img{width:100%;height:clamp(220px,32vw,400px);object-fit:cover;object-position:center top}
  .recepcao::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,27,59,.2) 0%,rgba(16,27,59,.1) 35%,rgba(16,27,59,.92) 100%)}
  .recepcao figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 0 22px;line-height:1.5}
  .recepcao figcaption span{display:block;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut);font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--areia)}

  /* rótulo de seção — Playfair itálico com tracking largo, como no site */
  .rotulo{font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.42em;text-transform:uppercase;margin:0 0 20px;opacity:.72}
  .b-marinho .rotulo,.b-marinho-esc .rotulo,.b-acervo .rotulo{color:var(--areia);opacity:1}
  .b-areia .rotulo{color:var(--marinho);opacity:.7}
  h2{font-size:clamp(28px,4.2vw,50px);margin-bottom:22px}
  h2 .alt{font-style:italic}
  .b-marinho h2 .alt,.b-marinho-esc h2 .alt,.b-acervo h2 .alt{color:var(--areia)}
  .b-areia h2 .alt,.b-papel h2 .alt,.b-papel2 h2 .alt,.b-lavanda h2 .alt{color:var(--marinho);opacity:.62}
  .intro{max-width:62ch;font-size:17px;line-height:1.75}
  .intro.larga{max-width:none}
  .b-marinho .intro,.b-marinho-esc .intro,.b-acervo .intro{color:rgba(253,250,250,.74)}
  .b-papel .intro,.b-papel2 .intro,.b-areia .intro,.b-lavanda .intro{color:rgba(16,27,59,.74)}

  /* botões — retangulares, sólidos, como o "Saiba Mais" do site */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.03em;padding:16px 30px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
  .btn-areia{background:var(--areia);color:var(--marinho);border-color:var(--areia)}
  .btn-areia:hover{background:var(--areia-cla);border-color:var(--areia-cla)}
  .btn-marinho{background:var(--marinho);color:var(--papel);border-color:var(--marinho)}
  .btn-marinho:hover{background:var(--marinho-cla);border-color:var(--marinho-cla)}
  .btn-linha-cla{background:transparent;color:var(--papel);border-color:rgba(253,250,250,.34)}
  .btn-linha-cla:hover{border-color:var(--areia);color:var(--areia)}
  .btn-linha-esc{background:transparent;color:var(--marinho);border-color:rgba(16,27,59,.3)}
  .btn-linha-esc:hover{border-color:var(--marinho);background:var(--marinho);color:var(--papel)}
  .btn-wa{background:var(--wa);color:#04230f;border-color:var(--wa)}
  .btn-wa:hover{background:#1fbd5b;border-color:#1fbd5b}
  .btn-sm{padding:12px 22px;font-size:13px}
  .acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

  /* cabeçalho */
  .topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--marinho);border-bottom:1px solid rgba(253,250,250,.1)}
  .topo .wrap{display:flex;align-items:center;gap:22px;min-height:72px;padding-block:12px;position:relative}
  .marca{display:flex;align-items:center;text-decoration:none;flex:none}
  .marca img{height:36px;width:auto}
  .menu{margin-left:auto;display:flex;align-items:center;gap:30px}
  .menu a{font-size:13.5px;letter-spacing:.02em;text-decoration:none;color:rgba(253,250,250,.8);transition:color .2s}
  .menu a:hover{color:var(--areia)}
  .menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(253,250,250,.28);color:var(--papel);width:44px;height:40px;cursor:pointer;font-size:18px;line-height:1}

  /* hero */
  .hero{background:var(--marinho);color:var(--papel);position:relative;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(30px,4vw,60px);align-items:stretch;min-height:clamp(560px,72vh,760px)}
  .hero-txt{padding-block:clamp(52px,7vw,92px);align-self:center}
  .selo{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(202,189,170,.4);padding:8px 16px;margin-bottom:28px}
  .selo b{font-family:var(--serif);font-size:13px;font-weight:500;letter-spacing:.2em;color:var(--areia)}
  .selo span{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(253,250,250,.6)}
  h1{font-size:clamp(31px,4.5vw,55px);line-height:1.09;margin-bottom:26px}
  h1 .alt{font-style:italic;color:var(--areia)}
  .hero-lede{color:rgba(253,250,250,.76);max-width:54ch;font-size:17px;line-height:1.75}
  .pontos{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;border-top:1px solid rgba(253,250,250,.14)}
  .pontos li{display:flex;gap:16px;align-items:flex-start;padding:15px 0;border-bottom:1px solid rgba(253,250,250,.14);font-size:15px;color:rgba(253,250,250,.9);line-height:1.6}
  .pontos li::before{content:"";flex:none;width:7px;height:7px;margin-top:9px;background:var(--areia);transform:rotate(45deg)}
  .hero-nota{margin-top:22px;font-size:12.5px;color:rgba(253,250,250,.42)}
  /* corte diagonal na foto, como o recorte angular do site */
  .hero-foto{position:relative;align-self:stretch;min-height:340px;background:var(--marinho-cla);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
  .hero-foto img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
  .hero-cred{position:absolute;left:0;right:0;bottom:0;padding:26px 28px 26px 18%;background:linear-gradient(to top,rgba(16,27,59,.95),rgba(16,27,59,0))}
  .hero-cred strong{display:block;font-family:var(--serif);font-size:21px;font-weight:500}
  .hero-cred span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--areia)}

  /* faixa de credenciais */
  .faixa{background:var(--areia);color:var(--marinho);padding-block:30px}
  .faixa .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
  .faixa h4{font-family:var(--serif);font-size:17px;font-weight:500;margin:0 0 4px}
  .faixa p{font-size:12.5px;line-height:1.55;color:rgba(16,27,59,.72)}

  /* citação */
  .cit{margin:34px 0 0;padding:34px 0 0;border-top:2px solid var(--areia)}
  .cit>p{font-family:var(--serif);font-size:clamp(20px,2.6vw,30px);line-height:1.46;font-style:italic;color:var(--papel)}
  .cit .fonte,.fonte{margin-top:22px;font-family:var(--sans);font-style:normal;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(253,250,250,.42)}
  .texto{display:grid;gap:20px;margin-top:38px;max-width:70ch}
  .texto p{font-size:15.5px;color:rgba(253,250,250,.74)}
  .b-papel .texto p,.b-papel2 .texto p{color:rgba(16,27,59,.76)}

  /* situações */
  .situacoes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(253,250,250,.16);border:1px solid rgba(253,250,250,.16);margin-top:40px}
  .situacoes article{background:var(--marinho);padding:30px 28px}
  .situacoes h3{font-size:19px;margin-bottom:12px;color:var(--papel)}
  .situacoes p{font-size:14px;color:rgba(253,250,250,.68);line-height:1.65}
  .situacoes article.indef h3{color:var(--lavanda-cla)}

  /* lista de casos alcançados — termo à esquerda, explicação à direita.
     Usada quando o número de itens não fecha uma grade. */
  .alcancados{margin-top:40px;border-top:1px solid rgba(253,250,250,.2)}
  .alcancado{display:grid;grid-template-columns:minmax(200px,290px) 1fr;gap:10px 44px;
    padding:26px 0;border-bottom:1px solid rgba(253,250,250,.2)}
  .alcancado h3{font-size:21px;font-weight:500;color:var(--papel);margin:0;line-height:1.25}
  .alcancado p{font-size:15px;color:rgba(253,250,250,.7);line-height:1.7;margin:0;max-width:62ch}
  .alcancado .marca-lei{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--areia);opacity:.85}

  /* condições */
  .condicoes{display:grid;grid-template-columns:1fr 1fr;gap:34px 46px;margin-top:40px}
  .cond{display:flex;gap:20px}
  .cond .n{flex:none;font-family:var(--serif);font-size:30px;line-height:1;color:var(--areia);width:44px;border-right:1px solid rgba(16,27,59,.18);font-variant-numeric:tabular-nums}
  .b-papel2 .cond .n,.b-papel .cond .n{color:var(--marinho);opacity:.3}
  .cond h3{font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.45;margin-bottom:8px;letter-spacing:0}
  .cond p{font-size:14px;color:rgba(16,27,59,.7)}
  .aviso{margin-top:40px;padding:24px 26px;border-left:3px solid var(--marinho);background:rgba(16,27,59,.05);font-size:14.5px}
  .aviso b{font-weight:700}
  .b-marinho .aviso,.b-marinho-esc .aviso,.b-acervo .aviso{border-left-color:var(--areia);background:rgba(202,189,170,.1);color:rgba(253,250,250,.84)}
  .b-marinho .aviso b,.b-acervo .aviso b{color:var(--areia)}

  /* comparativo */
  .comp{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:42px;border:1px solid rgba(16,27,59,.16)}
  .comp .lado{padding:clamp(28px,3.4vw,42px)}
  .comp .lado+.lado{border-left:1px solid rgba(16,27,59,.16)}
  .comp .lado.destaque{background:var(--marinho);color:var(--papel)}
  .comp .cap{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(16,27,59,.55);margin-bottom:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .comp .destaque .cap{color:var(--areia)}
  .tag{background:var(--areia);color:var(--marinho);font-size:10px;letter-spacing:.12em;padding:4px 9px;font-weight:700}
  .cifra{font-family:var(--serif);font-size:clamp(30px,4.4vw,46px);line-height:1;margin-bottom:14px;font-variant-numeric:tabular-nums}
  .comp .destaque .cifra{color:var(--areia)}
  .comp p.det{font-size:13.5px;color:rgba(16,27,59,.66);line-height:1.6}
  .comp .destaque p.det{color:rgba(253,250,250,.7)}
  .depois{margin-top:34px;max-width:70ch;font-size:15.5px;color:rgba(16,27,59,.76)}

  /* etapas */
  .etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(253,250,250,.16);border:1px solid rgba(253,250,250,.16);margin-top:42px}
  .etapas article{background:var(--marinho-esc);padding:32px 26px}
  .etapas .n{font-family:var(--serif);font-size:15px;letter-spacing:.2em;color:var(--areia);margin-bottom:18px;font-variant-numeric:tabular-nums}
  .etapas h3{font-size:18px;margin-bottom:12px;min-height:2.6em}
  .etapas p{font-size:13.5px;color:rgba(253,250,250,.68);line-height:1.65}

  /* documentos */
  .docs{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:42px}
  .docs h3{font-family:var(--serif);font-size:19px;font-weight:500;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(16,27,59,.2)}
  .docs ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .docs li{font-size:14px;color:rgba(16,27,59,.75);padding-left:20px;position:relative;line-height:1.6}
  .docs li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:1px;background:var(--marinho);opacity:.45}

  /* faq */
  .faq{margin-top:42px;border-bottom:1px solid rgba(16,27,59,.16)}
  .faq details{border-top:1px solid rgba(16,27,59,.16)}
  .faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-size:16px;font-weight:600;line-height:1.5;transition:color .2s}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary:hover{color:rgba(16,27,59,.6)}
  .faq summary::after{content:"";position:absolute;right:10px;top:31px;width:13px;height:1px;background:var(--marinho)}
  .faq summary::before{content:"";position:absolute;right:16px;top:25px;width:1px;height:13px;background:var(--marinho);transition:opacity .2s}
  .faq details[open] summary::before{opacity:0}
  .faq .resp{padding:0 44px 26px 0;font-size:15px;color:rgba(16,27,59,.76);max-width:74ch;line-height:1.75}

  /* contato */
  .contato-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,5vw,70px);align-items:start;margin-top:8px}
  .vias{margin-top:34px;display:grid;gap:14px;border-top:1px solid rgba(253,250,250,.16);padding-top:28px}
  .via{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:rgba(253,250,250,.74);line-height:1.6}
  .via svg{flex:none;margin-top:3px}
  form{background:var(--papel);color:var(--marinho);padding:clamp(26px,3.4vw,40px)}
  .form-tit{font-family:var(--serif);font-size:21px;margin-bottom:6px}
  .form-sub{font-size:13.5px;color:rgba(16,27,59,.62);margin-bottom:26px}
  .campo{margin-bottom:18px}
  .dupla{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .campo label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(16,27,59,.62);margin-bottom:7px}
  input[type=text],input[type=email],input[type=tel],select{width:100%;background:#fff;border:1px solid rgba(16,27,59,.22);color:var(--marinho);font-family:var(--sans);font-size:15px;padding:13px 14px;border-radius:0;appearance:none}
  select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23101B3B' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
  input:focus,select:focus{border-color:var(--marinho);outline:none;box-shadow:0 0 0 1px var(--marinho)}
  .tres{margin:26px 0 6px;padding-top:22px;border-top:1px solid rgba(16,27,59,.14)}
  .tres .t{font-family:var(--serif);font-size:16px;margin-bottom:16px}
  .ok{display:flex;gap:12px;align-items:flex-start;margin:22px 0 24px}
  .ok input{width:16px;height:16px;min-width:16px;padding:0;margin-top:3px;flex:none;accent-color:var(--marinho)}
  .ok label{display:block;font-size:12.5px;font-weight:400;color:rgba(16,27,59,.66);margin:0;line-height:1.6}
  .ok label a{color:var(--marinho)}
  .btn-full{width:100%}
  .ou{display:flex;align-items:center;gap:14px;margin:18px 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(16,27,59,.4)}
  .ou::before,.ou::after{content:"";flex:1;height:1px;background:rgba(16,27,59,.16)}
  .armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form-erro{color:#9b2226;font-size:13.5px;margin-top:14px}
  .form-nota{margin-top:18px;font-size:12px;color:rgba(16,27,59,.52);line-height:1.6}

  /* etapas do formulário */
  .passos{display:flex;gap:0;margin-bottom:26px;border-bottom:1px solid rgba(16,27,59,.14)}
  .passo{flex:1;padding:0 0 12px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:rgba(16,27,59,.34);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;gap:8px;align-items:baseline}
  .passo b{font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:0}
  .passo.ativo{color:var(--marinho);border-bottom-color:var(--marinho)}
  .passo.feito{color:rgba(16,27,59,.5);border-bottom-color:var(--areia)}

  fieldset{border:0;padding:0;margin:0 0 22px}
  legend{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:10px;padding:0;color:var(--marinho)}
  .opcoes{display:grid;gap:7px}
  .op{display:flex;gap:11px;align-items:flex-start;border:1px solid rgba(16,27,59,.2);padding:11px 13px;cursor:pointer;font-size:14px;line-height:1.45;transition:border-color .15s,background .15s}
  .op:hover{border-color:rgba(16,27,59,.5)}
  .op:has(input:checked){border-color:var(--marinho);background:rgba(16,27,59,.05)}
  .op input{width:15px;height:15px;min-width:15px;padding:0;margin:3px 0 0;flex:none;accent-color:var(--marinho)}
  .op span{flex:1}

  .resultado{padding:22px 24px;margin-bottom:24px;border-left:3px solid var(--marinho);background:rgba(16,27,59,.05)}
  .resultado.segue{border-left-color:#1f7a4d;background:rgba(31,122,77,.08)}
  .resultado.condicional{border-left-color:#b08422;background:rgba(176,132,34,.1)}
  .resultado.fora{border-left-color:#9b2226;background:rgba(155,34,38,.07)}
  .resultado h4{font-family:var(--serif);font-size:19px;font-weight:500;margin:0 0 8px}
  .resultado p{font-size:14px;color:rgba(16,27,59,.78);line-height:1.65}
  .resultado ul{margin:12px 0 0;padding-left:18px;display:grid;gap:6px}
  .resultado li{font-size:13.5px;color:rgba(16,27,59,.75);line-height:1.55}
  .voltar{background:none;border:0;padding:0;margin-top:16px;font-family:var(--sans);font-size:13px;color:rgba(16,27,59,.6);cursor:pointer;text-decoration:underline}

  .checklist{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:11px}
  .checklist li{font-size:14px;color:rgba(16,27,59,.78);padding-left:22px;position:relative;line-height:1.55}
  .checklist li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:6px;border-left:1.5px solid var(--marinho);border-bottom:1.5px solid var(--marinho);transform:rotate(-45deg)}

  .areas{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:1px;background:rgba(16,27,59,.16);border:1px solid rgba(16,27,59,.16)}
  .areas li{background:var(--papel);padding:16px 18px}
  .areas b{display:block;font-family:var(--serif);font-size:16.5px;font-weight:500;margin-bottom:4px}
  .areas span{font-size:13px;color:rgba(16,27,59,.68);line-height:1.55}

  /* sócio responsável */
  .perfil{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,4.5vw,60px);align-items:start;margin-top:38px}
  .perfil-foto{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--lavanda-cla)}
  .perfil-foto img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
  .perfil h3{font-size:clamp(26px,3.2vw,38px);margin-bottom:8px}
  .perfil .cargo{font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--marinho);opacity:.62;margin-bottom:26px}
  .perfil p{font-size:15.5px;color:rgba(16,27,59,.78);margin-bottom:16px;max-width:60ch}
  .credenciais{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(16,27,59,.18);border:1px solid rgba(16,27,59,.18);margin-top:26px}
  .credenciais div{background:var(--papel);padding:16px 18px}
  .credenciais b{display:block;font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.1;margin-bottom:4px}
  .credenciais span{font-size:12.5px;color:rgba(16,27,59,.65);line-height:1.5}
  .vinculos{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
  .vinculos span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid rgba(16,27,59,.22);color:rgba(16,27,59,.62)}
  .assinatura{margin-top:26px;padding-top:20px;border-top:1px solid rgba(16,27,59,.18);font-size:12.5px;color:rgba(16,27,59,.55);line-height:1.65}

  /* publicações na imprensa especializada */
  .midia{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
  .midia-card{position:relative;display:flex;flex-direction:column;background:#fff;
    border:1px solid rgba(16,27,59,.14);padding:26px 24px 22px;text-decoration:none;
    transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .22s ease}
  .midia-card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;
    background:var(--cor-veiculo,var(--areia))}
  .midia-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,27,59,.13);border-color:rgba(16,27,59,.22)}
  .midia-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px}
  .midia-veiculo{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--cor-veiculo,var(--marinho))}
  .midia-meta .sep{flex:1;height:1px;background:rgba(16,27,59,.14)}
  .midia-data{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(16,27,59,.45);font-variant-numeric:tabular-nums;white-space:nowrap}
  .midia-card h3{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.28;color:var(--marinho);margin-bottom:12px}
  .midia-card p{font-size:13.5px;line-height:1.6;color:rgba(16,27,59,.7);margin-bottom:18px}
  .midia-rodape{margin-top:auto;padding-top:16px;border-top:1px solid rgba(16,27,59,.12);
    display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .midia-autor{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(16,27,59,.5)}
  .midia-ler{font-size:12.5px;font-weight:600;color:var(--marinho);white-space:nowrap;
    opacity:.55;transition:opacity .2s,transform .2s}
  .midia-card:hover .midia-ler{opacity:1;transform:translateX(3px)}
  .todos{margin-top:26px;font-size:14px}
  .todos a{color:var(--marinho)}

  /* mapa da sede */

  .mapa{margin-top:38px;border:1px solid rgba(16,27,59,.18);background:var(--papel)}
  .mapa .moldura{position:relative;height:clamp(230px,28vw,340px);background:var(--lavanda-cla)}
  .mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
  .mapa .semmapa{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:var(--lavanda-cla)}
  .mapa .semmapa.visivel{display:flex}
  .mapa .semmapa p{font-family:var(--serif);font-size:21px;color:var(--marinho);margin:0}
  .mapa .semmapa small{font-size:12.5px;color:rgba(16,27,59,.62);max-width:48ch;line-height:1.6}
  .mapa .semmapa .btn{margin-top:6px}
  .mapa .pe{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:20px 24px;border-top:1px solid rgba(16,27,59,.18)}
  .mapa address{font-style:normal;font-size:14.5px;color:rgba(16,27,59,.76);line-height:1.6;max-width:48ch}
  .ok label em{font-style:italic;color:rgba(16,27,59,.5)}

  /* rodapé */
  .rodape{background:var(--marinho-esc);color:var(--papel);padding-block:56px 34px}
  .rod-topo{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;padding-bottom:30px;border-bottom:1px solid rgba(253,250,250,.13)}
  .rod-topo img{height:40px;width:auto}
  .rod-end{font-style:normal;font-size:13.5px;color:rgba(253,250,250,.66);line-height:1.7;text-align:right}
  .rod-end a{color:var(--areia);text-decoration:none}
  .legal{margin-top:28px;font-size:12px;line-height:1.8;color:rgba(253,250,250,.44);max-width:96ch}
  .rod-fim{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;font-size:11.5px;color:rgba(253,250,250,.38)}
  .rod-fim a{text-decoration:none}

  /* whatsapp flutuante */
  .wa-fixo{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 8px 24px rgba(11,18,41,.3);text-decoration:none;transition:transform .2s}
  .wa-fixo:hover{transform:scale(1.06)}

  @media (max-width:1040px){
    .hero-grid{grid-template-columns:1fr;min-height:0}
    .hero-foto{clip-path:none;aspect-ratio:16/11;min-height:0;margin-inline:calc(var(--gut) * -1)}
    .hero-cred{padding-left:28px}
    .situacoes,.etapas,.midia{grid-template-columns:repeat(2,1fr)}
    .perfil{grid-template-columns:1fr}
    .perfil-foto{max-width:380px}
    .faixa .wrap{grid-template-columns:repeat(2,1fr)}
    .docs{grid-template-columns:1fr}
    .contato-grid{grid-template-columns:1fr}
  }
  @media (max-width:780px){
    .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--marinho);border-bottom:1px solid rgba(253,250,250,.14);flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 20px}
    .menu.aberto{display:flex}
    .menu a{padding:14px 0;border-bottom:1px solid rgba(253,250,250,.12)}
    .menu .btn{margin-top:16px}
    .menu-btn{display:block}
    .situacoes,.etapas,.condicoes,.comp,.credenciais{grid-template-columns:1fr}
    .alcancado{grid-template-columns:1fr;gap:8px;padding:22px 0}
    .alcancado h3{font-size:19px}
    .midia{grid-template-columns:1fr}
    .mapa .pe{flex-direction:column;align-items:stretch}
    .mapa .pe .btn{width:100%}
    .comp .lado+.lado{border-left:0;border-top:1px solid rgba(16,27,59,.16)}
    .dupla{grid-template-columns:1fr}
    .rod-topo{grid-template-columns:1fr}
    .rod-end{text-align:left}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

  /* ---- banner de consentimento ---- */
  .consentimento{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--marinho-esc);color:var(--papel);
    border-top:1px solid rgba(202,189,170,.3);padding:18px var(--gut) calc(18px + env(safe-area-inset-bottom,0px));
    display:none}
  .consentimento.visivel{display:block}
  .consentimento .interno{max-width:var(--wrap);margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
  .consentimento p{font-size:13px;line-height:1.6;color:rgba(253,250,250,.78);max-width:74ch}
  .consentimento p a{color:var(--areia)}
  .consentimento .acoes-cookie{display:flex;gap:10px;flex-wrap:wrap}
  .consentimento .btn{padding:11px 22px;font-size:13px}
  @media (max-width:640px){
    .consentimento .interno{flex-direction:column;align-items:stretch}
    .consentimento .acoes-cookie .btn{flex:1}
  }
  body.tem-banner .wa-fixo{bottom:calc(110px + env(safe-area-inset-bottom,0px))}

  /* ============ MOVIMENTO ============
     Nada aqui vale sem a classe .anima na raiz, que só o JS coloca.
     Sem JS a página aparece inteira, do jeito normal.            */

  /* entrada das seções */
  html.anima [data-anima]{opacity:0;transform:translateY(16px)}
  html.anima [data-anima].visivel{
    opacity:1;transform:none;
    transition:opacity .65s cubic-bezier(.22,.61,.36,1) var(--atraso,0ms),
               transform .65s cubic-bezier(.22,.61,.36,1) var(--atraso,0ms);
  }
  /* a foto do hero assenta em vez de subir */
  html.anima .hero-foto[data-anima]{opacity:0;transform:none}
  html.anima .hero-foto[data-anima] img{transform:scale(1.06)}
  html.anima .hero-foto[data-anima].visivel{opacity:1;transition:opacity 1s ease}
  html.anima .hero-foto[data-anima].visivel img{transform:none;transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}

  /* cabeçalho encolhe ao rolar */
  .topo .wrap{transition:min-height .28s ease}
  .topo .marca img{transition:height .28s ease}
  .topo.compacto{box-shadow:0 1px 0 rgba(202,189,170,.22)}
  .topo.compacto .wrap{min-height:58px}
  .topo.compacto .marca img{height:28px}

  /* WhatsApp entra depois do hero */
  html.anima .wa-fixo{opacity:0;transform:scale(.7);pointer-events:none;
    transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
  html.anima .wa-fixo.aparece{opacity:1;transform:none;pointer-events:auto}

  /* etapas do formulário trocam com um leve deslize */
  @keyframes smga-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  html.anima #etapa1,html.anima #etapa2,html.anima #etapa3{animation:smga-entra .4s cubic-bezier(.22,.61,.36,1)}
  html.anima .resultado{animation:smga-entra .45s cubic-bezier(.22,.61,.36,1) .05s both}

  /* resposta do acordeão desliza ao abrir; o sinal de + vira × */
  html.anima .faq details[open] .resp{animation:smga-entra .32s ease}
  .faq summary::before{transition:transform .25s ease,opacity .25s ease}
  .faq details[open] summary::before{transform:rotate(90deg);opacity:0}
  .faq summary::after{transition:transform .25s ease}
  .faq details[open] summary::after{transform:rotate(180deg)}

  /* microinterações */
  .btn{transition:background .2s,color .2s,border-color .2s,transform .12s ease}
  .btn:active{transform:translateY(1px)}
  .op{transition:border-color .15s,background .15s,transform .12s ease}
  .op:active{transform:scale(.995)}
  

  @media (prefers-reduced-motion:reduce){
    html.anima [data-anima],
    html.anima .hero-foto[data-anima],
    html.anima .hero-foto[data-anima] img,
    html.anima .wa-fixo{opacity:1;transform:none;transition:none;pointer-events:auto}
    html.anima #etapa1,html.anima #etapa2,html.anima #etapa3,
    html.anima .resultado,html.anima .faq details[open] .resp{animation:none}
  }
