/* ================================================================
   ON Higiene Ocupacional — style.css
   HTML5 + CSS3 Vanilla | /projeto-site
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Open+Sans:wght@400;500;600&display=swap');

/* ── TOKENS ── */
:root {
  --azul:        #0B1F4B;
  --azul-m:      #0d2660;
  --azul-l:      #1D4ED8;
  --verde:       #22A85C;
  --verde-d:     #1a8a49;
  --verde-l:     #2ecc71;
  --branco:      #ffffff;
  --cinza-f:     #f5f7fa;
  --cinza-b:     #e8ecf3;
  --cinza-t:     #64748b;
  --cinza-e:     #1e293b;

  --fh: 'Montserrat', sans-serif;
  --fb: 'Open Sans', sans-serif;

  /* 8px grid */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px;
  --s5:40px; --s6:48px; --s7:56px; --s8:64px;
  --s10:80px; --s12:96px;

  --r-s:8px; --r-m:14px; --r-l:20px; --r-xl:32px; --r-f:9999px;
  --max:1200px;
  --hdr:118px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);font-size:16px;color:var(--cinza-t);
  background:var(--branco);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img,svg{max-width:100%;height:auto;display:block}
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── TIPOGRAFIA ── */
h1,h2,h3,h4,h5{font-family:var(--fh);line-height:1.12;letter-spacing:-.025em;color:var(--cinza-e)}
h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;letter-spacing:-.04em}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800}
h3{font-size:clamp(1rem,2vw,1.35rem);font-weight:700}
h4{font-size:1rem;font-weight:700}
p{line-height:1.75}

.grad-text{
  background:linear-gradient(135deg,#60a5fa,#34d399);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}

/* ── TOPBAR ── */
.topbar{
  background:var(--azul);padding:10px 0;font-size:.8rem;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.topbar a{color:rgba(255,255,255,.8);display:inline-flex;align-items:center;gap:6px;
  transition:color .2s;font-family:var(--fh);font-weight:500}
.topbar a:hover{color:var(--branco)}
.tb-left{display:flex;gap:20px;flex-wrap:wrap}
.tb-wa{background:var(--verde);color:var(--branco)!important;
  padding:5px 16px;border-radius:var(--r-f);font-weight:700}
.tb-wa:hover{background:var(--verde-d)!important}

/* ── HEADER ── */
#header{
  position:sticky;top:0;z-index:1000;
  background:var(--branco);height:var(--hdr);
  box-shadow:0 2px 20px rgba(11,31,75,.1);
  transition:box-shadow .3s
}
#header.scrolled{box-shadow:0 4px 32px rgba(11,31,75,.18)}
.hdr-inner{
  max-width:var(--max);margin:0 auto;padding:0 var(--s4);
  height:100%;display:flex;align-items:center;gap:var(--s2)
}

/* LOGO — grande e em destaque */
.logo-link{display:flex;align-items:center;gap:10px;margin-right:var(--s5);flex-shrink:0}
.logo-link img{
  height:82px;width:auto;
  filter:drop-shadow(0 2px 8px rgba(11,31,75,.15));
  transition:transform .4s cubic-bezier(.34,1.56,.64,1)
}
.logo-link:hover img{transform:scale(1.05)}

/* NAV */
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav-links a{
  font-family:var(--fh);font-size:.86rem;font-weight:600;
  color:var(--azul);padding:10px 16px;border-radius:var(--r-s);
  transition:color .15s,background .15s;white-space:nowrap
}
.nav-links a:hover{color:var(--verde);background:rgba(34,168,92,.07)}
.nav-links a.ativa{color:var(--verde);background:none}
.hdr-cta{margin-left:var(--s2);flex-shrink:0;display:flex;gap:8px;align-items:center}

/* HAMBURGER */
.ham{
  display:none;flex-direction:column;justify-content:center;gap:5px;margin-left:auto;flex-shrink:0;
  width:44px;height:44px;padding:10px;border-radius:var(--r-s);
  transition:background .2s;-webkit-tap-highlight-color:transparent
}
.ham:hover{background:#f0f0f0}
.ham span{
  display:block;height:2.5px;border-radius:2px;background:var(--azul);
  transition:all .3s cubic-bezier(.4,0,.2,1)
}
.ham span:nth-child(2){width:70%}
body.m-aberto .ham span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
body.m-aberto .ham span:nth-child(2){opacity:0;transform:scaleX(0)}
body.m-aberto .ham span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* MOBILE NAV */
.mnav-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);
  z-index:1999;opacity:0;transition:opacity .3s
}
body.m-aberto .mnav-overlay{display:block;opacity:1}
.mnav-panel{
  position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);
  background:var(--branco);z-index:2000;overflow-y:auto;
  transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:6px 0 40px rgba(0,0,0,.2)
}
body.m-aberto .mnav-panel{transform:translateX(0)}
.mnav-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;background:var(--azul)
}
.mnav-head img{height:52px;width:auto}
.mnav-close{color:var(--branco);font-size:1.6rem;line-height:1;
  padding:4px 10px;border-radius:var(--r-s);transition:background .2s}
.mnav-close:hover{background:rgba(255,255,255,.15)}
.mnav-body{padding:12px}
.mnav-body a{
  display:flex;align-items:center;gap:10px;padding:14px 16px;
  border-radius:12px;font-family:var(--fh);font-size:.9rem;font-weight:600;
  color:var(--azul);transition:all .15s;-webkit-tap-highlight-color:transparent
}
.mnav-body a:hover{background:#f0f9f4;color:var(--verde)}
.mnav-div{border:none;border-top:1px solid var(--cinza-b);margin:8px 0}
.mnav-cta{padding:16px}

/* ── BOTÕES ── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fh);font-weight:700;font-size:.875rem;
  padding:13px 28px;border-radius:var(--r-f);cursor:pointer;
  transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;
  white-space:nowrap
}
.btn::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transform:translateX(-110%);transition:transform .5s
}
.btn:hover::after{transform:translateX(110%)}
.btn-verde{background:linear-gradient(135deg,var(--verde-d),var(--verde));
  color:var(--branco);box-shadow:0 4px 18px rgba(34,168,92,.35)}
.btn-verde:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(34,168,92,.5)}
.btn-azul{background:linear-gradient(135deg,var(--azul),var(--azul-l));
  color:var(--branco);box-shadow:0 4px 18px rgba(11,31,75,.3)}
.btn-azul:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(11,31,75,.4)}
.btn-branco{border:2px solid var(--verde);color:var(--verde);background:var(--branco)}
.btn-branco:hover{background:var(--verde);color:var(--branco);transform:translateY(-2px)}
.btn-ghost-b{border:2px solid rgba(255,255,255,.4);color:var(--branco);
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-ghost-b:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.btn-wa{background:linear-gradient(135deg,#075E54,#25D366);color:var(--branco);
  box-shadow:0 4px 18px rgba(37,211,102,.35)}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.5)}
.btn-sm{padding:10px 22px;font-size:.8rem}
.btn-lg{padding:16px 36px;font-size:.97rem}
.btn-full{width:100%;justify-content:center}

/* ── LAYOUT ── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.sec{padding:var(--s12) 0}
.sec-alt{background:var(--cinza-f)}
.sec-dark{background:linear-gradient(160deg,#060f28,var(--azul),#0f2a5e);
  position:relative;overflow:hidden}
.sec-head{text-align:center;margin-bottom:var(--s8)}
.sec-head h2{margin-bottom:var(--s2)}
.sec-head .lead{font-size:1.05rem;color:var(--cinza-t);max-width:580px;margin:0 auto;line-height:1.75}
.lead{font-size:1.05rem;color:var(--cinza-t);line-height:1.75}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fh);font-size:.7rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--verde);background:rgba(34,168,92,.09);
  border:1px solid rgba(34,168,92,.22);padding:5px 16px;
  border-radius:var(--r-f);margin-bottom:var(--s3)
}
.eyebrow-branco{color:rgba(255,255,255,.85);background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.25)}

/* GRIDS */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.g2-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.ga{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4)}

/* ── HERO ── */
.hero{
  min-height:100vh;position:relative;overflow:hidden;
  display:flex;align-items:center;
  background:linear-gradient(160deg,#050e27 0%,var(--azul) 50%,#0e2a5c 100%)
}
.hero-bg-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center top;
  opacity:.18;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(5,14,39,.96) 0%,rgba(11,31,75,.88) 50%,rgba(14,42,92,.95) 100%)
}
.hero-grid-lines{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,black 20%,transparent 85%)
}
.aurora{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.au1{width:600px;height:600px;background:radial-gradient(circle,rgba(29,78,216,.5),transparent 70%);
  top:-150px;right:-80px;animation:au1 14s ease-in-out infinite}
.au2{width:450px;height:450px;background:radial-gradient(circle,rgba(34,168,92,.28),transparent 70%);
  bottom:-80px;left:-60px;animation:au2 18s ease-in-out infinite}
@keyframes au1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,60px) scale(1.1)}}
@keyframes au2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(55px,-40px) scale(1.15)}}
.hero-inner{
  max-width:min(var(--max),100%);margin:0 auto;padding:var(--s10) var(--s4);
  display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);
  align-items:center;width:100%;position:relative;z-index:2
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-f);padding:8px 20px;margin-bottom:var(--s3);
  font-family:var(--fh);font-size:.72rem;font-weight:700;
  color:rgba(255,255,255,.9);letter-spacing:.12em;text-transform:uppercase;
  white-space:normal;max-width:100%
}
.pdot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;
  box-shadow:0 0 10px #22c55e;animation:pd 2.2s ease-in-out infinite}
@keyframes pd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero-txt h1{color:var(--branco);margin-bottom:var(--s2)}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,.65);max-width:520px;
  margin-bottom:var(--s5);line-height:1.8}
.hero-btns{display:flex;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s7)}
.hero-stats{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s5);padding-top:var(--s4);
  border-top:1px solid rgba(255,255,255,.1)}
.hstat strong{display:block;font-family:var(--fh);font-size:2rem;font-weight:900;
  color:var(--branco);line-height:1;letter-spacing:-.03em}
.hstat small{font-size:.72rem;color:rgba(255,255,255,.42);margin-top:4px;
  display:block;letter-spacing:.04em;text-transform:uppercase}

/* Hero visual (foto com badge) */
.hero-foto-wrap{position:relative;width:100%;max-width:560px}
.hero-foto-wrap img{width:100%;height:380px;object-fit:cover;
  border-radius:var(--r-xl);box-shadow:0 32px 80px rgba(0,0,0,.55)}
.hero-foto-badge{
  position:absolute;bottom:-16px;left:-16px;
  background:var(--branco);border-radius:var(--r-l);padding:14px 18px;
  display:flex;align-items:center;gap:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.14)
}
.hfb-ico{width:40px;height:40px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,var(--verde-d),var(--verde));
  display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.hfb-txt strong{display:block;font-family:var(--fh);font-size:.85rem;
  font-weight:700;color:var(--azul)}
.hfb-txt span{font-size:.73rem;color:var(--cinza-t)}
.hero-foto-tag{
  position:absolute;top:-16px;right:-16px;
  background:linear-gradient(135deg,var(--azul),var(--azul-l));
  border-radius:var(--r-m);padding:12px 16px;text-align:center;
  box-shadow:0 8px 24px rgba(11,31,75,.4)
}
.hero-foto-tag strong{display:block;font-family:var(--fh);font-size:1.3rem;
  font-weight:900;color:var(--branco);line-height:1}
.hero-foto-tag small{font-size:.68rem;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.06em}

/* ── BARRA DE DIFERENCIAIS ── */
.bar-dif{padding:var(--s3) 0;background:var(--branco);
  border-bottom:1px solid var(--cinza-b);overflow-x:auto}
.bar-dif .wrap{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dif-pill{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-f);padding:8px 18px;
  font-family:var(--fh);font-size:.8rem;font-weight:600;color:var(--azul);
  box-shadow:0 1px 6px rgba(11,31,75,.06);transition:all .2s
}
.dif-pill:hover{border-color:rgba(34,168,92,.4);color:var(--verde-d);
  transform:translateY(-2px);box-shadow:0 6px 18px rgba(34,168,92,.12)}

/* ── CARDS SERVIÇO ── */
.svc-card{
  background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-l);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .35s,box-shadow .35s,border-color .35s
}
.svc-card:hover{transform:translateY(-8px);
  box-shadow:0 20px 56px rgba(11,31,75,.13);border-color:rgba(34,168,92,.2)}
.svc-img{height:200px;overflow:hidden;position:relative}
.svc-img img{width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;display:block}
.svc-card:hover .svc-img img{transform:scale(1.07)}
.svc-img::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 50%,rgba(11,31,75,.3) 100%)}
.svc-nr{position:absolute;top:12px;left:12px;z-index:1;
  background:var(--azul);color:var(--branco);
  font-family:var(--fh);font-size:.65rem;font-weight:700;
  padding:4px 11px;border-radius:var(--r-f);letter-spacing:.06em}
.svc-body{padding:var(--s3) var(--s4) var(--s4);flex:1;display:flex;flex-direction:column}
.svc-body h3{font-size:.97rem;color:var(--cinza-e);margin-bottom:8px}
.svc-body p{font-size:.86rem;color:var(--cinza-t);line-height:1.7;flex:1}
.svc-link{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s2);
  font-family:var(--fh);font-size:.8rem;font-weight:700;
  color:var(--azul);transition:all .2s}
.svc-link .arr{transition:transform .2s}
.svc-card:hover .svc-link{color:var(--verde-d)}
.svc-card:hover .svc-link .arr{transform:translateX(5px)}

/* ── FEAT ROW (sobre/diferenciais) ── */
.feat-row{
  display:flex;align-items:flex-start;gap:var(--s3);
  padding:var(--s3);background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-m);
  transition:transform .22s,box-shadow .22s,border-color .22s
}
.feat-row:hover{transform:translateX(5px);
  border-color:rgba(34,168,92,.25);box-shadow:0 4px 14px rgba(11,31,75,.07)}
.feat-ico{width:46px;height:46px;border-radius:var(--r-s);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  background:var(--cinza-f);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.feat-row:hover .feat-ico{transform:scale(1.12) rotate(-8deg)}
.feat-row h4{font-size:.9rem;color:var(--cinza-e);margin-bottom:4px}
.feat-row p{font-size:.83rem;color:var(--cinza-t);line-height:1.65}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.stat-box{border-radius:var(--r-l);padding:var(--s4);text-align:center;
  transition:transform .22s}
.stat-box:hover{transform:translateY(-4px)}
.sb-azul{background:linear-gradient(160deg,#060f28,var(--azul));box-shadow:0 10px 32px rgba(11,31,75,.35)}
.sb-verde{background:linear-gradient(135deg,var(--verde-d),var(--verde));box-shadow:0 10px 32px rgba(34,168,92,.35)}
.sb-branco{background:var(--branco);border:1px solid var(--cinza-b);box-shadow:0 6px 18px rgba(11,31,75,.08)}
.sb-num{font-family:var(--fh);font-size:2.6rem;font-weight:900;line-height:1;letter-spacing:-.04em}
.sb-azul .sb-num,.sb-verde .sb-num{color:var(--branco)}
.sb-branco .sb-num{background:linear-gradient(135deg,var(--azul),var(--azul-l));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sb-lbl{font-size:.72rem;margin-top:6px;display:block;letter-spacing:.04em;text-transform:uppercase}
.sb-azul .sb-lbl,.sb-verde .sb-lbl{color:rgba(255,255,255,.5)}
.sb-branco .sb-lbl{color:var(--cinza-t)}

/* ── GALERIA CLÍNICA ── */
.clinic-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:240px 240px;gap:14px;margin-top:var(--s5)}
.clinic-cell{border-radius:var(--r-l);overflow:hidden;position:relative}
.clinic-cell img{width:100%;height:100%;object-fit:cover;
  display:block;transition:transform .5s}
.clinic-cell:hover img{transform:scale(1.05)}
.clinic-big{grid-row:span 2}
.clinic-label{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;
  background:linear-gradient(transparent,rgba(11,31,75,.75));
  color:var(--branco);font-family:var(--fh);font-size:.82rem;font-weight:700}

/* ── NR LIST ── */
.nr-list{display:flex;flex-direction:column;gap:8px}
.nr-item{display:flex;align-items:center;gap:14px;
  padding:12px 18px;background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-m);
  transition:all .22s}
.nr-item:hover{border-color:rgba(34,168,92,.3);
  box-shadow:0 4px 12px rgba(11,31,75,.07);transform:translateX(4px)}
.nr-item::before{content:'';width:4px;height:30px;border-radius:2px;
  background:linear-gradient(135deg,var(--verde),var(--azul-l));flex-shrink:0}
.nr-item strong{font-family:var(--fh);font-size:.77rem;font-weight:700;
  color:var(--azul);min-width:52px}
.nr-item span{font-size:.87rem;color:var(--cinza-e)}

/* ── CLIENTES ── */
.clients-g{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:var(--s5)}
.clogo{display:flex;align-items:center;justify-content:center;
  padding:var(--s3) var(--s2);background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-m);
  min-height:72px;filter:grayscale(1) opacity(.5);transition:all .25s}
.clogo:hover{filter:none;box-shadow:0 6px 18px rgba(11,31,75,.1);transform:translateY(-3px)}
.clogo-txt{font-family:var(--fh);font-weight:800;color:var(--azul);
  font-size:.8rem;text-align:center;line-height:1.4}

/* ── CTA BAND ── */
.cta-band{
  background:linear-gradient(135deg,#060f28,var(--azul),var(--azul-l));
  border-radius:var(--r-xl);padding:var(--s10) var(--s7);text-align:center;
  position:relative;overflow:hidden;box-shadow:0 40px 100px rgba(11,31,75,.35)
}
.cta-band::before{content:'';position:absolute;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,168,92,.16),transparent 65%);
  bottom:-280px;left:50%;transform:translateX(-50%)}
.cta-band h2{color:var(--branco);margin-bottom:var(--s2);position:relative;z-index:1}
.cta-band p{color:rgba(255,255,255,.65);font-size:1rem;max-width:480px;
  margin:0 auto var(--s5);line-height:1.75;position:relative;z-index:1}
.cta-btns{display:flex;justify-content:center;gap:var(--s2);
  flex-wrap:wrap;position:relative;z-index:1}

/* ── CONTACT ── */
.contact-g{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:flex-start}
.ci-item{display:flex;align-items:flex-start;gap:var(--s2);
  padding:var(--s3);background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-m);
  margin-bottom:var(--s2);transition:all .22s}
.ci-item:hover{border-color:rgba(34,168,92,.25);
  box-shadow:0 4px 14px rgba(11,31,75,.07);transform:translateX(4px)}
.ci-ico{width:46px;height:46px;border-radius:var(--r-m);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.ci-v{background:rgba(34,168,92,.1)} .ci-a{background:rgba(11,31,75,.08)}
.ci-b{background:rgba(29,78,216,.08)} .ci-w{background:rgba(37,211,102,.1)}
.ci-item h4{font-family:var(--fh);font-size:.87rem;font-weight:700;
  color:var(--azul);margin-bottom:3px}
.ci-item p,.ci-item a{font-size:.84rem;color:var(--cinza-t);line-height:1.65;transition:color .2s}
.ci-item a:hover{color:var(--verde-d)}
.map-box{border-radius:var(--r-l);overflow:hidden;border:1px solid var(--cinza-b);margin-top:var(--s3)}

/* FORM */
.form-card{background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-xl);padding:var(--s5);box-shadow:0 16px 48px rgba(11,31,75,.1)}
.form-card h3{margin-bottom:4px}
.form-sub{font-size:.87rem;color:var(--cinza-t);margin-bottom:var(--s4)}
.fg{margin-bottom:var(--s2)}
.fg label{display:block;font-family:var(--fh);font-size:.77rem;font-weight:700;
  color:var(--azul);margin-bottom:6px}
.fg input,.fg select,.fg textarea{
  width:100%;padding:12px 15px;border:1.5px solid var(--cinza-b);
  border-radius:var(--r-s);font-size:.9rem;color:var(--cinza-e);
  outline:none;transition:border-color .2s,box-shadow .2s;
  font-family:var(--fb)
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--verde);box-shadow:0 0 0 4px rgba(34,168,92,.1)}
.fg input::placeholder,.fg textarea::placeholder{color:#bbb}
.fg textarea{resize:vertical;min-height:110px}
.form-lgpd{font-size:.73rem;color:var(--cinza-t);text-align:center;margin-top:var(--s2)}

/* ── RISCOS PSICOSSOCIAIS SEÇÃO ── */
.psico-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s8);align-items:center}
.psico-img img{width:100%;max-height:560px;object-fit:contain;border-radius:var(--r-l);
  box-shadow:0 16px 48px rgba(11,31,75,.15)}
.psico-tags{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s3) 0 var(--s4)}
.psico-tag{font-family:var(--fh);font-size:.75rem;font-weight:700;
  padding:5px 14px;border-radius:var(--r-f);background:rgba(34,168,92,.1);
  border:1px solid rgba(34,168,92,.25);color:var(--verde-d)}

/* ── EQUIPE CARDS ── */
.team-card{background:var(--branco);border:1px solid var(--cinza-b);height:100%;display:flex;flex-direction:column;
  border-radius:var(--r-l);padding:var(--s5);text-align:center;
  transition:transform .35s,box-shadow .35s}
.team-card:hover{transform:translateY(-6px);box-shadow:0 18px 50px rgba(11,31,75,.12)}
.team-av{width:90px;height:90px;border-radius:50%;margin:0 auto var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:2.5rem;
  border:3px solid var(--verde)}
.team-av-azul{background:linear-gradient(135deg,var(--azul),var(--azul-l))}
.team-av-verde{background:linear-gradient(135deg,var(--verde-d),var(--verde))}
.team-card h3{font-size:1.05rem;margin-bottom:6px}
.team-role{font-family:var(--fh);font-size:.72rem;font-weight:700;color:var(--verde-d);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s2)}
.team-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:var(--s3)}
.tag{font-family:var(--fh);font-size:.68rem;font-weight:700;
  padding:3px 11px;border-radius:var(--r-f);background:rgba(11,31,75,.07);
  color:var(--azul);border:1px solid rgba(11,31,75,.15)}
.tag-v{background:rgba(34,168,92,.09);color:var(--verde-d);border-color:rgba(34,168,92,.25)}
.team-card p{font-size:.84rem;color:var(--cinza-t);line-height:1.7}

/* ── TIMELINE / VALORES ── */
.valores-g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.valor-card{background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-l);padding:var(--s5);
  border-top:4px solid var(--verde);
  transition:transform .3s,box-shadow .3s}
.valor-card:hover{transform:translateY(-6px);box-shadow:0 16px 44px rgba(11,31,75,.1)}
.valor-ico{font-size:2.2rem;margin-bottom:var(--s2)}
.valor-card h3{font-size:1rem;margin-bottom:8px}
.valor-card p{font-size:.85rem;color:var(--cinza-t);line-height:1.7}

/* ── PAGE HERO ── */
.page-hero{
  background:linear-gradient(160deg,#060f28,var(--azul),#0e2a5c);
  padding:calc(var(--hdr) + var(--s10)) 0 var(--s8);
  position:relative;overflow:hidden
}
.page-hero::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;opacity:.4}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{color:var(--branco);margin-bottom:var(--s2)}
.page-hero .lead{color:rgba(255,255,255,.65);max-width:560px}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:.78rem;margin-bottom:var(--s3)}
.breadcrumb a{color:rgba(255,255,255,.55);transition:color .2s}
.breadcrumb a:hover{color:var(--branco)}
.breadcrumb span{color:rgba(255,255,255,.28)}
.breadcrumb .bc-cur{color:rgba(255,255,255,.85)}

/* ── WA FLOAT ── */
.wa-float{
  position:fixed;bottom:28px;right:28px;width:64px;height:64px;
  border-radius:50%;background:linear-gradient(135deg,#075E54,#25D366);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;box-shadow:0 8px 28px rgba(37,211,102,.5);
  animation:waf 3.8s ease-in-out infinite;transition:transform .25s,box-shadow .25s
}
.wa-float:hover{transform:scale(1.1) !important;
  box-shadow:0 14px 40px rgba(37,211,102,.65);animation:none}
.wa-float::before{content:'';position:absolute;inset:-5px;border-radius:50%;
  border:2px solid rgba(37,211,102,.38);animation:waring 2.6s ease-out infinite}
.wa-float svg{width:30px;height:30px;fill:var(--branco)}
@keyframes waf{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes waring{0%{transform:scale(.8);opacity:.8}100%{transform:scale(2.1);opacity:0}}

/* ── BTT ── */
.btt{
  position:fixed;bottom:104px;right:28px;width:46px;height:46px;
  border-radius:50%;background:linear-gradient(135deg,var(--azul),var(--azul-l));
  color:var(--branco);display:flex;align-items:center;justify-content:center;
  z-index:9999;font-family:var(--fh);font-weight:900;font-size:1.1rem;
  box-shadow:0 6px 20px rgba(11,31,75,.3);
  opacity:0;pointer-events:none;transition:opacity .3s,transform .3s
}
.btt.vis{opacity:1;pointer-events:all}
.btt:hover{transform:translateY(-4px)}

/* ── FOOTER ── */
#footer{background:#060d1a;padding:var(--s10) 0 0;overflow:hidden;position:relative}
#footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,168,92,.7) 40%,rgba(29,78,216,.6) 60%,transparent)}
.foot-g{max-width:var(--max);margin:0 auto;padding:0 var(--s4);
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;
  gap:var(--s7);margin-bottom:var(--s8);position:relative;z-index:1}
.foot-logo img{height:76px;width:auto;object-fit:contain;margin-bottom:var(--s3)}
.foot-desc{font-size:.875rem;color:rgba(255,255,255,.38);line-height:1.8;
  max-width:280px;margin-bottom:var(--s3)}
.foot-badge{display:inline-flex;align-items:center;gap:8px;
  background:rgba(34,168,92,.1);border:1px solid rgba(34,168,92,.22);
  border-radius:var(--r-f);padding:7px 16px;
  font-family:var(--fh);font-size:.7rem;font-weight:700;
  color:#22c55e;letter-spacing:.06em;margin-bottom:var(--s3)}
.foot-soc{display:flex;gap:10px}
.fsoc{width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.38);font-size:.9rem;transition:all .22s}
.fsoc:hover{border-color:#22c55e;background:rgba(34,168,92,.14);
  color:#22c55e;transform:translateY(-3px)}
.foot-col h5{font-family:var(--fh);color:var(--branco);font-size:.75rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:var(--s3);padding-bottom:var(--s1);position:relative}
.foot-col h5::after{content:'';position:absolute;bottom:0;left:0;
  width:24px;height:2px;background:var(--verde);border-radius:2px}
.foot-col ul{display:flex;flex-direction:column;gap:9px}
.foot-col ul a{font-size:.875rem;color:rgba(255,255,255,.38);
  transition:all .18s;display:flex;align-items:center;gap:6px}
.foot-col ul a::before{content:'›';opacity:0;transform:translateX(-5px);
  transition:all .18s;color:#22c55e}
.foot-col ul a:hover{color:rgba(255,255,255,.85);padding-left:3px}
.foot-col ul a:hover::before{opacity:1;transform:translateX(0)}
.foot-contact{display:flex;flex-direction:column;gap:12px}
.fci{display:flex;align-items:flex-start;gap:10px}
.fci-ico{width:32px;height:32px;flex-shrink:0;border-radius:9px;
  background:rgba(255,255,255,.06);display:flex;align-items:center;
  justify-content:center;font-size:.88rem}
.fci-t{font-size:.83rem;color:rgba(255,255,255,.38);line-height:1.65}
.fci-t a{color:rgba(255,255,255,.38);transition:color .18s}
.fci-t a:hover{color:#22c55e}
.foot-bot{max-width:var(--max);margin:0 auto;padding:var(--s3) var(--s4);
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:12px;position:relative;z-index:1}
.foot-bot p,.foot-bot a{font-size:.78rem;color:rgba(255,255,255,.22)}
.foot-bot a:hover{color:rgba(255,255,255,.6)}

/* ── HERO SLIDESHOW ── */
.hero-slideshow{position:relative;width:100%;height:420px;
  border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(160deg,#040b1e,#0a1a3d);
  box-shadow:0 32px 80px rgba(0,0,0,.55)}
.hero-slideshow .slide{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-slideshow .slide.ativa{opacity:1}

/* ── DROPDOWN SERVIÇOS ── */
.drop{position:relative}
.drop > a::after{content:' ▾';font-size:.7em;opacity:.6}
.drop-menu{position:absolute;top:calc(100% + 10px);left:50%;
  transform:translateX(-50%) translateY(8px);min-width:300px;
  background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-m);box-shadow:0 20px 60px rgba(11,31,75,.16);
  padding:8px;opacity:0;pointer-events:none;
  transition:opacity .22s,transform .22s;z-index:200}
.drop-menu::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.drop:hover .drop-menu,.drop:focus-within .drop-menu{
  opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.drop-menu a{display:flex;align-items:center;gap:10px;
  padding:11px 14px;border-radius:var(--r-s);
  font-family:var(--fh);font-size:.83rem;font-weight:600;
  color:var(--cinza-e);transition:all .15s;white-space:nowrap}
.drop-menu a:hover{background:#f0f9f4;color:var(--verde-d);padding-left:20px}
.dm-i{width:20px;text-align:center;flex-shrink:0}

/* ── PSICO RISCOS CARDS (conteúdo do panfleto em HTML) ── */
.psi-riscos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s5) 0}
.psi-risco{background:var(--branco);border:1px solid var(--cinza-b);
  border-top:4px solid var(--verde);border-radius:var(--r-l);
  padding:var(--s4);text-align:center;transition:transform .3s,box-shadow .3s}
.psi-risco:hover{transform:translateY(-6px);box-shadow:0 16px 44px rgba(11,31,75,.12)}
.psi-risco .pr-ico{font-size:2.4rem;display:block;margin-bottom:var(--s2)}
.psi-risco h3{font-size:.95rem;margin-bottom:8px}
.psi-risco p{font-size:.83rem;color:var(--cinza-t);line-height:1.65}
.psi-passos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s5) 0}
.psi-passo{display:flex;align-items:flex-start;gap:14px;
  background:var(--branco);border:1px solid var(--cinza-b);
  border-radius:var(--r-m);padding:var(--s3)}
.pp-num{width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--verde-d),var(--verde));
  color:var(--branco);font-family:var(--fh);font-weight:900;
  display:flex;align-items:center;justify-content:center}
.psi-passo h4{font-size:.88rem;margin-bottom:4px}
.psi-passo p{font-size:.8rem;color:var(--cinza-t);line-height:1.6}
.psi-alert{background:rgba(34,168,92,.07);border:1px solid rgba(34,168,92,.2);
  border-left:4px solid var(--verde);border-radius:0 var(--r-m) var(--r-m) 0;
  padding:var(--s3) var(--s4);display:flex;align-items:center;gap:14px;
  justify-content:space-between;flex-wrap:wrap}
.psi-alert p{font-size:.9rem;color:var(--cinza-e)}
.psi-alert strong{color:var(--verde-d)}

/* ── HUB DE SERVIÇOS (servicos.html) ── */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}

/* ── PÁGINA DE SERVIÇO ── */
.svc-hero-img{width:100%;height:340px;object-fit:cover;
  border-radius:var(--r-xl);box-shadow:0 24px 64px rgba(11,31,75,.18)}
.svc-content{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s8);align-items:start}
.svc-aside{position:sticky;top:calc(var(--hdr) + 24px);
  background:var(--cinza-f);border:1px solid var(--cinza-b);
  border-radius:var(--r-l);padding:var(--s4)}
.svc-aside h4{font-size:.9rem;margin-bottom:var(--s2)}
.svc-aside .btn{margin-top:var(--s2)}
.check-list{display:flex;flex-direction:column;gap:10px}
.check-item{display:flex;align-items:flex-start;gap:12px;
  padding:13px 16px;background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-m)}
.check-item::before{content:'✓';color:var(--verde);font-weight:900;flex-shrink:0}
.check-item span{font-size:.9rem;color:var(--cinza-e);line-height:1.6}

@media(max-width:1024px){
  .psi-riscos,.psi-passos,.hub-grid{grid-template-columns:repeat(2,1fr)}
  .svc-content{grid-template-columns:1fr}
  .svc-aside{position:static}
}
@media(max-width:768px){
  .psi-riscos,.psi-passos,.hub-grid{grid-template-columns:1fr}
  .drop-menu{display:none}
}

/* ── SLIDESHOW ESTRUTURA (index) ── */
.estrutura-show{position:relative;width:100%;height:480px;
  border-radius:var(--r-xl);overflow:hidden;
  box-shadow:0 24px 64px rgba(11,31,75,.18);margin-top:var(--s5)}
.estrutura-show .eslide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease-in-out}
.estrutura-show .eslide img{width:100%;height:100%;object-fit:cover;display:block}
.estrutura-show .eslide.ativa{opacity:1}
.eslide-label{position:absolute;bottom:0;left:0;right:0;padding:18px 24px;
  background:linear-gradient(transparent,rgba(11,31,75,.85));
  color:var(--branco);font-family:var(--fh);font-size:1rem;font-weight:700}
.eshow-dots{position:absolute;bottom:14px;right:20px;display:flex;gap:8px;z-index:2}
.eshow-dots span{width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.4);transition:background .3s}
.eshow-dots span.on{background:var(--branco)}
@media(max-width:768px){.estrutura-show{height:300px}}

/* ── LOGO COM WORDMARK ── */
.logo-link{gap:12px}
.logo-txt{display:flex;flex-direction:column;line-height:1.08;white-space:nowrap}
.logo-txt strong{font-family:var(--fh);font-weight:900;font-size:1.3rem;
  letter-spacing:-.02em;color:var(--azul)}
.logo-txt strong em{font-style:normal;color:var(--verde)}
.logo-txt small{font-family:var(--fh);font-weight:600;font-size:.65rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--cinza-t)}


/* ── FAIXA DE EXAMES ── */
.exam-faixa{background:linear-gradient(135deg,var(--azul),var(--azul-m));overflow:hidden;padding:15px 0;position:relative;border-bottom:2px solid var(--verde-l)}
.exam-faixa::before,.exam-faixa::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.exam-faixa::before{left:0;background:linear-gradient(90deg,var(--azul),transparent)}
.exam-faixa::after{right:0;background:linear-gradient(270deg,var(--azul-m),transparent)}
.faixa-track{display:flex;width:max-content;animation:faixa-scroll 34s linear infinite}
.exam-faixa:hover .faixa-track{animation-play-state:paused}
.faixa-item{display:inline-flex;align-items:center;gap:16px;padding:0 24px;white-space:nowrap;font-family:var(--fh);font-weight:700;font-size:.92rem;color:var(--branco);letter-spacing:.01em}
.faixa-item::before{content:"\25C6";color:var(--verde-l);font-size:.62rem}
@keyframes faixa-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.faixa-track{animation:none;justify-content:center;flex-wrap:wrap}}








/* ── CARDS DE EXAME ── */
.ex-card{padding:var(--s5);display:flex;flex-direction:column;height:100%}
.ex-card h3{font-size:1.05rem;margin-bottom:var(--s3);line-height:1.35}
.ex-card p:last-of-type{margin-bottom:var(--s3)}
.ex-tag{margin-top:auto;padding-top:var(--s3);border-top:1px solid var(--cinza-b)}
.ex-tag strong{display:block;font-family:var(--fh);font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--verde-d);margin-bottom:5px}
.ex-tag span{font-size:.83rem;color:var(--cinza-t);line-height:1.6}
.ex-agenda{margin-top:var(--s5);padding:var(--s4) var(--s5);background:rgba(34,168,92,.08);
  border-left:4px solid var(--verde);border-radius:var(--r-s)}
.ex-agenda strong{display:block;font-family:var(--fh);font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--azul);margin-bottom:6px}
.ex-agenda a{font-family:var(--fh);font-size:1.15rem;font-weight:700;color:var(--verde-d)}





/* ── CARROSSEL DE EXAMES ── */
.exc{margin-top:var(--s9);padding-top:var(--s8);border-top:1px solid var(--cinza-b)}
.exc-head{text-align:center;max-width:680px;margin:0 auto var(--s6)}
.exc-head h2{margin:var(--s2) 0 var(--s3)}
.exc-rail{position:relative;overflow:hidden;padding:6px 0;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.exc-rail::before,.exc-rail::after{content:"";position:absolute;top:0;bottom:0;
  width:110px;z-index:3;pointer-events:none}
.exc-rail::before{left:0;background:linear-gradient(90deg,#f6f8fc,rgba(246,248,252,0))}
.exc-rail::after{right:0;background:linear-gradient(270deg,#f6f8fc,rgba(246,248,252,0))}
.exc-track{display:flex;width:max-content;gap:14px;padding:7px 0}
.exc-a{animation:exc-esq 62s linear infinite}
.exc-b{animation:exc-dir 62s linear infinite}
.exc-rail:hover .exc-track{animation-play-state:paused}
@keyframes exc-esq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes exc-dir{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.exc-card{display:flex;align-items:center;gap:12px;flex-shrink:0;
  min-width:268px;padding:14px 18px;background:var(--branco);
  border:1px solid var(--cinza-b);border-radius:var(--r-l);
  box-shadow:0 2px 10px rgba(11,31,75,.05);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .25s}
.exc-card:hover{transform:translateY(-4px);border-color:var(--verde);
  box-shadow:0 10px 26px rgba(11,31,75,.12)}
.exc-ico{font-size:1.5rem;line-height:1;flex-shrink:0}
.exc-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.exc-txt strong{font-family:var(--fh);font-size:.88rem;font-weight:700;
  color:var(--azul);line-height:1.3}
.exc-txt small{font-family:var(--fh);font-size:.62rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--verde-d)}
@media(max-width:768px){
  .exc-card{min-width:230px;padding:12px 15px}
  .exc-txt strong{font-size:.82rem}
  .exc-rail::before,.exc-rail::after{width:48px}
  .exc-a,.exc-b{animation-duration:45s}
}
@media(prefers-reduced-motion:reduce){.exc-a,.exc-b{animation:none}}


/* ── GRADE DA EQUIPE ── */
.team-grid{align-items:stretch}
.team-card .team-tags{min-height:auto;align-content:flex-start}
.team-card p{margin-top:0}
@media(max-width:1024px){.team-card .team-tags{min-height:0}}


/* ── EQUIPE: alinhamento uniforme ── */
.team-card{justify-content:flex-start}
.team-card h3{min-height:2.6em;display:flex;align-items:center;justify-content:center;text-align:center}
.team-card .team-role{min-height:2.2em;display:flex;align-items:center;justify-content:center}
.team-card .team-tags{min-height:64px}
.team-card p{text-align:left;text-wrap:pretty}
@media(max-width:768px){
  .team-card h3,.team-card .team-role,.team-card .team-tags{min-height:0}
  .team-card p{text-align:center}
}


/* ── PORTFÓLIO: cards simétricos ── */
.ex-card h3{min-height:2.7em;display:flex;align-items:flex-start;gap:6px}
.ex-card .ex-tag{margin-top:auto}
.g2 .ex-card h3,.g3 .ex-card h3{line-height:1.35}
@media(max-width:1024px){.ex-card h3{min-height:0}}


/* ── CARROSSEL: sem estouro lateral ── */
@media(max-width:1024px){
  .exc-rail{margin-left:0;margin-right:0}
}


/* ── ANTIESTOURO: filhos podem encolher ── */
.hero,.page-hero{max-width:100vw;overflow:hidden}
.hero-inner>*,.svc-content>*,.g2>*,.g3>*,.g4>*,.exl-grid>*,.foot-g>*{min-width:0}
.hero-txt,.hero-foto-wrap{min-width:0;max-width:100%}
.hero-sub,.hero-txt h1{overflow-wrap:break-word}
.hstat{min-width:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* ── BOTÕES DA NAVBAR ── */
.btn-nav{padding:10px 18px;font-size:.78rem;gap:0;letter-spacing:.01em}
@media(max-width:1180px){.btn-nav{padding:9px 14px;font-size:.73rem}}
