/* Beto Caiuby • identidade 2026 e mapa integrado */
:root{--map-navy:#254952;--map-gold:#d9c05c}
.preview{display:none!important}
.location-section.map-fullwidth{
  position:relative;isolation:isolate;display:block;overflow:hidden;
  width:100%;height:540px;min-height:540px;background:#234450;
  padding:0!important;margin:0;scroll-margin-top:88px
}
.google-map{position:absolute;inset:0;overflow:hidden;background:#27515c}
.google-map iframe{
  position:absolute;inset:-7% -2%;width:104%;height:114%;
  border:0;display:block;
  filter:grayscale(1) invert(.88) sepia(.8) saturate(1.5) hue-rotate(145deg) contrast(1.16) brightness(.82);
  opacity:1
}
.google-map .map-tint{
  pointer-events:none;position:absolute;inset:0;
  background:rgba(10,47,56,.12);
  mix-blend-mode:multiply
}
.map-card-anchor{
  position:relative;z-index:2;height:100%;
  display:flex;align-items:center;pointer-events:none
}
.map-card{
  pointer-events:auto;
  width:min(365px,45vw);
  padding:32px 32px 30px;
  background:#fff;color:#19333b;
  border:1px solid #dce7e8;box-shadow:0 12px 40px #12313e1f
}
.map-card .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:17px}
.map-card h2{font:800 clamp(28px,3.1vw,40px)/1.13 Manrope,Arial,sans-serif;letter-spacing:-1.5px;margin:0 0 21px;color:#1c3843}
.map-card h2 em{font-style:normal;color:#3b7886}
.map-card .map-detail-label{display:block;font-size:10px;font-weight:800;letter-spacing:1.6px;color:#6c8791}
.map-card address{margin:7px 0 22px;line-height:1.7;font-size:13px;font-weight:600;font-style:normal;color:#293f48}
.map-directions{border:1px solid #2c6373;color:#285768;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;font-weight:800;padding:13px 14px;transition:background .2s,color .2s}
.map-directions:hover{background:#285566;color:white}
.map-directions span{font-size:21px;line-height:1}
.office-img-label{display:none!important}
.office-image{padding-bottom:27px}
.footer{padding:23px 0 22px;background:#152630}
.foot-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-right{display:flex;align-items:center;justify-content:flex-end;gap:26px}
.credit-by{display:inline-grid;grid-template-columns:auto 115px;column-gap:8px;align-items:center;color:#cad8db;transition:opacity .2s}
.credit-by:hover{opacity:.8}
.credit-by>span{font-size:10px;line-height:1;letter-spacing:1.2px;text-transform:uppercase;font-weight:700}
.credit-by img{width:115px;max-width:115px;height:auto;display:block}
.credit-by small{display:block;grid-column:2;justify-self:start;line-height:1;font-size:10px;letter-spacing:.2px;margin-top:1px;color:#9fb8c0}
.back-to-top{display:grid;place-items:center;border:1px solid #73919a;background:#234451;color:#fff;height:44px;width:44px;flex:0 0 44px;transition:background .2s,transform .2s}
.back-to-top:hover{background:#ffd418;color:#182b34;transform:translateY(-2px)}
.back-to-top svg{width:20px;height:20px}
@media(max-width:760px){
  .location-section.map-fullwidth{height:auto;min-height:0;display:flex;flex-direction:column;background:#e8eff0}
  .google-map{position:relative;inset:auto;height:325px;width:100%;order:1}
  .google-map iframe{inset:-5% -2%;height:110%;width:104%}
  .map-card-anchor{order:2;width:100%;height:auto;padding:0!important}
  .map-card{width:100%;padding:27px max(22px,calc((100vw - 490px)/2)) 30px;box-shadow:none;border:0}
  .map-card h2{font-size:34px}
  .foot-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .footer-right{gap:16px}
  .credit-by img{width:100px;max-width:100px}
  .credit-by{grid-template-columns:auto 100px}
  .back-to-top{width:41px;height:41px;flex-basis:41px}
}
@media(max-width:430px){
  .footer{padding:21px 0}
  .foot-grid{display:flex;flex-direction:row;gap:18px}
  .foot-brand strong{font-size:15px}
  .foot-brand span{font-size:8px}
  .footer-right{gap:10px}
  .credit-by{grid-template-columns:auto 80px;gap:4px}
  .credit-by img{width:80px;max-width:80px}
  .credit-by>span{font-size:9px}
  .credit-by small{font-size:9px}
  .back-to-top{width:37px;height:37px;flex-basis:37px}
}
