/* Batista & Batista v4.0 — consolidated geometry layer. */
html,body{max-width:100%;overflow-x:hidden}
.site-header .official-brand-dark img{display:block;width:230px!important;height:auto!important;max-height:54px!important;object-fit:contain!important}

/* Final CTA: independent shell, no inherited .container arithmetic. */
.final-cta{overflow:hidden}
.final-cta-shell{width:min(calc(100% - 72px),1280px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;min-width:0}
.final-cta-copy{min-width:0;max-width:760px}
.final-cta-copy h2,.final-cta-copy p{max-width:100%;overflow-wrap:normal;word-break:normal}
.final-cta-button{flex:0 0 auto}

/* Footer: brand and contacts are geometrically independent. */
.site-footer .footer-main-v05{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;align-items:start!important}
.site-footer .footer-main-v05 .footer-brand{grid-column:1/-1!important;width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;margin:0 0 18px!important;padding:0!important}
.site-footer .footer-main-v05 .footer-brand .official-brand-light{display:flex!important;justify-content:center!important;width:max-content!important;margin:0 auto!important;line-height:0}
.site-footer .footer-main-v05 .footer-brand img{display:block!important;width:auto!important;height:64px!important;max-width:220px!important;margin:0 auto!important}
.site-footer .footer-contact-item{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;column-gap:14px!important;align-items:center!important;min-width:0!important}
.site-footer .footer-contact-item .footer-icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;margin:0!important;color:var(--copper)!important}
.site-footer .footer-contact-item .footer-icon svg{display:block!important;width:25px!important;height:25px!important}
.site-footer .footer-contact-item>div{min-width:0!important}

@media(max-width:767px){
 body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
 .container{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important;padding-left:0!important;padding-right:0!important;min-width:0!important}
 .site-header .header-inner{width:auto!important;margin-left:20px!important;margin-right:20px!important;padding:0!important}
 .site-header .official-brand-dark img{width:min(220px,60vw)!important;height:auto!important;max-height:46px!important}

 /* Prevent every institutional text block from escaping the viewport. */
 .hero-copy,.section-head,.about-copy,.team-heading,.team-intro,.process-grid,.faq-grid,.final-cta-copy{min-width:0!important;max-width:100%!important}
 .hero h1,.section h2,.about h2,.team-heading h2,.process h2,.faq h2,.final-cta h2,
 .lead,.section-head p,.about-copy p,.team-intro p,.final-cta p{max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important}

 /* Team: one compact portrait, consistent framing for all five source photos. */
 .team-carousel{width:100%!important;max-width:100%!important;overflow:hidden!important;margin:0!important;padding:0!important}
 .team-track{display:flex!important;width:100%!important;gap:0!important}
 .team-track .person{display:block!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;min-height:0!important}
 .team-track .person-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/5!important;overflow:hidden!important;margin:0!important;background:#111!important}
 .team-track .person-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 20%!important}
 .team-track .person:nth-child(1) .person-photo img{object-position:50% 18%!important}
 .team-track .person:nth-child(2) .person-photo img{object-position:50% 18%!important}
 .team-track .person:nth-child(3) .person-photo img{object-position:50% 16%!important}
 .team-track .person:nth-child(4) .person-photo img{object-position:50% 18%!important}
 .team-track .person:nth-child(5) .person-photo img{object-position:50% 18%!important}
 .team-track .person-copy{padding:18px 20px 20px!important}

 /* Final CTA: true viewport-safe gutters. */
 .final-cta{padding:52px 0!important}
 .final-cta-shell{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:26px!important;min-width:0!important}
 .final-cta-copy{width:100%!important;min-width:0!important;max-width:100%!important}
 .final-cta h2{font-size:clamp(36px,10vw,44px)!important;line-height:1.04!important}
 .final-cta p{width:100%!important;font-size:16px!important;line-height:1.55!important;margin-right:0!important;padding-right:0!important}
 .final-cta-button{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;padding:16px 20px!important;align-self:stretch!important;justify-content:center!important;white-space:normal!important}

 /* Footer: same x-axis for every icon and text block. */
 .site-footer .footer-main-v05{display:grid!important;grid-template-columns:1fr!important;width:auto!important;max-width:390px!important;margin-left:20px!important;margin-right:20px!important;gap:20px!important;padding:0 0 26px!important;justify-items:stretch!important}
 .site-footer .footer-main-v05 .footer-brand{grid-column:1!important;width:100%!important;justify-content:center!important;margin:0 0 18px!important}
 .site-footer .footer-main-v05 .footer-brand .official-brand-light{margin:0 auto!important}
 .site-footer .footer-main-v05 .footer-brand img{height:64px!important;max-width:220px!important;margin:0 auto!important}
 .site-footer .footer-contact-item{grid-template-columns:34px minmax(0,1fr)!important;column-gap:16px!important;width:100%!important;max-width:350px!important;margin:0 auto!important;padding:0!important;align-items:center!important;text-align:left!important}
 .site-footer .footer-contact-item .footer-icon{grid-column:1!important;justify-self:center!important;width:30px!important;height:30px!important}
 .site-footer .footer-contact-item .footer-icon svg{width:25px!important;height:25px!important}
 .site-footer .footer-contact-item>div{grid-column:2!important;width:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important}
 .site-footer .footer-contact-item a{font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
 .site-footer .footer-contact-item small{font-size:11px!important;line-height:1.35!important;margin-top:3px!important}
 .site-footer .footer-offices,.site-footer .footer-bottom{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important}
}

@media(max-width:390px){
 .container,.final-cta-shell,.site-footer .footer-main-v05,.site-footer .footer-offices,.site-footer .footer-bottom{margin-left:18px!important;margin-right:18px!important}
 .final-cta h2{font-size:36px!important}
 .site-footer .footer-contact-item{grid-template-columns:30px minmax(0,1fr)!important;column-gap:13px!important}
 .site-footer .footer-contact-item a{font-size:13px!important}
}

/* Accident landing: force the copper horizontal brand and isolate its geometry. */
body.bb-landing-acidente{width:100%;max-width:100%;overflow-x:hidden}
.bb-landing-acidente .lp-brand{display:block!important;width:286px!important;max-width:72vw!important;line-height:0!important;margin:0 auto!important}
.bb-landing-acidente .lp-brand img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
@media(max-width:767px){
 .bb-landing-acidente .lp-container,.bb-landing-acidente .lp-narrow{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important;padding-left:0!important;padding-right:0!important}
 .bb-landing-acidente .lp-header-inner{height:96px!important;display:flex!important;justify-content:center!important;align-items:center!important}
 .bb-landing-acidente .lp-brand{width:min(270px,72vw)!important;max-width:none!important;margin:0 auto!important}
 .bb-landing-acidente .lp-hero h1,.bb-landing-acidente .lp-hero-copy>p,.bb-landing-acidente .lp-section h2,.bb-landing-acidente .lp-two-col p,.bb-landing-acidente .lp-final h2,.bb-landing-acidente .lp-final p{max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}
 .bb-landing-acidente .lp-btn{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important}
 .bb-landing-acidente .lp-hero-media{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
}

/* v4.1 — authoritative mobile navigation */
@media (max-width:980px){
  body.nav-open{overflow:hidden!important}
  .site-header{z-index:99990!important}
  .site-header .menu-toggle{display:flex!important;position:relative!important;z-index:100002!important}
  .site-header .site-nav{
    display:block!important;
    position:fixed!important;
    left:0!important;right:0!important;
    top:72px!important;bottom:0!important;
    width:100%!important;height:auto!important;max-height:none!important;
    margin:0!important;padding:28px 22px 44px!important;
    background:var(--paper)!important;
    border-top:1px solid var(--line)!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    z-index:100001!important;
    transform:translateX(100%)!important;
    opacity:0!important;visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .22s ease,opacity .18s ease!important;
  }
  body.nav-open .site-header .site-nav{
    transform:translateX(0)!important;
    opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header .site-nav .nav-list{
    display:flex!important;flex-direction:column!important;
    width:100%!important;height:auto!important;
    margin:0!important;padding:0!important;gap:0!important;
    list-style:none!important;
  }
  .site-header .site-nav .nav-list>li{
    display:block!important;width:100%!important;height:auto!important;
    margin:0!important;padding:0!important;
    border:0!important;border-bottom:1px solid var(--line)!important;
    opacity:1!important;visibility:visible!important;
  }
  .site-header .site-nav .nav-list>li>a{
    display:block!important;width:100%!important;
    margin:0!important;padding:17px 2px!important;
    color:var(--ink)!important;font:400 18px/1.35 Arial,Helvetica,sans-serif!important;
    opacity:1!important;visibility:visible!important;
  }
}

/* v4.2 — mobile menu lives outside sticky header to avoid iOS fixed-position containing-block bugs */
.mobile-menu-panel{display:none}
@media (max-width:980px){
  .site-header .site-nav{display:none!important}
  .mobile-menu-panel{
    display:block!important;
    position:fixed!important;
    left:0!important;right:0!important;top:72px!important;
    width:100vw!important;height:calc(100dvh - 72px)!important;
    min-height:calc(100vh - 72px)!important;
    margin:0!important;padding:24px 22px 40px!important;
    box-sizing:border-box!important;
    background:var(--paper)!important;
    border-top:1px solid var(--line)!important;
    z-index:99980!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    transform:translateX(100%)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:transform .22s ease,opacity .18s ease!important;
  }
  body.nav-open .mobile-menu-panel{
    transform:translateX(0)!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .mobile-menu-panel nav,.mobile-nav-list{width:100%!important;margin:0!important;padding:0!important}
  .mobile-nav-list{display:block!important;list-style:none!important}
  .mobile-nav-list li{display:block!important;width:100%!important;margin:0!important;padding:0!important;border-bottom:1px solid var(--line)!important}
  .mobile-nav-list a{display:block!important;width:100%!important;padding:17px 2px!important;color:var(--ink)!important;font:400 18px/1.35 Arial,Helvetica,sans-serif!important;text-decoration:none!important}
}
@media (min-width:981px){.mobile-menu-panel{display:none!important}}
