:root{
  --white:#FFFFFF;
  --black:#000000;
  --red:#EE1C25;
  --gray:#8B8092;
  --bg:#000000;
  --panel:#0D0D0D;
  --panel-soft:#111111;
  --text:#FFFFFF;
  --muted:#BDB6C6;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.16);
  --max:1240px;
  --radius:24px;
  --shadow:0 18px 48px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;
  overflow-x:hidden;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.04), transparent 18%),
    radial-gradient(circle at 88% 20%, rgba(255,255,255,.03), transparent 20%),
    linear-gradient(180deg,#090909 0%, #000000 32%, #050505 100%);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}
.skip-link{
  position:absolute;
  left:16px;
  top:-48px;
  background:#fff;
  color:#000;
  padding:10px 14px;
  border-radius:12px;
  z-index:200;
  font-weight:700;
}
.skip-link:focus{top:16px}
.container{width:min(var(--max), calc(100% - 44px));margin:0 auto}
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:84px;
}
.brandmark{display:flex;align-items:center;gap:14px;min-width:0}
.brandmark img{height:40px;width:auto}
.brandtext{
  font-size:.92rem;
  color:var(--muted);
  white-space:nowrap;
}
.menu{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.menu a{
  color:#ddd;
  font-size:.95rem;
  position:relative;
}
.menu a:hover{color:#fff}
.menu a[aria-current="page"]{
  color:#fff;
}
.menu a:not(.btn)[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:2px;
  border-radius:999px;
  background:var(--red);
}
.menu-toggle{
  display:none;
  background:none;
  border:1px solid var(--line);
  color:#fff;
  border-radius:10px;
  padding:8px 11px;
  font-size:1.1rem;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:12px;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:var(--red);
  color:#fff;
  box-shadow:0 12px 30px rgba(238,28,37,.20);
}
.btn-primary:hover{box-shadow:0 16px 34px rgba(238,28,37,.28)}
.btn-secondary{
  background:transparent;
  border-color:var(--line-strong);
}
.btn-secondary:hover{border-color:rgba(255,255,255,.28)}
.btn-nav{min-height:42px}
.hero{padding:94px 0 78px;border-bottom:1px solid var(--line)}
.page-hero{padding:90px 0 34px;border-bottom:1px solid var(--line)}
.hero-grid,.split,.asset-layout{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:28px;
  align-items:center;
}
.asset-layout.reverse{grid-template-columns:1fr 1.05fr}
.kicker{
  display:inline-block;
  margin-bottom:18px;
  padding-bottom:8px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  border-bottom:3px solid var(--red);
}
h1,h2,h3{
  line-height:1.04;
  margin:0 0 14px;
  letter-spacing:-.02em;
}
h1{font-size:clamp(2.65rem,5vw,5rem);max-width:14ch}
h2{font-size:clamp(1.9rem,3vw,3rem)}
h3{font-size:1.12rem}
.lead{
  font-size:clamp(1rem,1.8vw,1.14rem);
  color:var(--muted);
  max-width:760px;
  line-height:1.56;
}
p{
  color:var(--muted);
  line-height:1.62;
  margin:0 0 14px;
}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.badge{
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.03);
}
.metrics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.metric-card{
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.03);
}
.metric-card strong{
  display:block;
  font-size:1.6rem;
  line-height:1;
  margin-bottom:8px;
}
.metric-card span{
  display:block;
  color:var(--muted);
  font-size:.92rem;
}
.section{padding:80px 0;border-bottom:1px solid var(--line)}
.section-contrast{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
}
.section-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  margin-bottom:26px;
}
.grid-2,.grid-3{
  display:grid;
  gap:22px;
}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.align-start{align-items:start}
.card,.panel,.media-card,.process-card,.arm-card,.info-card{
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.card,.panel,.process-card,.arm-card,.info-card{padding:24px}
.panel img,.visual-panel img,.media-card img,.gallery-item img{
  width:100%;
  height:auto;
}
.seal-panel{
  border:1px solid rgba(238,28,37,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border-radius:28px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
  box-shadow:var(--shadow);
}
.seal-panel img{width:min(100%,430px);height:auto}
.seal-note{text-align:center}
.media-showcase{align-items:stretch}
.media-card img{
  width:100%;
  object-fit:cover;
  background:#050505;
  aspect-ratio:4/3;
}
.media-card-body{padding:18px 20px}
.list{padding-left:18px;margin:14px 0 0}
.list li{margin-bottom:10px;color:var(--muted)}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.process-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
}
.process-card span{
  display:block;
  color:var(--red);
  font-size:1.7rem;
  font-weight:900;
  margin-bottom:18px;
}
.process-card strong{
  font-size:1.2rem;
  margin-bottom:10px;
}
.process-card p{
  margin:0;
  font-size:.98rem;
}
.table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
th,td{
  padding:15px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
thead th{
  background:#0a0a0a;
  color:#fff;
}
tbody tr:hover{background:rgba(255,255,255,.02)}
td{color:var(--muted)}
.caption,.small{
  font-size:.93rem;
  color:var(--muted);
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-item{
  margin:0;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#0b0b0b;
  box-shadow:var(--shadow);
}
.gallery-item img{
  object-fit:contain;
  background:#050505;
  aspect-ratio:4/3;
}
.gallery-item figcaption{
  padding:14px 16px;
  color:var(--muted);
}
.arm-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}
.arm-card{
  min-height:220px;
}
.arm-card h3{
  font-size:1.06rem;
  margin-bottom:10px;
}
.arm-wordmark{
  color:#fff;
  font-weight:700;
  margin-bottom:12px;
}
.arm-card-accent{
  border-color:rgba(238,28,37,.18);
  box-shadow:inset 0 0 0 1px rgba(238,28,37,.16), var(--shadow);
}
.info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.info-grid .info-card:nth-child(3n+1){
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.018));
}
.note-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  padding:18px 22px;
  border-radius:18px;
  border:1px solid rgba(238,28,37,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  box-shadow:var(--shadow);
}
.note-strip strong{color:#fff}
.quote-panel{
  position:relative;
}
.quote-panel::before{
  content:"";
  position:absolute;
  top:24px;
  left:24px;
  width:56px;
  height:4px;
  border-radius:999px;
  background:var(--red);
}
.quote-panel .kicker{margin-top:18px}
.autism-hero{padding-top:44px}
.footer{
  padding:36px 0 50px;
  border-top:1px solid var(--line);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:22px;
}
.footer img{height:40px;width:auto;margin-bottom:10px}
.footer a{
  color:#ddd;
}
.footer a:hover{color:#fff}
.panel-cta{text-align:center;padding:38px}
.panel-cta .actions{justify-content:center}
.contact-card .lead{font-size:1.1rem}
.selo-panel-large{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
}
.selo-panel-large img{
  width:min(100%,420px);
  height:auto;
  object-fit:contain;
  border-radius:20px;
}
.asset-layout .panel img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#050505;
}
@media (max-width: 1100px){
  .metrics-grid{grid-template-columns:repeat(2,1fr)}
  .arm-grid{grid-template-columns:repeat(2,1fr)}
  .info-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 980px){
  .hero-grid,.split,.asset-layout,.asset-layout.reverse,.grid-3,.grid-2,.footer-grid,.gallery-grid,.process-grid,.arm-grid,.info-grid{
    grid-template-columns:1fr;
  }
  .section-head{display:block}
  .container{width:min(var(--max), calc(100% - 30px))}
  .media-card img,.gallery-item img{height:auto}
  .menu a:not(.btn)[aria-current="page"]::after{display:none}
}
@media (max-width: 860px){
  .nav{padding:14px 0}
  .menu-toggle{display:inline-flex}
  .menu{
    position:absolute;
    left:0;
    right:0;
    top:84px;
    background:rgba(0,0,0,.97);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    padding:14px 22px 22px;
    display:none;
    flex-direction:column;
    align-items:flex-start;
  }
  .menu.is-open{display:flex}
  .menu a{width:100%}
  .btn-nav{width:100%}
  .brandmark img{height:36px}
  .brandtext{
    max-width:120px;
    white-space:normal;
    line-height:1.2;
  }
  .hero,.page-hero,.section{padding-top:64px;padding-bottom:56px}
  h1{max-width:none}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}


body.menu-open{
  overflow:hidden;
}

.footer-signature{
  opacity:.82;
}

.footer a,
.contact-card .lead a,
.contact-card p a,
.small,
.badge,
td{
  overflow-wrap:anywhere;
}

@media (max-width: 860px){
  .menu{
    position:fixed;
    left:0;
    right:0;
    top:var(--menu-offset, 84px);
    bottom:0;
    min-height:calc(100dvh - var(--menu-offset, 84px));
    background:#000000;
    backdrop-filter:blur(16px);
    border-top:1px solid var(--line);
    border-bottom:none;
    padding:22px 22px calc(28px + env(safe-area-inset-bottom));
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    overflow-y:auto;
    overscroll-behavior:contain;
    box-shadow:0 32px 80px rgba(0,0,0,.45);
    z-index:70;
  }
  .menu.is-open{display:flex}
  .menu a{
    width:100%;
    font-size:1.32rem;
    line-height:1.2;
    color:#fff;
  }
  .menu .btn-nav{
    margin-top:8px;
    min-height:52px;
    width:100%;
  }
  .menu-toggle{
    position:relative;
    z-index:80;
  }
}

@media (max-width: 640px){
  .hero,
  .page-hero,
  .section{
    padding-top:56px;
    padding-bottom:52px;
  }
  .container{
    width:min(var(--max), calc(100% - 24px));
  }
  h1{
    font-size:clamp(2.2rem, 12vw, 3.6rem);
    line-height:.98;
  }
  h2{
    font-size:clamp(1.85rem, 8vw, 2.6rem);
  }
  .lead{
    font-size:1rem;
  }
  .nav{
    min-height:76px;
  }
  .brandmark{
    gap:12px;
  }
  .brandmark img{
    height:34px;
  }
  .brandtext{
    font-size:.82rem;
    max-width:112px;
    line-height:1.14;
  }
  .menu-toggle{
    padding:8px 10px;
  }
  .actions{
    flex-direction:column;
    align-items:stretch;
  }
  .actions .btn{
    width:100%;
  }
  .panel-cta{
    padding:28px 22px;
  }
  .card,
  .panel,
  .process-card,
  .arm-card,
  .info-card{
    padding:20px;
  }
  .metric-card{
    padding:14px 16px;
  }
  .section-head{
    margin-bottom:20px;
  }
}

@media (max-width: 480px){
  .brandtext{
    max-width:98px;
    font-size:.78rem;
  }
  .badge{
    font-size:.86rem;
    padding:8px 12px;
  }
  .kicker{
    font-size:.78rem;
    letter-spacing:.10em;
  }
  .menu a{
    font-size:1.2rem;
  }
}

@media (max-width: 760px){
  .table-wrap{
    overflow:visible;
    border:none;
    box-shadow:none;
  }
  table,
  thead,
  tbody,
  th,
  td,
  tr{
    display:block;
    width:100%;
  }
  table{
    min-width:0;
  }
  thead{
    display:none;
  }
  tbody{
    display:grid;
    gap:14px;
  }
  tbody tr{
    border:1px solid var(--line);
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
    box-shadow:var(--shadow);
  }
  tbody td{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:12px 16px;
    text-align:right;
    border-bottom:1px solid var(--line);
  }
  tbody td:last-child{
    border-bottom:none;
  }
  tbody td::before{
    content:attr(data-label);
    color:#fff;
    font-weight:700;
    text-align:left;
    flex:0 0 42%;
  }
  tbody td:nth-child(4){
    font-size:.95rem;
    line-height:1.5;
  }
}


@media (max-width: 380px){
  .brandtext{display:none}
  .nav{gap:12px}
  .brandmark img{height:32px}
}


/* ==== Refinamento tipográfico e mobile v3 ==== */
main h1,
main h2,
main h3{
  text-wrap:balance;
}

main .hero-copy .lead,
main .page-hero .lead,
main .section-head .lead,
main .split > div > p:not(.small):not(.arm-wordmark),
main .asset-layout > .panel > p:not(.small):not(.arm-wordmark),
main .grid-2 > .panel > p:not(.small):not(.arm-wordmark),
main .panel-cta .lead,
main .note-strip span{
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
  text-wrap:pretty;
  max-width:none;
}

main .list li,
main .media-card-body p,
main .arm-card p:not(.arm-wordmark),
main .info-card p,
main .process-card p,
main .caption,
main .contact-card p,
main .contact-card .lead{
  text-wrap:pretty;
}

@media (max-width: 860px){
  main .hero-copy .lead,
  main .page-hero .lead,
  main .section-head .lead,
  main .split > div > p:not(.small):not(.arm-wordmark),
  main .asset-layout > .panel > p:not(.small):not(.arm-wordmark),
  main .grid-2 > .panel > p:not(.small):not(.arm-wordmark),
  main .panel-cta .lead,
  main .note-strip span{
    line-height:1.68;
  }

  .section-head{
    align-items:flex-start;
  }
}

@media (max-width: 640px){
  .panel-cta{
    text-align:left;
    padding:26px 20px;
  }

  .panel-cta .actions{
    justify-content:stretch;
  }

  .panel-cta h2,
  .panel-cta .lead{
    max-width:none;
  }

  .metric-card strong{
    font-size:1.5rem;
  }

  .media-card-body,
  .gallery-item figcaption{
    padding-left:18px;
    padding-right:18px;
  }
}


/* ==== Reancoragem institucional autismo v4 ==== */
body[data-page="autismo"] .editorial-copy p,
body[data-page="autismo"] .institutional-cta .lead,
body[data-page="autismo"] .note-strip span,
body[data-page="index"] .institutional-autism p,
body[data-page="index"] .institutional-autism .lead,
body[data-page="sobre"] .arm-card-accent p:last-child{
  text-align:justify !important;
  text-align-last:left;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
  text-wrap:pretty;
}

body[data-page="autismo"] .page-hero .actions{
  margin-top:26px;
}

.autism-info-grid .info-card{
  min-height:0;
}

.autism-info-grid .info-card p{
  margin-bottom:0;
}

.institutional-cta{
  border-color:rgba(238,28,37,.18);
  box-shadow:inset 0 0 0 1px rgba(238,28,37,.12), var(--shadow);
}

.institutional-cta .actions{
  justify-content:center;
}

@media (max-width: 860px){
  body[data-page="autismo"] .page-hero,
  body[data-page="autismo"] .section{
    padding-top:58px;
    padding-bottom:52px;
  }

  body[data-page="autismo"] .panel,
  body[data-page="autismo"] .info-card,
  body[data-page="autismo"] .panel-cta{
    padding:22px;
  }

  body[data-page="autismo"] .editorial-copy p,
  body[data-page="autismo"] .institutional-cta .lead,
  body[data-page="autismo"] .note-strip span{
    line-height:1.7;
    font-size:1.02rem;
  }
}

@media (max-width: 640px){
  body[data-page="autismo"] h1{
    font-size:clamp(2.25rem, 11.8vw, 3.3rem);
  }

  body[data-page="autismo"] h2{
    font-size:clamp(1.95rem, 8vw, 2.45rem);
  }

  body[data-page="autismo"] .section-head .lead{
    margin-top:4px;
  }

  body[data-page="autismo"] .note-strip{
    align-items:flex-start;
  }
}


/* ==== Ativos reais Nova Veneza v5 ==== */
.real-gallery-grid{
  align-items:start;
}
.real-gallery-grid .gallery-item img{
  aspect-ratio:3 / 4;
  object-fit:cover;
  background:#050505;
}
.real-gallery-grid .gallery-item figcaption{
  min-height:0;
}
@media (max-width: 980px){
  .real-gallery-grid .gallery-item img{
    height:auto;
  }
}


/* ==== Ativos reais adicionais v6 ==== */
.gallery-grid.assets-gallery-grid{grid-template-columns:repeat(2,1fr);}
@media (max-width: 980px){.gallery-grid.assets-gallery-grid{grid-template-columns:1fr;}}


/* ==== Refinamento comercial v8 ==== */
.equivalence-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.equivalence-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
  padding:22px 18px;
  text-align:center;
}
.equivalence-card-base{
  border-color:rgba(238,28,37,.32);
  box-shadow:inset 0 0 0 1px rgba(238,28,37,.16), var(--shadow);
}
.equivalence-time{
  display:block;
  color:#fff;
  font-size:1.55rem;
  font-weight:900;
  line-height:1;
  margin-bottom:12px;
}
.equivalence-card strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  line-height:1.35;
}
.equivalence-card p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.92rem;
  text-transform:lowercase;
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pricing-card{
  min-height:210px;
}
.price-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(238,28,37,.12);
  border:1px solid rgba(238,28,37,.25);
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
  margin-bottom:16px;
}
.pricing-card h3{
  margin-bottom:12px;
}
.pricing-note-strip{
  margin-top:22px;
}
body[data-page="anuncie"] .page-hero .lead,
body[data-page="anuncie"] .section-head .lead,
body[data-page="anuncie"] .panel-cta .lead,
body[data-page="anuncie"] .note-strip span{
  text-align:justify;
  text-align-last:left;
}
@media (max-width: 1100px){
  .equivalence-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 860px){
  .pricing-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .equivalence-grid{
    grid-template-columns:1fr;
  }
  .equivalence-card,
  .pricing-card{
    padding:20px 18px;
  }
  .equivalence-time{
    font-size:1.42rem;
  }
  .price-tag{
    min-width:0;
  }
}


/* V10 — formulários importação/exportação */
.form-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:26px;
}
.form-entry-card .actions{margin-top:18px}
.arm-link{display:inline-flex;margin-top:8px;font-weight:700;color:#fff;text-decoration:underline;text-decoration-color:rgba(238,28,37,.85);text-underline-offset:4px}
.arm-link:hover{color:#fff;text-decoration-color:#fff}
.uni-form-wrap{max-width:1120px;margin:0 auto}
.uni-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.uni-form-card,
.uni-panel-soft,
.uni-card-soft{
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.uni-card-soft{padding:34px}
.uni-panel-soft{padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.uni-panel-soft h2,
.uni-panel-soft h3{font-size:1.35rem;margin-bottom:14px}
.uni-panel-soft ul{margin:0;padding-left:18px}
.uni-panel-soft li,
.uni-panel-soft p{color:var(--muted);line-height:1.65}
.uni-form-card{padding:34px}
.uni-form{display:grid;gap:28px}
.uni-section{padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.uni-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.uni-step{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:var(--white);font-weight:800;font-size:14px;flex:0 0 auto}
.uni-section-title h3{margin:0;font-size:1.3rem}
.uni-section-title p{margin:4px 0 0;color:rgba(255,255,255,.72);font-size:.92rem}
.uni-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.uni-field{grid-column:span 12}
.uni-field.col-6{grid-column:span 6}
.uni-field.col-4{grid-column:span 4}
.uni-field.col-8{grid-column:span 8}
.uni-field.col-3{grid-column:span 3}
.uni-field label{display:block;margin-bottom:8px;font-size:.92rem;font-weight:700;color:rgba(255,255,255,.96)}
.uni-field small{display:block;margin-top:8px;color:rgba(255,255,255,.58);line-height:1.45}
.uni-field input,
.uni-field textarea,
.uni-field select{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:var(--white);
  border-radius:14px;
  min-height:54px;
  padding:14px 16px;
  font-size:.96rem;
  outline:none;
  transition:border-color .2s ease, transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.uni-field textarea{min-height:132px;resize:vertical}
.uni-field input::placeholder,
.uni-field textarea::placeholder{color:rgba(255,255,255,.42)}
.uni-field input:focus,
.uni-field textarea:focus,
.uni-field select:focus{border-color:rgba(238,28,37,.85);background:rgba(255,255,255,.07);box-shadow:0 0 0 4px rgba(238,28,37,.08)}
.uni-checks{display:grid;gap:12px}
.uni-checks.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.uni-check,
.uni-radio{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.03)}
.uni-check input,
.uni-radio input{width:18px;height:18px;margin-top:2px;accent-color:var(--red)}
.uni-check span,
.uni-radio span{color:rgba(255,255,255,.90);line-height:1.45;font-size:.92rem}
.uni-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;padding-top:4px}
.uni-actions p{margin:0;color:rgba(255,255,255,.66);line-height:1.6;max-width:720px}
.uni-btn{appearance:none;border:0;border-radius:14px;background:var(--red);color:var(--white);padding:16px 28px;min-height:56px;font-size:.98rem;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(238,28,37,.22);transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease}
.uni-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(238,28,37,.28)}
.uni-btn[disabled]{opacity:.7;cursor:wait}
.uni-success{display:none;margin-top:18px;padding:16px 18px;border-radius:16px;background:rgba(39,174,96,.12);border:1px solid rgba(39,174,96,.35);color:#d9f7e5}
.uni-success.is-visible{display:block}
.uni-direct-note{margin-top:18px}
.uni-meta-strip{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:22px}
.uni-meta-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.03)}
.uni-legal-note{margin-top:14px}
.uni-summary-tip{margin-top:18px}
body[data-page="importacao"] .page-hero h1,
body[data-page="exportacao"] .page-hero h1{max-width:15ch}
@media (max-width: 980px){
  .form-entry-grid,
  .uni-hero{grid-template-columns:1fr}
}
@media (max-width: 920px){
  .uni-field.col-6,
  .uni-field.col-4,
  .uni-field.col-8,
  .uni-field.col-3{grid-column:span 12}
  .uni-checks.cols-2{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .uni-card-soft,
  .uni-form-card{padding:22px}
  .uni-section{padding:18px}
  .uni-actions{align-items:stretch}
  .uni-btn{width:100%}
}

/* V11 — envio estruturado com protocolo e webhook */
.uni-field input[type="file"]{
  padding:14px 14px;
  min-height:60px;
  line-height:1.4;
}
.uni-field input[type="file"]::file-selector-button{
  margin-right:14px;
  border:0;
  border-radius:10px;
  background:rgba(238,28,37,.16);
  color:var(--white);
  font-weight:700;
  padding:10px 14px;
  cursor:pointer;
}
.uni-upload-note{min-height:1.2em}
.uni-honeypot{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.uni-system-card{
  max-width:820px;
  margin:0 auto;
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
}
.uni-system-card .protocol{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.03);
  margin:14px 0 18px;
  font-weight:700;
}
.uni-system-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-top:24px;
}
.uni-system-box{
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.02);
}
.uni-system-box h3{margin-bottom:10px;font-size:1.08rem}
.uni-system-box p,
.uni-system-box li{color:rgba(255,255,255,.74);line-height:1.65}
.uni-summary-view{
  display:grid;
  gap:18px;
}
.uni-summary-block{
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.02);
}
.uni-summary-block h2{font-size:1.1rem;margin-bottom:10px}
.uni-summary-block ul{margin:0;padding-left:18px}
.uni-summary-block li{margin-bottom:6px;color:rgba(255,255,255,.8);line-height:1.65}
.uni-summary-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width: 760px){
  .uni-system-card{padding:22px}
  .uni-system-grid{grid-template-columns:1fr}
}


/* V12 — frente uni. mobilidade */
.mobility-note-strip{
  margin-top:22px;
  justify-content:space-between;
}
.mobility-note-strip .btn{
  margin-left:auto;
}
.mobility-hero .arm-wordmark{
  font-size:1.02rem;
  margin:-2px 0 14px;
}
.mobility-visual img{
  aspect-ratio:4/5;
  object-fit:cover;
  background:#050505;
}
.mobility-pillar-grid .info-card{
  min-height:0;
}
.mobility-focus-panel .list{
  margin-top:8px;
}
body[data-page="mobilidade"] .page-hero .lead,
body[data-page="mobilidade"] .section-head .lead,
body[data-page="mobilidade"] .split > div > p:not(.small):not(.arm-wordmark),
body[data-page="mobilidade"] .panel-cta .lead{
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
@media (max-width: 980px){
  .mobility-note-strip .btn{
    margin-left:0;
  }
}
@media (max-width: 640px){
  body[data-page="mobilidade"] h1{
    font-size:clamp(2.25rem, 11.8vw, 3.45rem);
  }
  .mobility-note-strip{
    align-items:flex-start;
  }
}


/* V13 — integração do kit uni. mobilidade */
.mobility-catalog-panel{
  padding:22px;
  overflow:hidden;
}
.mobility-catalog-panel img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  border:1px solid var(--line);
  background:#f3f3f3;
}
.mobility-disclaimer{
  margin-top:16px;
  color:rgba(255,255,255,.62);
}
.mobility-logic-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.mobility-groups{
  display:grid;
  gap:24px;
}
.mobility-group{
  padding:26px;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
  box-shadow:var(--shadow);
}
.mobility-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.mobility-group-head h3{
  margin:4px 0 8px;
}
.mobility-group-head p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.72;
  text-align:justify;
  text-align-last:left;
}
.mobility-group-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:116px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.03em;
  white-space:nowrap;
}
.mobility-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.mobility-product-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
  padding:22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:rgba(255,255,255,.02);
}
.mobility-product-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.mobility-product-top h4{
  margin:0 0 6px;
  font-size:1.2rem;
}
.mobility-product-category{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:.95rem;
}
.mobility-power-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(238,28,37,.12);
  border:1px solid rgba(238,28,37,.25);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}
.mobility-product-copy{
  margin:0;
  color:#fff;
  font-weight:700;
  line-height:1.6;
  text-align:left;
}
.mobility-product-expanded{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.74;
  text-align:justify;
  text-align-last:left;
}
.mobility-spec-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.mobility-spec-list li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.mobility-spec-list li strong{
  color:#fff;
  font-size:.94rem;
}
.mobility-spec-list li span{
  color:rgba(255,255,255,.72);
  text-align:right;
  font-size:.94rem;
}
.mobility-colors{
  margin:0;
  color:rgba(255,255,255,.7);
  line-height:1.65;
  text-align:justify;
  text-align-last:left;
}
body[data-page="mobilidade"] .mobility-product-card .btn{
  margin-top:auto;
  width:100%;
  justify-content:center;
}
@media (max-width: 1100px){
  .mobility-card-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 980px){
  .mobility-logic-grid{
    grid-template-columns:1fr;
  }
  .mobility-group-head{
    flex-direction:column;
  }
}
@media (max-width: 760px){
  .mobility-group{
    padding:20px;
    border-radius:24px;
  }
  .mobility-card-grid{
    grid-template-columns:1fr;
  }
  .mobility-product-card{
    padding:18px;
  }
  .mobility-product-top{
    flex-direction:column;
  }
  .mobility-power-pill{
    align-self:flex-start;
  }
  .mobility-spec-list li{
    flex-direction:column;
    gap:4px;
  }
  .mobility-spec-list li span{
    text-align:left;
  }
  .mobility-catalog-panel{
    padding:14px;
  }
}

/* V14 — ativos reais + mobilidade comercial por modelo */
body[data-page="mobilidade"] .mobility-hero-v14 h1{max-width:13ch}
body[data-page="mobilidade"] .mobility-visual-v14{padding:18px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));}
body[data-page="mobilidade"] .mobility-visual-v14 img{
  aspect-ratio:4/5;
  object-fit:contain;
  background:#f2f2f2;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
}
.mobility-groups-v14{gap:32px}
.mobility-card-grid-v14{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.mobility-card-grid-v14 .mobility-product-card{
  padding:0;
  overflow:hidden;
  gap:0;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016));
  border-color:rgba(255,255,255,.11);
}
.mobility-product-visual{
  min-height:250px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 30%, rgba(238,28,37,.08), transparent 42%),
    linear-gradient(180deg,#f4f4f4 0%, #d8d8d8 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mobility-product-visual img{
  max-height:220px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.24));
}
.mobility-product-content{
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
  padding:22px;
}
.mobility-card-grid-v14 .mobility-product-top h4{
  font-size:1.5rem;
  letter-spacing:-.02em;
}
.mobility-card-grid-v14 .mobility-product-category{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.75rem;
  font-weight:800;
  color:rgba(255,255,255,.55);
}
.mobility-card-grid-v14 .mobility-product-copy{
  color:#fff;
  font-size:1.02rem;
}
.mobility-card-grid-v14 .mobility-product-expanded{
  text-align:left;
  color:rgba(255,255,255,.74);
  line-height:1.65;
}
.mobility-spec-chips{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
}
.mobility-spec-chips li{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.72);
  font-size:.84rem;
}
.mobility-card-grid-v14 .mobility-colors{
  text-align:left;
  color:rgba(255,255,255,.68);
  font-size:.94rem;
}
.btn-whatsapp{gap:9px}
.wa-icon{
  width:21px;
  height:21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.wa-icon svg{width:21px;height:21px;display:block}
.pricing-grid-v14{grid-template-columns:repeat(3,minmax(0,1fr));}
.equivalence-caption{margin-top:18px}
.investment-table-wrap table{min-width:920px}
body[data-page="anuncie"] .price-tag{min-width:96px}
@media (max-width:1100px){
  .mobility-card-grid-v14{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pricing-grid-v14{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .mobility-card-grid-v14{grid-template-columns:1fr;}
  .pricing-grid-v14{grid-template-columns:1fr;}
  .mobility-product-visual{min-height:220px;padding:18px;}
  .mobility-product-visual img{max-height:205px;}
  .mobility-product-content{padding:20px;}
  body[data-page="mobilidade"] .mobility-visual-v14 img{aspect-ratio:1/1;}
}

/* V15 — página de venda uni. mobilidade */
body[data-page="mobilidade"] .mobility-hero-v15 h1{max-width:12.5ch;}
body[data-page="mobilidade"] .mobility-hero-v15 .lead{max-width:760px;}
.mobility-showcase-panel{padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));}
.mobility-showcase-grid{display:grid;grid-template-columns:1.04fr .82fr;grid-template-rows:1fr 1fr;gap:12px;min-height:540px;}
.mobility-showcase-grid img{width:100%;height:100%;object-fit:cover;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#fff;}
.mobility-showcase-grid img:first-child{grid-row:1 / span 2;}
.mobility-logic-grid-v15 .info-card p{text-align:left;}
.mobility-feature-strip{padding-top:clamp(62px,8vw,120px);}
.mobility-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.mobility-highlight-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 22px 54px rgba(0,0,0,.24);}
.mobility-highlight-card img{width:100%;height:410px;object-fit:cover;background:#0a0a0a;display:block;}
.mobility-highlight-card div{padding:22px;}
.mobility-highlight-card h3{font-size:clamp(1.35rem,2.4vw,2rem);margin:0 0 8px;}
.mobility-highlight-card p{margin:0 0 16px;color:var(--muted);text-align:left;}
.mobility-highlight-card a{color:#fff;font-weight:900;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:5px;}
.mobility-anchor-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;}
.mobility-anchor-bar a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:#fff;text-decoration:none;font-weight:900;font-size:.82rem;letter-spacing:.04em;}
.mobility-anchor-bar a:hover,.mobility-anchor-bar a:focus{border-color:rgba(238,28,37,.7);box-shadow:0 0 0 4px rgba(238,28,37,.16);}
.mobility-groups-v15{gap:36px;}
.mobility-sale-group{scroll-margin-top:110px;}
.mobility-card-grid-v15{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;}
.mobility-sale-card{min-height:100%;display:flex;flex-direction:column;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));}
.mobility-sale-visual{min-height:330px;padding:22px;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.11),rgba(255,255,255,.025) 50%,rgba(0,0,0,.18));display:flex;align-items:center;justify-content:center;}
.mobility-sale-visual img{max-width:100%;max-height:290px;object-fit:contain;border-radius:18px;filter:drop-shadow(0 28px 34px rgba(0,0,0,.28));}
.mobility-sale-card .mobility-product-content{display:flex;flex-direction:column;gap:14px;flex:1;padding:24px;}
.mobility-sale-card .mobility-product-top{align-items:flex-start;gap:16px;}
.mobility-sale-card .mobility-product-category{margin-bottom:7px;}
.mobility-sale-card .mobility-product-top h4{font-size:clamp(1.65rem,3vw,2.55rem);line-height:.96;}
.mobility-sale-card .mobility-product-copy{margin:0;color:#fff;font-size:1.02rem;line-height:1.42;text-align:left;}
.mobility-sale-card .mobility-product-expanded{margin:0;color:var(--muted);font-size:.96rem;line-height:1.55;text-align:left;}
.mobility-spec-chips-v15{margin-top:2px;}
.mobility-sale-card .mobility-colors{margin:0;color:var(--muted);font-size:.92rem;line-height:1.52;text-align:left;}
.mobility-price-box{margin-top:auto;display:grid;grid-template-columns:1fr;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(0,0,0,.28);}
.mobility-price-box span{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--muted);font-size:.68rem;margin-bottom:4px;}
.mobility-price-box strong{display:block;font-size:1.15rem;color:#fff;line-height:1.1;margin-bottom:4px;}
.mobility-price-box small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35;}
body[data-page="mobilidade"] .mobility-price-box .btn{width:100%;min-height:48px;font-size:.93rem;}
.mobility-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:rgba(255,255,255,.03);}
.mobility-spec-table{width:100%;border-collapse:collapse;min-width:900px;}
.mobility-spec-table th,.mobility-spec-table td{padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top;}
.mobility-spec-table th{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;background:rgba(255,255,255,.05);}
.mobility-spec-table td{color:var(--muted);font-size:.92rem;line-height:1.42;}
.mobility-spec-table td:first-child{color:#fff;font-weight:900;}
.mobility-cta-v15{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.mobility-cta-v15 .lead{text-align:left;}
@media (max-width:1120px){
  .mobility-card-grid-v15{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mobility-highlight-grid{grid-template-columns:1fr;}
  .mobility-highlight-card{display:grid;grid-template-columns:minmax(0,360px) 1fr;align-items:center;}
  .mobility-highlight-card img{height:100%;min-height:280px;}
}
@media (max-width:760px){
  body[data-page="mobilidade"] .mobility-hero-v15 h1{max-width:10.5ch;}
  .mobility-showcase-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;min-height:0;}
  .mobility-showcase-grid img{height:220px;border-radius:18px;}
  .mobility-showcase-grid img:first-child{grid-column:1 / span 2;grid-row:auto;height:330px;}
  .mobility-card-grid-v15{grid-template-columns:1fr;}
  .mobility-sale-visual{min-height:245px;padding:18px;}
  .mobility-sale-visual img{max-height:230px;}
  .mobility-sale-card .mobility-product-content{padding:20px;}
  .mobility-highlight-card{display:block;}
  .mobility-highlight-card img{height:360px;}
  .mobility-anchor-bar{gap:8px;}
  .mobility-anchor-bar a{font-size:.76rem;padding:7px 10px;}
  .mobility-cta-v15{display:block;}
  .mobility-cta-v15 .actions{margin-top:22px;}
}
@media (max-width:430px){
  .mobility-showcase-grid img{height:170px;}
  .mobility-showcase-grid img:first-child{height:285px;}
  .mobility-highlight-card img{height:310px;}
  .mobility-sale-visual{min-height:220px;}
  .mobility-sale-visual img{max-height:205px;}
}


/* ==== V16 | navegação por frentes e mobilidade de venda ==== */
.menu-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.menu-dropdown-trigger{
  color:#ddd;
  font-size:.95rem;
  position:relative;
  border:0;
  background:transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  min-height:28px;
}
.menu-dropdown-trigger::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.72;
}
.menu-dropdown-trigger:hover,
.menu-dropdown-trigger[data-current="true"]{color:#fff}
.menu-dropdown-trigger[data-current="true"]::before{
  content:"";
  position:absolute;
  left:0;
  right:18px;
  bottom:-10px;
  height:2px;
  border-radius:999px;
  background:var(--red);
}
.menu-dropdown-panel{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:240px;
  padding:10px;
  background:rgba(5,5,5,.98);
  border:1px solid var(--line-strong);
  border-radius:16px;
  box-shadow:0 28px 80px rgba(0,0,0,.45);
  display:none;
  grid-template-columns:1fr;
  gap:4px;
  z-index:120;
}
.menu-dropdown:hover .menu-dropdown-panel,
.menu-dropdown:focus-within .menu-dropdown-panel{
  display:grid;
}
.menu-dropdown-panel a{
  display:block;
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  color:#ddd;
  font-size:.92rem;
}
.menu-dropdown-panel a:hover,
.menu-dropdown-panel a[aria-current="page"]{
  color:#fff;
  background:rgba(255,255,255,.07);
}
.menu-dropdown-panel a[aria-current="page"]::after{display:none}

.fronts-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:22px;
}
.front-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  min-height:170px;
}
.front-card h3{margin-bottom:6px}
.front-card p{color:var(--muted);font-size:.95rem}
.front-card .arm-link{margin-top:14px}

body[data-page="mobilidade"] .mobility-showcase-panel{
  overflow:hidden;
}
body[data-page="mobilidade"] .mobility-showcase-grid img{
  background:#f4f4f4;
}
body[data-page="mobilidade"] .mobility-sale-visual{
  padding:0;
  background:#f4f4f4;
  min-height:auto;
  border-radius:22px 22px 0 0;
  overflow:hidden;
}
body[data-page="mobilidade"] .mobility-sale-visual img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:0;
  filter:none;
  display:block;
  background:#f4f4f4;
}
body[data-page="mobilidade"] .mobility-product-card{
  overflow:hidden;
}
body[data-page="mobilidade"] .mobility-highlight-card img{
  background:#f4f4f4;
  object-fit:cover;
}
body[data-page="mobilidade"] .mobility-card-grid-v15{
  align-items:start;
}
body[data-page="mobilidade"] .mobility-product-copy,
body[data-page="mobilidade"] .mobility-product-expanded{
  text-align:left;
}
body[data-page="mobilidade"] .mobility-price-box{
  align-items:center;
}
body[data-page="mobilidade"] .mobility-source-note{
  margin-top:18px;
  color:var(--muted);
  font-size:.92rem;
}

.solution-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:22px;
}
.solution-entry-card{
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  background:rgba(255,255,255,.035);
}
.solution-entry-card p{color:var(--muted)}
.solution-entry-card .actions{margin-top:18px}

@media (max-width:1100px){
  .fronts-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .menu-dropdown{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .menu-dropdown-trigger{
    width:100%;
    font-size:1.32rem;
    line-height:1.2;
    color:#fff;
    justify-content:space-between;
    min-height:auto;
  }
  .menu-dropdown-trigger::before{display:none}
  .menu-dropdown-panel{
    position:static;
    display:grid;
    min-width:0;
    width:100%;
    padding:8px;
    border-radius:16px;
    box-shadow:none;
    background:#080808;
  }
  .menu-dropdown-panel a{
    font-size:1rem;
    padding:11px 12px;
    color:#eee;
  }
  .solution-entry-grid,
  .fronts-grid{grid-template-columns:1fr}
  body[data-page="mobilidade"] .mobility-price-box{
    align-items:stretch;
  }
}


/* V17 — mobilidade com fotos reais e galeria por modelo */
body[data-page="mobilidade"] .mobility-hero-v17 h1{max-width:13ch;}
body[data-page="mobilidade"] .mobility-showcase-panel-v17{padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));}
body[data-page="mobilidade"] .mobility-showcase-grid-v17{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:560px;}
body[data-page="mobilidade"] .mobility-showcase-grid-v17 img{width:100%;height:100%;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#f4f4f4;}
body[data-page="mobilidade"] .mobility-showcase-grid-v17 img:first-child{grid-row:1 / span 2;}
body[data-page="mobilidade"] .mobility-card-grid-v17{align-items:stretch;}
body[data-page="mobilidade"] .mobility-card-v17{border:1px solid rgba(255,255,255,.12);}
body[data-page="mobilidade"] .mobility-sale-visual-v17{
  position:relative;
  height:360px;
  min-height:360px;
  padding:14px;
  background:linear-gradient(180deg,#f8f8f8,#ececec);
  display:flex;
  align-items:center;
  justify-content:center;
}
body[data-page="mobilidade"] .mobility-sale-visual-v17 img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  border-radius:18px;
}
.photo-source-badge{
  position:absolute;
  left:14px;
  top:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mobility-mini-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px 12px 0;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
}
.mobility-mini-gallery img{
  width:100%;
  height:96px;
  object-fit:contain;
  border-radius:14px;
  background:#f4f4f4;
  border:1px solid rgba(255,255,255,.12);
}
body[data-page="mobilidade"] .mobility-highlight-grid-v17 .mobility-highlight-card img{
  object-fit:cover;
  object-position:center;
  background:#f4f4f4;
}
body[data-page="mobilidade"] .mobility-price-box .btn{
  text-align:center;
}
body[data-page="mobilidade"] .mobility-spec-table{min-width:980px;}
@media (max-width:980px){
  body[data-page="mobilidade"] .mobility-showcase-grid-v17{min-height:0;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v17 img{height:230px;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v17 img:first-child{height:360px;}
}
@media (max-width:680px){
  body[data-page="mobilidade"] .mobility-hero-v17 h1{max-width:10.5ch;}
  body[data-page="mobilidade"] .mobility-sale-visual-v17{
    height:300px;
    min-height:300px;
    padding:10px;
  }
  .mobility-mini-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mobility-mini-gallery img{height:88px;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v17{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  body[data-page="mobilidade"] .mobility-showcase-grid-v17 img,
  body[data-page="mobilidade"] .mobility-showcase-grid-v17 img:first-child{
    grid-row:auto;
    height:280px;
  }
}

/* V18 — acabamento final: wordmark, formulários públicos e mobilidade com fundo unificado */
.photo-source-badge{display:none!important;}
body[data-page="mobilidade"] .mobility-sale-visual-v17,
body[data-page="mobilidade"] .mobility-sale-visual-v18{
  height:360px;
  min-height:360px;
  padding:0;
  background:#090909;
  border-radius:22px 22px 0 0;
  overflow:hidden;
}
body[data-page="mobilidade"] .mobility-sale-visual-v17 img,
body[data-page="mobilidade"] .mobility-sale-visual-v18 img{
  width:100%;
  height:100%;
  object-fit:cover;
  background:#090909;
  border-radius:0;
}
body[data-page="mobilidade"] .mobility-highlight-grid-v17 .mobility-highlight-card img,
body[data-page="mobilidade"] .mobility-highlight-card img{
  background:#090909;
  object-fit:cover;
}
.mobility-mini-gallery{background:rgba(0,0,0,.18);}
.mobility-mini-gallery img{
  background:#090909;
  object-fit:cover;
}
body[data-page="mobilidade"] .mobility-showcase-grid-v17 img{
  background:#090909;
  object-fit:cover;
}
.uni-direct-note span,
.uni-form-card .uni-submit-note p{
  text-align:left;
}
.uni-form-card .uni-submit-note p{
  max-width:52rem;
}
@media (max-width:680px){
  body[data-page="mobilidade"] .mobility-sale-visual-v17,
  body[data-page="mobilidade"] .mobility-sale-visual-v18{height:280px;min-height:280px;}
  .mobility-mini-gallery img{height:82px;}
}
body[data-page="mobilidade"] .mobility-hero-v18 h1{max-width:13ch;}
body[data-page="mobilidade"] .mobility-showcase-panel-v18{padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));}
body[data-page="mobilidade"] .mobility-showcase-grid-v18{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:560px;}
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img{width:100%;height:100%;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#090909;}
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{grid-row:1 / span 2;}
body[data-page="mobilidade"] .mobility-card-grid-v18{align-items:stretch;}
body[data-page="mobilidade"] .mobility-card-v18{border:1px solid rgba(255,255,255,.12);}
body[data-page="mobilidade"] .mobility-sale-visual-v18{position:relative;}
body[data-page="mobilidade"] .mobility-highlight-grid-v18 .mobility-highlight-card img{object-fit:cover;object-position:center;background:#090909;}
@media (max-width:980px){
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{min-height:0;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img{height:230px;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{height:360px;}
}
@media (max-width:680px){
  body[data-page="mobilidade"] .mobility-hero-v18 h1{max-width:10.5ch;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{grid-template-columns:1fr;grid-template-rows:auto;}
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{grid-row:auto;height:280px;}
}


/* V19 — refinamento de mobilidade e limpeza pública */
body[data-page="mobilidade"] .mobility-sale-visual,
body[data-page="mobilidade"] .mobility-sale-visual-v18{
  background:#ffffff;
  border-bottom:1px solid rgba(0,0,0,.08);
  min-height:340px;
}
body[data-page="mobilidade"] .mobility-sale-visual img,
body[data-page="mobilidade"] .mobility-sale-visual-v18 img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:310px;
  object-fit:contain;
  border-radius:0;
  filter:none;
  background:#ffffff;
}
body[data-page="mobilidade"] .mobility-highlight-grid-v18 .mobility-highlight-card img,
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img{
  background:#ffffff;
  object-fit:contain;
}
body[data-page="mobilidade"] .mobility-mini-gallery img{
  background:#ffffff;
  object-fit:cover;
}
body[data-page="mobilidade"] .mobility-product-copy,
body[data-page="mobilidade"] .mobility-product-expanded{
  text-align:left;
}
@media (max-width:680px){
  body[data-page="mobilidade"] .mobility-sale-visual,
  body[data-page="mobilidade"] .mobility-sale-visual-v18{
    min-height:280px;
    padding:16px;
  }
  body[data-page="mobilidade"] .mobility-sale-visual img,
  body[data-page="mobilidade"] .mobility-sale-visual-v18 img{
    max-height:248px;
  }
}

/* V20 — Anuncie sem tabelas públicas */
.asset-commercial-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.asset-commercial-card{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.asset-commercial-card .asset-format{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.asset-commercial-card strong{
  margin-top:18px;
  display:block;
  color:#fff;
  font-size:1.02rem;
}
@media (max-width: 980px){
  .asset-commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .asset-commercial-grid{grid-template-columns:1fr;}
  .asset-commercial-card{min-height:0;}
}

/* V20 — mobilidade com vitrine branca uniforme */
body[data-page="mobilidade"] .mobility-sale-visual,
body[data-page="mobilidade"] .mobility-sale-visual-v17,
body[data-page="mobilidade"] .mobility-sale-visual-v18{
  background:#ffffff!important;
  min-height:360px;
  height:360px;
  padding:18px!important;
  border-radius:22px 22px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
body[data-page="mobilidade"] .mobility-sale-visual img,
body[data-page="mobilidade"] .mobility-sale-visual-v17 img,
body[data-page="mobilidade"] .mobility-sale-visual-v18 img{
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain!important;
  background:#ffffff!important;
  border-radius:0!important;
  filter:none!important;
}
body[data-page="mobilidade"] .mobility-showcase-grid-v17 img,
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img,
body[data-page="mobilidade"] .mobility-highlight-grid-v17 .mobility-highlight-card img,
body[data-page="mobilidade"] .mobility-highlight-grid-v18 .mobility-highlight-card img,
body[data-page="mobilidade"] .mobility-highlight-card img,
body[data-page="mobilidade"] .mobility-mini-gallery img{
  background:#ffffff!important;
  object-fit:contain!important;
}
body[data-page="mobilidade"] .mobility-mini-gallery{
  background:#ffffff!important;
  border-top:1px solid rgba(0,0,0,.08);
}
@media (max-width:680px){
  body[data-page="mobilidade"] .mobility-sale-visual,
  body[data-page="mobilidade"] .mobility-sale-visual-v17,
  body[data-page="mobilidade"] .mobility-sale-visual-v18{
    height:300px;
    min-height:300px;
    padding:14px!important;
  }
}
/* =========================================================
   V22 — centralização premium dos blocos de chamada
   Corrige frases destacadas em Locais, Anuncie, Autismo,
   Contato, Portfólio e demais CTAs do site.
   ========================================================= */

/* Blocos principais de chamada antes do rodapé */
.panel-cta,
.institutional-cta,
.contact-card,
section .panel.panel-cta,
section .panel.contact-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;

  text-align:center !important;

  margin-left:auto !important;
  margin-right:auto !important;

  max-width:1120px !important;
}

/* Títulos dos blocos */
.panel-cta h1,
.panel-cta h2,
.panel-cta h3,
.institutional-cta h1,
.institutional-cta h2,
.institutional-cta h3,
.contact-card h1,
.contact-card h2,
.contact-card h3,
section .panel.panel-cta h1,
section .panel.panel-cta h2,
section .panel.panel-cta h3,
section .panel.contact-card h1,
section .panel.contact-card h2,
section .panel.contact-card h3{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:820px !important;
}

/* Frases destacadas abaixo dos títulos */
.panel-cta p,
.panel-cta .lead,
.institutional-cta p,
.institutional-cta .lead,
.contact-card p,
.contact-card .lead,
section .panel.panel-cta p,
section .panel.panel-cta .lead,
section .panel.contact-card p,
section .panel.contact-card .lead{
  text-align:center !important;
  text-align-last:center !important;

  margin-left:auto !important;
  margin-right:auto !important;

  max-width:820px !important;
  width:100% !important;

  line-height:1.62 !important;
}

/* Botões desses blocos */
.panel-cta .actions,
.institutional-cta .actions,
.contact-card .actions,
section .panel.panel-cta .actions,
section .panel.contact-card .actions{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
}

/* Se houver botões soltos dentro desses painéis */
.panel-cta > .btn,
.institutional-cta > .btn,
.contact-card > .btn{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Página Locais — bloco final */
body[data-page="locais"] .panel-cta,
body[data-page="locais"] .panel-cta h2,
body[data-page="locais"] .panel-cta p,
body[data-page="locais"] .panel-cta .lead{
  text-align:center !important;
  text-align-last:center !important;
}

/* Página Anuncie — bloco final */
body[data-page="anuncie"] .panel-cta,
body[data-page="anuncie"] .panel-cta h2,
body[data-page="anuncie"] .panel-cta p,
body[data-page="anuncie"] .panel-cta .lead{
  text-align:center !important;
  text-align-last:center !important;
}

/* Página Autismo — bloco final */
body[data-page="autismo"] .panel-cta,
body[data-page="autismo"] .institutional-cta,
body[data-page="autismo"] .panel-cta h2,
body[data-page="autismo"] .institutional-cta h2,
body[data-page="autismo"] .panel-cta p,
body[data-page="autismo"] .institutional-cta p,
body[data-page="autismo"] .panel-cta .lead,
body[data-page="autismo"] .institutional-cta .lead{
  text-align:center !important;
  text-align-last:center !important;
}

/* Página Contato — chamada superior */
body[data-page="contato"] .contact-card,
body[data-page="contato"] .contact-card h1,
body[data-page="contato"] .contact-card h2,
body[data-page="contato"] .contact-card p,
body[data-page="contato"] .contact-card .lead,
body[data-page="contato"] .panel-cta,
body[data-page="contato"] .panel-cta h2,
body[data-page="contato"] .panel-cta p,
body[data-page="contato"] .panel-cta .lead{
  text-align:center !important;
  text-align-last:center !important;
}

/* Página Portfólio — chamada final */
body[data-page="portfolio"] .panel-cta,
body[data-page="portfolio"] .panel-cta h2,
body[data-page="portfolio"] .panel-cta p,
body[data-page="portfolio"] .panel-cta .lead{
  text-align:center !important;
  text-align-last:center !important;
}

/* Mobile mantém centralizado também */
@media (max-width: 860px){
  .panel-cta,
  .institutional-cta,
  .contact-card,
  section .panel.panel-cta,
  section .panel.contact-card{
    padding-left:22px !important;
    padding-right:22px !important;
    text-align:center !important;
  }

  .panel-cta p,
  .panel-cta .lead,
  .institutional-cta p,
  .institutional-cta .lead,
  .contact-card p,
  .contact-card .lead{
    max-width:100% !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .panel-cta .actions,
  .institutional-cta .actions,
  .contact-card .actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
}
/* =========================================================
   V23 — dropdown Soluções estável no desktop
   Corrige o menu que fecha antes de conseguir clicar
   ========================================================= */

@media (min-width: 861px){

  .topbar,
  .nav,
  .menu{
    overflow:visible !important;
  }

  .menu-dropdown{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    min-height:84px !important;
    z-index:3000 !important;
  }

  .menu-dropdown-trigger{
    display:inline-flex !important;
    align-items:center !important;
    min-height:84px !important;
    padding:0 !important;
    color:#ddd !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:3002 !important;
  }

  /* ponte invisível entre o botão e o dropdown */
  .menu-dropdown::after{
    content:"" !important;
    position:absolute !important;
    left:-24px !important;
    right:-24px !important;
    top:100% !important;
    height:34px !important;
    background:transparent !important;
    z-index:2999 !important;
  }

  .menu-dropdown-panel{
    position:absolute !important;
    top:calc(100% - 2px) !important;
    left:0 !important;

    min-width:260px !important;
    padding:12px !important;

    display:grid !important;
    grid-template-columns:1fr !important;
    gap:5px !important;

    background:rgba(5,5,5,.98) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:16px !important;
    box-shadow:0 28px 80px rgba(0,0,0,.52) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(8px) !important;

    z-index:3001 !important;

    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility .16s ease !important;
  }

  .menu-dropdown:hover .menu-dropdown-panel,
  .menu-dropdown:focus-within .menu-dropdown-panel,
  .menu-dropdown-panel:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .menu-dropdown-panel a{
    display:block !important;
    width:100% !important;
    padding:11px 13px !important;
    border-radius:10px !important;
    color:#ddd !important;
    font-size:.94rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  .menu-dropdown-panel a:hover,
  .menu-dropdown-panel a:focus,
  .menu-dropdown-panel a[aria-current="page"]{
    color:#fff !important;
    background:rgba(255,255,255,.075) !important;
  }
}

/* Mantém o comportamento mobile como já está */
@media (max-width: 860px){

  .menu-dropdown{
    width:100% !important;
    display:block !important;
    min-height:0 !important;
  }

  .menu-dropdown-trigger{
    width:100% !important;
    min-height:auto !important;
  }

  .menu-dropdown::after{
    display:none !important;
  }

  .menu-dropdown-panel{
    position:static !important;
    display:flex !important;
    flex-direction:column !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    box-shadow:none !important;
  }
}
/* =========================================================
   V27 — endereço no rodapé
   ========================================================= */

.footer-address-links{
  margin-top:16px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  line-height:1.65 !important;
}

.footer-address-title{
  display:block !important;
  margin-bottom:6px !important;
  color:#fff !important;
  font-weight:800 !important;
}

.footer-address-links a{
  color:#fff !important;
  font-weight:700 !important;
  text-decoration:underline !important;
  text-decoration-color:rgba(238,28,37,.85) !important;
  text-underline-offset:4px !important;
}

.footer-address-links a:hover{
  text-decoration-color:#fff !important;
}

@media (max-width:860px){
  .footer-address-links{
    max-width:320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}
/* =========================================================
   V29 — mobilidade: destaques em primeiro plano premium
   Enquadra melhor Y21, Y8 e Hulk em cards quadrados
   ========================================================= */

body[data-page="mobilidade"] .mobility-feature-strip{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding-top:74px !important;
  padding-bottom:74px !important;
  overflow:visible !important;
}

body[data-page="mobilidade"] .mobility-feature-strip .section-head{
  align-items:center !important;
  margin-bottom:30px !important;
}

body[data-page="mobilidade"] .mobility-feature-strip .section-head h2,
body[data-page="mobilidade"] .mobility-feature-strip .section-head .lead,
body[data-page="mobilidade"] .mobility-feature-strip .section-head .kicker{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body[data-page="mobilidade"] .mobility-highlight-grid,
body[data-page="mobilidade"] .mobility-highlight-grid-v17,
body[data-page="mobilidade"] .mobility-highlight-grid-v18{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}

body[data-page="mobilidade"] .mobility-highlight-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.018)) !important;
  box-shadow:0 20px 48px rgba(0,0,0,.30) !important;
}

/* Área quadrada da imagem */
body[data-page="mobilidade"] .mobility-highlight-card > img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  max-height:none !important;

  display:block !important;

  object-fit:contain !important;
  object-position:center center !important;

  padding:30px !important;
  border-radius:30px 30px 0 0 !important;

  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.96), rgba(242,236,218,.92) 48%, rgba(220,211,190,.80) 100%) !important;

  transform:none !important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.20)) !important;
}

/* Y21 — reduz um pouco e centraliza */
body[data-page="mobilidade"] .mobility-highlight-card > img[src$="y21.jpg"]{
  padding:34px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(.94) !important;
}

/* Y8 — fundo claro, produto inteiro e mais limpo */
body[data-page="mobilidade"] .mobility-highlight-card > img[src$="y8.jpg"]{
  padding:36px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(.92) !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.98), rgba(242,236,218,.94) 48%, rgba(220,211,190,.82) 100%) !important;
}

/* Hulk — horizontal, então precisa respirar mais */
body[data-page="mobilidade"] .mobility-highlight-card > img[src$="hulk.jpg"]{
  padding:40px !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(.94) !important;
}

/* Corpo do card */
body[data-page="mobilidade"] .mobility-highlight-card > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;

  padding:22px 24px 24px !important;
  text-align:center !important;
}

body[data-page="mobilidade"] .mobility-highlight-card h3{
  width:100% !important;
  margin:0 0 8px !important;
  text-align:center !important;
  font-size:clamp(1.45rem,2.2vw,2.05rem) !important;
}

body[data-page="mobilidade"] .mobility-highlight-card p{
  width:100% !important;
  max-width:340px !important;
  margin:0 auto 16px !important;
  text-align:center !important;
  line-height:1.55 !important;
  color:var(--muted) !important;
}

body[data-page="mobilidade"] .mobility-highlight-card a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  margin-top:auto !important;
  color:#fff !important;
  font-weight:900 !important;
  text-decoration:none !important;
  border-bottom:2px solid var(--red) !important;
  padding-bottom:5px !important;
}

/* Também melhora o mosaico do topo da mobilidade */
body[data-page="mobilidade"] .mobility-showcase-panel{
  overflow:hidden !important;
}

body[data-page="mobilidade"] .mobility-showcase-grid,
body[data-page="mobilidade"] .mobility-showcase-grid-v18{
  gap:14px !important;
}

body[data-page="mobilidade"] .mobility-showcase-grid img,
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img{
  object-fit:contain !important;
  object-position:center center !important;
  padding:20px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,.96), rgba(242,236,218,.92) 48%, rgba(220,211,190,.80) 100%) !important;
  transform:none !important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.20)) !important;
}

/* Mobile */
@media (max-width:980px){
  body[data-page="mobilidade"] .mobility-highlight-grid,
  body[data-page="mobilidade"] .mobility-highlight-grid-v17,
  body[data-page="mobilidade"] .mobility-highlight-grid-v18{
    grid-template-columns:1fr !important;
  }

  body[data-page="mobilidade"] .mobility-highlight-card{
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:640px){
  body[data-page="mobilidade"] .mobility-feature-strip{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  body[data-page="mobilidade"] .mobility-highlight-card > img{
    padding:24px !important;
  }

  body[data-page="mobilidade"] .mobility-highlight-card > img[src$="y21.jpg"],
  body[data-page="mobilidade"] .mobility-highlight-card > img[src$="y8.jpg"],
  body[data-page="mobilidade"] .mobility-highlight-card > img[src$="hulk.jpg"]{
    transform:scale(.96) !important;
  }
}
/* =========================================================
   V30 — mobilidade: hero limpo com uma imagem principal
   Remove o mosaico com 3 imagens e deixa uma apresentação premium
   ========================================================= */

body[data-page="mobilidade"] .mobility-showcase-panel,
body[data-page="mobilidade"] .mobility-showcase-panel-v18{
  max-width:460px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:18px !important;
  border-radius:30px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.06), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
}

/* Transforma o mosaico em um único palco */
body[data-page="mobilidade"] .mobility-showcase-grid,
body[data-page="mobilidade"] .mobility-showcase-grid-v18{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;

  gap:0 !important;
  overflow:hidden !important;

  border-radius:24px !important;

  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.98), rgba(242,236,218,.92) 48%, rgba(220,211,190,.80) 100%) !important;
}

/* Esconde a segunda e a terceira imagem do mosaico */
body[data-page="mobilidade"] .mobility-showcase-grid img:nth-child(n+2),
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:nth-child(n+2){
  display:none !important;
}

/* Imagem principal do topo */
body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
  display:block !important;

  width:100% !important;
  height:100% !important;

  object-fit:contain !important;
  object-position:center center !important;

  padding:42px !important;

  border:0 !important;
  border-radius:0 !important;

  background:transparent !important;
  transform:none !important;
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.22)) !important;
}

/* Ajusta o bloco geral do hero para ficar mais equilibrado */
body[data-page="mobilidade"] .page-hero .split,
body[data-page="mobilidade"] .mobility-hero-v15 .split,
body[data-page="mobilidade"] .mobility-hero-v18 .split{
  align-items:center !important;
  gap:42px !important;
}

/* Desktop menor: reduz um pouco */
@media (max-width:1100px){
  body[data-page="mobilidade"] .mobility-showcase-panel,
  body[data-page="mobilidade"] .mobility-showcase-panel-v18{
    max-width:420px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    height:380px !important;
    min-height:380px !important;
    max-height:380px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    padding:36px !important;
  }
}

/* Mobile */
@media (max-width:760px){
  body[data-page="mobilidade"] .mobility-showcase-panel,
  body[data-page="mobilidade"] .mobility-showcase-panel-v18{
    max-width:100% !important;
    padding:14px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    padding:28px !important;
  }
}
/* =========================================================
   V31 — Anuncie: tabela de planos em cards no mobile
   Corrige a tabela "Planos por período e composição"
   para não ficar dividida em duas colunas no celular.
   ========================================================= */

@media (max-width: 760px){

  body[data-page="anuncie"] #planos .investment-table-wrap{
    overflow:visible !important;
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap table,
  body[data-page="anuncie"] #planos .investment-table-wrap thead,
  body[data-page="anuncie"] #planos .investment-table-wrap tbody,
  body[data-page="anuncie"] #planos .investment-table-wrap tr,
  body[data-page="anuncie"] #planos .investment-table-wrap th,
  body[data-page="anuncie"] #planos .investment-table-wrap td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap table{
    min-width:0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap thead{
    display:none !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody{
    display:grid !important;
    gap:16px !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody tr{
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:22px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td{
    display:block !important;
    padding:13px 18px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    text-align:left !important;
    color:var(--muted) !important;
    font-size:.96rem !important;
    line-height:1.5 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td:last-child{
    border-bottom:none !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td::before{
    content:attr(data-label) !important;
    display:block !important;
    width:100% !important;
    margin:0 0 5px !important;
    padding:0 !important;

    color:#fff !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.10em !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
    text-align:left !important;

    flex:none !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td:first-child{
    padding:18px 18px 15px !important;
    background:rgba(238,28,37,.08) !important;
    color:#fff !important;
    font-size:1.05rem !important;
    font-weight:900 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td:first-child::before{
    color:rgba(255,255,255,.72) !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap tbody td strong{
    display:block !important;
    color:#fff !important;
    font-size:1.04rem !important;
    line-height:1.35 !important;
  }

  body[data-page="anuncie"] #planos .investment-table-wrap + .caption{
    margin-top:18px !important;
    text-align:center !important;
    line-height:1.6 !important;
  }
}
/* =========================================================
   V32 — mobilidade mobile: corrigir imagem inicial
   Faz a foto do topo aparecer inteira e bem enquadrada no celular
   ========================================================= */

@media (max-width: 760px){

  body[data-page="mobilidade"] .mobility-showcase-panel,
  body[data-page="mobilidade"] .mobility-showcase-panel-v18{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:28px auto 0 !important;
    padding:12px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    display:block !important;
    width:100% !important;
    height:280px !important;
    min-height:280px !important;
    max-height:280px !important;
    overflow:hidden !important;
    border-radius:20px !important;
    background:
      radial-gradient(circle at 50% 44%, rgba(255,255,255,.98), rgba(242,236,218,.92) 50%, rgba(220,211,190,.82) 100%) !important;
  }

  /* Esconde as imagens extras do mosaico */
  body[data-page="mobilidade"] .mobility-showcase-grid img,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img{
    display:none !important;
  }

  /* Mostra só a imagem principal, agora preenchendo melhor */
  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    display:block !important;
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;
    object-position:center 56% !important;

    padding:0 !important;
    margin:0 !important;

    border:0 !important;
    border-radius:18px !important;

    background:transparent !important;
    transform:scale(1.04) !important;
    filter:none !important;
  }
}

@media (max-width: 420px){

  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    height:255px !important;
    min-height:255px !important;
    max-height:255px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    object-position:center 56% !important;
    transform:scale(1.08) !important;
  }
}
/* =========================================================
   V33 — mobilidade mobile: reancoragem final do topo
   Corrige a foto inicial no celular, reduz corte e melhora leitura.
   ========================================================= */

@media (max-width: 760px){

  body[data-page="mobilidade"] .page-hero,
  body[data-page="mobilidade"] .mobility-hero-v15,
  body[data-page="mobilidade"] .mobility-hero-v18{
    padding-top:46px !important;
    padding-bottom:42px !important;
  }

  body[data-page="mobilidade"] .page-hero .split,
  body[data-page="mobilidade"] .mobility-hero-v15 .split,
  body[data-page="mobilidade"] .mobility-hero-v18 .split{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    align-items:center !important;
  }

  body[data-page="mobilidade"] .page-hero h1,
  body[data-page="mobilidade"] .page-hero .lead,
  body[data-page="mobilidade"] .page-hero .arm-wordmark{
    text-align:left !important;
  }

  body[data-page="mobilidade"] .page-hero .actions{
    margin-top:22px !important;
  }

  body[data-page="mobilidade"] .page-hero .badges{
    margin-top:20px !important;
    justify-content:flex-start !important;
  }

  /* Moldura geral da imagem */
  body[data-page="mobilidade"] .mobility-showcase-panel,
  body[data-page="mobilidade"] .mobility-showcase-panel-v18{
    width:100% !important;
    max-width:100% !important;
    margin:18px auto 0 !important;
    padding:12px !important;

    border-radius:26px !important;
    overflow:hidden !important;

    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;

    border:1px solid rgba(255,255,255,.11) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.28) !important;
  }

  /* Palco da imagem: menor e mais equilibrado */
  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    height:290px !important;
    min-height:290px !important;
    max-height:290px !important;

    padding:0 !important;
    gap:0 !important;
    overflow:hidden !important;

    border-radius:22px !important;

    background:
      radial-gradient(circle at 50% 46%, rgba(255,255,255,.98), rgba(242,236,218,.94) 52%, rgba(220,211,190,.82) 100%) !important;
  }

  /* Esconde imagens extras do mosaico no mobile */
  body[data-page="mobilidade"] .mobility-showcase-grid img:nth-child(n+2),
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:nth-child(n+2){
    display:none !important;
  }

  /* Imagem principal: sem corte agressivo */
  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    display:block !important;

    width:100% !important;
    height:100% !important;

    max-width:100% !important;
    max-height:100% !important;

    object-fit:contain !important;
    object-position:center center !important;

    padding:22px !important;
    margin:0 !important;

    border:0 !important;
    border-radius:18px !important;

    background:transparent !important;

    transform:none !important;
    filter:drop-shadow(0 12px 20px rgba(0,0,0,.22)) !important;
  }

  /* Caso a imagem do topo seja y21, ela precisa respirar mais */
  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child[src$="y21.jpg"],
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child[src$="y21.jpg"]{
    object-fit:contain !important;
    object-position:center center !important;
    padding:26px !important;
    transform:none !important;
  }

  /* Tira espaço exagerado entre o topo e a próxima seção */
  body[data-page="mobilidade"] .section.section-contrast{
    padding-top:54px !important;
  }

  body[data-page="mobilidade"] .section-head{
    text-align:left !important;
  }

  body[data-page="mobilidade"] .section-head h2,
  body[data-page="mobilidade"] .section-head .lead{
    text-align:left !important;
  }
}

@media (max-width: 430px){

  body[data-page="mobilidade"] .mobility-showcase-grid,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18{
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child,
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child{
    padding:20px !important;
  }

  body[data-page="mobilidade"] .mobility-showcase-grid img:first-child[src$="y21.jpg"],
  body[data-page="mobilidade"] .mobility-showcase-grid-v18 img:first-child[src$="y21.jpg"]{
    padding:24px !important;
  }
}
/* =========================================================
   V34 — selo uni. pelo autismo integrado ao fundo
   Remove caixa preta e deixa somente a bolha/selo visível
   ========================================================= */

/* Remove fundo, borda e sombra dos cards que contêm o selo */
.seal-panel:has(img[src*="autismo"]),
.selo-panel-large:has(img[src*="autismo"]),
.home-symbol-card:has(img[src*="autismo"]),
.panel:has(> img[src*="autismo"]),
.visual-panel:has(> img[src*="autismo"]),
.media-card:has(img[src*="uni-pelo-autismo"]),
.gallery-item:has(img[src*="uni-pelo-autismo"]){
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

/* Aplica integração no selo da uni. pelo autismo */
img[src*="uni-pelo-autismo"],
img[src*="autismo-selo"],
img[src*="selo-autismo"],
img[src*="uni-pelo-autismo-selo"],
.autism-seal-integrated{
  background:transparent !important;

  object-fit:contain !important;
  object-position:center center !important;

  border-radius:0 !important;
  box-shadow:none !important;

  /*
    Este recorte tira o retângulo preto da imagem
    e mantém a bolha/selo como elemento integrado ao site.
  */
  clip-path:ellipse(49% 43% at 50% 50%) !important;

  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34)) !important;
}

/* Garante que o selo não fique esticado */
.seal-panel img[src*="autismo"],
.selo-panel-large img[src*="autismo"],
.home-symbol-card img[src*="autismo"],
.panel img[src*="autismo"],
.visual-panel img[src*="autismo"]{
  width:auto !important;
  height:auto !important;

  max-width:100% !important;
  max-height:520px !important;

  aspect-ratio:auto !important;
  transform:none !important;
}

/* Página inicial: selo integrado e proporcional */
body[data-page="index"] img[src*="uni-pelo-autismo"],
body[data-page="index"] img[src*="autismo-selo"],
body[data-page="index"] img[src*="selo-autismo"]{
  max-height:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Página uni. pelo autismo: selo sem caixa preta */
body[data-page="autismo"] img[src*="uni-pelo-autismo"],
body[data-page="autismo"] img[src*="autismo-selo"],
body[data-page="autismo"] img[src*="selo-autismo"]{
  max-height:520px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:760px){
  img[src*="uni-pelo-autismo"],
  img[src*="autismo-selo"],
  img[src*="selo-autismo"],
  img[src*="uni-pelo-autismo-selo"],
  .autism-seal-integrated{
    clip-path:ellipse(49% 43% at 50% 50%) !important;
    max-height:420px !important;
  }

  .seal-panel:has(img[src*="autismo"]),
  .selo-panel-large:has(img[src*="autismo"]),
  .home-symbol-card:has(img[src*="autismo"]),
  .panel:has(> img[src*="autismo"]),
  .visual-panel:has(> img[src*="autismo"]){
    padding:0 !important;
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
  }
}
/* =========================================================
   V35 — ajuste fino do selo uni. pelo autismo no site
   Recorte mais justo, menor e mais integrado ao fundo.
   ========================================================= */

/* Remove qualquer card/moldura ao redor do selo */
body[data-page="autismo"] .seal-panel,
body[data-page="autismo"] .selo-panel-large,
body[data-page="autismo"] .panel:has(img[src*="autismo"]),
body[data-page="autismo"] .visual-panel:has(img[src*="autismo"]),
body[data-page="index"] .seal-panel,
body[data-page="index"] .selo-panel-large,
body[data-page="index"] .panel:has(img[src*="autismo"]),
body[data-page="index"] .visual-panel:has(img[src*="autismo"]){
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

/* Recorte mais justo no selo */
body[data-page="autismo"] img[src*="uni-pelo-autismo"],
body[data-page="autismo"] img[src*="autismo"],
body[data-page="index"] img[src*="uni-pelo-autismo"],
body[data-page="index"] img[src*="autismo"]{
  display:block !important;

  width:auto !important;
  height:auto !important;

  max-width:min(100%, 620px) !important;
  max-height:520px !important;

  margin-left:auto !important;
  margin-right:auto !important;

  object-fit:contain !important;
  object-position:center center !important;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;

  /*
    Recorte mais fechado para tirar mais do fundo preto externo.
    Se cortar demais, troque 39% por 42%.
  */
  clip-path:ellipse(47% 39% at 50% 50%) !important;

  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34)) !important;
  transform:none !important;
}

/* Ajuste específico da página uni. pelo autismo */
body[data-page="autismo"] .page-hero .panel,
body[data-page="autismo"] .page-hero .visual-panel,
body[data-page="autismo"] .asset-layout .panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* Ajuste mobile */
@media (max-width:760px){
  body[data-page="autismo"] img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] img[src*="autismo"],
  body[data-page="index"] img[src*="uni-pelo-autismo"],
  body[data-page="index"] img[src*="autismo"]{
    max-width:100% !important;
    max-height:380px !important;
    clip-path:ellipse(48% 40% at 50% 50%) !important;
  }
}
/* =========================================================
   V37 — selo uni. pelo autismo com PNG transparente
   Remove recortes antigos e integra o selo novo ao site.
   ========================================================= */

img[src*="uni-pelo-autismo"],
img[src*="autismo-selo"],
img[src*="selo-autismo"],
img[src*="uni-pelo-autismo-selo"]{
  clip-path:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;

  object-fit:contain !important;
  object-position:center center !important;

  transform:none !important;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34)) !important;
}

/* Remove caixas, fundos e bordas ao redor do selo */
.seal-panel:has(img[src*="uni-pelo-autismo"]),
.seal-panel:has(img[src*="autismo-selo"]),
.selo-panel-large:has(img[src*="uni-pelo-autismo"]),
.selo-panel-large:has(img[src*="autismo-selo"]),
.home-symbol-card:has(img[src*="uni-pelo-autismo"]),
.home-symbol-card:has(img[src*="autismo-selo"]),
.panel:has(img[src*="uni-pelo-autismo"]),
.panel:has(img[src*="autismo-selo"]),
.visual-panel:has(img[src*="uni-pelo-autismo"]),
.visual-panel:has(img[src*="autismo-selo"]){
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

/* Página inicial */
body[data-page="index"] img[src*="uni-pelo-autismo"],
body[data-page="index"] img[src*="autismo-selo"],
body[data-page="index"] img[src*="uni-pelo-autismo-selo"]{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Página uni. pelo autismo */
body[data-page="autismo"] img[src*="uni-pelo-autismo"],
body[data-page="autismo"] img[src*="autismo-selo"],
body[data-page="autismo"] img[src*="uni-pelo-autismo-selo"]{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:540px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:760px){
  body[data-page="index"] img[src*="uni-pelo-autismo"],
  body[data-page="index"] img[src*="autismo-selo"],
  body[data-page="index"] img[src*="uni-pelo-autismo-selo"],
  body[data-page="autismo"] img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] img[src*="autismo-selo"],
  body[data-page="autismo"] img[src*="uni-pelo-autismo-selo"]{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:400px !important;
    object-fit:contain !important;
    transform:none !important;
  }
}
/* =========================================================
   V38 — selo uni. pelo autismo definitivo com PNG transparente
   Remove recortes antigos, máscaras e fundos artificiais.
   ========================================================= */

img[src*="uni-pelo-autismo"],
img[src*="autismo-selo"],
img[src*="selo-autismo"],
img[src*="uni-pelo-autismo-selo"]{
  clip-path:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;

  mix-blend-mode:normal !important;
  opacity:1 !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;

  object-fit:contain !important;
  object-position:center center !important;

  transform:none !important;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34)) !important;
}

/* Remove caixa, painel, fundo e borda ao redor do selo */
.seal-panel:has(img[src*="uni-pelo-autismo"]),
.seal-panel:has(img[src*="autismo-selo"]),
.seal-panel:has(img[src*="selo-autismo"]),
.selo-panel-large:has(img[src*="uni-pelo-autismo"]),
.selo-panel-large:has(img[src*="autismo-selo"]),
.selo-panel-large:has(img[src*="selo-autismo"]),
.home-symbol-card:has(img[src*="uni-pelo-autismo"]),
.home-symbol-card:has(img[src*="autismo-selo"]),
.home-symbol-card:has(img[src*="selo-autismo"]),
.panel:has(img[src*="uni-pelo-autismo"]),
.panel:has(img[src*="autismo-selo"]),
.panel:has(img[src*="selo-autismo"]),
.visual-panel:has(img[src*="uni-pelo-autismo"]),
.visual-panel:has(img[src*="autismo-selo"]),
.visual-panel:has(img[src*="selo-autismo"]){
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

/* Página inicial */
body[data-page="index"] img[src*="uni-pelo-autismo"],
body[data-page="index"] img[src*="autismo-selo"],
body[data-page="index"] img[src*="selo-autismo"],
body[data-page="index"] img[src*="uni-pelo-autismo-selo"]{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Página uni. pelo autismo */
body[data-page="autismo"] img[src*="uni-pelo-autismo"],
body[data-page="autismo"] img[src*="autismo-selo"],
body[data-page="autismo"] img[src*="selo-autismo"],
body[data-page="autismo"] img[src*="uni-pelo-autismo-selo"]{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:540px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:760px){
  body[data-page="index"] img[src*="uni-pelo-autismo"],
  body[data-page="index"] img[src*="autismo-selo"],
  body[data-page="index"] img[src*="selo-autismo"],
  body[data-page="index"] img[src*="uni-pelo-autismo-selo"],
  body[data-page="autismo"] img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] img[src*="autismo-selo"],
  body[data-page="autismo"] img[src*="selo-autismo"],
  body[data-page="autismo"] img[src*="uni-pelo-autismo-selo"]{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:400px !important;
    object-fit:contain !important;
    transform:none !important;
  }
}
/* =========================================================
   V39 — ajuste fino do selo na HOME
   Sobe e dá mais presença ao selo apenas na página inicial.
   Não altera a página uni. pelo autismo.
   ========================================================= */

@media (min-width: 861px){

  body[data-page="index"] .hero:first-of-type .hero-grid > *:last-child,
  body[data-page="index"] .hero:first-of-type .split > *:last-child{
    transform:translateY(-24px) !important;
  }

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-height:610px !important;
    max-width:108% !important;
  }

  body[data-page="index"] .hero:first-of-type .seal-note,
  body[data-page="index"] .hero:first-of-type .seal-note h3,
  body[data-page="index"] .hero:first-of-type .seal-note p,
  body[data-page="index"] .hero:first-of-type figcaption{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Ajuste intermediário para notebooks/telas menores */
@media (min-width: 861px) and (max-width: 1180px){

  body[data-page="index"] .hero:first-of-type .hero-grid > *:last-child,
  body[data-page="index"] .hero:first-of-type .split > *:last-child{
    transform:translateY(-16px) !important;
  }

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-height:560px !important;
    max-width:104% !important;
  }
}

/* Mobile: mantém estável, só evita deslocamento agressivo */
@media (max-width: 860px){

  body[data-page="index"] .hero:first-of-type .hero-grid > *:last-child,
  body[data-page="index"] .hero:first-of-type .split > *:last-child{
    transform:none !important;
  }

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-width:100% !important;
    max-height:400px !important;
  }
}
/* =========================================================
   V40 — HOME mobile: aumenta levemente o selo uni. pelo autismo
   Apenas na página inicial, apenas no celular.
   ========================================================= */

@media (max-width: 760px){

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="selo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-width:112% !important;
    max-height:460px !important;
    transform:scale(1.12) !important;
    transform-origin:center center !important;
  }

  body[data-page="index"] .hero:first-of-type .seal-panel,
  body[data-page="index"] .hero:first-of-type .selo-panel-large,
  body[data-page="index"] .hero:first-of-type .panel:has(img[src*="uni-pelo-autismo"]),
  body[data-page="index"] .hero:first-of-type .visual-panel:has(img[src*="uni-pelo-autismo"]){
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    padding-top:12px !important;
    padding-bottom:18px !important;
  }
}

@media (max-width: 430px){

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="selo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-width:116% !important;
    max-height:430px !important;
    transform:scale(1.15) !important;
  }
}
/* =========================================================
   V41 — HOME desktop: selo uni. pelo autismo mais presente
   Aumenta levemente o selo e aproxima o texto inferior.
   Não altera a página uni. pelo autismo.
   ========================================================= */

@media (min-width: 861px){

  /* Sobe um pouco o bloco visual inteiro da home */
  body[data-page="index"] .hero:first-of-type .hero-grid > *:last-child,
  body[data-page="index"] .hero:first-of-type .split > *:last-child{
    transform:translateY(-34px) !important;
  }

  /* Aumenta levemente apenas o selo da home */
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="selo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-width:118% !important;
    max-height:660px !important;
    transform:scale(1.08) !important;
    transform-origin:center center !important;
  }

  /* Aproxima o texto de baixo da imagem */
  body[data-page="index"] .hero:first-of-type .seal-note,
  body[data-page="index"] .hero:first-of-type figcaption,
  body[data-page="index"] .hero:first-of-type .media-card-body{
    margin-top:-18px !important;
    transform:translateY(-10px) !important;
    text-align:center !important;
  }

  body[data-page="index"] .hero:first-of-type .seal-note h3,
  body[data-page="index"] .hero:first-of-type figcaption h3,
  body[data-page="index"] .hero:first-of-type .media-card-body h3{
    margin-bottom:4px !important;
    text-align:center !important;
  }

  body[data-page="index"] .hero:first-of-type .seal-note p,
  body[data-page="index"] .hero:first-of-type figcaption,
  body[data-page="index"] .hero:first-of-type .media-card-body p{
    margin-top:0 !important;
    text-align:center !important;
  }
}

/* Telas desktop menores: ajuste um pouco menos agressivo */
@media (min-width: 861px) and (max-width: 1180px){

  body[data-page="index"] .hero:first-of-type .hero-grid > *:last-child,
  body[data-page="index"] .hero:first-of-type .split > *:last-child{
    transform:translateY(-24px) !important;
  }

  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="autismo-selo"],
  body[data-page="index"] .hero:first-of-type img[src*="selo-autismo"],
  body[data-page="index"] .hero:first-of-type img[src*="uni-pelo-autismo-selo"]{
    max-width:112% !important;
    max-height:600px !important;
    transform:scale(1.05) !important;
  }

  body[data-page="index"] .hero:first-of-type .seal-note,
  body[data-page="index"] .hero:first-of-type figcaption,
  body[data-page="index"] .hero:first-of-type .media-card-body{
    margin-top:-12px !important;
    transform:translateY(-8px) !important;
  }
}
/* =========================================================
   V42 — uni. pelo autismo mobile: selo 20% maior
   Aumenta apenas o selo da página autismo.html no celular.
   Não altera a home.
   ========================================================= */

@media (max-width: 760px){

  body[data-page="autismo"] .page-hero img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] .page-hero img[src*="autismo-selo"],
  body[data-page="autismo"] .page-hero img[src*="selo-autismo"],
  body[data-page="autismo"] .page-hero img[src*="uni-pelo-autismo-selo"],
  body[data-page="autismo"] .autism-hero img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] .autism-hero img[src*="autismo-selo"],
  body[data-page="autismo"] .autism-hero img[src*="selo-autismo"],
  body[data-page="autismo"] .autism-hero img[src*="uni-pelo-autismo-selo"]{
    max-width:120% !important;
    max-height:480px !important;

    transform:scale(1.20) !important;
    transform-origin:center center !important;

    object-fit:contain !important;
    object-position:center center !important;

    margin-left:auto !important;
    margin-right:auto !important;
  }

  body[data-page="autismo"] .page-hero .panel:has(img[src*="uni-pelo-autismo"]),
  body[data-page="autismo"] .page-hero .panel:has(img[src*="autismo-selo"]),
  body[data-page="autismo"] .page-hero .visual-panel:has(img[src*="uni-pelo-autismo"]),
  body[data-page="autismo"] .page-hero .visual-panel:has(img[src*="autismo-selo"]),
  body[data-page="autismo"] .autism-hero .panel:has(img[src*="uni-pelo-autismo"]),
  body[data-page="autismo"] .autism-hero .panel:has(img[src*="autismo-selo"]),
  body[data-page="autismo"] .autism-hero .visual-panel:has(img[src*="uni-pelo-autismo"]),
  body[data-page="autismo"] .autism-hero .visual-panel:has(img[src*="autismo-selo"]){
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:visible !important;
    padding-top:18px !important;
    padding-bottom:34px !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
}

@media (max-width: 430px){

  body[data-page="autismo"] .page-hero img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] .page-hero img[src*="autismo-selo"],
  body[data-page="autismo"] .page-hero img[src*="selo-autismo"],
  body[data-page="autismo"] .page-hero img[src*="uni-pelo-autismo-selo"],
  body[data-page="autismo"] .autism-hero img[src*="uni-pelo-autismo"],
  body[data-page="autismo"] .autism-hero img[src*="autismo-selo"],
  body[data-page="autismo"] .autism-hero img[src*="selo-autismo"],
  body[data-page="autismo"] .autism-hero img[src*="uni-pelo-autismo-selo"]{
    max-width:124% !important;
    max-height:460px !important;
    transform:scale(1.22) !important;
  }
}
/* =========================================================
   V43 — Language Switcher Ultra Premium
   Estilo Apple/Tesla para seletor de idioma
   ========================================================= */

.language-switcher{
  position:relative;
  display:flex;
  align-items:center;
  margin-left:18px;
  z-index:1200;
}

.language-toggle{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.028);
  backdrop-filter:blur(16px);
  color:#fff;
  font:inherit;
  letter-spacing:.01em;
  cursor:pointer;
  transition:
    background .22s ease,
    border-color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}

.language-toggle:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.language-toggle:focus-visible{
  outline:none;
  border-color:rgba(238,28,37,.65);
  box-shadow:0 0 0 4px rgba(238,28,37,.10);
}

.language-toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.82);
}

.language-toggle-label{
  color:rgba(255,255,255,.86);
  font-size:.92rem;
  font-weight:500;
}

.language-toggle-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
}

.language-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:240px;
  padding:10px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,10,10,.96);
  backdrop-filter:blur(22px);
  box-shadow:
    0 18px 50px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.04);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px) scale(.985);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
  z-index:1400;
}

.language-switcher.is-open .language-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.language-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  color:#fff;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.language-menu a:hover{
  background:rgba(255,255,255,.045);
}

.language-menu a.is-active{
  background:rgba(255,255,255,.06);
}

.lang-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  color:#fff;
  font-size:.80rem;
  font-weight:800;
  letter-spacing:.08em;
}

.lang-name{
  flex:1;
  text-align:right;
  color:rgba(255,255,255,.82);
  font-size:.94rem;
  font-weight:500;
}

@media (min-width:861px){
  .menu{
    overflow:visible !important;
  }

  .topbar,
  .nav{
    overflow:visible !important;
  }
}

@media (max-width:860px){
  .language-switcher{
    width:100%;
    margin:14px 0 0;
    justify-content:center;
  }

  .language-toggle{
    width:100%;
    max-width:280px;
    justify-content:center;
  }

  .language-menu{
    left:50%;
    right:auto;
    transform:translateX(-50%) translateY(8px) scale(.985);
    width:min(260px,92vw);
  }

  .language-switcher.is-open .language-menu{
    transform:translateX(-50%) translateY(0) scale(1);
  }

  .lang-name{
    text-align:right;
  }
}
/* =========================================================
   V44 — Header reancorado com seletor de idioma
   Corrige desktop + mobile após entrada do seletor
   ========================================================= */

/* ---------- Estrutura geral do topo ---------- */

.topbar{
  position:sticky;
  top:0;
  z-index:1600;
  backdrop-filter:blur(16px);
}

.topbar .nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  flex-wrap:nowrap !important;
}

.brandmark{
  flex:0 0 auto !important;
  min-width:max-content !important;
}

.menu{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  flex-wrap:nowrap !important;
}

/* ---------- Links do menu ---------- */

.menu > a,
.menu > .menu-dropdown,
.menu > .language-switcher,
.menu > .btn-nav{
  flex:0 0 auto !important;
}

.menu > a,
.menu-dropdown-trigger{
  white-space:nowrap !important;
  font-size:.92rem !important;
}

/* ---------- Botão WhatsApp no desktop ---------- */

.btn-nav{
  margin-left:6px !important;
  white-space:nowrap !important;
  min-height:42px !important;
  padding:0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* ---------- Seletor de idioma no desktop ---------- */

.language-switcher{
  margin-left:4px !important;
}

.language-toggle{
  min-height:40px !important;
  padding:0 12px !important;
  gap:8px !important;
  white-space:nowrap !important;
}

.language-toggle-label{
  font-size:.88rem !important;
}

.language-toggle-current{
  min-width:30px !important;
  height:22px !important;
  font-size:.72rem !important;
}

/* ---------- Dropdown soluções ---------- */

.menu-dropdown{
  position:relative !important;
}

.menu-dropdown-panel{
  z-index:1700 !important;
}

/* ---------- Desktop médio / notebook ---------- */

@media (max-width: 1280px){

  .topbar .nav{
    gap:16px !important;
  }

  .menu{
    gap:10px !important;
  }

  .menu > a,
  .menu-dropdown-trigger{
    font-size:.86rem !important;
  }

  .btn-nav{
    padding:0 14px !important;
    font-size:.84rem !important;
  }

  .language-toggle{
    padding:0 10px !important;
  }

  .language-toggle-label{
    display:none !important;
  }
}

/* ---------- Desktop mais estreito ---------- */

@media (max-width: 1120px){

  .brandtext{
    font-size:.78rem !important;
    white-space:nowrap !important;
  }

  .menu{
    gap:8px !important;
  }

  .menu > a,
  .menu-dropdown-trigger{
    font-size:.82rem !important;
  }

  .btn-nav{
    padding:0 12px !important;
    font-size:.80rem !important;
  }

  .language-toggle{
    min-height:38px !important;
    padding:0 10px !important;
  }

  .language-toggle-current{
    min-width:28px !important;
    height:20px !important;
    font-size:.68rem !important;
  }
}

/* ---------- Corte para mobile/tablet ---------- */

@media (max-width: 860px){

  .topbar .nav{
    align-items:center !important;
    flex-wrap:nowrap !important;
  }

  .brandmark{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .brandmark img{
    max-width:104px !important;
    height:auto !important;
  }

  .brandtext{
    font-size:.78rem !important;
    line-height:1.05 !important;
  }

  .menu-toggle{
    flex:0 0 auto !important;
    margin-left:auto !important;
  }

  .menu{
    width:100% !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding-top:14px !important;
  }

  .menu.is-open,
  .menu[data-open="true"],
  .menu[aria-hidden="false"]{
    display:flex !important;
  }

  .menu > a,
  .menu > .menu-dropdown,
  .menu > .language-switcher,
  .menu > .btn-nav{
    width:100% !important;
  }

  .menu > a,
  .menu-dropdown-trigger{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    text-align:center !important;
  }

  .btn-nav{
    width:100% !important;
    min-height:46px !important;
    margin-left:0 !important;
  }

  .language-switcher{
    width:100% !important;
    margin:4px 0 0 !important;
    justify-content:center !important;
  }

  .language-toggle{
    width:100% !important;
    max-width:none !important;
    justify-content:center !important;
    min-height:46px !important;
  }

  .language-toggle-label{
    display:inline !important;
  }

  .language-menu{
    width:min(280px, 92vw) !important;
  }

  .menu-dropdown-panel{
    position:static !important;
    width:100% !important;
    margin-top:8px !important;
  }
}

/* ---------- Mobile pequeno ---------- */

@media (max-width: 520px){

  .brandmark img{
    max-width:96px !important;
  }

  .brandtext{
    font-size:.74rem !important;
  }

  .language-toggle{
    min-height:44px !important;
  }

  .btn-nav{
    min-height:44px !important;
  }
}
/* =========================================================
   V45B — ajuste apenas da brandmark no DESKTOP
   Mobile permanece como está
   ========================================================= */

@media (min-width: 861px){

  .brandmark{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    flex:0 0 auto !important;
    min-width:0 !important;
  }

  .brandmark img{
    max-width:118px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
  }

  .brandtext{
    display:block !important;
    max-width:126px !important;
    min-width:126px !important;
    white-space:normal !important;
    line-height:1.05 !important;
    font-size:.76rem !important;
    letter-spacing:.01em !important;
    color:rgba(255,255,255,.78) !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
}

@media (min-width: 861px) and (max-width: 1280px){

  .brandmark img{
    max-width:110px !important;
  }

  .brandtext{
    max-width:112px !important;
    min-width:112px !important;
    font-size:.72rem !important;
  }
}

@media (min-width: 861px) and (max-width: 1120px){

  .brandmark img{
    max-width:104px !important;
  }

  .brandtext{
    max-width:98px !important;
    min-width:98px !important;
    font-size:.68rem !important;
    line-height:1.0 !important;
  }
}
/* =========================================================
   V47 — automação mobile: tabela comparativa sem overflow
   Converte a matriz "Plano / Valor / Indicação / O que resolve"
   em cards verticais no celular.
   ========================================================= */

@media (max-width: 760px){

  body[data-page="automacao"] .table-wrap,
  body[data-page="automacao"] .investment-table-wrap,
  body[data-page="automacao"] .comparison-table-wrap,
  body[data-page="automacao"] .pricing-table-wrap,
  body[data-page="automacao"] .table-responsive{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body[data-page="automacao"] colgroup,
  body[data-page="automacao"] col{
    display:none !important;
    width:auto !important;
  }

  body[data-page="automacao"] table{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    box-sizing:border-box !important;
  }

  body[data-page="automacao"] thead{
    display:none !important;
  }

  body[data-page="automacao"] tbody{
    display:grid !important;
    gap:16px !important;
    width:100% !important;
  }

  body[data-page="automacao"] tbody tr{
    display:block !important;
    width:100% !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:24px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
  }

  body[data-page="automacao"] tbody td,
  body[data-page="automacao"] tbody th{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;

    padding:14px 18px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;

    text-align:left !important;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    hyphens:none !important;
  }

  body[data-page="automacao"] tbody td:last-child,
  body[data-page="automacao"] tbody th:last-child{
    border-bottom:none !important;
  }

  body[data-page="automacao"] tbody td::before,
  body[data-page="automacao"] tbody th::before{
    display:block !important;
    margin-bottom:6px !important;
    color:#fff !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.10em !important;
    text-transform:uppercase !important;
    content:"";
  }

  body[data-page="automacao"] tbody td:nth-child(1)::before,
  body[data-page="automacao"] tbody th:nth-child(1)::before{
    content:"Plano";
  }

  body[data-page="automacao"] tbody td:nth-child(2)::before,
  body[data-page="automacao"] tbody th:nth-child(2)::before{
    content:"Valor";
  }

  body[data-page="automacao"] tbody td:nth-child(3)::before,
  body[data-page="automacao"] tbody th:nth-child(3)::before{
    content:"Indicação";
  }

  body[data-page="automacao"] tbody td:nth-child(4)::before,
  body[data-page="automacao"] tbody th:nth-child(4)::before{
    content:"O que resolve";
  }

  body[data-page="automacao"] tbody td:nth-child(1),
  body[data-page="automacao"] tbody th:nth-child(1){
    background:rgba(238,28,37,.06) !important;
    color:#fff !important;
    font-weight:900 !important;
  }

  body[data-page="automacao"] tbody td:nth-child(1)::before,
  body[data-page="automacao"] tbody th:nth-child(1)::before{
    color:rgba(255,255,255,.72) !important;
  }

  body[data-page="automacao"] tbody td:nth-child(2),
  body[data-page="automacao"] tbody th:nth-child(2){
    color:#fff !important;
    font-weight:800 !important;
  }

  body[data-page="automacao"] tbody td:nth-child(3),
  body[data-page="automacao"] tbody td:nth-child(4),
  body[data-page="automacao"] tbody th:nth-child(3),
  body[data-page="automacao"] tbody th:nth-child(4){
    color:var(--muted) !important;
  }
}
/* =========================================================
   V48 — refinamento editorial global da matriz em português
   Justificado apenas onde sustenta leitura premium.
   Cards curtos, labels, tabelas e mobile ficam em alinhamento
   mais limpo e controlado.
   ========================================================= */

/* ritmo vertical consistente dos grids */
main :is(
  .grid-2,
  .grid-3,
  .info-grid,
  .arm-grid,
  .process-grid,
  .media-showcase,
  .gallery-grid,
  .pricing-grid,
  .mobility-card-grid,
  .solution-entry-grid,
  .fronts-grid
){
  align-items:stretch !important;
}

/* ---------------------------------------------------------
   DESKTOP / TABLET GRANDE
   --------------------------------------------------------- */
@media (min-width: 981px){

  /* cabeçalhos editoriais */
  html[lang^="pt"] body main .section-head{
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-end !important;
    gap:30px !important;
    margin-bottom:30px !important;
    text-align:left !important;
    max-width:none !important;
  }

  html[lang^="pt"] body main :is(
    .section-head h1,
    .section-head h2,
    .section-head h3,
    .section-head .kicker,
    .hero-copy h1,
    .hero-copy .kicker,
    .hero-copy .arm-wordmark,
    .page-hero h1,
    .page-hero .kicker,
    .page-hero .arm-wordmark
  ){
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* blocos textuais base */
  html[lang^="pt"] body main :is(
    .hero-copy,
    .page-hero .split > div:first-child,
    .page-hero .asset-layout > div:first-child,
    .split > div:first-child,
    .asset-layout > div:first-child
  ){
    text-align:left !important;
  }

  /* parágrafos longos: justificado */
  html[lang^="pt"] body main :is(
    .hero-copy .lead,
    .page-hero .lead,
    .section-head .lead,
    .split > div > p:not(.small):not(.arm-wordmark):not(.mobility-product-copy):not(.mobility-product-expanded):not(.mobility-colors):not(.caption),
    .asset-layout > div > p:not(.small):not(.arm-wordmark):not(.mobility-product-copy):not(.mobility-product-expanded):not(.mobility-colors):not(.caption),
    .institutional-autism p:not(.small),
    .editorial-copy p,
    .quote-panel p,
    .caption
  ){
    text-align:justify !important;
    text-align-last:left !important;
    -webkit-hyphens:auto !important;
    -ms-hyphens:auto !important;
    hyphens:auto !important;
    line-height:1.68 !important;
    text-wrap:pretty !important;
    max-width:72ch !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* cards curtos: alinhamento limpo à esquerda */
  html[lang^="pt"] body main :is(
    .arm-card,
    .info-card,
    .solution-entry-card,
    .front-card,
    .process-card,
    .media-card-body,
    .automation-plan-card,
    .mobility-product-content,
    .uni-card-soft,
    .uni-panel-soft,
    .uni-section
  ){
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  html[lang^="pt"] body main :is(
    .arm-card h1,
    .arm-card h2,
    .arm-card h3,
    .arm-card p,
    .info-card h1,
    .info-card h2,
    .info-card h3,
    .info-card p,
    .solution-entry-card h3,
    .solution-entry-card p,
    .front-card h3,
    .front-card p,
    .media-card-body h3,
    .media-card-body p,
    .process-card strong,
    .process-card p,
    .automation-plan-card h3,
    .automation-plan-card p,
    .mobility-product-category,
    .mobility-product-top h4,
    .mobility-product-copy,
    .mobility-product-expanded,
    .mobility-colors
  ){
    text-align:left !important;
    text-align-last:left !important;
    max-width:none !important;
    hyphens:none !important;
  }

  html[lang^="pt"] body main .arm-link{
    align-self:flex-start !important;
    text-align:left !important;
  }

  /* mobilidade: topo do card fica alinhado à esquerda */
  html[lang^="pt"] body main .mobility-product-top{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  html[lang^="pt"] body main .mobility-spec-chips{
    justify-content:flex-start !important;
  }

  html[lang^="pt"] body main .mobility-power-pill{
    align-self:flex-start !important;
  }

  /* CTA e contato continuam centralizados */
  html[lang^="pt"] body main :is(
    .panel-cta,
    .institutional-cta,
    .contact-card,
    .contact-address-card
  ){
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
  }

  html[lang^="pt"] body main :is(
    .panel-cta h1,
    .panel-cta h2,
    .panel-cta h3,
    .panel-cta p,
    .panel-cta .lead,
    .institutional-cta h1,
    .institutional-cta h2,
    .institutional-cta h3,
    .institutional-cta p,
    .institutional-cta .lead,
    .contact-card h1,
    .contact-card h2,
    .contact-card h3,
    .contact-card p,
    .contact-card .lead,
    .contact-address-card h1,
    .contact-address-card h2,
    .contact-address-card h3,
    .contact-address-card p,
    .contact-address-card .lead
  ){
    text-align:center !important;
    text-align-last:center !important;
    max-width:52rem !important;
    margin-left:auto !important;
    margin-right:auto !important;
    hyphens:none !important;
  }

  html[lang^="pt"] body main :is(
    .panel-cta .actions,
    .institutional-cta .actions,
    .contact-card .actions,
    .contact-address-card .actions
  ){
    justify-content:center !important;
    align-items:center !important;
  }

  /* notas curtas sem hifenização agressiva */
  html[lang^="pt"] body main :is(
    .small,
    .badge,
    .metric-card span,
    .note-strip span
  ){
    hyphens:none !important;
  }
}

/* ---------------------------------------------------------
   MOBILE E TABLET ESTREITO
   --------------------------------------------------------- */
@media (max-width: 980px){

  html[lang^="pt"] body main .section-head{
    display:block !important;
    text-align:left !important;
  }

  /* mobile: nada justificado, tudo limpo à esquerda */
  html[lang^="pt"] body main :is(
    .section-head h1,
    .section-head h2,
    .section-head h3,
    .section-head .lead,
    .hero-copy h1,
    .hero-copy .lead,
    .page-hero h1,
    .page-hero .lead,
    p,
    .lead,
    .caption
  ){
    text-align:left !important;
    text-align-last:left !important;
    hyphens:none !important;
    max-width:none !important;
  }

  html[lang^="pt"] body main :is(
    .arm-card,
    .info-card,
    .solution-entry-card,
    .front-card,
    .process-card,
    .media-card-body,
    .automation-plan-card,
    .mobility-product-content,
    .uni-card-soft,
    .uni-panel-soft,
    .uni-section
  ){
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  html[lang^="pt"] body main .arm-link{
    align-self:flex-start !important;
    text-align:left !important;
  }

  html[lang^="pt"] body main .mobility-product-top{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  html[lang^="pt"] body main .mobility-spec-chips{
    justify-content:flex-start !important;
  }

  html[lang^="pt"] body main .mobility-power-pill{
    align-self:flex-start !important;
  }

  /* CTA mobile continua central */
  html[lang^="pt"] body main :is(
    .panel-cta,
    .institutional-cta,
    .contact-card,
    .contact-address-card
  ){
    text-align:center !important;
    align-items:center !important;
  }

  html[lang^="pt"] body main :is(
    .panel-cta h1,
    .panel-cta h2,
    .panel-cta h3,
    .panel-cta p,
    .panel-cta .lead,
    .institutional-cta h1,
    .institutional-cta h2,
    .institutional-cta h3,
    .institutional-cta p,
    .institutional-cta .lead,
    .contact-card h1,
    .contact-card h2,
    .contact-card h3,
    .contact-card p,
    .contact-card .lead,
    .contact-address-card h1,
    .contact-address-card h2,
    .contact-address-card h3,
    .contact-address-card p,
    .contact-address-card .lead
  ){
    text-align:center !important;
    text-align-last:center !important;
  }
}
/* =========================================================
   FIX DEFINITIVO — LINHA VERMELHA DO MENU "SOLUÇÕES"
   Corrige o traço que estava aparecendo dentro/na borda do dropdown
   ========================================================= */

/* Garante que o item Soluções seja a referência da linha */
.topbar .menu > .menu-dropdown {
  position: relative !important;
}

/* O link "Soluções" passa a controlar a linha vermelha */
.topbar .menu > .menu-dropdown > .menu-dropdown-trigger {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Remove qualquer linha/pseudo-elemento antigo no container do dropdown */
.topbar .menu > .menu-dropdown::before,
.topbar .menu > .menu-dropdown::after,
.topbar .menu-dropdown-panel::before,
.topbar .menu-dropdown-panel::after {
  content: none !important;
  display: none !important;
}

/* Remove underline vermelho errado dentro dos itens do dropdown */
.topbar .menu-dropdown-panel a::before,
.topbar .menu-dropdown-panel a::after {
  content: none !important;
  display: none !important;
}

/* Mantém a setinha do Soluções estável, sem virar linha */
.topbar .menu > .menu-dropdown > .menu-dropdown-trigger::after {
  content: "▾" !important;
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin-left: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  transform: none !important;
  opacity: 0.8 !important;
  font-size: 0.72em !important;
  line-height: 1 !important;
}

/* Nova linha vermelha correta embaixo de Soluções */
.topbar .menu > .menu-dropdown > .menu-dropdown-trigger::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -10px !important;
  width: 42px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #ff2020 !important;
  box-shadow: 0 0 18px rgba(255, 32, 32, 0.38) !important;
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

/* Mostra a linha quando o menu Soluções está aberto */
.topbar .menu > .menu-dropdown:hover > .menu-dropdown-trigger::before,
.topbar .menu > .menu-dropdown:focus-within > .menu-dropdown-trigger::before {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

/* Mostra a linha quando Soluções é a página ativa */
.topbar .menu > .menu-dropdown > .menu-dropdown-trigger[aria-current="page"]::before,
.topbar .menu > .menu-dropdown > .menu-dropdown-trigger[data-current="true"]::before {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

/* Mostra a linha em Soluções quando uma página interna do dropdown está ativa */
.topbar .menu > .menu-dropdown:has(.menu-dropdown-panel a[aria-current="page"]) > .menu-dropdown-trigger::before {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

/* Mobile: mantém a linha presa no texto, sem jogar para dentro do dropdown */
@media (max-width: 900px) {
  .topbar .menu > .menu-dropdown {
    width: 100% !important;
  }

  .topbar .menu > .menu-dropdown > .menu-dropdown-trigger {
    width: max-content !important;
    max-width: 100% !important;
  }

  .topbar .menu > .menu-dropdown > .menu-dropdown-trigger::before {
    bottom: -7px !important;
    width: 38px !important;
    height: 3px !important;
  }
}


/* Área do Cliente UNI - link discreto */
.client-area-link{
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:.55rem .82rem;
  opacity:.92;
}
.client-area-link:hover{
  border-color:rgba(238,28,37,.85);
  color:#fff;
}


/* =========================================================
   PATCH v1.6 — REFINO DO HEADER / LINK ÁREA DO CLIENTE
   ========================================================= */

.topbar .nav{
  gap:18px !important;
  flex-wrap:nowrap !important;
}

.brandmark{
  flex:0 0 auto !important;
  min-width:auto !important;
}

.brandmark img{
  display:block;
}

.brandtext{
  max-width:170px;
  line-height:1.08;
  opacity:.86;
}

.menu{
  margin-left:auto !important;
  flex:1 1 auto;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
}

.menu > a,
.menu-dropdown-trigger{
  white-space:nowrap;
}

.menu a[href*="area-cliente/cliente/login.php"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  white-space:nowrap;
}

.menu a[href*="area-cliente/cliente/login.php"]:hover{
  border-color:rgba(238,28,37,.65);
  background:rgba(255,255,255,.06);
}

@media (max-width: 1440px){
  .brandtext{
    display:none !important;
  }

  .menu{
    gap:12px !important;
  }

  .menu > a,
  .menu-dropdown-trigger{
    font-size:.88rem !important;
  }

  .btn-nav{
    padding:0 16px !important;
    font-size:.86rem !important;
  }
}

@media (max-width: 1280px){
  .topbar .nav{
    gap:14px !important;
  }

  .menu{
    gap:10px !important;
  }

  .menu > a,
  .menu-dropdown-trigger{
    font-size:.84rem !important;
  }

  .btn-nav{
    min-height:40px !important;
    padding:0 14px !important;
    font-size:.82rem !important;
  }

  .language-switcher{
    margin-left:10px !important;
  }
}

@media (max-width: 980px){
  .menu{
    flex-wrap:wrap !important;
  }
}


/* =========================================================
   PATCH v1.7 — LOGO TRAVADA E MENU EM DUAS LINHAS
   ========================================================= */

.brandmark{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}

.brandmark img{
  height:46px !important;
  width:auto !important;
  display:block !important;
}

.brandtext{
  display:none !important;
}

.topbar .nav{
  align-items:flex-start !important;
  flex-wrap:wrap !important;
  gap:14px 24px !important;
  min-height:auto !important;
  padding-top:14px;
  padding-bottom:14px;
}

.topbar .nav > .brandmark{
  order:1;
  flex:0 0 auto !important;
  margin-right:6px;
}

.topbar .nav > .menu-toggle{
  order:2;
  margin-left:auto;
}

.topbar .nav > .menu{
  order:3;
  flex:1 1 100% !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:12px 18px !important;
  padding-top:2px;
}

.menu > a,
.menu-dropdown,
.language-switcher,
.menu .btn-nav{
  flex:0 0 auto;
}

.menu > a,
.menu-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  white-space:nowrap;
}

.menu a[aria-current="page"]::after,
.menu a:not(.btn)[aria-current="page"]::after{
  bottom:-6px !important;
}

.language-switcher{
  margin-left:auto !important;
}

.menu .btn-nav{
  margin-left:0 !important;
}

@media (min-width: 981px){
  .topbar{
    padding-top:2px;
    padding-bottom:2px;
  }
}

@media (max-width: 980px){
  .topbar .nav{
    align-items:center !important;
    gap:14px !important;
    padding-top:10px;
    padding-bottom:10px;
  }

  .topbar .nav > .menu{
    order:4;
    width:100% !important;
  }

  .language-switcher{
    margin-left:0 !important;
  }
}


/* =========================================================
   PATCH v2.8 — MOBILE MENU SIMÉTRICO E ÁREA DO CLIENTE ALINHADA
   ========================================================= */

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

.topbar{
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
  width:100% !important;
  background:rgba(0,0,0,.96) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:blur(14px) !important;
}

.topbar .container.nav,
.topbar .nav{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:74px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.brandmark{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

.brandmark img{
  display:block !important;
  width:auto !important;
  height:46px !important;
  max-width:128px !important;
}

.brandtext{
  display:block !important;
  max-width:145px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:.74rem !important;
  line-height:1.05 !important;
  white-space:normal !important;
}

.footer-client-link-wrap{
  margin-top:18px !important;
}

.footer-client-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  border:1px solid rgba(238,28,37,.9) !important;
  background:linear-gradient(135deg,#ee1c25 0%,#b90f16 100%) !important;
  color:#fff !important;
  font-weight:900 !important;
  box-shadow:0 12px 26px rgba(238,28,37,.24), inset 0 1px 0 rgba(255,255,255,.16) !important;
  text-decoration:none !important;
}

/* Desktop */
@media (min-width:861px){
  .topbar .container.nav,
  .topbar .nav{
    flex-wrap:wrap !important;
    gap:14px 24px !important;
  }

  .topbar .nav > .brandmark{
    order:1 !important;
    flex:0 0 auto !important;
  }

  .menu-toggle{
    display:none !important;
  }

  .topbar .menu{
    order:3 !important;
    position:static !important;
    width:100% !important;
    flex:1 1 100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:12px 18px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .topbar .menu .client-area-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:0 15px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }

  .topbar .menu .client-area-link:hover{
    border-color:rgba(238,28,37,.82) !important;
    background:rgba(238,28,37,.10) !important;
  }
}

/* Mobile */
@media (max-width:860px){
  .topbar .container.nav,
  .topbar .nav{
    flex-wrap:nowrap !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:70px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .brandmark{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 62px) !important;
    gap:0 !important;
  }

  .brandmark img{
    height:38px !important;
    max-width:108px !important;
  }

  .brandtext{
    display:none !important;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    min-height:46px !important;
    margin-left:auto !important;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.07) !important;
    color:#fff !important;
    font-size:1.35rem !important;
    line-height:1 !important;
    z-index:100002 !important;
    cursor:pointer !important;
  }

  .topbar .menu{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:70px !important;
    z-index:100000 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100vw !important;
    max-height:calc(100vh - 70px) !important;
    overflow-y:auto !important;
    padding:12px 18px 24px !important;
    background:rgba(0,0,0,.985) !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 22px 45px rgba(0,0,0,.55) !important;
    backdrop-filter:blur(16px) !important;
  }

  .topbar .menu.is-open{
    display:flex !important;
  }

  body.menu-open{
    overflow:hidden !important;
  }

  .topbar .menu > a,
  .topbar .menu .menu-dropdown-trigger,
  .topbar .menu .language-toggle{
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
    margin:0 !important;
    border-radius:14px !important;
    color:#fff !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    box-shadow:none !important;
    font-size:1.04rem !important;
    font-weight:700 !important;
    text-decoration:none !important;
  }

  .topbar .menu a[aria-current="page"]{
    background:rgba(238,28,37,.15) !important;
  }

  .topbar .menu a[aria-current="page"]::after{
    display:none !important;
  }

  /* Área do cliente fica exatamente como item do menu, alinhada com os demais */
  .topbar .menu .client-area-link{
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
    margin:0 !important;
    border-radius:14px !important;
    color:#fff !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    box-shadow:none !important;
    font-size:1.04rem !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }

  .menu-dropdown{
    width:100% !important;
    display:block !important;
  }

  .menu-dropdown-panel{
    position:static !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    padding:6px 0 10px 12px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .menu-dropdown.is-open .menu-dropdown-panel{
    display:block !important;
  }

  .menu-dropdown-panel a{
    min-height:42px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    color:rgba(255,255,255,.82) !important;
  }

  .language-switcher{
    width:100% !important;
    margin:14px 0 8px !important;
  }

  .language-menu{
    position:static !important;
    width:100% !important;
    margin-top:8px !important;
  }

  .topbar .menu .btn-nav{
    width:100% !important;
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:14px 0 0 !important;
    padding:0 18px !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#ee1c25 0%,#b90f16 100%) !important;
    border:1px solid rgba(238,28,37,.95) !important;
    color:#fff !important;
    font-weight:900 !important;
    box-shadow:0 14px 30px rgba(238,28,37,.28) !important;
    text-decoration:none !important;
  }

  .hero,
  .page-hero,
  .section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  h1{
    font-size:clamp(2.35rem,13vw,4.4rem) !important;
    line-height:.98 !important;
    max-width:100% !important;
  }

  .container{
    width:calc(100% - 30px) !important;
  }

  .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .footer-client-link{
    width:100% !important;
    max-width:290px !important;
  }
}

@media (max-width:520px){
  .brandmark img{
    height:34px !important;
    max-width:98px !important;
  }

  .topbar .container.nav,
  .topbar .nav{
    min-height:66px !important;
  }

  .topbar .menu{
    top:66px !important;
    max-height:calc(100vh - 66px) !important;
  }
}


/* =========================================================
   PATCH v2.9 — MENU MOBILE FECHADO POR PADRÃO
   ========================================================= */

@media (max-width:860px){
  body:not(.menu-open) #site-menu,
  body:not(.menu-open) .topbar .menu{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
  }

  body.menu-open #site-menu,
  body.menu-open .topbar .menu,
  #site-menu.is-open,
  .topbar .menu.is-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .topbar .menu{
    transition:opacity .18s ease, transform .18s ease !important;
  }
}


/* =========================================================
   PATCH v3.0 — ANUNCIE COM PREÇOS EM ORDEM CRESCENTE
   ========================================================= */

.pricing-note{
  margin: 18px 0 18px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.82);
  line-height: 1.45;
}

.pricing-note strong{
  color: #fff;
}

.investment-table-wrap tbody tr:first-child{
  background: rgba(238,28,37,.08);
}

.investment-table-wrap tbody tr:first-child td:first-child strong::after{
  content: " • entrada acessível";
  color: rgba(255,255,255,.62);
  font-weight: 700;
  font-size: .82em;
}

@media (max-width: 860px){
  .pricing-note{
    padding: 14px 15px;
    border-radius: 16px;
    font-size: .94rem;
  }
}


/* =========================================================
   PATCH v3.2 — ANUNCIE SEM NOTA INTERNA
   ========================================================= */

.investment-table-wrap tbody tr:first-child{
  background: rgba(238,28,37,.08);
}


/* =========================================================
   v19 comercial reancorada — extensão sem quebrar estrutura
   ========================================================= */
.section-uni-platform-v19{background:radial-gradient(circle at 85% 0,rgba(238,28,37,.07),transparent 28%),#fbfbfc}
.platform-card-v19{border-radius:28px;padding:28px;background:linear-gradient(135deg,#060608,#1b1b20 56%,#30070b);color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08)}
.platform-card-v19 img{width:120px;height:auto;margin-bottom:22px}
.platform-list-v19{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.platform-list-v19 span{display:block;padding:14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-weight:800}
.pricing-grid-v19{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pricing-card-premium-v19{position:relative;overflow:hidden}
.pricing-card-premium-v19:after{content:"";position:absolute;right:-58px;top:-58px;width:145px;height:145px;border-radius:50%;background:rgba(238,28,37,.08);pointer-events:none}
.pricing-card-featured-v19{border-color:rgba(238,28,37,.42)!important;box-shadow:0 22px 72px rgba(238,28,37,.12)}
.offer-list-v19{margin:18px 0 22px;padding:0;list-style:none;display:grid;gap:8px}
.offer-list-v19 li{position:relative;padding-left:20px;color:#4b4b52}
.offer-list-v19 li:before{content:"";position:absolute;left:0;top:.56em;width:8px;height:8px;border-radius:999px;background:#ee1c25}
.platform-grid-v19{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.platform-grid-v19 article{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:18px;box-shadow:0 12px 35px rgba(0,0,0,.04)}
.platform-grid-v19 strong{display:block;font-size:18px;letter-spacing:-.03em}
.platform-grid-v19 span{display:block;margin-top:4px;color:#777;font-size:13px}
@media(max-width:980px){.pricing-grid-v19,.platform-grid-v19{grid-template-columns:1fr}.platform-list-v19{grid-template-columns:1fr}}


/* V21 — venda direta e botão separado no topo */
.menu .btn-enter-network{
  margin-left:auto;
  white-space:nowrap;
  box-shadow:0 16px 32px rgba(238,28,37,.24);
}
.menu .btn-whatsapp-nav{
  white-space:nowrap;
}
.platform-direct-cta-v21{
  margin-top:24px;
}
.panel-inline-cta-v21{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(135deg,#08080b,#1a1a1f 55%,#2b0508);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.panel-inline-cta-v21 h3{
  color:#fff;
  margin:6px 0;
  font-size:clamp(1.45rem,3vw,2.2rem);
  letter-spacing:-.04em;
}
.panel-inline-cta-v21 p{color:#e1e1e1;margin:0}
@media(max-width:980px){
  .menu .btn-enter-network{margin-left:0}
  .panel-inline-cta-v21{display:block}
  .panel-inline-cta-v21 .btn{margin-top:18px;width:100%}
}


/* V23 — texto público reancorado: App uni. */
.platform-list-v19 span{
  text-transform:none;
}
.platform-card-v19 .platform-list-v19 span:last-child{
  background:rgba(238,28,37,.18);
  border-color:rgba(238,28,37,.32);
}


/* V24 — correção de contraste da seção Área do cliente na home */
.section-uni-platform-v19 .kicker,
.section-uni-platform-v19 h2,
.section-uni-platform-v19 h3{
  color:#111111 !important;
}
.section-uni-platform-v19 .lead,
.section-uni-platform-v19 > .container.split > div:first-child p{
  color:#2a2a2f !important;
  opacity:1 !important;
}

/* Correção: remover mini botões do app no rodapé */
.uni-app-footer-download {
  display: none !important;
}
