:root{
  --navy:#061a31;
  --navy2:#092846;
  --blue:#075c9b;
  --blue2:#0d79c7;
  --gold:#f7b516;
  --gold2:#ffd257;
  --ink:#10243c;
  --muted:#5c7187;
  --line:#dbe5ee;
  --soft:#f4f8fb;
  --white:#fff;
  --shadow:0 18px 50px rgba(13,36,59,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:#fff;
}
img{max-width:100%}
a{color:inherit}
button{font:inherit}

.site-header{
  height:82px;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:24px;
  padding:0 5vw;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e9eef3;
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter:blur(14px);
}
.brand img{width:96px;height:62px;object-fit:contain;display:block}
.main-nav{display:flex;justify-content:center;gap:25px}
.main-nav a{text-decoration:none;font-weight:750;font-size:14px;color:#132b44}
.main-nav a:hover{color:var(--blue)}
.menu-toggle{display:none;border:0;background:transparent;font-size:26px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 23px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--gold),#ffc82e);
  color:#07192a;
  font-weight:850;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.03);
  box-shadow:0 10px 28px rgba(247,181,22,.20);
  transition:.25s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(247,181,22,.28)}
.btn-small{min-height:42px;padding:0 18px;background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(7,92,155,.16)}
.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65);box-shadow:none}
.gold-btn{background:linear-gradient(135deg,#f5ad09,#ffcf42)}

.hero{
  min-height:690px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  padding:74px 7vw 58px;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 72% 32%,rgba(38,125,190,.33),transparent 32%),
    linear-gradient(115deg,#031425 0%,#06243e 54%,#0d4c78 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:42px 42px;
}
.hero-copy,.hero-photo{position:relative;z-index:2}
.hero-copy{align-self:center;max-width:820px}
.kicker{font-size:12px;letter-spacing:.19em;font-weight:900;color:#fff;text-transform:uppercase}
.kicker.blue{color:var(--blue)}
.kicker.gold{color:var(--gold)}
.hero h1{
  font-size:clamp(48px,5vw,78px);
  line-height:1.01;
  letter-spacing:-.045em;
  margin:20px 0 20px;
  max-width:850px;
}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-copy>p{font-size:19px;line-height:1.65;color:#d9e7f4;max-width:760px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 38px}
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hero-trust div{padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.055)}
.hero-trust strong{display:block;font-size:24px;color:#fff}
.hero-trust span{display:block;font-size:12px;color:#c5d6e5;margin-top:3px}
.hero-photo{display:flex;align-items:center;justify-content:center}
.photo-frame{
  width:min(430px,100%);
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  border:2px solid rgba(247,181,22,.7);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  position:relative;
}
.photo-frame:after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.20);border-radius:50%}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.hero-badge{
  position:absolute;
  right:1%;
  bottom:12%;
  background:rgba(4,22,39,.88);
  border:1px solid rgba(247,181,22,.55);
  border-radius:18px;
  padding:16px 20px;
  min-width:210px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.hero-badge strong,.hero-badge span{display:block}
.hero-badge strong{font-size:18px}
.hero-badge span{color:var(--gold);margin-top:3px}

.statement{
  padding:18px 7vw;
  text-align:center;
  border-bottom:1px solid #edf1f4;
  background:#fff;
}
.statement p{margin:0;font-size:18px;color:#334b63}
.statement strong{color:var(--blue)}

.section{padding:88px 7vw}
.section-head{margin-bottom:38px}
.section-head h2,.copy-block h2,.about-section h2,.contact-section h2,.erp-section h2,.clube-copy h2{
  font-size:clamp(36px,4vw,58px);
  line-height:1.08;
  letter-spacing:-.035em;
  margin:12px 0 14px;
}
.section-head p,.lead,.copy-block>p{font-size:18px;line-height:1.65;color:var(--muted)}
.split-head{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:end}
.split-head>p{margin:0 0 8px}
.centered{text-align:center;max-width:840px;margin-left:auto;margin-right:auto}

.services-section{background:linear-gradient(#fff,#fbfdff)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
  position:relative;
  min-height:360px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:30px;
  box-shadow:0 10px 34px rgba(23,54,82,.055);
  overflow:hidden;
  transition:.25s ease;
}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c9d8e5}
.service-card.featured{background:linear-gradient(145deg,#061a31,#0b3558);color:#fff;border-color:#173e60}
.service-card.featured p{color:#cbdceb}
.service-icon{
  width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;
  background:#edf6fc;color:var(--blue);font-size:24px;font-weight:900;margin-bottom:42px
}
.featured .service-icon{background:rgba(255,255,255,.09);color:var(--gold)}
.service-number{font-size:12px;font-weight:950;color:var(--gold);letter-spacing:.08em}
.service-card h3{font-size:24px;line-height:1.16;margin:10px 0 14px;letter-spacing:-.02em}
.service-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 20px}
.service-card>a{display:inline-block;margin-top:10px;text-decoration:none;color:var(--blue);font-weight:850}
.featured>a{color:var(--gold)}
.chips,.pill-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.chips span,.pill-row span{
  border:1px solid #dbe7ef;background:#f7fafc;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#425c72
}
.featured .chips span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#dbe7f2}

.visual-card{padding:0;display:flex;flex-direction:column}
.visual-wrap{height:230px;background:#f7f9fb;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}
.visual-wrap.contain img{width:100%;height:100%;object-fit:contain;display:block}
.dark-media{background:#061a31}
.service-body{padding:26px 30px 30px;flex:1}
.clube-thumb{background:#071b31}
.price-mini{display:flex;align-items:baseline;gap:6px;margin-top:18px}
.price-mini strong{font-size:28px;color:var(--blue)}
.price-mini span{color:var(--muted);font-size:13px}

.anatel-card{
  background:linear-gradient(155deg,#ffffff,#f4f9fc);
}
.brand-service{height:78px;display:flex;align-items:center;margin-bottom:20px}
.anatel-mark{display:flex;align-items:center;gap:10px;color:#0b64a2}
.anatel-mark strong{font-size:30px;letter-spacing:.02em}
.anatel-symbol{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3c320;color:#115f99;font-size:34px;font-weight:900}

.dark-section{
  background:
    radial-gradient(circle at 75% 15%,rgba(18,109,174,.24),transparent 26%),
    linear-gradient(145deg,#041525,#082a48);
  color:#fff;
}
.dark-section .section-head p{color:#bfd1e0}
.native-logo-card{
  width:min(100%,760px);
  margin:34px auto 0;
  background:#fff;
  border-radius:28px;
  padding:36px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  box-shadow:0 28px 80px rgba(0,0,0,.25);
}
.native-logo-card img{
  width:auto;
  max-width:418px; /* mantém a arte original sem esticar e perder nitidez */
  height:auto;
  display:block;
  image-rendering:auto;
}

.providers-section{background:#fff}
.providers-board,.concessionarias-board{
  max-width:1180px;margin:30px auto 0;background:#fff;border:1px solid var(--line);
  border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;justify-content:center
}
.providers-board img{width:min(100%,1125px);height:auto;display:block;object-fit:contain}
.concessionarias-section{background:var(--soft)}
.concessionarias-board img{width:min(100%,948px);height:auto;display:block;object-fit:contain}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.media-premium{
  border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 28px 70px rgba(10,33,54,.14);
  border:1px solid var(--line)
}
.media-premium img{width:100%;height:auto;display:block;object-fit:contain}
.copy-block .feature-list{display:grid;gap:14px;margin:28px 0}
.feature-list div{padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff}
.feature-list strong,.feature-list span{display:block}
.feature-list strong{color:var(--blue);font-size:15px}
.feature-list span{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.5}

.dutos-section{background:#fff}
.feninfra-section{background:linear-gradient(140deg,#061a31,#092c4c);color:#fff}
.feninfra-section .lead{color:#cfdeea}
.feninfra-section .pill-row span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
.dark-frame{background:#041321;border-color:#24425e;padding:10px}
.fine{font-size:12px!important;line-height:1.55!important;color:#7a8ea1!important}

.erp-section{background:#fff}
.erp-title-row{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;margin:10px 0 32px}
.erp-title-row h2{margin:0;padding-right:30px;border-right:1px solid var(--line);white-space:nowrap}
.erp-title-row p{font-size:18px;line-height:1.55;color:var(--muted);margin:0}
.erp-card{
  display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:center;
  padding:34px 38px;border:1px solid var(--line);border-radius:24px;background:#f5f8fb
}
.erp-card h3{font-size:22px;margin:0 0 12px}
.erp-card p{color:var(--muted);line-height:1.6}
.erp-benefits{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.erp-benefits span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}
.erp-price{border-left:1px solid var(--line);padding-left:34px}
.erp-price span,.erp-price small{display:block;color:var(--muted)}
.erp-price strong{display:block;font-size:42px;color:#074f84;margin:8px 0}

.clube-section{
  color:#fff;
  background:
    radial-gradient(circle at 73% 24%,rgba(12,117,196,.28),transparent 30%),
    linear-gradient(135deg,#031527,#072d50);
}
.clube-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.clube-art{
  border:1px solid rgba(255,255,255,.10);border-radius:28px;overflow:hidden;background:#06192d;
  box-shadow:0 28px 80px rgba(0,0,0,.28)
}
.clube-art img{display:block;width:100%;height:auto;object-fit:contain}
.clube-copy .lead{color:#d0e0eb}
.clube-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.clube-benefits div{padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.055)}
.clube-benefits strong,.clube-benefits span{display:block}
.clube-benefits strong{color:var(--gold);font-size:15px}
.clube-benefits span{color:#d0deea;font-size:13px;line-height:1.5;margin-top:5px}
.clube-price{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.clube-price>div span,.clube-price>div small{display:block;color:#c8d8e5}
.clube-price strong{display:block;font-size:42px;color:#fff;margin:4px 0}

.reach-section{background:#eef5fa}
.reach-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.reach-copy{
  background:linear-gradient(145deg,#061a31,#0a3a60);color:#fff;border-radius:28px;padding:48px;
  min-height:520px;display:flex;flex-direction:column;justify-content:center
}
.reach-copy h2{font-size:50px;line-height:1.08;margin:14px 0}
.reach-copy p{color:#d0deea;font-size:17px;line-height:1.65}
.reach-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.reach-badges span{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800}
.international-card{position:relative;border-radius:28px;overflow:hidden;min-height:520px;box-shadow:var(--shadow);background:#0b2946}
.international-card img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.international-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,31,.88),rgba(3,17,31,.25))}
.international-overlay{position:absolute;z-index:2;left:40px;bottom:40px;max-width:430px;color:#fff}
.international-overlay span{font-size:11px;letter-spacing:.16em;color:var(--gold);font-weight:900}
.international-overlay strong{display:block;font-size:36px;line-height:1.12;margin:10px 0}
.international-overlay p{font-size:14px;line-height:1.55;color:#d7e4ed}

.about-section{background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-grid>div>p{color:var(--muted);font-size:17px;line-height:1.7}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about-stats div{padding:26px;border:1px solid var(--line);border-radius:20px;background:#f8fbfd}
.about-stats strong,.about-stats span{display:block}
.about-stats strong{font-size:32px;color:var(--blue)}
.about-stats span{margin-top:5px;color:var(--muted);font-size:13px}

.contact-section{background:#f2f6f9}
.contact-card{
  max-width:1250px;margin:auto;border-radius:30px;background:linear-gradient(145deg,#061a31,#0a365b);
  color:#fff;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;box-shadow:0 30px 80px rgba(9,37,60,.18)
}
.contact-card p{color:#d4e1eb;line-height:1.6}
.contact-info{display:grid;gap:12px}
.contact-info a,.contact-info>div{
  text-decoration:none;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.055)
}
.contact-info strong,.contact-info span{display:block}
.contact-info strong{color:var(--gold);font-size:13px}
.contact-info span{margin-top:4px;color:#fff;font-size:14px;word-break:break-word}

.footer{
  background:#031321;color:#d7e2ea;padding:40px 7vw;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;align-items:start
}
.footer img{width:100px;height:60px;object-fit:contain;filter:brightness(0) invert(1)}
.footer p{margin:8px 0;color:#aebfcd}
.footer strong,.footer span,.footer a{display:block}
.footer a{color:#d7e2ea;text-decoration:none;margin-top:6px;font-size:13px}
.footer span{margin-top:6px;font-size:13px}

.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;align-items:center;gap:10px;
  background:#16b957;color:#fff;text-decoration:none;border-radius:999px;padding:7px 15px 7px 7px;
  box-shadow:0 18px 45px rgba(0,0,0,.28);font-weight:850;font-size:13px
}
.whatsapp-float img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#fff}

@media(max-width:1180px){
  .site-header{grid-template-columns:130px 1fr auto;padding:0 3vw}
  .main-nav{gap:15px}
  .main-nav a{font-size:12px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .hero-trust{grid-template-columns:repeat(2,1fr)}
  .erp-title-row{grid-template-columns:1fr}
  .erp-title-row h2{white-space:normal;border:0;padding:0}
}
@media(max-width:900px){
  .site-header{grid-template-columns:1fr auto auto;height:72px}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 18px 40px rgba(0,0,0,.08);flex-direction:column}
  .nav-open .main-nav{display:flex}
  .hero{grid-template-columns:1fr;padding-top:56px}
  .hero-photo{order:-1}
  .photo-frame{width:300px}
  .hero-badge{right:12%}
  .split-head,.two-col,.clube-layout,.reach-grid,.about-grid,.contact-card{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .clube-art{max-width:630px}
  .erp-card{grid-template-columns:1fr}
  .erp-price{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .about-stats{grid-template-columns:1fr 1fr}
  .footer{grid-template-columns:1fr}
}
@media(max-width:650px){
  .section{padding:68px 22px}
  .site-header{padding:0 16px}
  .site-header>.btn{display:none}
  .hero{padding:45px 22px 46px}
  .hero h1{font-size:45px}
  .hero-copy>p{font-size:16px}
  .hero-trust{grid-template-columns:1fr 1fr}
  .service-card{padding:24px}
  .visual-card{padding:0}
  .service-body{padding:23px}
  .section-head h2,.copy-block h2,.about-section h2,.contact-section h2,.erp-section h2,.clube-copy h2{font-size:38px}
  .native-logo-card{padding:24px;min-height:240px}
  .native-logo-card img{max-width:100%}
  .providers-board,.concessionarias-board{padding:14px}
  .clube-benefits,.about-stats{grid-template-columns:1fr}
  .clube-price{align-items:flex-start;flex-direction:column}
  .reach-copy{padding:32px}
  .reach-copy h2{font-size:38px}
  .contact-card{padding:32px 24px}
  .whatsapp-float span{display:none}
  .whatsapp-float{padding:6px}
  .whatsapp-float img{width:66px;height:66px}
}

/* ============================================================
   V8 — refinamento aprovado pela cliente
   Mantém: logos, clientes, concessionárias, Clube, ERP,
   FENINFRA, contatos, CNPJ, alcance nacional.
   ============================================================ */

/* Hero — foto da cliente em formato editorial, sem círculo */
.premium-photo-frame{
  width:min(470px,100%) !important;
  height:540px !important;
  aspect-ratio:auto !important;
  border-radius:30px !important;
  border:1px solid rgba(247,181,22,.55) !important;
  overflow:hidden;
  position:relative;
  background:#071b31;
}
.premium-photo-frame:after{
  inset:14px !important;
  border-radius:22px !important;
}
.premium-photo-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}

/* Grade de serviços inspirada no layout aprovado */
.premium-services-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.premium-service-card{
  position:relative;
  overflow:hidden;
  border:1px solid #d7e2eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(9,39,64,.07);
  transition:transform .22s ease, box-shadow .22s ease;
  min-height:390px;
}
.premium-service-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(9,39,64,.13);
}
.service-image{
  height:150px;
  overflow:hidden;
  background:#0a2744;
}
.service-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.service-content{
  position:relative;
  padding:18px 20px 54px;
}
.service-title-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.service-title-row h3{
  margin:0;
  font-size:20px;
  line-height:1.08;
  letter-spacing:-.02em;
  color:#09223e;
}
.service-mini-icon{
  width:34px;
  height:34px;
  min-width:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#082544;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.premium-service-card p{
  color:#425e77;
  font-size:13px;
  line-height:1.48;
  margin:13px 0 0;
}
.premium-service-card .chips{
  margin-top:12px;
}
.premium-service-card .chips span{
  font-size:10px;
  padding:6px 9px;
}
.service-arrow{
  position:absolute;
  right:16px;
  bottom:14px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#071a31;
  background:#ffc323;
  font-weight:950;
  font-size:20px;
}
.system-image{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 72% 28%,rgba(19,135,215,.28),transparent 30%),
    linear-gradient(145deg,#031829,#0a3c64);
}
.system-code-visual{
  color:#fff;
  text-align:center;
  letter-spacing:.06em;
}
.system-code-visual span{
  display:block;
  color:#45c7ff;
  font-family:monospace;
  font-size:18px;
}
.system-code-visual strong{
  display:block;
  font-size:25px;
  margin:5px 0;
}
.system-code-visual small{
  color:#ffca32;
  font-size:10px;
}

/* Compartilhamento de dutos — imagem limpa, sem moldura/borda */
.dutos-section .media-premium{
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.dutos-section .media-premium img{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Países explicitamente destacados */
.international-country-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.international-country-badges span{
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

/* Melhor leitura da arte internacional vertical */
.international-card img{
  object-position:center 48%;
}

@media(max-width:1280px){
  .premium-services-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .premium-services-grid{grid-template-columns:1fr !important}
  .premium-photo-frame{
    width:100% !important;
    height:430px !important;
  }
  .service-image{height:180px}
}

/* V9 — ajustes finais de alinhamento e coerência visual */

/* Hero: foto alinhada, sem "buraco" visual */
.hero{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr) !important;
  align-items:stretch !important;
}
.hero-copy{
  align-self:center;
}
.hero-photo-aligned{
  align-self:stretch;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  padding:0;
}
.hero-photo-aligned .premium-photo-frame{
  width:100% !important;
  max-width:520px;
  height:auto !important;
  min-height:560px;
  border-radius:28px !important;
  margin:0;
}
.hero-photo-aligned .premium-photo-frame img{
  object-position:center 22%;
}
.hero-photo-aligned .hero-badge{
  right:24px;
  bottom:24px;
}

/* Serviço ERP e Gestão Remota: imagens claramente distintas */
.premium-service-card .service-image img[src*="svc-erp-distinct"]{
  object-position:center 40%;
}
.premium-service-card .service-image img[src*="svc-gestao-distinct"]{
  object-position:center 55%;
}

/* Projetos subterrâneos: foco exclusivo em dutos/projeto de dutos */
.premium-service-card .service-image img[src*="svc-subterraneos-dutos"]{
  object-fit:cover;
  object-position:center center;
}

/* ÍVA além das fronteiras: imagem compacta inspirada na referência EUA/Canadá/Brasil */
.international-card{
  min-height:470px;
}
.international-card img{
  object-fit:cover;
  object-position:center center;
  image-rendering:auto;
}
.international-card:after{
  background:linear-gradient(90deg,rgba(3,17,31,.88) 0%,rgba(3,17,31,.55) 38%,rgba(3,17,31,.18) 72%,rgba(3,17,31,.08) 100%);
}

/* Rodapé simplificado */
.footer-rights{
  text-align:right;
}
.footer-rights strong,
.footer-rights span{
  display:block;
}
.footer-rights span{
  margin-top:6px;
  font-size:13px;
  color:#aebfcd;
}

@media(max-width:1000px){
  .hero{
    grid-template-columns:1fr !important;
  }
  .hero-photo-aligned{
    justify-content:center;
  }
  .hero-photo-aligned .premium-photo-frame{
    max-width:620px;
    min-height:440px;
  }
  .footer-rights{text-align:left}
}

/* V10 — correção real das duas imagens apontadas */

/* Projetos Subterrâneos & Licenciamentos:
   imagem focada exclusivamente nos dutos, sem textos sobrepostos */
.premium-service-card .service-image img[src*="svc-subterraneos-dutos-v2"]{
  object-fit:cover !important;
  object-position:center 62% !important;
  transform:none !important;
  filter:none !important;
}

/* ÍVA além das fronteiras:
   usar a arte original 1024x1536, sem ampliar uma miniatura */
.international-card{
  min-height:500px !important;
  overflow:hidden;
  background:#071e36;
}
.international-card img[src*="atuacao-internacional"]{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center 60% !important;
  filter:none !important;
  transform:none !important;
  image-rendering:auto !important;
}
.international-card:after{
  background:linear-gradient(
    90deg,
    rgba(3,17,31,.88) 0%,
    rgba(3,17,31,.56) 36%,
    rgba(3,17,31,.18) 66%,
    rgba(3,17,31,.05) 100%
  ) !important;
}

/* ============================================================
   V11 — HERO FINAL + SERVIÇOS COERENTES
   ============================================================ */

/* HERO: texto à esquerda, foto à direita, sem buraco azul */
.hero-split-final{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr) !important;
  align-items:center !important;
  gap:64px !important;
  min-height:650px !important;
  padding-top:64px !important;
  padding-bottom:64px !important;
}
.hero-split-final .hero-copy{
  grid-column:1;
  align-self:center !important;
  max-width:820px !important;
}
.hero-split-final .hero-photo{
  grid-column:2;
  align-self:center !important;
  justify-content:flex-end !important;
  min-height:0 !important;
}
.hero-split-final .premium-photo-frame{
  width:100% !important;
  max-width:520px !important;
  height:560px !important;
  min-height:0 !important;
  border-radius:26px !important;
  border:1px solid rgba(247,181,22,.58) !important;
  box-shadow:0 30px 85px rgba(0,0,0,.32) !important;
  overflow:hidden !important;
  background:#061a31 !important;
}
.hero-split-final .premium-photo-frame:after{
  inset:14px !important;
  border-radius:18px !important;
}
.hero-split-final .premium-photo-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 26% !important;
}

/* Serviços com imagens realmente distintas */
.premium-service-card .service-image img[src*="svc-erp-premium"],
.premium-service-card .service-image img[src*="svc-gestao-premium"]{
  object-fit:cover !important;
  object-position:center center !important;
  background:#071a31;
}

/* Projetos Subterrâneos: somente infraestrutura de dutos */
.premium-service-card .service-image img[src*="svc-subterraneos-premium"]{
  object-fit:cover !important;
  object-position:center 60% !important;
  transform:none !important;
  filter:none !important;
}

/* refinamento visual da grade */
.premium-services-grid{
  align-items:stretch !important;
}
.premium-service-card{
  display:flex !important;
  flex-direction:column !important;
}
.premium-service-card .service-content{
  flex:1 !important;
}

/* responsivo */
@media(max-width:1000px){
  .hero-split-final{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .hero-split-final .hero-copy,
  .hero-split-final .hero-photo{
    grid-column:1 !important;
  }
  .hero-split-final .hero-photo{
    justify-content:center !important;
  }
  .hero-split-final .premium-photo-frame{
    max-width:620px !important;
    height:500px !important;
  }
}
@media(max-width:650px){
  .hero-split-final .premium-photo-frame{
    height:420px !important;
  }
}

/* ==========================================================
   V12 — CORREÇÃO VISUAL DEFINITIVA
   ========================================================== */

/* HERO: composição aberta como a referência enviada.
   A foto deixa de parecer uma "foto quadrada dentro do site". */
.hero-open-photo{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(480px,.92fr) !important;
  align-items:center !important;
  min-height:640px !important;
  padding:62px 7vw !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 77% 35%,rgba(31,113,176,.18),transparent 28%),
    linear-gradient(110deg,#031423 0%,#061b31 52%,#0a365b 100%) !important;
}
.hero-open-photo .hero-copy{
  grid-column:1 !important;
  position:relative !important;
  z-index:3 !important;
  max-width:760px !important;
  align-self:center !important;
}
.hero-open-photo .hero-photo{
  grid-column:2 !important;
  position:absolute !important;
  z-index:2 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:50% !important;
  display:block !important;
  min-height:0 !important;
}
.hero-open-photo .premium-photo-frame,
.hero-open-photo .photo-frame{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:hidden !important;
}
.hero-open-photo .premium-photo-frame:after,
.hero-open-photo .photo-frame:after{
  display:none !important;
}
.hero-open-photo .premium-photo-frame img,
.hero-open-photo .photo-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 24% !important;
  border-radius:0 !important;
  filter:none !important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.48) 12%,#000 34%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.48) 12%,#000 34%,#000 100%);
}

/* reforço visual no lado esquerdo, como a peça de referência */
.hero-open-photo:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,20,35,.98) 0%,rgba(3,20,35,.96) 42%,rgba(3,20,35,.45) 62%,rgba(3,20,35,.08) 100%);
}

/* PROJETOS SUBTERRÂNEOS: apenas dutos, sem arte, setas ou textos */
.premium-service-card .service-image img[src*="svc-subterraneos-clean"]{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 58% !important;
  transform:none !important;
  filter:none !important;
}

/* ÍVA ALÉM DAS FRONTEIRAS: usar recorte HD da arte original */
.international-card img[src*="iva-alem-fronteiras-hd"]{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 58% !important;
  filter:none !important;
  transform:none !important;
  image-rendering:auto !important;
}
.international-card{
  min-height:500px !important;
  background:#0a2946 !important;
}
.international-card:after{
  background:linear-gradient(90deg,rgba(3,17,31,.83) 0%,rgba(3,17,31,.42) 42%,rgba(3,17,31,.10) 72%,rgba(3,17,31,.02) 100%) !important;
}

@media(max-width:1000px){
  .hero-open-photo{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding-bottom:0 !important;
  }
  .hero-open-photo .hero-copy{
    grid-column:1 !important;
    padding-bottom:36px !important;
  }
  .hero-open-photo .hero-photo{
    position:relative !important;
    grid-column:1 !important;
    width:100% !important;
    height:480px !important;
  }
  .hero-open-photo .premium-photo-frame,
  .hero-open-photo .photo-frame{
    position:absolute !important;
  }
  .hero-open-photo .premium-photo-frame img,
  .hero-open-photo .photo-frame img{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 100%);
  }
  .hero-open-photo:after{
    background:linear-gradient(180deg,rgba(3,20,35,.96) 0%,rgba(3,20,35,.75) 44%,rgba(3,20,35,.08) 74%,transparent 100%);
  }
}

/* ==========================================================
   V13 — correções visuais efetivas
   ========================================================== */

/* HERO aprovado: usa exatamente a composição da versão inicial elogiada */
.hero-approved{
  position:relative;
  width:100%;
  background:#061a31;
  overflow:hidden;
}
.hero-approved-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.hero-hotspot{
  position:absolute;
  display:block;
  z-index:5;
}
.hero-orcamento{
  left:3.8%;
  top:78%;
  width:20.2%;
  height:9%;
}
.hero-especialista{
  left:25.7%;
  top:78%;
  width:21.5%;
  height:9%;
}

/* card de subterrâneos: foto real de dutos, sem callouts da CET-Rio */
.premium-service-card .service-image img[src*="pixabay"]{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 54% !important;
  filter:none !important;
  transform:none !important;
}

/* ÍVA além das fronteiras: composição vetorial nítida, sem bitmap desfocado */
.international-clean{
  min-height:500px !important;
  display:grid !important;
  grid-template-columns:.9fr 1.1fr !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 78% 32%,rgba(22,130,207,.30),transparent 28%),
    linear-gradient(145deg,#071b31,#0a3d66) !important;
}
.international-clean:after{
  display:none !important;
}
.intl-copy{
  position:relative;
  z-index:3;
  padding:46px 26px 46px 38px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.intl-copy>span{
  color:#ffc52a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.intl-copy>strong{
  display:block;
  font-size:38px;
  line-height:1.08;
  margin:12px 0 14px;
}
.intl-copy p{
  color:#d8e6f0;
  font-size:14px;
  line-height:1.6;
  margin:0;
}
.intl-visual{
  position:relative;
  min-height:500px;
  overflow:hidden;
  background:
    radial-gradient(circle at 56% 48%,rgba(19,116,185,.30),transparent 28%),
    radial-gradient(circle at center,#0d4b78 0%,#092a48 54%,#061a31 100%);
}
.intl-visual:before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.20);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:
    inset 0 0 60px rgba(31,150,225,.10),
    0 0 80px rgba(14,111,175,.18);
}
.globe-ring{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.ring-one{width:430px;height:210px}
.ring-two{width:220px;height:430px}
.country{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:7px;
  background:rgba(4,24,42,.88);
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  padding:9px 13px;
  color:#fff;
  font-size:13px;
  box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.country-us{left:13%;top:24%}
.country-ca{right:12%;top:20%}
.country-br{left:42%;bottom:18%}
.route-lines{
  position:absolute;
  inset:10% 7%;
  width:86%;
  height:80%;
  z-index:2;
}
.route-lines path{
  fill:none;
  stroke:#f7b516;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:7 8;
  filter:drop-shadow(0 0 6px rgba(247,181,22,.45));
}

/* neutraliza regras antigas do hero para não interferirem */
.hero-open-photo,
.hero-split-final{
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  background:none !important;
}

@media(max-width:900px){
  .hero-hotspot{display:none}
  .international-clean{
    grid-template-columns:1fr !important;
  }
  .intl-visual{min-height:360px}
}

/* =========================================================
   V14 — TOPO NÍTIDO + BANDEIRAS NA ÁREA INTERNACIONAL
   ========================================================= */

/* HERO final, sem usar imagem primária desfocada */
.hero-final{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);
  min-height:620px;
  background:
    radial-gradient(circle at 72% 28%,rgba(22,115,181,.20),transparent 26%),
    linear-gradient(110deg,#031423 0%,#061b31 54%,#0a3558 100%);
  color:#fff;
  overflow:hidden;
}
.hero-final-copy{
  padding:66px 4vw 56px 7vw;
  align-self:center;
  position:relative;
  z-index:2;
}
.hero-final-copy h1{
  font-size:clamp(48px,5vw,78px);
  line-height:1.01;
  letter-spacing:-.045em;
  margin:20px 0;
  max-width:760px;
}
.hero-final-copy h1 em{
  font-style:normal;
  color:var(--gold);
}
.hero-final-copy>p{
  font-size:18px;
  line-height:1.62;
  color:#d8e6f1;
  max-width:730px;
}
.hero-final-visual{
  position:relative;
  overflow:hidden;
  min-height:620px;
}
.hero-final-visual:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,#061b31 0%,rgba(6,27,49,.72) 10%,rgba(6,27,49,.14) 29%,transparent 48%);
  pointer-events:none;
}
.hero-final-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-final .hero-trust{
  margin-top:30px;
}
.hero-final .hero-trust div{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.16);
}

/* Área internacional com imagem nítida e bandeiras */
.international-premium{
  min-height:470px !important;
  display:grid !important;
  grid-template-columns:.88fr 1.12fr !important;
  background:linear-gradient(145deg,#071b31,#0a355a) !important;
  overflow:hidden !important;
}
.international-premium:after{
  display:none !important;
}
.international-premium .intl-copy{
  padding:42px 30px 42px 36px;
}
.international-premium .intl-photo{
  position:relative;
  overflow:hidden;
  min-height:470px;
}
.international-premium .intl-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#0a355a 0%,rgba(10,53,90,.44) 14%,transparent 34%);
}
.international-premium .intl-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  filter:none !important;
}
.flag-badges span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

@media(max-width:1000px){
  .hero-final{
    grid-template-columns:1fr;
  }
  .hero-final-copy{
    padding:52px 24px 38px;
  }
  .hero-final-visual{
    min-height:430px;
  }
  .international-premium{
    grid-template-columns:1fr !important;
  }
  .international-premium .intl-photo{
    min-height:340px;
  }
}

/* V17 — correções finais: rosto inteiro + mapa com 3 bandeiras nítidas */
.hero-final-visual img{
  object-fit:cover !important;
  object-position:center center !important;
  width:100%; height:100%;
}
.hero-final-visual:before{
  background:linear-gradient(90deg,#061b31 0%,rgba(6,27,49,.60) 9%,rgba(6,27,49,.10) 25%,transparent 42%) !important;
}

.international-premium .intl-globe{
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:
    radial-gradient(circle at 52% 53%,rgba(20,116,180,.52) 0 28%,rgba(8,54,91,.96) 48%,#061d34 72%);
}
.international-premium .intl-globe:before{
  content:"";
  position:absolute;
  width:390px;height:390px;
  border:1px solid rgba(161,208,237,.28);
  border-radius:50%;
  left:50%;top:50%;transform:translate(-50%,-50%);
  background:
    linear-gradient(25deg,transparent 48%,rgba(104,177,222,.15) 49%,rgba(104,177,222,.15) 51%,transparent 52%),
    linear-gradient(-25deg,transparent 48%,rgba(104,177,222,.12) 49%,rgba(104,177,222,.12) 51%,transparent 52%);
  box-shadow:inset 0 0 70px rgba(12,113,176,.18),0 0 80px rgba(10,108,171,.12);
}
.international-premium .intl-globe:after{
  content:"";
  position:absolute;
  width:390px;height:155px;
  border:1px solid rgba(161,208,237,.22);
  border-radius:50%;
  left:50%;top:50%;transform:translate(-50%,-50%);
}
.globe-grid{position:absolute;inset:0;}
.globe-grid:before,.globe-grid:after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:155px;height:390px;border:1px solid rgba(161,208,237,.20);border-radius:50%;
}
.globe-grid:after{width:285px;}
.route{position:absolute;border-top:3px dashed #ffbd19;border-radius:50%;opacity:.95;z-index:2;}
.route-one{width:235px;height:110px;left:29%;top:42%;transform:rotate(10deg);}
.route-two{width:210px;height:130px;left:38%;top:49%;transform:rotate(-22deg);}
.map-flag{
  position:absolute;z-index:4;display:flex;align-items:center;gap:8px;
  padding:7px 11px 7px 8px;border-radius:999px;
  background:rgba(3,20,35,.86);border:1px solid rgba(255,255,255,.24);
  color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.22);white-space:nowrap;
}
.map-flag .flag-icon{font-size:26px;line-height:1;filter:none;}
.map-flag b{font-size:12px;letter-spacing:.01em;}
.flag-canada{right:8%;top:18%;}
.flag-usa{left:10%;top:34%;}
.flag-brasil{right:12%;bottom:17%;}
@media(max-width:1000px){
  .international-premium .intl-globe{min-height:360px;}
  .international-premium .intl-globe:before{width:310px;height:310px;}
  .international-premium .intl-globe:after{width:310px;height:125px;}
  .globe-grid:before{width:125px;height:310px}.globe-grid:after{width:225px;height:310px}
}

/* =========================================================
   V18 — somente as duas correções solicitadas
   1. Foto do topo inteira, sem corte
   2. Manter o globo aprovado e acrescentar bandeiras nítidas
   ========================================================= */

/* FOTO: não cortar mais a imagem. Mantém toda a composição visível. */
.hero-final{
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr) !important;
}
.hero-final-visual{
  background:#061b31 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}
.hero-final-visual img{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:right center !important;
  transform:none !important;
}
.hero-final-visual:before{
  background:linear-gradient(90deg,#061b31 0%,rgba(6,27,49,.54) 8%,rgba(6,27,49,.10) 18%,transparent 30%) !important;
}

/* Bandeiras reais em SVG — sem letras US/CA/BR e sem desfoque */
.map-flag{
  gap:9px !important;
  padding:7px 12px 7px 7px !important;
}
.map-flag .flag-icon-img{
  width:31px !important;
  height:22px !important;
  object-fit:cover !important;
  border-radius:3px !important;
  display:block !important;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.flag-badges span img{
  width:22px !important;
  height:15px !important;
  object-fit:cover !important;
  border-radius:2px !important;
  display:block !important;
  flex:0 0 auto;
}
.flag-badges span{
  gap:7px !important;
}

/* O globo, rotas e posições permanecem iguais à versão aprovada. */
@media(max-width:1000px){
  .hero-final{
    grid-template-columns:1fr !important;
  }
  .hero-final-visual img{
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* =========================================================
   V19 FINAL — correções definitivas solicitadas
   ========================================================= */

/* FOTO DO TOPO:
   - imagem original inteira
   - sem corte de rosto/cabelo
   - ocupa corretamente toda a área direita
*/
.hero-final{
  grid-template-columns:minmax(0,1.02fr) minmax(620px,.98fr) !important;
  min-height:640px !important;
}

.hero-final-visual{
  position:relative !important;
  min-height:640px !important;
  overflow:hidden !important;
  background:#041322 !important;
  display:block !important;
}

.hero-final-visual img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:right center !important;
  transform:none !important;
  filter:none !important;
}

.hero-final-visual:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    #061b31 0%,
    rgba(6,27,49,.78) 7%,
    rgba(6,27,49,.32) 16%,
    rgba(6,27,49,0) 27%
  ) !important;
}

/* MAPA:
   manter o nome e colocar a bandeira claramente ABAIXO dele
*/
.map-flag{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:8px 11px !important;
  min-width:94px !important;
  border-radius:14px !important;
  background:rgba(3,20,35,.88) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
  white-space:nowrap !important;
}

.map-flag b{
  display:block !important;
  font-size:12px !important;
  line-height:1.15 !important;
  text-align:center !important;
  letter-spacing:.01em !important;
}

.map-flag .flag-icon-img{
  display:block !important;
  width:32px !important;
  height:22px !important;
  object-fit:cover !important;
  border-radius:3px !important;
  box-shadow:0 1px 4px rgba(0,0,0,.25) !important;
  margin:0 !important;
}

/* manter os nomes dos três países abaixo do texto, sem bandeira sobre eles */
.flag-badges span{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
}
.flag-badges span img{
  display:none !important;
}

@media(max-width:1100px){
  .hero-final{
    grid-template-columns:1fr !important;
  }
  .hero-final-visual{
    min-height:620px !important;
  }
  .hero-final-visual img{
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* =========================================================
   V20 FINAL — FOTO COMPLETA + BANDEIRAS ABAIXO DOS NOMES
   ========================================================= */

/* A imagem enviada é exibida COMPLETA. Nada é cortado:
   logo ÍVA, slogan e pessoa permanecem visíveis. */
.hero-final{
  grid-template-columns:minmax(0,1fr) minmax(620px,1fr) !important;
}
.hero-final-visual{
  position:relative !important;
  min-height:640px !important;
  overflow:hidden !important;
  background:#020b13 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-final-visual img{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:640px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}
.hero-final-visual:before{
  display:none !important;
}

/* Países no globo: nome em cima; bandeira embaixo.
   Não existe mais layout horizontal nem sobreposição. */
.map-flag{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-width:116px !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
.map-flag .country-name{
  position:static !important;
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  color:#fff !important;
}
.map-flag .country-flag{
  position:static !important;
  display:flex !important;
  width:100% !important;
  height:24px !important;
  align-items:center !important;
  justify-content:center !important;
}
.map-flag .country-flag img{
  position:static !important;
  display:block !important;
  width:34px !important;
  height:23px !important;
  object-fit:cover !important;
  border-radius:3px !important;
  margin:0 !important;
}

/* esconder qualquer regra antiga de ícone que pudesse causar sobreposição */
.map-flag > .flag-icon-img,
.map-flag > .flag-icon{
  display:none !important;
}

@media(max-width:1100px){
  .hero-final{
    grid-template-columns:1fr !important;
  }
  .hero-final-visual{
    min-height:auto !important;
  }
  .hero-final-visual img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
}
