:root{
  --ink:#202b31;--ink-soft:#56656c;--navy:#063c4e;--navy-2:#224f61;
  --gold:#69858e;--gold-dark:#2f5d70;--gold-soft:#c7d2d7;
  --paper:#f1f3f4;--surface:#ffffff;--surface-2:#f7f8f8;--line:#d7dee1;
  --shadow:0 18px 48px rgba(6,60,78,.12);--shadow-soft:0 8px 26px rgba(32,43,49,.08);
  --radius:18px;--radius-sm:12px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Oswald","Arial Narrow",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}p{margin:0 0 1rem;color:var(--ink-soft)}h1,h2,h3,h4{margin:0 0 .9rem;line-height:1.12;color:var(--ink)}h1,h2{font-family:"Oswald","Arial Narrow",Arial,sans-serif;letter-spacing:-.02em}h2{font-size:clamp(2rem,3vw,3.25rem)}h3{font-size:1.28rem}::selection{background:var(--gold-soft);color:var(--ink)}
.skip-link{position:fixed;left:-9999px;top:12px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{left:12px}
.site-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,36,45,.08);box-shadow:0 6px 24px rgba(16,36,45,.04)}
.header-top{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;min-width:210px}.brand img{max-height:50px;max-width:230px;object-fit:contain}.header-contact{display:flex;align-items:center;gap:20px}.socials{display:flex;gap:8px}.socials a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface-2);transition:.2s}.socials a:hover{transform:translateY(-2px);border-color:var(--gold)}.socials img{width:15px;height:15px;object-fit:contain}.phone{font-size:.92rem;letter-spacing:.01em;color:var(--ink-soft)}.phone strong{color:var(--navy);font-weight:750}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:44px;height:42px;color:var(--navy);cursor:pointer}
.main-nav{background:var(--navy);color:#fff}.main-nav ul{margin:0 auto;padding:0;list-style:none;display:flex;align-items:center;gap:2px}.main-nav a{display:block;padding:15px 14px;font-size:.84rem;font-weight:650;letter-spacing:.035em;white-space:nowrap;border-bottom:2px solid transparent;transition:.18s}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.06);border-bottom-color:var(--gold-soft);color:#fff}
.hero-slider{position:relative;height:min(72vh,690px);min-height:510px;overflow:hidden;background:var(--navy)}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .75s ease}.hero-slide.active{opacity:1;visibility:visible}.hero-slide>img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,32,.78) 0%,rgba(8,25,32,.47) 48%,rgba(8,25,32,.12) 100%)}.hero-copy{position:absolute;left:max(22px,calc((100vw - var(--max))/2));top:50%;transform:translateY(-50%);width:min(650px,calc(100% - 44px));color:#fff}.hero-copy h1{font-size:clamp(3rem,6vw,5.6rem);color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.18);margin-bottom:18px}.hero-copy p{font-size:clamp(1.05rem,1.7vw,1.3rem);color:rgba(255,255,255,.88);max-width:580px}.btn,.button-servicos a,.button-blog a,.iw-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border-radius:999px;background:var(--gold);border:1px solid var(--gold);color:#fff!important;font-weight:750;transition:.2s}.btn:hover,.button-servicos a:hover,.button-blog a:hover,.iw-link:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(47,93,112,.24)}.hero-dots{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px;z-index:3}.hero-dot{width:10px;height:10px;border-radius:50%;border:1px solid #fff;background:transparent;cursor:pointer;padding:0}.hero-dot.active{background:#fff}
.sobre,.a-advocacia,.oque-fazemos,.blog,.contato,.quem-somos,.valores,.servicos,.diferenciais,.equipe,.outros-servicos,.page-contato,.trabalhe-conosco,.page-blog{padding:88px 0}.sobre,.quem-somos,.servicos,.equipe,.page-contato,.trabalhe-conosco,.page-blog{background:#fff}.a-advocacia,.diferenciais{background:var(--paper)}.oque-fazemos,.valores,.outros-servicos{background:#e7ecee}.iw-dflex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.iw-div-left>span{display:block;color:var(--gold-dark);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}.iw-div-left h2{margin-bottom:20px}.iw-div-right iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}
.a-advocacia>.container>h2,.oque-fazemos>.container>h2,.blog>.container>h2{margin-bottom:36px}.a-advocacia>.container>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}.a-advocacia>.container>ul>li>ul{height:100%;margin:0;padding:28px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:64px 1fr;gap:22px;box-shadow:var(--shadow-soft);transition:.2s}.a-advocacia>.container>ul>li>ul:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.a-advocacia li img{width:54px;max-height:54px;object-fit:contain}.a-advocacia h2{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:1.04rem!important;letter-spacing:.045em;color:var(--gold-dark)!important}.a-advocacia p p{margin:0}
.oque-fazemos .desk .carousel>ul,.servicos ul,.outros-servicos ul{list-style:none;padding:0;margin:0}.oque-fazemos .desk .carousel>ul,.outros-servicos ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.oque-fazemos .desk .carousel li,.outros-servicos li{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;min-height:205px;box-shadow:var(--shadow-soft);transition:.2s}.oque-fazemos .desk .carousel li:hover,.outros-servicos li:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.oque-fazemos .desk .carousel li a>div,.outros-servicos li a>div{font-size:1rem;font-weight:800;color:var(--gold-dark);margin-bottom:12px;text-transform:none!important}.oque-fazemos .mobile,.oque-fazemos .prev,.oque-fazemos .next,.oque-fazemos .break{display:none}.button-servicos,.button-blog{text-align:center;margin-top:32px}
.blog{background:#fff}.blog>.container>ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog>.container>ul>li{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.blog>.container>ul>li>div:first-child{width:100%!important;height:260px!important;background-size:cover;background-position:center}.blog>.container>ul>li>div:last-child{padding:26px}.blog h3{font-size:1.25rem}.blog li a:not(.group){color:var(--gold-dark);font-weight:750}
.contato{background:linear-gradient(135deg,var(--navy),var(--navy-2))!important;color:#fff}.contato>.container,.page-contato>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}.contato h2,.contato h3,.contato p{color:#fff}.contato h2 span{color:var(--gold-soft)}.form-contat,.seja-parte,.seja-parceiro{display:block}.form-contat input,.form-contat textarea,.seja-parte input,.seja-parceiro input{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:inherit;border-radius:10px;padding:12px 14px;outline:none}.page-contato .form-contat input,.page-contato .form-contat textarea,.trabalhe-conosco input{background:#fff;color:var(--ink);border-color:var(--line)}textarea{min-height:160px!important;resize:vertical}.form-contat input:focus,.form-contat textarea:focus,.seja-parte input:focus,.seja-parceiro input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(105,133,142,.18)}.contato-content,.seja-parte>div,.seja-parceiro>div{margin-bottom:14px}.submit{position:relative;width:190px}.submit input,.contato-enviar,.enviar-seja-parte,.enviar-seja-parceiro{cursor:pointer;background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;font-weight:750}.submit input{font-size:0;height:48px}.submit:after{content:'Enviar mensagem';position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-weight:750}.map-frame{width:100%;height:350px;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}
.quem-somos>.container>p:first-of-type img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:34px}.quem-somos p{max-width:960px}.valores ul,.diferenciais ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.valores li,.diferenciais li{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:26px;box-shadow:var(--shadow-soft)}
.servicos>.container>p{max-width:800px;margin-bottom:34px}.servicos ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.servicos li{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;transition:.2s}.servicos li:hover{background:#fff;box-shadow:var(--shadow-soft);transform:translateY(-2px)}.servicos h3,.servicos h4{color:var(--gold-dark)}.diferenciais img{width:62px}
.equipe>.container>h2,.servicos>.container>h2,.trabalhe-conosco>.container>h2,.page-blog>.container>h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:28px}.equipe>.container>img{max-width:210px;margin:0 0 24px;border-radius:14px}.col-equipe{background:var(--surface-2);border:1px solid var(--line);padding:30px;border-radius:var(--radius);margin-bottom:34px;box-shadow:var(--shadow-soft)}.col-equipe>div:first-child{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:2rem;margin-bottom:4px}.col-equipe .new_infos{color:var(--gold-dark);font-weight:750}.col-equipe .ing,.equipe .eua{display:none}.diretoria-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}.diretoria-list li{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-soft)}.diretoria-list img{width:100%;height:270px;object-fit:cover;background:#eee}.diretoria-list .name{font-weight:800;padding:15px 15px 5px}.diretoria-list .new_infos{padding:0 15px 18px;color:var(--ink-soft)}.diretoria-list .cargo{display:block;color:var(--gold-dark);font-weight:750;margin-bottom:3px}.equipe h3{margin-top:48px;font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:2rem}.equipe h3+ul:not(.diretoria-list){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;gap:0 30px}.equipe h3+ul:not(.diretoria-list)>li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:11px 2px}.outros-servicos{border-top:1px solid var(--line)}
.page-contato>.container{padding-top:8px}.page-contato h3:first-child{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:clamp(2.4rem,4vw,4rem)}.trabalhe-conosco>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.trabalhe-conosco>.container>h2,.trabalhe-conosco>.container>p{grid-column:1/-1}.trabalhe-conosco form{background:var(--surface-2);border:1px solid var(--line);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow-soft)}.trabalhe-conosco .file-seja-parte{padding:9px;background:#fff}.text-file-seja-parte,.carregar-seja-parte{display:none}
.page-blog .container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px}.page-blog .posts,.page-blog .list-post,.page-blog .content-blog{min-width:0}.page-blog article,.page-blog .post{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;margin-bottom:22px;box-shadow:var(--shadow-soft)}.page-blog img{border-radius:12px}.page-blog aside{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px;align-self:start;position:sticky;top:145px}.page-blog aside ul{padding-left:18px}
.footer-selos{background:#e3e8ea;padding:26px 0;border-top:1px solid var(--line)}.footer-selos .container>div{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}.footer-selos img{max-height:66px;max-width:112px;object-fit:contain}.site-footer-main{background:var(--navy);color:#eef1f2;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:38px}.footer-logo{max-width:215px;filter:brightness(0) invert(1)}.site-footer-main h4{color:var(--gold-soft);margin-bottom:12px}.site-footer-main a:hover{color:var(--gold-soft)}.footer-contact div,.site-footer-main>div>div>div{margin-bottom:7px}.footer-bottom{background:#17242a;color:#b8c3c8;padding:14px 0;font-size:.8rem;text-align:center}.footer-bottom p{margin:0;color:#b8c3c8}.br,.eua{display:none}.clear{clear:both}.cf-turnstile{margin:12px 0}.notice-static{font-size:.8rem;color:var(--ink-soft);margin-top:8px}.tw-text-featured-500,.tw-text-featured-400{color:var(--gold-dark)!important}.tw-bg-gray-100,.tw-bg-gray-200,.tw-bg-gray-300,.tw-bg-white{background:transparent}.tw-uppercase{text-transform:uppercase}.tw-normal-case{text-transform:none}
@media(max-width:980px){.header-contact .socials{display:none}.menu-toggle{display:block}.main-nav{display:none}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:stretch;padding:8px 20px 16px}.main-nav a{padding:12px 10px}.iw-dflex,.contato>.container,.page-contato>.container,.trabalhe-conosco>.container,.page-blog .container{grid-template-columns:1fr}.trabalhe-conosco>.container>h2,.trabalhe-conosco>.container>p{grid-column:auto}.a-advocacia>.container>ul,.blog>.container>ul,.servicos ul,.valores ul,.diferenciais ul{grid-template-columns:1fr}.oque-fazemos .desk .carousel>ul,.outros-servicos ul{grid-template-columns:repeat(2,1fr)}.diretoria-list{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.page-blog aside{position:static}.hero-slider{min-height:500px}.hero-copy h1{font-size:3.8rem}}
@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.header-top{min-height:72px}.brand img{max-width:180px}.phone{display:none}.hero-slider{height:68vh;min-height:500px}.hero-copy{left:22px;width:calc(100% - 44px)}.hero-copy h1{font-size:2.8rem}.sobre,.a-advocacia,.oque-fazemos,.blog,.contato,.quem-somos,.valores,.servicos,.diferenciais,.equipe,.outros-servicos,.page-contato,.trabalhe-conosco,.page-blog{padding:60px 0}.a-advocacia>.container>ul>li>ul{grid-template-columns:1fr;padding:22px}.oque-fazemos .desk .carousel>ul,.outros-servicos ul,.diretoria-list,.equipe h3+ul:not(.diretoria-list),.footer-grid{grid-template-columns:1fr}.diretoria-list img{height:340px}.blog>.container>ul>li>div:first-child{height:220px!important}.equipe h3+ul:not(.diretoria-list)>li{display:block}.footer-grid{text-align:center}.footer-logo{margin-inline:auto}.footer-selos img{max-height:54px}.socials{display:none}}

/* Contato da home: mapa sob o título e ao lado do formulário */
.contato .contato-layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:64px;
  align-items:start;
}
.contato .contato-info{min-width:0}
.contato .contato-info h2{margin:0 0 34px}
.contato .map-col h3{
  margin:0 0 16px;
  font-family:inherit;
  font-size:1rem;
  line-height:1.5;
  font-weight:700;
  color:#fff;
}
.contato .map-frame{
  width:100%;
  height:360px;
  display:block;
  border-radius:14px;
}
.contato .end-map{
  margin:14px 0 0;
  font-size:.95rem;
  line-height:1.5;
  color:rgba(255,255,255,.78);
}
.contato .form-contat{width:100%;min-width:0}
@media(max-width:980px){
  .contato .contato-layout{grid-template-columns:1fr;gap:42px}
  .contato .contato-info h2{margin-bottom:26px}
  .contato .map-frame{height:330px}
}
@media(max-width:640px){
  .contato .map-frame{height:280px}
}


/* Identidade visual Advocacia Maciel — azul, grafite e cinza */
.site-header{border-bottom-color:rgba(6,60,78,.12)}
.brand img{filter:none}
.main-nav{background:linear-gradient(90deg,#063c4e 0%,#163f4e 100%)}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);border-bottom-color:#9aadb5}
.btn,.button-servicos a,.button-blog a,.iw-link{background:#2f5d70;border-color:#2f5d70}
.btn:hover,.button-servicos a:hover,.button-blog a:hover,.iw-link:hover{background:#063c4e;border-color:#063c4e}
.a-advocacia h2,.oque-fazemos .desk .carousel li a>div,.outros-servicos li a>div,.servicos h3,.servicos h4,.diretoria-list .cargo,.col-equipe .new_infos,.tw-text-featured-500,.tw-text-featured-400{color:#2f5d70!important}
.a-advocacia>.container>ul>li>ul,.oque-fazemos .desk .carousel li,.outros-servicos li,.blog>.container>ul>li,.servicos li,.valores li,.diferenciais li,.diretoria-list li,.col-equipe,.trabalhe-conosco form,.page-blog article,.page-blog .post,.page-blog aside{border-color:#d7dee1}
.contato{background:linear-gradient(135deg,#172b34 0%,#063c4e 100%)!important}
.contato h2 span{color:#c7d2d7}
.submit input,.contato-enviar,.enviar-seja-parte,.enviar-seja-parceiro{background:#4b6777!important;border-color:#4b6777!important}
.submit:hover input,.contato-enviar:hover,.enviar-seja-parte:hover,.enviar-seja-parceiro:hover{background:#69858e!important;border-color:#69858e!important}
.footer-selos{background:#e3e8ea}
.site-footer-main{background:#172b34}
.site-footer-main h4,.site-footer-main a:hover{color:#c7d2d7}

/* José Alberto: retrato dentro do card */
.equipe>.container>img{display:none}
.col-equipe{
  display:grid;
  grid-template-columns:minmax(190px,235px) minmax(0,1fr);
  gap:30px;
  align-items:start;
  background:linear-gradient(145deg,#ffffff 0%,#f5f7f8 100%);
  border-left:4px solid #2f5d70;
  padding:30px;
}
.col-equipe .jose-photo{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center top;
  border-radius:14px;
  border:1px solid #cfd8dc;
  box-shadow:0 12px 28px rgba(6,60,78,.13);
  background:#e3e8ea;
}
.col-equipe-content{min-width:0}
.col-equipe-content>div:first-child{
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:clamp(1.7rem,2.5vw,2.15rem);
  line-height:1.15;
  margin-bottom:5px;
  color:#202b31;
}
.col-equipe-content .new_infos{margin-bottom:14px}
.col-equipe-content .pt p{margin:0;line-height:1.72}
@media(max-width:760px){
  .col-equipe{grid-template-columns:1fr;gap:22px;padding:22px}
  .col-equipe .jose-photo{max-width:280px}
}


/* Refinamento visual V5 — microinterações e movimento */
:root{
  --ease-out:cubic-bezier(.2,.72,.25,1);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --shadow-hover:0 20px 46px rgba(6,60,78,.14),0 4px 12px rgba(32,43,49,.06);
}
body{transition:opacity .18s ease;background:#f1f3f4}
body.page-leaving{opacity:0}
.site-header{transition:box-shadow .28s ease,border-color .28s ease,background .28s ease}
.site-header.scrolled{background:rgba(255,255,255,.985);border-bottom-color:rgba(6,60,78,.16);box-shadow:0 10px 34px rgba(6,60,78,.10)}
.brand img{transition:transform .3s var(--ease-out),filter .3s ease}.brand:hover img{transform:scale(1.018)}

/* navegação */
.main-nav a{position:relative;border-bottom:0;transition:background .22s ease,color .22s ease,transform .22s var(--ease-out)}
.main-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;border-radius:2px;background:#c7d2d7;transform:scaleX(0);transform-origin:center;transition:transform .28s var(--ease-out)}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.main-nav a:hover{transform:translateY(-1px)}

/* botões e elementos clicáveis */
.btn,.button-servicos a,.button-blog a,.iw-link,.submit,.contato-enviar,.enviar-seja-parte,.enviar-seja-parceiro,.menu-toggle,.hero-dot,.socials a{
  transition:transform .24s var(--ease-out),box-shadow .24s ease,background-color .24s ease,border-color .24s ease,color .24s ease,opacity .24s ease;
}
.btn:hover,.button-servicos a:hover,.button-blog a:hover,.iw-link:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(6,60,78,.22)}
.btn:active,.button-servicos a:active,.button-blog a:active,.iw-link:active,.menu-toggle:active{transform:translateY(0) scale(.98)}
.socials a:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 18px rgba(6,60,78,.12);background:#fff}
.hero-dot:hover{transform:scale(1.35);background:rgba(255,255,255,.45)}
.menu-toggle:hover{background:#eef2f3;border-color:#9aadb5;box-shadow:0 7px 18px rgba(6,60,78,.10)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(47,93,112,.30);outline-offset:3px}

/* cards: elevação e borda refinada */
.a-advocacia>.container>ul>li>ul,
.oque-fazemos .desk .carousel li,
.outros-servicos li,
.blog>.container>ul>li,
.servicos li,
.valores li,
.diferenciais li,
.diretoria-list li,
.col-equipe,
.trabalhe-conosco form,
.page-blog article,
.page-blog .post,
.page-blog aside{
  transition:transform .34s var(--ease-out),box-shadow .34s ease,border-color .34s ease,background-color .34s ease;
}
.a-advocacia>.container>ul>li>ul:hover,
.oque-fazemos .desk .carousel li:hover,
.outros-servicos li:hover,
.blog>.container>ul>li:hover,
.servicos li:hover,
.valores li:hover,
.diferenciais li:hover,
.diretoria-list li:hover,
.trabalhe-conosco form:hover,
.page-blog article:hover,
.page-blog .post:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
  border-color:#bdcbd1;
}
.blog>.container>ul>li,.diretoria-list li{overflow:hidden}
.blog>.container>ul>li>div:first-child{transition:transform .65s var(--ease-out),filter .45s ease}
.blog>.container>ul>li:hover>div:first-child{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}
.diretoria-list img{transition:transform .55s var(--ease-out),filter .4s ease}
.diretoria-list li:hover img{transform:scale(1.025);filter:contrast(1.02)}
.a-advocacia li img,.diferenciais img{transition:transform .35s var(--ease-out)}
.a-advocacia li:hover img,.diferenciais li:hover img{transform:translateY(-2px) scale(1.06)}

/* card institucional de José Alberto */
.col-equipe:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#bdcbd1;border-left-color:#063c4e}
.col-equipe .jose-photo{transition:transform .55s var(--ease-out),box-shadow .4s ease,filter .4s ease}
.col-equipe:hover .jose-photo{transform:scale(1.015);box-shadow:0 18px 34px rgba(6,60,78,.17);filter:contrast(1.015)}

/* mapa, imagens e formulários */
.map-frame{transition:transform .35s var(--ease-out),box-shadow .35s ease;box-shadow:0 14px 34px rgba(4,30,40,.22)}
.map-frame:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(4,30,40,.29)}
.quem-somos>.container>p:first-of-type img{transition:transform .65s var(--ease-out),box-shadow .45s ease}
.quem-somos>.container>p:first-of-type img:hover{transform:scale(1.008);box-shadow:0 22px 52px rgba(6,60,78,.17)}
.form-contat input,.form-contat textarea,.seja-parte input,.seja-parceiro input,.trabalhe-conosco input{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}
.form-contat input:hover,.form-contat textarea:hover,.seja-parte input:hover,.seja-parceiro input:hover,.trabalhe-conosco input:hover{border-color:rgba(154,173,181,.75)}
.form-contat input:focus,.form-contat textarea:focus,.seja-parte input:focus,.seja-parceiro input:focus,.trabalhe-conosco input:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(105,133,142,.15),0 8px 20px rgba(6,60,78,.06)}
.submit{border-radius:10px}.submit:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(6,60,78,.20)}

/* hero: crossfade com movimento quase imperceptível */
.hero-slide{transition:opacity 1s ease,visibility 1s ease}
.hero-slide>img{transform:scale(1.018);transition:transform 6.4s linear,filter .8s ease}
.hero-slide.active>img{transform:scale(1.045)}
.hero-copy h1,.hero-copy p{animation:heroIntro .8s var(--ease-out) both}
.hero-copy p{animation-delay:.09s}
@keyframes heroIntro{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* fade/reveal no scroll */
.js .reveal{opacity:0;transform:translateY(24px);filter:blur(1.5px);transition:opacity .68s var(--ease-soft),transform .68s var(--ease-out),filter .68s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.js .reveal.reveal-left{transform:translateX(-22px)}
.js .reveal.reveal-right{transform:translateX(22px)}
.js .reveal.is-visible{opacity:1;transform:translate(0,0);filter:blur(0)}

/* pequenos detalhes visuais */
h2::after{content:"";display:block;width:46px;height:3px;margin-top:14px;border-radius:3px;background:linear-gradient(90deg,#2f5d70,#9aadb5)}
.hero-copy h1::after,.contato h2::after,.footer-grid h4::after,.col-equipe-content>div:first-child::after{display:none}
.footer-selos img{transition:transform .3s var(--ease-out),filter .3s ease,opacity .3s ease;opacity:.86}
.footer-selos img:hover{transform:translateY(-3px) scale(1.035);filter:contrast(1.03);opacity:1}
.site-footer-main a{transition:color .2s ease,opacity .2s ease}.site-footer-main a:hover{opacity:.92}

@media(max-width:980px){
  .main-nav a::after{left:10px;right:auto;width:42px;transform-origin:left}
  .main-nav a:hover{transform:none}
}
@media(max-width:640px){
  .a-advocacia>.container>ul>li>ul:hover,.oque-fazemos .desk .carousel li:hover,.outros-servicos li:hover,.blog>.container>ul>li:hover,.servicos li:hover,.valores li:hover,.diferenciais li:hover,.diretoria-list li:hover,.trabalhe-conosco form:hover,.page-blog article:hover,.page-blog .post:hover,.col-equipe:hover,.map-frame:hover{transform:none}
  .js .reveal,.js .reveal.reveal-left,.js .reveal.reveal-right{transform:translateY(16px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal,.js .reveal.reveal-left,.js .reveal.reveal-right{opacity:1!important;transform:none!important;filter:none!important}
}



/* ===== V7: menu limpo + reflexo grafite sutil no título principal ===== */
.main-nav a,
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  border-bottom:0 !important;
  text-decoration:none !important;
}
.main-nav a::after{display:none !important}

/* Mantém o menu elegante e simples */
.main-nav a{
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background:rgba(255,255,255,.07);
  color:#fff;
  box-shadow:none;
}

/* Efeito apenas no “Advocacia Maciel” da primeira dobra */
.hero-title-metallic{
  position:relative;
  display:inline-block;
  color:#fff;
  background-image:linear-gradient(
    105deg,
    #ffffff 0%,
    #ffffff 34%,
    #edf1f3 40%,
    #a8b1b6 45%,
    #657178 49%,
    #aeb8bd 53%,
    #eef2f4 59%,
    #ffffff 66%,
    #ffffff 100%
  );
  background-size:300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:heroGraphiteSheen 13s linear infinite;
  text-shadow:0 2px 16px rgba(0,0,0,.16);
}

@keyframes heroGraphiteSheen{
  0%{background-position:130% 50%}
  72%{background-position:-35% 50%}
  100%{background-position:-35% 50%}
}

@media (prefers-reduced-motion:reduce){
  .hero-title-metallic{
    animation:none !important;
    -webkit-text-fill-color:#fff;
    color:#fff;
    background:none;
  }
}


/* ===== V4 Glass refinado: header + redes sociais + footer compacto ===== */
.site-header{
  background:rgba(245,248,249,.78) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
  border-bottom:1px solid rgba(47,93,112,.12) !important;
  box-shadow:0 8px 28px rgba(20,42,52,.07) !important;
}
.header-top{
  min-height:68px !important;
  gap:20px !important;
}
.brand{min-width:185px !important}
.brand img{
  max-height:42px !important;
  max-width:205px !important;
}
.header-contact{gap:14px !important}
.socials{gap:7px !important}
.socials a{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border:1px solid rgba(47,93,112,.18) !important;
  background:rgba(255,255,255,.52) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 3px 10px rgba(20,42,52,.05) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.socials a:hover{
  transform:translateY(-2px) scale(1.04) !important;
  background:rgba(255,255,255,.88) !important;
  border-color:rgba(47,93,112,.38) !important;
  box-shadow:0 8px 18px rgba(6,60,78,.10) !important;
}
.socials img{
  display:block !important;
  width:13px !important;
  height:13px !important;
  max-width:13px !important;
  max-height:13px !important;
  object-fit:contain !important;
  opacity:.72;
}
.phone{font-size:.86rem !important}

.main-nav{
  background:linear-gradient(90deg,rgba(6,60,78,.96),rgba(18,63,78,.94)) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
  border-top:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 22px rgba(6,35,46,.12);
}
.main-nav ul{gap:4px !important}
.main-nav a{
  padding:12px 14px !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  transition:background .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease !important;
}
.main-nav a::after{display:none !important}
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background:rgba(255,255,255,.09) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(255,255,255,.04) !important;
  transform:none !important;
}

.footer-selos{
  padding:14px 0 !important;
  background:rgba(226,233,236,.86) !important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.footer-selos .container>div{gap:15px !important}
.footer-selos img{
  max-height:48px !important;
  max-width:94px !important;
}
.site-footer-main{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(18,44,55,.97),rgba(20,52,64,.94)) !important;
  padding:30px 0 26px !important;
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 -12px 30px rgba(9,29,37,.08);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}
.site-footer-main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.055),transparent 30%),
    linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.025) 50%,transparent 58%);
}
.footer-grid{
  position:relative;
  z-index:1;
  grid-template-columns:1.2fr 1fr .72fr !important;
  gap:28px !important;
  align-items:start !important;
}
.footer-logo{
  max-width:185px !important;
  margin-top:2px;
}
.site-footer-main h4{
  margin:0 0 8px !important;
  font-size:.94rem !important;
  color:#d8e1e5 !important;
  letter-spacing:.01em;
}
.site-footer-main a,
.footer-contact div,
.site-footer-main>div>div>div{
  font-size:.90rem !important;
  line-height:1.46 !important;
}
.footer-contact div,
.site-footer-main>div>div>div{
  margin-bottom:4px !important;
}
.site-footer-main a{
  transition:color .2s ease,opacity .2s ease,transform .2s ease;
}
.site-footer-main a:hover{color:#fff !important}
.footer-bottom{
  padding:8px 0 !important;
  font-size:.74rem !important;
  background:#142329 !important;
  border-top:1px solid rgba(255,255,255,.04);
}
.footer-bottom p{line-height:1.35 !important}

@media(max-width:980px){
  .header-top{min-height:64px !important}
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:22px !important}
  .site-footer-main{padding:26px 0 22px !important}
}
@media(max-width:640px){
  .header-top{min-height:60px !important}
  .brand img{max-width:170px !important;max-height:36px !important}
  .footer-grid{grid-template-columns:1fr !important;text-align:center !important;gap:18px !important}
  .footer-logo{margin-inline:auto !important;max-width:165px !important}
  .site-footer-main{padding:24px 0 20px !important}
  .footer-selos{padding:10px 0 !important}
  .footer-selos img{max-height:40px !important;max-width:80px !important}
}


/* ===== V5: glass blur global para barra azul, contato e rodapé ===== */
.main-nav{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(6,60,78,.76),rgba(18,63,78,.72)) !important;
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);
  border-top:1px solid rgba(255,255,255,.10) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(255,255,255,.04), 0 12px 30px rgba(6,35,46,.12) !important;
}
.main-nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 46%),
    radial-gradient(circle at 15% 18%,rgba(255,255,255,.09),transparent 28%),
    linear-gradient(110deg,transparent 0 35%,rgba(255,255,255,.045) 49%,transparent 61%);
}
.main-nav ul{
  position:relative;
  z-index:1;
  min-height:52px;
}
.main-nav a{
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background:rgba(255,255,255,.12) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(9,26,34,.08) !important;
}

.contato,
.page-contato{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(23,43,52,.94) 0%,rgba(6,60,78,.92) 100%) !important;
}
.contato::before,
.page-contato::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 14%,rgba(255,255,255,.08),transparent 26%),
    linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.035) 50%,transparent 58%);
}
.contato > .container,
.page-contato > .container{
  position:relative;
  z-index:1;
  gap:28px !important;
}
.contato .contato-info,
.contato .form-contat,
.page-contato .contato-info,
.page-contato .form-contat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:28px 28px 26px;
  box-shadow:0 18px 40px rgba(4,21,27,.12), inset 0 1px 0 rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}
.contato .contato-info h2,
.page-contato .contato-info h2{margin-top:0 !important}
.contato .map-col,
.page-contato .map-col{background:transparent !important}
.contato .map-frame,
.page-contato .map-frame{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(5,22,28,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.contato .form-contat input,
.contato .form-contat textarea,
.page-contato .form-contat input,
.page-contato .form-contat textarea{
  background:rgba(255,255,255,.11) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.page-contato .form-contat input,
.page-contato .form-contat textarea{
  color:#eef4f6 !important;
}
.page-contato .form-contat input::placeholder,
.page-contato .form-contat textarea::placeholder,
.contato .form-contat input::placeholder,
.contato .form-contat textarea::placeholder{color:rgba(233,241,244,.68) !important}

.site-footer-main{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(18,44,55,.90),rgba(20,52,64,.86)) !important;
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  backdrop-filter:blur(24px) saturate(145%);
  border-top:1px solid rgba(255,255,255,.09) !important;
}
.site-footer-main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 16%,rgba(255,255,255,.08),transparent 28%),
    radial-gradient(circle at 88% 86%,rgba(255,255,255,.045),transparent 24%),
    linear-gradient(110deg,transparent 0 39%,rgba(255,255,255,.03) 50%,transparent 61%);
}
.footer-grid{
  position:relative;
  z-index:1;
  padding:22px 24px;
  border-radius:24px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 40px rgba(5,24,31,.12), inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
}
.footer-bottom{
  background:rgba(20,35,41,.88) !important;
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  backdrop-filter:blur(16px) saturate(130%);
}

@media(max-width:980px){
  .contato .contato-info,
  .contato .form-contat,
  .page-contato .contato-info,
  .page-contato .form-contat{padding:24px 22px}
  .footer-grid{padding:20px 20px}
}
@media(max-width:640px){
  .main-nav ul{min-height:auto}
  .contato .contato-info,
  .contato .form-contat,
  .page-contato .contato-info,
  .page-contato .form-contat{padding:20px 18px 18px;border-radius:18px}
  .footer-grid{padding:18px 16px;border-radius:18px}
}


/* ===== Otimização e carrossel compacto de Serviços ===== */
.oque-fazemos{padding:64px 0 !important;overflow:hidden}
.oque-fazemos>.container>h2{margin-bottom:24px !important}
.services-carousel{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px}
.services-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:7px 3px 12px}
.services-viewport::-webkit-scrollbar{display:none}
.services-track{display:flex!important;gap:14px!important;list-style:none!important;padding:0!important;margin:0!important;width:max-content!important}
.services-slide{flex:0 0 clamp(255px,24vw,315px);scroll-snap-align:start;padding:0!important;margin:0!important;min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.services-slide:hover{transform:none!important;box-shadow:none!important}
.services-slide .service-card{height:168px;min-height:168px;grid-template-columns:minmax(0,1fr) 82px;border:1px solid #d7dee1;border-radius:15px;overflow:hidden;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(20,42,52,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.services-slide .service-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(20,42,52,.13);border-color:#bccbd1}
.services-slide .service-card-copy{padding:17px 14px 15px 17px;gap:8px;overflow:hidden}
.services-slide .service-card-title{font-size:.91rem;line-height:1.25}
.services-slide .service-card-copy p{font-size:.83rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.services-slide .service-card-media{border-left:1px solid #d7dee1}
.services-slide .service-card-media img{width:100%;height:100%;object-fit:cover}
.services-arrow{width:42px;height:42px;border:1px solid rgba(47,93,112,.24);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.76);color:#2f5d70;font:500 2rem/1 Georgia,serif;cursor:pointer;box-shadow:0 8px 20px rgba(20,42,52,.08);backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease;z-index:3}
.services-arrow:hover:not(:disabled){transform:scale(1.06);background:#fff;box-shadow:0 11px 26px rgba(20,42,52,.14)}
.services-arrow:disabled{opacity:.28;cursor:default;box-shadow:none}
.oque-fazemos .button-servicos{margin-top:18px!important}
.oque-fazemos .button-servicos a{min-height:42px;padding:9px 18px;font-size:.86rem}

/* renderização mais econômica fora da viewport */
.blog,.contato,.site-footer-main,.footer-selos,.outros-servicos{content-visibility:auto;contain-intrinsic-size:1px 700px}

@media(max-width:700px){
 .oque-fazemos{padding:50px 0!important}
 .services-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px}
 .services-arrow{width:34px;height:34px;font-size:1.65rem}
 .services-slide{flex-basis:min(79vw,285px)}
 .services-slide .service-card{height:158px;min-height:158px;grid-template-columns:minmax(0,1fr) 72px}
 .services-slide .service-card-copy{padding:15px 12px 14px 15px}
}


/* ===== AJUSTE FINAL: cards de Serviços + Contato mais compacto ===== */
/* Serviços da home: imagem padrão, larga e baixa */
.oque-fazemos{padding:52px 0 !important}
.oque-fazemos>.container>h2{margin-bottom:20px !important}
.services-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:10px}
.services-arrow{width:38px;height:38px;font-size:1.8rem}
.services-viewport{padding:5px 2px 10px}
.services-track{gap:12px!important}
.services-slide{flex:0 0 clamp(235px,22vw,280px)}
.services-slide .service-card{
  height:188px !important;
  min-height:188px !important;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  border-radius:14px;
}
.services-slide .service-card-media{
  order:-1;
  position:relative;
  width:100%;
  height:62px !important;
  min-height:62px !important;
  flex:0 0 62px !important;
  border-left:0 !important;
  border-bottom:1px solid #d7dee1;
  overflow:hidden;
  background:#dfe7ea;
}
.services-slide .service-card-media img{
  display:block;
  width:100% !important;
  height:62px !important;
  max-height:62px !important;
  object-fit:cover !important;
  object-position:center !important;
}
.services-slide .service-card-copy{
  flex:1 1 auto;
  padding:13px 14px 12px !important;
  gap:6px !important;
  min-height:0;
}
.services-slide .service-card-title{font-size:.88rem !important;line-height:1.2}
.services-slide .service-card-copy p{
  font-size:.79rem !important;
  line-height:1.42 !important;
  -webkit-line-clamp:3 !important;
}
.oque-fazemos .button-servicos{margin-top:14px!important}
.oque-fazemos .button-servicos a{min-height:38px!important;padding:7px 16px!important;font-size:.82rem!important}

/* Entre em contato: mesma estética glass, porém mais enxuta */
.contato,.page-contato{padding:50px 0 !important}
.contato > .container,.page-contato > .container{gap:22px !important}
.contato .contato-info,
.contato .form-contat,
.page-contato .contato-info,
.page-contato .form-contat{
  padding:20px 22px 18px !important;
  border-radius:18px !important;
}
.contato .contato-info h2,
.page-contato .contato-info h2{
  margin:0 0 18px !important;
  font-size:clamp(2rem,3.1vw,3.15rem) !important;
}
.contato .map-col h3,
.page-contato .map-col h3{
  margin:0 0 10px !important;
  font-size:.96rem !important;
  line-height:1.4 !important;
}
.contato .map-frame,
.page-contato .map-frame{
  height:225px !important;
  border-radius:14px !important;
}
.contato .end-map,
.page-contato .end-map{
  margin:8px 0 0 !important;
  font-size:.82rem !important;
}
.contato .form-contat,
.page-contato .form-contat{
  font-size:.82rem !important;
}
.contato .contato-content,
.page-contato .contato-content{
  margin-bottom:9px !important;
}
.contato .form-contat input,
.page-contato .form-contat input{
  min-height:40px !important;
  height:40px !important;
  padding:8px 11px !important;
  border-radius:9px !important;
  font-size:.88rem !important;
}
.contato .form-contat textarea,
.page-contato .form-contat textarea{
  min-height:105px !important;
  height:105px !important;
  padding:9px 11px !important;
  border-radius:9px !important;
  font-size:.88rem !important;
}
.contato .textarea,
.page-contato .textarea{margin:3px 0 9px !important}
.contato .cf-turnstile,
.page-contato .cf-turnstile{margin:6px 0 !important;transform:scale(.88);transform-origin:left top}
.contato .submit,
.page-contato .submit{width:166px !important}
.contato .submit input,
.page-contato .submit input{height:40px !important;min-height:40px !important}
.contato .submit:after,
.page-contato .submit:after{font-size:.86rem !important}

@media(max-width:700px){
  .oque-fazemos{padding:44px 0!important}
  .services-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}
  .services-arrow{width:32px;height:32px;font-size:1.5rem}
  .services-slide{flex-basis:min(78vw,260px)}
  .services-slide .service-card{height:182px!important;min-height:182px!important}
  .services-slide .service-card-media,.services-slide .service-card-media img{height:58px!important;min-height:58px!important;max-height:58px!important}
  .contato,.page-contato{padding:42px 0!important}
  .contato .contato-info,.contato .form-contat,.page-contato .contato-info,.page-contato .form-contat{padding:18px 16px 16px!important}
  .contato .map-frame,.page-contato .map-frame{height:205px!important}
}


/* ===== V6: navegação ativa mais profissional ===== */
.main-nav a,
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  position:relative;
  background:transparent !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  border-radius:12px !important;
}
.main-nav a{
  margin:0 1px;
  color:rgba(255,255,255,.92) !important;
  transition:color .24s ease, opacity .24s ease !important;
}
.main-nav a::before{
  content:"";
  position:absolute;
  inset:6px 4px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  opacity:0;
  transition:opacity .24s ease;
  pointer-events:none;
}
.main-nav a::after{
  display:block !important;
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  width:0;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(226,235,239,.95) 50%, rgba(255,255,255,0));
  opacity:0;
  transition:width .26s ease, opacity .26s ease;
  pointer-events:none;
}
.main-nav a:hover{
  color:#fff !important;
}
.main-nav a:hover::before{
  opacity:.42;
}
.main-nav a:hover::after{
  width:24px;
  opacity:.9;
}
.main-nav a.active,
.main-nav a[aria-current="page"]{
  color:#fff !important;
  font-weight:700;
  text-shadow:0 1px 8px rgba(0,0,0,.08);
}
.main-nav a.active::before,
.main-nav a[aria-current="page"]::before{
  opacity:.28;
}
.main-nav a.active::after,
.main-nav a[aria-current="page"]::after{
  width:34px;
  opacity:1;
}
@media(max-width:980px){
  .main-nav a{margin:0}
  .main-nav a::before{inset:4px 0}
  .main-nav a::after{left:12px;bottom:8px;transform:none}
  .main-nav a:hover::after,
  .main-nav a.active::after,
  .main-nav a[aria-current="page"]::after{width:30px}
}


/* ===== V7: glass real no menu + botões 3D globais ===== */
.site-header{
  background:transparent !important;
  box-shadow:none !important;
  border-bottom:0 !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.header-top{
  background:rgba(246,249,250,.72) !important;
  -webkit-backdrop-filter:blur(22px) saturate(145%) !important;
  backdrop-filter:blur(22px) saturate(145%) !important;
  box-shadow:inset 0 -1px 0 rgba(47,93,112,.09);
}
.main-nav{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(14,66,83,.58),rgba(25,73,88,.54)) !important;
  -webkit-backdrop-filter:blur(28px) saturate(165%) brightness(.94) !important;
  backdrop-filter:blur(28px) saturate(165%) brightness(.94) !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -1px 0 rgba(255,255,255,.05),
    0 10px 28px rgba(4,30,40,.13) !important;
}
.main-nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.015) 46%,rgba(255,255,255,0)),
    linear-gradient(105deg,transparent 0 36%,rgba(255,255,255,.05) 49%,transparent 62%);
}
.main-nav ul{position:relative;z-index:1}

/* Botões principais: glass, relevo e sensação 3D */
.btn,
.button-servicos a,
.button-blog a,
.iw-link,
.submit,
.contato-enviar,
.enviar-seja-parte,
.enviar-seja-parceiro{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.24) !important;
  background:linear-gradient(180deg,rgba(62,126,151,.76),rgba(37,91,113,.72)) !important;
  -webkit-backdrop-filter:blur(12px) saturate(145%) !important;
  backdrop-filter:blur(12px) saturate(145%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -3px 0 rgba(4,37,50,.26),
    0 5px 0 rgba(4,43,59,.18),
    0 12px 26px rgba(3,29,39,.18) !important;
  transform:translateY(0);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background .2s ease !important;
}
.btn::before,
.button-servicos a::before,
.button-blog a::before,
.iw-link::before{
  content:"";
  position:absolute;
  top:-55%;
  left:-48%;
  width:25%;
  height:210%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(230,239,243,.30),rgba(255,255,255,.08),transparent);
  pointer-events:none;
  animation:buttonGlassSweep 5.8s linear infinite;
}
.btn::after,
.button-servicos a::after,
.button-blog a::after,
.iw-link::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.09),transparent 42%);
  pointer-events:none;
  z-index:-1;
}
.btn:hover,
.button-servicos a:hover,
.button-blog a:hover,
.iw-link:hover,
.submit:hover,
.contato-enviar:hover,
.enviar-seja-parte:hover,
.enviar-seja-parceiro:hover{
  transform:translateY(-3px) !important;
  filter:brightness(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -3px 0 rgba(4,37,50,.29),
    0 7px 0 rgba(4,43,59,.17),
    0 18px 34px rgba(3,29,39,.23) !important;
}
.btn:active,
.button-servicos a:active,
.button-blog a:active,
.iw-link:active,
.submit:active,
.contato-enviar:active,
.enviar-seja-parte:active,
.enviar-seja-parceiro:active{
  transform:translateY(2px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(4,37,50,.25),
    0 2px 0 rgba(4,43,59,.16),
    0 7px 16px rgba(3,29,39,.16) !important;
}
@keyframes buttonGlassSweep{
  from{left:-48%}
  to{left:128%}
}
@media(prefers-reduced-motion:reduce){
  .btn::before,.button-servicos a::before,.button-blog a::before,.iw-link::before{animation:none !important}
}


/* ===== V8: header coeso + cor fixa do menu + submit corrigido ===== */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:90 !important;
  overflow:visible !important;
  background:rgba(235,241,243,.91) !important;
  -webkit-backdrop-filter:blur(20px) saturate(135%) !important;
  backdrop-filter:blur(20px) saturate(135%) !important;
  border-bottom:1px solid rgba(9,48,61,.16) !important;
  box-shadow:0 8px 26px rgba(5,28,37,.10) !important;
}
.header-top{
  background:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.site-header.scrolled{
  background:rgba(226,235,238,.94) !important;
  box-shadow:0 10px 30px rgba(5,28,37,.14) !important;
}

.main-nav{
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,
    rgba(14,67,83,.97) 0%,
    rgba(20,76,87,.96) 45%,
    rgba(70,96,66,.95) 100%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(125%) !important;
  backdrop-filter:blur(14px) saturate(125%) !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
  border-bottom:1px solid rgba(255,255,255,.15) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.08),
    0 7px 18px rgba(3,27,35,.12) !important;
}
.main-nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.07),transparent 48%),
    linear-gradient(100deg,transparent 0 44%,rgba(255,255,255,.025) 51%,transparent 58%);
}
.main-nav ul{position:relative;z-index:1}

/* Corrige o submit: somente um elemento visual, sem botão dentro de botão */
.submit{
  width:166px !important;
  height:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.submit::before,
.submit::after{
  display:none !important;
  content:none !important;
}
.submit input,
.contato-enviar{
  display:block !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  margin:0 !important;
  padding:0 18px !important;
  border-radius:11px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  font-size:.86rem !important;
  line-height:40px !important;
  font-weight:750 !important;
  color:#fff !important;
  cursor:pointer !important;
  background:linear-gradient(180deg,rgba(67,132,157,.90),rgba(39,91,113,.92)) !important;
  -webkit-backdrop-filter:blur(10px) saturate(135%) !important;
  backdrop-filter:blur(10px) saturate(135%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(4,37,50,.20),
    0 4px 0 rgba(4,43,59,.16),
    0 9px 18px rgba(3,29,39,.16) !important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease !important;
}
.submit input:hover,
.contato-enviar:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.06) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -2px 0 rgba(4,37,50,.23),
    0 6px 0 rgba(4,43,59,.15),
    0 13px 24px rgba(3,29,39,.20) !important;
}
.submit input:active,
.contato-enviar:active{
  transform:translateY(1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.23),
    inset 0 -1px 0 rgba(4,37,50,.18),
    0 2px 0 rgba(4,43,59,.13),
    0 6px 12px rgba(3,29,39,.14) !important;
}

@media(max-width:980px){
  .site-header{background:rgba(235,241,243,.96) !important}
}


/* ===== V9: botões em paralelogramo + controles manuais do hero ===== */
/* Mantém as cores/efeitos existentes e altera somente a geometria dos CTAs. */
.btn,
.button-servicos a,
.button-blog a,
.iw-link,
.submit,
.contato-enviar,
.enviar-seja-parte,
.enviar-seja-parceiro,
.enviar-busca-resp,
.enviar-busca,
.carregar-seja-parte,
.link-post{
  border-radius:0 !important;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  -webkit-clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  padding-left:28px !important;
  padding-right:28px !important;
}
.btn::after,
.button-servicos a::after,
.button-blog a::after,
.iw-link::after{
  border-radius:0 !important;
}

/* Setas do carrossel principal: discretas, com glass e sempre acessíveis. */
.hero-arrow{
  position:absolute;
  top:50%;
  z-index:6;
  width:48px;
  height:58px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  padding:0;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(6,60,78,.42);
  color:#fff;
  font-size:2.25rem;
  line-height:1;
  cursor:pointer;
  -webkit-backdrop-filter:blur(12px) saturate(135%);
  backdrop-filter:blur(12px) saturate(135%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 26px rgba(0,0,0,.18);
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  -webkit-clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  transition:background .2s ease,transform .2s ease,filter .2s ease;
}
.hero-arrow-prev{left:24px}
.hero-arrow-next{right:24px}
.hero-arrow:hover{
  background:rgba(47,93,112,.78);
  transform:translateY(-50%) scale(1.04);
  filter:brightness(1.08);
}
.hero-arrow:active{transform:translateY(-50%) scale(.97)}
.hero-arrow:focus-visible{outline:3px solid rgba(117,184,207,.72);outline-offset:4px}

@media(max-width:640px){
  .hero-arrow{width:40px;height:50px;font-size:1.8rem}
  .hero-arrow-prev{left:10px}
  .hero-arrow-next{right:10px}
  .hero-copy{padding-inline:30px}
  .btn,.button-servicos a,.button-blog a,.iw-link,.submit,.contato-enviar,.enviar-seja-parte,.enviar-seja-parceiro,.enviar-busca-resp,.enviar-busca,.carregar-seja-parte,.link-post{
    clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);
    -webkit-clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);
  }
}

/* ===== V10: correção dos submits + contraste da página Contato ===== */
/* O wrapper não deve receber o recorte em paralelogramo; somente o botão real. */
.submit,
.contato .submit,
.page-contato .submit{
  width:196px !important;
  height:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.submit::before,
.submit::after,
.contato .submit::before,
.contato .submit::after,
.page-contato .submit::before,
.page-contato .submit::after{
  display:none !important;
  content:none !important;
}

/* Paralelogramo aplicado somente ao input clicável, com espaço suficiente para o texto. */
.submit input,
.contato .submit input,
.page-contato .submit input,
.contato-enviar{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:196px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 30px !important;
  border-radius:0 !important;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%) !important;
  -webkit-clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%) !important;
  font-size:.86rem !important;
  line-height:42px !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* Página Contato: textos claros e azulados para acompanhar o fundo grafite/azul. */
.page-contato{
  color:#dce9ee !important;
}
.page-contato > .container > h3:first-child{
  color:#76abc0 !important;
  text-shadow:0 1px 0 rgba(0,0,0,.10) !important;
}
.page-contato > .container > p{
  color:#b9ccd4 !important;
}
.page-contato .form-contat{
  color:#d6e5eb !important;
}
.page-contato .map-col h3{
  color:#dce9ee !important;
}
.page-contato .map-col .end-map{
  color:#a9c3cd !important;
}
.page-contato .form-contat input,
.page-contato .form-contat textarea{
  color:#edf5f7 !important;
}
.page-contato .form-contat input::placeholder,
.page-contato .form-contat textarea::placeholder{
  color:rgba(220,233,238,.62) !important;
}

@media(max-width:640px){
  .submit,
  .contato .submit,
  .page-contato .submit,
  .submit input,
  .contato .submit input,
  .page-contato .submit input,
  .contato-enviar{
    width:188px !important;
  }
  .submit input,
  .contato .submit input,
  .page-contato .submit input,
  .contato-enviar{
    padding-inline:26px !important;
    clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%) !important;
    -webkit-clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%) !important;
  }
}

/* ===== V11: página Contato — composição institucional refinada ===== */
.contact-page{
  position:relative;
  overflow:hidden;
  padding:72px 0 82px !important;
  background:
    radial-gradient(circle at 12% 10%,rgba(111,169,191,.13),transparent 32%),
    radial-gradient(circle at 92% 72%,rgba(95,143,160,.10),transparent 30%),
    linear-gradient(135deg,#152b34 0%,#0b3d4e 52%,#123846 100%) !important;
  color:#eaf3f6 !important;
}
.contact-page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 86%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 86%);
}
.contact-page-shell{position:relative;z-index:1}
.contact-hero{max-width:760px;margin:0 0 42px}
.contact-eyebrow,.contact-card-kicker{
  display:inline-block;
  margin-bottom:12px;
  color:#8eb9c9;
  font-size:.74rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.contact-hero h1{
  margin:0 0 15px;
  color:#f7fbfc;
  font-size:clamp(2.7rem,5vw,4.55rem);
  line-height:1.03;
  letter-spacing:-.035em;
}
.contact-hero h1 span{color:#78adc1}
.contact-hero p{
  max-width:700px;
  margin:0;
  color:rgba(225,239,244,.75) !important;
  font-size:1.02rem;
  line-height:1.75;
}
.contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:24px;
  align-items:stretch;
}
.contact-form-card,.contact-info-panel{
  min-width:0;
  border:1px solid rgba(163,204,219,.20);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.052));
  box-shadow:0 24px 62px rgba(0,17,24,.24),inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.contact-form-card{padding:30px 32px 32px}
.contact-info-panel{padding:30px;display:flex;flex-direction:column}
.contact-card-heading{margin-bottom:23px}
.contact-card-heading h2,.contact-info-top h2{
  margin:0 0 9px;
  color:#f4f9fb !important;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:clamp(1.65rem,2.5vw,2.25rem);
  letter-spacing:-.02em;
}
.contact-card-heading p,.contact-info-top p{
  margin:0;
  color:rgba(218,234,240,.67) !important;
  font-size:.92rem;
  line-height:1.65;
}
.contact-page .form-contat{padding:0 !important;font-size:inherit !important;color:#dcebf0 !important}
.contact-field{margin-bottom:16px}
.contact-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-field label{
  display:block;
  margin:0 0 7px;
  color:#cfe0e6;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-page .form-contat input:not([type="submit"]),
.contact-page .form-contat textarea{
  width:100% !important;
  height:auto !important;
  min-height:48px !important;
  padding:12px 14px !important;
  color:#f1f7f9 !important;
  background:rgba(7,39,50,.44) !important;
  border:1px solid rgba(179,211,222,.20) !important;
  border-radius:10px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.contact-page .form-contat textarea{min-height:128px !important;resize:vertical}
.contact-page .form-contat input:not([type="submit"]):hover,
.contact-page .form-contat textarea:hover{border-color:rgba(156,198,213,.42) !important}
.contact-page .form-contat input:not([type="submit"]):focus,
.contact-page .form-contat textarea:focus{
  border-color:#79aec2 !important;
  background:rgba(7,39,50,.62) !important;
  box-shadow:0 0 0 3px rgba(121,174,194,.13) !important;
  transform:none !important;
}
.contact-page .form-contat input::placeholder,.contact-page .form-contat textarea::placeholder{color:rgba(221,236,241,.42) !important}
.contact-form-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:4px}
.contact-page .cf-turnstile{margin:0 !important;transform:scale(.86);transform-origin:left bottom}
.contact-page .submit{flex:0 0 196px;margin-left:auto}
.contact-page .submit input{
  width:196px !important;
  height:44px !important;
  min-height:44px !important;
  background:linear-gradient(135deg,#3d7186,#28576a) !important;
  border:1px solid rgba(164,207,222,.34) !important;
  box-shadow:0 10px 24px rgba(0,22,31,.22) !important;
}
.contact-page .submit input:hover{background:linear-gradient(135deg,#4d8297,#32677b) !important;box-shadow:0 14px 30px rgba(0,22,31,.28) !important}
.contact-info-top{padding-bottom:20px;border-bottom:1px solid rgba(176,207,218,.15)}
.contact-methods{display:grid;gap:3px;margin:14px 0 20px}
.contact-method{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding:13px 10px;
  border-radius:12px;
  transition:background .22s ease,transform .22s ease;
}
a.contact-method:hover{background:rgba(255,255,255,.055);transform:translateX(3px)}
.contact-method-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid rgba(142,185,201,.22);
  background:rgba(89,139,157,.13);
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.contact-method-icon svg{width:18px;height:18px;fill:#8eb9c9}
.contact-method small{display:block;margin-bottom:2px;color:rgba(201,220,227,.56);font-size:.69rem;font-weight:800;letter-spacing:.095em;text-transform:uppercase}
.contact-method strong{display:block;color:#eaf4f7;font-size:.89rem;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
.contact-map-wrap{margin-top:auto;overflow:hidden;border:1px solid rgba(168,204,216,.18);border-radius:16px;background:rgba(7,35,45,.36)}
.contact-page .map-frame{display:block;width:100%;height:250px !important;border-radius:0 !important;box-shadow:none !important;filter:saturate(.78) contrast(.96)}
.contact-page .map-frame:hover{transform:none !important;box-shadow:none !important}
.contact-map-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;color:rgba(213,230,236,.66);font-size:.76rem;line-height:1.4}
.contact-map-caption span:first-child{color:#e5f0f4;font-weight:750}
@media(max-width:980px){
  .contact-main-grid{grid-template-columns:1fr}
  .contact-info-panel{min-height:auto}
  .contact-page .map-frame{height:300px !important}
}
@media(max-width:640px){
  .contact-page{padding:52px 0 62px !important}
  .contact-hero{margin-bottom:30px}
  .contact-hero h1{font-size:clamp(2.35rem,12vw,3.3rem)}
  .contact-form-card,.contact-info-panel{padding:22px 18px;border-radius:18px}
  .contact-fields-row{grid-template-columns:1fr;gap:0}
  .contact-form-footer{align-items:flex-start;flex-direction:column}
  .contact-page .cf-turnstile{max-width:100%;transform:scale(.78);transform-origin:left top;margin-bottom:-12px !important}
  .contact-page .submit{margin-left:0 !important}
  .contact-page .map-frame{height:235px !important}
  .contact-map-caption{flex-direction:column;gap:2px}
}


/* ===== V12: Contato corrigido + prêmios visíveis em todas as páginas ===== */
/* A regra antiga .page-contato > .container transformava o shell inteiro em grid,
   comprimindo formulário e mapa. O shell da nova página deve voltar a ser um bloco. */
.contact-page > .contact-page-shell{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  align-items:initial !important;
  padding-top:0 !important;
}
.contact-page .contact-hero{
  width:min(100%,820px);
  max-width:820px;
  margin:0 0 34px !important;
}
.contact-page .contact-main-grid{
  width:100%;
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.contact-page .contact-form-card{
  padding:34px 36px 36px;
}
.contact-page .contact-info-panel{
  padding:34px;
}
.contact-page .contact-fields-row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
}
.contact-page .contact-field,
.contact-page .contact-fields-row > .contact-field{
  min-width:0;
}
.contact-page .form-contat input:not([type="submit"]),
.contact-page .form-contat textarea{
  display:block;
  box-sizing:border-box;
  max-width:100%;
}
.contact-page .contact-map-wrap{margin-top:24px}
.contact-page .map-frame{height:280px !important}

/* Prêmios agora são uma seção autônoma, imediatamente anterior ao footer. */
.awards-section{
  position:relative;
  overflow:hidden;
  padding:42px 0 44px;
  background:linear-gradient(180deg,#edf2f4 0%,#e4ebee 100%);
  border-top:1px solid rgba(49,85,99,.12);
  border-bottom:1px solid rgba(49,85,99,.16);
  content-visibility:auto;
  contain-intrinsic-size:1px 300px;
}
.awards-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 0,rgba(76,126,145,.11),transparent 42%);
}
.awards-inner{position:relative;z-index:1}
.awards-heading{text-align:center;margin-bottom:28px}
.awards-heading span{
  display:block;
  margin-bottom:7px;
  color:#527f90;
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
}
.awards-heading h2{
  margin:0;
  color:#183743;
  font-family:"Oswald","Arial Narrow",Arial,sans-serif;
  font-size:clamp(1.7rem,2.7vw,2.35rem);
  line-height:1.12;
}
.awards-logos{
  display:grid;
  grid-template-columns:repeat(6,minmax(105px,1fr));
  align-items:center;
  justify-items:center;
  gap:22px;
  width:min(100%,1040px);
  margin:0 auto;
}
.awards-logos img{
  width:auto !important;
  max-width:145px !important;
  height:118px !important;
  max-height:118px !important;
  object-fit:contain;
  opacity:.98 !important;
  filter:none;
  transition:transform .24s ease,filter .24s ease;
}
.awards-logos img:hover{transform:translateY(-4px) scale(1.035);filter:drop-shadow(0 8px 10px rgba(18,53,66,.14))}

@media(max-width:980px){
  .contact-page .contact-main-grid{grid-template-columns:1fr !important}
  .contact-page .contact-info-panel{min-height:auto}
  .contact-page .map-frame{height:310px !important}
  .awards-logos{grid-template-columns:repeat(3,minmax(105px,1fr));row-gap:26px}
  .awards-logos img{height:108px !important;max-height:108px !important}
}
@media(max-width:640px){
  .contact-page .contact-form-card,.contact-page .contact-info-panel{padding:22px 18px !important}
  .contact-page .contact-fields-row{grid-template-columns:1fr !important;gap:0 !important}
  .awards-section{padding:34px 0 36px}
  .awards-heading{margin-bottom:22px}
  .awards-logos{grid-template-columns:repeat(2,minmax(100px,1fr));gap:22px 16px}
  .awards-logos img{height:100px !important;max-height:100px !important;max-width:125px !important}
}

/* ===== V13: contato com fundo institucional + alinhamentos corrigidos ===== */
.contact-page{
  background:
    linear-gradient(90deg,rgba(8,25,34,.76) 0%,rgba(8,29,40,.67) 34%,rgba(7,34,45,.72) 100%),
    url("../images/contact-bg.webp") center center / cover no-repeat !important;
  color:#edf6f9 !important;
}
.contact-page::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,0) 34%,rgba(0,0,0,.08) 100%) !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.contact-page-shell{
  width:min(100%,1180px);
  margin:0 auto;
}
.contact-page .contact-hero{
  max-width:760px !important;
  margin:0 0 38px !important;
}
.contact-hero h1{
  max-width:680px;
  text-wrap:balance;
}
.contact-hero p{
  max-width:760px;
  color:rgba(236,244,247,.86) !important;
}
.contact-page .contact-main-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
  gap:32px !important;
  align-items:start !important;
}
.contact-page .contact-form-card,
.contact-page .contact-info-panel{
  background:linear-gradient(180deg,rgba(11,37,48,.82),rgba(14,46,58,.74)) !important;
  border:1px solid rgba(179,208,219,.18) !important;
  box-shadow:0 22px 52px rgba(0,15,22,.24), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.contact-page .contact-form-card{
  padding:34px 36px 36px !important;
}
.contact-page .contact-info-panel{
  padding:34px !important;
}
.contact-card-heading,
.contact-info-top{
  max-width:100%;
}
.contact-card-heading p,
.contact-info-top p{
  color:rgba(224,238,243,.78) !important;
}
.contact-page .form-contat{
  width:100%;
}
.contact-page .contact-fields-row{
  align-items:start;
}
.contact-page .contact-field{
  width:100%;
}
.contact-page .form-contat input:not([type="submit"]),
.contact-page .form-contat textarea{
  width:100% !important;
  max-width:100% !important;
}
.contact-form-footer{
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:18px !important;
}
.contact-page .cf-turnstile{
  transform:none !important;
  transform-origin:left top !important;
}
.contact-page .submit{
  width:220px !important;
  flex:0 0 220px !important;
  margin-left:0 !important;
}
.contact-page .submit input{
  width:220px !important;
}
.contact-methods{
  gap:10px !important;
  margin:16px 0 22px !important;
}
.contact-method{
  padding:14px 12px !important;
}
.contact-map-wrap{
  margin-top:22px !important;
}
.contact-page .map-frame{
  height:300px !important;
}
@media(max-width:980px){
  .contact-page .contact-main-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .contact-page .contact-form-card,
  .contact-page .contact-info-panel{
    padding:28px !important;
  }
}
@media(max-width:640px){
  .contact-page{
    background-position:center center !important;
  }
  .contact-page .contact-hero{
    margin-bottom:26px !important;
  }
  .contact-page .contact-form-card,
  .contact-page .contact-info-panel{
    padding:22px 18px !important;
  }
  .contact-form-footer{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .contact-page .submit,
  .contact-page .submit input{
    width:100% !important;
    flex:0 0 auto !important;
  }
  .contact-page .map-frame{
    height:240px !important;
  }
}


/* ===== V15: navegação azul glass (sem verde) + otimização sem remover efeitos ===== */
.main-nav{
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  background:linear-gradient(100deg,
    rgba(7,54,73,.86) 0%,
    rgba(10,68,91,.82) 48%,
    rgba(17,78,103,.78) 100%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(145%) !important;
  backdrop-filter:blur(18px) saturate(145%) !important;
  border-top:1px solid rgba(210,235,244,.14) !important;
  border-bottom:1px solid rgba(203,232,242,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,20,31,.20),
    0 8px 24px rgba(2,31,43,.18) !important;
  transform:translateZ(0);
}
.main-nav::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.015) 46%,transparent 72%),
    linear-gradient(105deg,transparent 0 34%,rgba(191,230,244,.055) 49%,transparent 63%) !important;
}
.main-nav::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(178,221,238,.48),transparent);
  z-index:0;
}
.main-nav ul{position:relative !important;z-index:1 !important}
.main-nav a{
  color:#f2f8fb !important;
  text-shadow:0 1px 2px rgba(0,18,28,.24);
}
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background:rgba(125,190,215,.10) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Performance: preserva sombras, glass, hover e animações visuais. */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
img{content-visibility:auto}
.hero-slide,
.hero-slide>img,
.main-nav,
.site-header{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero-slide>img{
  transform:translateZ(0) scale(1.018);
}
.hero-slide.active>img{
  transform:translateZ(0) scale(1.045);
}
.btn,.button-servicos a,.button-blog a,.iw-link,
.socials a,.menu-toggle,.hero-dot,
.a-advocacia>.container>ul>li>ul,
.oque-fazemos .desk .carousel li,
.outros-servicos li,.blog>.container>ul>li,
.servicos li,.valores li,.diferenciais li,
.diretoria-list li,.col-equipe,
.trabalhe-conosco form,.page-blog article,.page-blog .post,
.map-frame,.awards-logos img{
  will-change:auto;
}
.a-advocacia,.oque-fazemos,.blog,.contato,
.quem-somos,.servicos,.equipe,.trabalhe-conosco,
.page-blog,.awards-section,.site-footer-main{
  content-visibility:auto;
  contain-intrinsic-size:1px 700px;
}
.main-nav a,.btn,.button-servicos a,.button-blog a,.iw-link,
.socials a,.menu-toggle,.hero-dot{
  transition-property:transform,opacity,background-color,border-color,box-shadow,color !important;
}
@media(max-width:980px){
  .main-nav{
    background:linear-gradient(180deg,rgba(7,54,73,.94),rgba(13,73,97,.92)) !important;
  }
}


/* ===== V16: glass mais intenso sem sacrificar fluidez ===== */
.site-header{
  background:rgba(242,248,251,.58) !important;
  -webkit-backdrop-filter:blur(20px) saturate(150%) !important;
  backdrop-filter:blur(20px) saturate(150%) !important;
  border-bottom:1px solid rgba(150,193,211,.22) !important;
  box-shadow:0 8px 26px rgba(13,48,64,.08),inset 0 1px 0 rgba(255,255,255,.74) !important;
}
.main-nav{
  background:linear-gradient(100deg,rgba(7,53,73,.74),rgba(8,66,89,.70) 48%,rgba(13,77,103,.68)) !important;
  -webkit-backdrop-filter:blur(24px) saturate(165%) !important;
  backdrop-filter:blur(24px) saturate(165%) !important;
  border-top:1px solid rgba(215,239,248,.16) !important;
  border-bottom:1px solid rgba(196,229,241,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,22,32,.20),0 10px 28px rgba(2,31,43,.17) !important;
}
.main-nav::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 42%,transparent 76%),
    linear-gradient(105deg,transparent 0 31%,rgba(196,233,247,.085) 49%,transparent 67%) !important;
}
.main-nav a:hover,
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background:rgba(174,220,237,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 15px rgba(0,31,44,.08) !important;
}
.contact-page .contact-form-card,
.contact-page .contact-info-panel{
  background:linear-gradient(145deg,rgba(22,56,73,.58),rgba(13,42,57,.48)) !important;
  -webkit-backdrop-filter:blur(18px) saturate(145%) !important;
  backdrop-filter:blur(18px) saturate(145%) !important;
  border:1px solid rgba(191,222,234,.22) !important;
  box-shadow:0 22px 54px rgba(0,18,27,.21),inset 0 1px 0 rgba(255,255,255,.11) !important;
}
.socials a{
  background:rgba(255,255,255,.42) !important;
  -webkit-backdrop-filter:blur(12px) saturate(140%) !important;
  backdrop-filter:blur(12px) saturate(140%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 5px 14px rgba(8,43,58,.07) !important;
}
/* Mantém os efeitos ricos; o ganho de desempenho vem do peso menor das imagens e da renderização sob demanda. */
.a-advocacia,.oque-fazemos,.blog,.contato,.quem-somos,.servicos,.equipe,.trabalhe-conosco,.page-blog,.awards-section,.site-footer-main{
  content-visibility:auto;
  contain-intrinsic-size:1px 700px;
}
.hero-slide img,.service-card-media img,.jose-photo{
  image-rendering:auto;
}

/* ===== V17: consolidação visual + desempenho ===== */
:root{
  --ease-ui:cubic-bezier(.2,.7,.2,1);
  --shadow:0 18px 42px rgba(6,60,78,.11);
  --shadow-soft:0 8px 22px rgba(32,43,49,.07);
}
body{min-height:100vh;transition:opacity .11s ease}
body.page-leaving{opacity:.86}

/* Glass concentrado nas superfícies principais; evita dezenas de camadas compostas. */
.socials a{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  background:rgba(255,255,255,.68) !important;
}
.a-advocacia > .container > ul > li > ul{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

/* O blur em elementos revelados era caro durante a rolagem. */
.js .reveal{
  filter:none !important;
  will-change:auto !important;
  transition:opacity .52s var(--ease-ui),transform .52s var(--ease-ui) !important;
}
.js .reveal.is-visible{filter:none !important}

/* Ken Burns mais sutil: preserva impacto sem manter escala excessiva em GPU. */
.hero-slide>img{
  transform:scale(1.006) !important;
  transition:transform 7.5s linear,opacity .45s ease !important;
  will-change:auto !important;
}
.hero-slide.active>img{transform:scale(1.022) !important}

/* Menos repaints durante scroll; blur continua no header/nav. */
.site-header,.main-nav{will-change:auto !important}
.site-header.scrolled{box-shadow:0 8px 24px rgba(6,60,78,.09) !important}

/* Interações mais precisas e profissionais. */
.btn,.button-servicos a,.button-blog a,.iw-link,
.socials a,.menu-toggle,.hero-arrow,.hero-dot,
.a-advocacia>.container>ul>li>ul,.oque-fazemos .desk .carousel li,
.outros-servicos li,.servicos li,.valores li,.diferenciais li,
.diretoria-list li,.col-equipe,.contact-method,.awards-logos img{
  transition-duration:.22s !important;
  transition-timing-function:var(--ease-ui) !important;
}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid rgba(69,133,158,.55);outline-offset:3px}

/* Conteúdo abaixo da dobra só é renderizado quando necessário. */
@supports (content-visibility:auto){
  .a-advocacia,.oque-fazemos,.blog,.contato,.quem-somos,.valores,.servicos,
  .diferenciais,.equipe,.outros-servicos,.page-contato,.trabalhe-conosco,
  .page-blog,.awards-section,.site-footer-main{
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}

/* Evita filtros caros no mapa e deixa o resultado mais nítido. */
.contact-page .map-frame{filter:none !important}

/* Mobile: glass intenso em duas barras grandes fica caro; mantém aparência com alpha. */
@media(max-width:760px){
  .site-header{
    -webkit-backdrop-filter:blur(12px) saturate(135%) !important;
    backdrop-filter:blur(12px) saturate(135%) !important;
  }
  .main-nav{
    -webkit-backdrop-filter:blur(10px) saturate(130%) !important;
    backdrop-filter:blur(10px) saturate(130%) !important;
  }
  .contact-page .contact-form-card,.contact-page .contact-info-panel{
    -webkit-backdrop-filter:blur(10px) saturate(125%) !important;
    backdrop-filter:blur(10px) saturate(125%) !important;
  }
  .hero-slide>img,.hero-slide.active>img{transform:none !important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .hero-slide>img{transform:none !important}
}

/* ===== V18: header mais sóbrio + ícones legíveis + rolagem mais leve ===== */
/* Topo um pouco mais escuro, mantendo a identidade azul-grafite. */
.site-header{
  background:rgba(224,234,238,.94) !important;
  -webkit-backdrop-filter:blur(8px) saturate(118%) !important;
  backdrop-filter:blur(8px) saturate(118%) !important;
  border-bottom-color:rgba(52,91,106,.18) !important;
  box-shadow:0 5px 18px rgba(7,40,53,.07) !important;
}
.header-top{
  background:transparent !important;
}

/* Barra principal ligeiramente mais profunda e menos translúcida.
   Retirar o segundo backdrop-filter evita duas camadas de blur enquanto a página rola. */
.main-nav{
  background:linear-gradient(100deg,rgba(18,70,89,.97),rgba(24,83,105,.96) 48%,rgba(31,92,115,.95)) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,22,32,.18),0 6px 18px rgba(2,31,43,.12) !important;
}
.main-nav::before{
  opacity:.42 !important;
}

/* Redes sociais: o PNG original já contém o pictograma e estava sendo reduzido a 13px. */
.socials{
  gap:8px !important;
}
.socials a{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  background:rgba(245,249,250,.78) !important;
  border-color:rgba(37,82,101,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70),0 2px 7px rgba(8,43,58,.06) !important;
}
.socials img{
  width:21px !important;
  height:21px !important;
  max-width:21px !important;
  max-height:21px !important;
  object-fit:contain !important;
  opacity:.92 !important;
}
.socials a:hover{
  transform:translateY(-1px) !important;
  background:#f8fbfc !important;
  border-color:rgba(37,82,101,.34) !important;
  box-shadow:0 5px 12px rgba(6,60,78,.08) !important;
}

/* O efeito de saída por opacidade adicionava atraso perceptível em toda troca de página. */
body{
  transition:none !important;
}
body.page-leaving{
  opacity:1 !important;
}

/* Elementos grandes ficam no compositor apenas quando realmente necessário. */
.hero-slide>img{
  transform:none !important;
  transition:opacity .42s ease !important;
  will-change:auto !important;
}
.hero-slide.active>img{
  transform:none !important;
}

/* Cards: sombras mais baratas e movimento menor em hover. */
.a-advocacia>.container>ul>li>ul,
.oque-fazemos .desk .carousel li,
.outros-servicos li,.blog>.container>ul>li,
.servicos li,.valores li,.diferenciais li,
.diretoria-list li,.col-equipe,
.services-slide .service-card{
  box-shadow:0 6px 18px rgba(24,48,58,.065) !important;
}
.a-advocacia>.container>ul>li>ul:hover,
.oque-fazemos .desk .carousel li:hover,
.outros-servicos li:hover,.servicos li:hover,
.services-slide .service-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 10px 24px rgba(24,48,58,.095) !important;
}

/* Menos trabalho por quadro durante o scroll. */
html{scroll-behavior:auto !important}
.js .reveal{
  transition:opacity .34s var(--ease-ui),transform .34s var(--ease-ui) !important;
}

@media(max-width:760px){
  .site-header{
    background:rgba(224,234,238,.98) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .main-nav{
    background:rgba(20,75,96,.985) !important;
  }
  .socials a{width:30px !important;height:30px !important;min-width:30px !important}
  .socials img{width:20px !important;height:20px !important;max-width:20px !important;max-height:20px !important}
}


/* ===== V20: home estática após Serviços + contato alinhado e sem reveal ===== */
/* A página de contato não participa das animações de entrada. */
.contact-page .reveal,
.contact-page .reveal-left,
.contact-page .reveal-right{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* Organização mais limpa do conteúdo de contato. */
.contact-page .contact-page-shell{
  width:min(calc(100% - 48px),1160px) !important;
}
.contact-page .contact-main-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.contact-page .contact-form-card,
.contact-page .contact-info-panel{
  min-width:0;
  border-radius:22px !important;
}
.contact-page .contact-form-card{
  padding:32px 34px 34px !important;
}
.contact-page .contact-info-panel{
  padding:32px !important;
}
.contact-page .contact-card-heading{
  margin-bottom:24px !important;
}
.contact-page .contact-card-heading h2,
.contact-page .contact-info-top h2{
  margin-top:8px !important;
  margin-bottom:10px !important;
}
.contact-page .contact-card-heading p,
.contact-page .contact-info-top p{
  margin:0 !important;
  line-height:1.6 !important;
}
.contact-page .contact-field{
  margin-bottom:17px !important;
}
.contact-page .contact-fields-row{
  gap:16px !important;
}
.contact-page .form-contat input:not([type="submit"]){
  min-height:50px !important;
}
.contact-page .form-contat textarea{
  min-height:150px !important;
}

/* Captcha e botão passam a compartilhar uma linha realmente alinhada. */
.contact-page .contact-form-footer{
  display:grid !important;
  grid-template-columns:minmax(300px,auto) minmax(210px,1fr) !important;
  align-items:center !important;
  gap:22px !important;
  margin-top:6px !important;
}
.contact-page .cf-turnstile{
  justify-self:start !important;
  align-self:center !important;
  margin:0 !important;
  transform:none !important;
}
.contact-page .submit{
  width:220px !important;
  max-width:100% !important;
  margin:0 !important;
  justify-self:end !important;
  align-self:center !important;
}
.contact-page .submit input{
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
}
.contact-page .contact-methods{
  margin:18px 0 22px !important;
}
.contact-page .contact-map-wrap{
  margin-top:auto !important;
}

/* O glass permanece visualmente, mas sem blur nos cards grandes da página de contato.
   O fundo translúcido já entrega profundidade e elimina uma camada cara de composição. */
.contact-page .contact-form-card,
.contact-page .contact-info-panel{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  background:linear-gradient(145deg,rgba(24,58,74,.91),rgba(14,43,57,.88)) !important;
}

@media(max-width:980px){
  .contact-page .contact-page-shell{
    width:min(calc(100% - 36px),760px) !important;
  }
  .contact-page .contact-main-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .contact-page .contact-form-card,
  .contact-page .contact-info-panel{
    padding:28px !important;
  }
}

@media(max-width:680px){
  .contact-page .contact-page-shell{
    width:min(calc(100% - 24px),640px) !important;
  }
  .contact-page .contact-form-card,
  .contact-page .contact-info-panel{
    padding:22px 18px !important;
    border-radius:18px !important;
  }
  .contact-page .contact-form-footer{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:14px !important;
  }
  .contact-page .cf-turnstile{
    max-width:100% !important;
    transform:scale(.88) !important;
    transform-origin:left top !important;
    margin-bottom:-8px !important;
  }
  .contact-page .submit{
    width:100% !important;
    justify-self:stretch !important;
  }
}

/* ===== V13: alinhamento do formulário de contato + reveal seletivo da equipe ===== */
/* O Turnstile não deve ser escalado no desktop: transform alterava apenas o desenho,
   não a caixa de layout, criando a sensação de desalinhamento com o botão. */
.contact-page .contact-form-footer{
  display:grid !important;
  grid-template-columns:300px minmax(210px,1fr) !important;
  gap:18px !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  margin-top:8px !important;
}
.contact-page .cf-turnstile{
  width:300px !important;
  min-height:65px;
  margin:0 !important;
  transform:none !important;
  transform-origin:initial !important;
  align-self:stretch;
}
.contact-page .submit{
  width:100% !important;
  min-width:0 !important;
  height:65px !important;
  margin:0 !important;
  flex:none !important;
  align-self:stretch;
}
.contact-page .submit input{
  width:100% !important;
  height:65px !important;
  min-height:65px !important;
  display:block !important;
}

/* Equipe: os cards surgem durante a rolagem; prêmios e footer permanecem estáticos. */
.equipe .diretoria-list > li.reveal,
.equipe > .container > h3 + ul:not(.diretoria-list) > li.reveal,
.outros-servicos > .container > ul > li.reveal{
  transform:translateY(18px);
}
.equipe .diretoria-list > li.reveal.is-visible,
.equipe > .container > h3 + ul:not(.diretoria-list) > li.reveal.is-visible,
.outros-servicos > .container > ul > li.reveal.is-visible{
  transform:none;
}

@media(max-width:760px){
  .contact-page .contact-form-footer{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .contact-page .cf-turnstile{
    width:300px !important;
    max-width:100% !important;
    min-height:65px;
  }
  .contact-page .submit{
    width:100% !important;
    height:54px !important;
  }
  .contact-page .submit input{
    height:54px !important;
    min-height:54px !important;
  }
}

/* ===== V14: alinhamento definitivo do rodapé do formulário de contato ===== */
/* O botão do contato não herda o paralelogramo/3D global: isso fazia a borda
   parecer mais baixa que o Turnstile mesmo quando as caixas tinham a mesma altura. */
.contact-page .contact-form-footer{
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  column-gap:18px !important;
  row-gap:0 !important;
  align-items:start !important;
  margin-top:8px !important;
  min-height:65px !important;
}
.contact-page .cf-turnstile{
  display:block !important;
  width:300px !important;
  height:65px !important;
  min-height:65px !important;
  max-height:65px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  overflow:hidden !important;
  align-self:start !important;
}
.contact-page .cf-turnstile iframe{
  display:block !important;
  width:300px !important;
  height:65px !important;
  margin:0 !important;
  border:0 !important;
}
.contact-page .submit{
  display:block !important;
  width:100% !important;
  height:65px !important;
  min-height:65px !important;
  margin:0 !important;
  padding:0 !important;
  align-self:start !important;
  justify-self:stretch !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.contact-page .submit input,
.contact-page .contato-enviar{
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  height:65px !important;
  min-height:65px !important;
  margin:0 !important;
  padding:0 22px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:10px !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  line-height:63px !important;
  text-align:center !important;
  background:linear-gradient(180deg,rgba(65,126,150,.94),rgba(43,94,115,.96)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20) !important;
  transform:none !important;
}
.contact-page .submit input:hover,
.contact-page .contato-enviar:hover{
  transform:none !important;
  filter:brightness(1.05) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 6px 16px rgba(2,27,38,.16) !important;
}
.contact-page .submit input:active,
.contact-page .contato-enviar:active{
  transform:none !important;
}

@media(max-width:760px){
  .contact-page .contact-form-footer{
    grid-template-columns:1fr !important;
    row-gap:14px !important;
  }
  .contact-page .cf-turnstile{
    width:300px !important;
    max-width:100% !important;
    height:65px !important;
    min-height:65px !important;
    transform:none !important;
    margin:0 !important;
  }
  .contact-page .submit,
  .contact-page .submit input,
  .contact-page .contato-enviar{
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    line-height:54px !important;
  }
}

/* ===== V15: formulário de contato sem moldura interna comprimindo os campos ===== */
/* O card externo já fornece a borda visual. A antiga .form-contat mantinha uma
   segunda borda com padding zerado, fazendo labels/campos encostarem nela. */
.contact-page .form-contat{
  box-sizing:border-box !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.contact-page .contact-field,
.contact-page .contact-fields-row,
.contact-page .contact-form-footer{
  box-sizing:border-box !important;
  width:100% !important;
}
.contact-page .contact-field label{
  margin-left:0 !important;
  padding-left:0 !important;
}
.contact-page .form-contat input:not([type="submit"]),
.contact-page .form-contat textarea{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
