/* EHS Brasil · site v2 (editorial) — carrega após site.css */
:root{--r:0}
.h,h1,h2,h3{text-transform:none!important}
.pg{background:var(--charcoal);color:#fff;padding:0!important}.pg .wrap{padding-top:120px;padding-bottom:80px}.pg h1,.pg .h.big{color:#fff!important;font-size:clamp(40px,4.6vw,72px)!important;line-height:1!important;letter-spacing:-.02em!important;max-width:1000px}.pg .lab{color:var(--cyan)!important}.pg h1 em,.pg .h.big em{color:var(--cyan)!important}.pg .lead{color:#fff;max-width:720px}
.banner{background:var(--blue)}.banner .wrap{padding-top:104px;padding-bottom:104px}.banner h2{font-size:clamp(32px,3.6vw,52px)!important;line-height:1!important;letter-spacing:-.02em!important}.banner .btn.w{background:#fff;color:var(--blue)}.banner .btn.w:hover{background:var(--charcoal);color:#fff}.banner .btn.o{display:none}
.quote{background:var(--ghost);color:var(--charcoal)}.quote h2{font-family:var(--disp);font-size:clamp(28px,3.4vw,52px)!important}.quote h2 b{color:var(--blue)}.quote .btn.w{background:var(--charcoal);color:#fff}
.svc{background:var(--ghost)}.svc:hover{background:var(--blue);color:#fff}.svc:hover .lab{color:var(--cyan)!important}
.vals .grid>div{background:#fff;border:1px solid #E6E6E2}.vals{background:var(--ghost)}
.tabs{background:var(--charcoal);top:72px;box-shadow:0 -1px 0 var(--charcoal)}.tabs a{color:#fff;border-color:rgba(255,255,255,.4)}.tabs a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.cli .lg div{background:#fff;border:1px solid #E6E6E2}
.cf .wrap{padding-top:96px;padding-bottom:112px}.cf .ctc{display:grid;gap:24px}
.art aside .box{background:var(--ghost)}

.hero1 h1,.cs h2,.ar h2,.ar h3,.mo h2,.cl h2{text-transform:none}
.st{background:#fff}.st .wrap{padding-top:104px;padding-bottom:104px}.st p{font-family:var(--disp);font-size:clamp(24px,2.6vw,38px);line-height:1.2;max-width:1040px;margin:0}.st p em{font-style:italic;color:var(--blue)}
.cs{background:#fff;color:var(--charcoal);border-top:1px solid #E6E6E2}.cs .wrap{display:grid;grid-template-columns:7fr 5fr;gap:56px;padding-top:104px;padding-bottom:104px;align-items:center}.cs .pic{position:relative;aspect-ratio:4/3;overflow:hidden}.cs .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(.92)}
.cs .t{display:flex;flex-direction:column;justify-content:center}.cs .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--blue)}.cs h2{font-size:clamp(28px,3vw,44px);margin:20px 0 24px;color:var(--charcoal)}.cs p{font-size:18px;line-height:1.6;margin:0 0 32px;max-width:460px}
.lnk{font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:inherit;display:inline-flex;gap:10px;align-items:center}.lnk:after{content:"→"}.cl .lnk{color:#fff}.cs .lnk{color:var(--charcoal)}
.ar{border-top:1px solid #E6E6E2}.ar .wrap{padding-top:104px;padding-bottom:120px}.ar h2{font-size:clamp(28px,3vw,44px);margin:0 0 64px}.ar ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ar li{display:grid;gap:14px;grid-template-rows:auto auto 1fr auto;align-content:start}.ar li .img{align-self:end}.ar .n{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--blue)}.ar h3{font-size:clamp(24px,2.2vw,32px);line-height:1.1!important;margin:0}.ar h3 a{color:inherit}.ar h3 a:hover{color:var(--blue)}.ar .sub{font-size:16px}
.ar .img{overflow:hidden;margin-top:12px}.ar img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:contrast(1.06) saturate(.92)}
.mo{background:#fff;border-top:1px solid #E6E6E2}.mo .wrap{padding-top:104px;padding-bottom:120px}.mo .hd{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}.mo h2{font-size:clamp(28px,3vw,44px);margin:0}.mo .chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:12px 20px;border:1px solid var(--charcoal);border-radius:999px;font-size:14px;font-weight:500;letter-spacing:.02em;color:var(--charcoal)}.chip:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.mo .strip{aspect-ratio:2.39/1;overflow:hidden;background:var(--ghost)}.mo .strip img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;filter:contrast(1.06) saturate(.92)}
.cl{background:var(--blue);color:#fff}.cl .wrap{padding-top:120px;padding-bottom:120px;display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap}.cl h2{font-size:clamp(36px,4.4vw,64px);line-height:1!important;letter-spacing:-.02em!important;margin:0;color:#fff;max-width:900px}.cl h2 em{font-style:italic;color:var(--cyan)}
@media(max-width:900px){.tk ul{flex-direction:column;gap:14px;-webkit-mask:none;mask:none}.tk a{white-space:normal}.oh .pic{min-height:52vw;order:1}.tk .wrap{grid-template-columns:1fr;gap:12px}.cs .wrap{grid-template-columns:1fr}.cs .pic{min-height:60vw}.cs .t{padding:56px var(--pad)}.ar ol{grid-template-columns:1fr}.mo .strip{aspect-ratio:16/10}}
/* componentes editoriais */
.bc{font-size:13px;letter-spacing:.02em;display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#fff;margin-bottom:8px}.bc a{color:#fff;opacity:.85}.bc a:hover{opacity:1;color:var(--cyan)}.bc i{font-style:normal;opacity:.5}.bc span{opacity:.6}
.share{display:flex;gap:24px;margin-top:32px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.share a{color:#fff}.share a:hover{color:var(--cyan)}.share span{opacity:.6}
.art aside{display:grid;gap:16px}.art aside .toc ul{gap:10px}.art aside .toc li a{font-size:14px;line-height:1.35}
.rel{background:var(--ghost)}.rel .wrap{padding-top:96px;padding-bottom:112px}.rel h2{font-size:clamp(26px,2.6vw,36px);margin:0 0 40px}.rel .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rel .grid a{display:grid;gap:14px;align-content:start;background:#fff;padding:28px;min-height:200px;color:var(--charcoal);transition:background .25s,color .25s}.rel .grid a:hover{background:var(--blue);color:#fff}.rel .grid a:hover .k{color:var(--cyan)}.rel .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--blue)}.rel h3{font-size:20px;margin:0;line-height:1.2!important}.rel .more{font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;align-self:end}
.wide{height:clamp(240px,34vw,460px);overflow:hidden}.wide img{width:100%;height:100%;object-fit:cover;display:block}
.cf .info{display:grid;gap:36px;align-content:start}.cf .info h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase!important;font-weight:500;font-family:var(--noto)!important;color:var(--blue);margin:0 0 10px}.cf .info p{font-size:18px;line-height:1.5;margin:0}.cf .info a{color:var(--charcoal)}.cf .info a:hover{color:var(--blue)}
.explist{background:var(--ghost)}.explist .wrap{padding-top:96px;padding-bottom:112px}.explist h2{font-size:clamp(28px,3vw,44px);margin:0 0 48px}.explist .cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}.explist .stack{display:grid;gap:48px;align-content:start}.explist h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase!important;font-weight:500;font-family:var(--noto)!important;color:var(--blue);margin:0 0 20px}.explist ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.explist li a{font-size:17px;line-height:1.35;color:var(--charcoal)}.explist li a:hover{color:var(--blue)}
.ft .desc{font-size:14px;line-height:1.5;color:#fff;opacity:.85;margin:24px 0 0;max-width:260px}
@media(max-width:900px){.rel .grid,.explist .cols{grid-template-columns:1fr}}
/* azul principal: ação e fechamento */
.cs .lnk:hover{color:var(--blue)}.cl .lnk:hover{color:var(--cyan)}.mo .chip:first-child{background:var(--blue);border-color:var(--blue);color:#fff}.mo .chip:first-child:hover{background:var(--charcoal);border-color:var(--charcoal)}
.vals .grid b{background:var(--blue)}.dep .card .qm,.dep .card .co{color:var(--blue)}
.art .body ul li:before,.art ol li:before{color:var(--blue);background:var(--blue)}.art ol li:before{background:none}
.pg .share a:hover,.bc a:hover{color:var(--cyan)}
/* hero: carrossel de família, sombra Midnight, sem blur · CTAs + controles na base */
.hero1{position:relative;height:clamp(600px,84vh,880px);background:var(--charcoal);color:#fff;overflow:hidden}
.hero1 .slides{position:absolute;inset:0}.hero1 .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}.hero1 .slide.on{opacity:1;pointer-events:auto}
.hero1 .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:contrast(1.06) saturate(.92)}
.hero1 .slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,13,48,.82) 0%,rgba(0,13,48,.52) 50%,rgba(0,13,48,.22) 100%)}
.hero1 .slide .wrap{position:absolute;left:0;right:0;bottom:224px;z-index:1}
.hero1 .ph{font-size:clamp(44px,5.4vw,84px)!important;line-height:1!important;letter-spacing:-.015em!important;font-weight:400!important;margin:0;color:#fff;max-width:900px}
.hero1>.bot{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-bottom:56px}
.hero1 .act{display:flex;gap:12px;flex-wrap:wrap}.hero1 .btn.w{background:#fff;color:var(--blue)}.hero1 .btn.w:hover{background:var(--blue);color:#fff}.hero1 .btn.o{color:#fff;border-color:#fff}.hero1 .btn.o:hover{background:#fff;color:var(--blue)}
.hero1 .ctl{display:flex;align-items:center;gap:20px}.hero1 .ctl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:inherit;font-size:18px;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}.hero1 .ctl button:hover{background:#fff;color:var(--charcoal)}.hero1 .ctl .pp{font-size:11px;letter-spacing:-1px}
.hero1 .cnt{font-size:13px;letter-spacing:.06em;min-width:56px}.hero1 .cnt b{font-weight:500}.hero1 .dots{display:flex;gap:8px;align-items:center}.hero1 .dots button{display:block;width:8px;height:8px;border-radius:4px;background:#fff;opacity:.45;cursor:pointer;border:0;padding:0}.hero1 .dots button.on{opacity:1;width:28px}.hero1 .dots button:focus-visible{outline-offset:4px;opacity:1}
.nav{border-bottom:1px solid #E6E6E2}.nav .wrap{height:72px}.nav ul{justify-content:flex-end;gap:32px;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:500;padding:0 24px 0 0}.nav .lang button{text-transform:uppercase}
@media(max-width:900px){.hero1{height:auto;min-height:0}.hero1 .slides{position:relative;height:62vh;min-height:420px}.hero1 .slide .wrap{bottom:32px}.hero1 .ph{font-size:clamp(36px,8vw,56px)!important}.hero1>.bot{position:relative;padding-top:24px;padding-bottom:32px;background:var(--charcoal)}}
@media(prefers-reduced-motion:reduce){.hero1 .slide{transition:none}}
/* menu overlay */
.mm{position:fixed;inset:0;z-index:100;background:#000;color:#fff;display:none;overflow:auto}.mm.open{display:block;animation:mmIn .2s ease both}@keyframes mmIn{from{opacity:0}to{opacity:1}}
.mm .top{display:flex;justify-content:space-between;align-items:center;height:72px;padding:0 var(--pad)}.mm .x{background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;width:44px;height:44px;display:grid;place-items:center}.mm .x:hover{color:var(--cyan)}
.mm .body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:96px;padding:96px var(--pad) 96px}
.mm nav a{display:block;font-family:var(--disp);font-size:26px;line-height:1.1;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.5);transition:color .2s}.mm nav a.on,.mm nav a:hover{color:#fff}
.mm .sec{margin-top:96px}.mm .sec .lang{display:flex;gap:4px}.mm .sec .lang button{font:500 13px/1 var(--noto);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);background:none;border:0;padding:8px 10px;cursor:pointer}.mm .sec .lang button[aria-pressed="true"],.mm .sec .lang button:hover{color:#fff}
.mm .pan{display:none}.mm .pan.on{display:grid;gap:72px;align-content:start}
.mm .grp h4{font:500 13px/1 var(--noto);letter-spacing:.1em;text-transform:uppercase;margin:0;color:#fff}.mm .grp h4:after{content:"";display:block;width:44px;height:3px;background:var(--blue);margin-top:16px}
.mm .grp ul{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 40px}.mm .grp li a{color:#fff;font-size:17px;line-height:1.35}.mm .grp li a:hover{color:var(--cyan)}
@media(max-width:1100px){.mm .grp ul{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.mm .body{grid-template-columns:1fr;gap:48px;padding-top:48px}.mm nav a{font-size:22px;padding:16px 0}.mm .sec{margin-top:32px}.mm .grp ul{grid-template-columns:1fr}}
/* clientes: grade de logos */
.cli .wrap{max-width:1240px;padding-top:88px;padding-bottom:104px}.lgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 28px}.lgrid div{aspect-ratio:272/172;display:grid;place-items:center;background:#fff}.lgrid img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:1100px){.lgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.lgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}}
/* indústrias */
.inds .wrap{padding-top:88px;padding-bottom:104px}.igrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}.ind{display:block;color:var(--charcoal)}.ind .pic{aspect-ratio:4/3;overflow:hidden;background:var(--ghost)}.ind .pic img,.ind .pic .ph{width:100%;height:100%;object-fit:cover;display:block}.ind .pic .ph{background:linear-gradient(135deg,#E9E9E5,#D8D8D3)}.ind h3{font-family:var(--disp);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-.01em;margin:22px 0 10px}.ind h3 span{color:var(--blue);display:inline-block}.ind p{font-size:16px;line-height:1.55;color:var(--charcoal)}
@media(max-width:1000px){.igrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}}@media(max-width:620px){.igrid{grid-template-columns:1fr}}
/* indústria: subpágina */
.ihero{height:clamp(420px,46vh,520px);display:flex;align-items:flex-end}.ihero .wrap{width:100%;padding-top:72px;padding-bottom:64px}.ihero .lead{max-width:560px}.ihero .ipic .ph{background:linear-gradient(135deg,#2E2E2C,#1C1C1B)}.ihero .wrap{padding-bottom:64px}
.itxt .wrap{padding-top:96px;padding-bottom:96px}.itxt.alt{background:var(--ghost)}.itxt .t .lab{display:block;margin-bottom:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.itxt h2{font-size:clamp(28px,3vw,40px)!important;line-height:1.1!important}.itxt .p+.p{margin-top:18px}
.hd{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:48px}.hd h2{font-size:clamp(28px,3vw,40px)!important}.hd .more{color:var(--blue);font-size:15px;white-space:nowrap}
.iproj .wrap{padding-top:96px;padding-bottom:96px}.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#E6E6E2;border:1px solid #E6E6E2}.pgrid article{background:#fff;padding:32px 28px 36px;display:flex;flex-direction:column;gap:12px}.pgrid .lab{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.pgrid h3{font-family:var(--disp);font-weight:400;font-size:28px;line-height:1.1}.pgrid p{font-size:15px;line-height:1.55;color:var(--charcoal)}
.isvc{background:var(--charcoal);color:#fff}.isvc .wrap{padding-top:96px;padding-bottom:104px}.isvc .hd h2{color:#fff}.isvc .hd .more{color:var(--cyan)}.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.isvc .svc{background:#fff;color:var(--charcoal);padding:32px 28px 36px;display:block}.isvc .svc h3{font-family:var(--disp);font-weight:400;font-size:24px;line-height:1.15;margin-bottom:14px}.isvc .svc h3 span{color:var(--blue)}.isvc .svc p{font-size:15px;line-height:1.55}.isvc .svc:hover{background:var(--blue);color:#fff}.isvc .svc:hover h3 span{color:#fff}
.isvc h4{margin:64px 0 24px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--cyan)}.slist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:0}.slist a{color:#fff;font-family:var(--disp);font-size:20px;line-height:1.2;display:block;margin-bottom:10px}.slist a:hover{color:var(--cyan)}.slist p{font-size:15px;line-height:1.55;color:#D6D6D6}
.inds.rel .wrap{padding-top:96px;padding-bottom:96px}.igrid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.igrid.two .ind .pic{aspect-ratio:16/9}
@media(max-width:1000px){.pgrid,.sgrid,.slist{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pgrid,.sgrid,.slist,.igrid.two{grid-template-columns:1fr}}
/* fixes: colunas e banner */
.itxt .wrap.g12>.t:first-child{grid-column:1/5}.itxt .wrap.g12>.t:last-child{grid-column:6/13}
.banner .bt{grid-column:1/9;display:flex;flex-direction:column;gap:18px}.banner .bt h2{margin:0}.banner .bt p{color:#fff;opacity:.9;max-width:520px;font-size:17px;line-height:1.55}.banner .act{grid-column:9/13;align-self:center}
.bc a,.bc span,.bc i{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){.itxt .wrap.g12>.t:first-child,.itxt .wrap.g12>.t:last-child,.banner .bt,.banner .act{grid-column:1/-1}}

/* humanização: subpáginas, frentes, escolha, diferenças */
.pg .act{margin-top:32px}
.art .big{font-family:var(--disp);font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.02em;color:var(--blue);margin:0 0 24px;max-width:640px}
.art .dl{display:grid;gap:12px;margin:8px 0 28px}.art .dl div{padding:24px 28px;background:var(--ghost)}.art .dl h4{font-family:var(--tight);font-weight:500;font-size:20px;line-height:1.2;letter-spacing:-.01em;margin:0 0 8px;text-transform:none}.art .dl p{margin:0;font-size:17px;line-height:1.55}
.art .lk{display:grid;gap:10px;margin:0 0 28px}.art .lk a{color:var(--blue);font-size:17px;font-weight:500}.art .lk a:hover{color:var(--charcoal)}
.art .read{margin-top:48px;padding:28px;background:var(--ghost)}.art .read p{margin:12px 0 10px;font-size:17px}.art .read a{color:var(--blue);font-weight:500;font-size:17px}.art .read a:hover{color:var(--charcoal)}
.rel .grid a p{font-size:15px;line-height:1.5;margin:0}.rel .hd{margin-bottom:40px}.rel .hd h2{margin:0}
.svcs .fh{margin-top:72px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}.svcs .fh h3{grid-column:1/6;font-family:var(--disp);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.1;letter-spacing:-.01em;margin:0}.svcs .fh p{grid-column:6/11;margin:0;font-size:17px;line-height:1.5}.svcs .fh+.list{margin-top:32px}
.svc p{font-size:15px;line-height:1.5;margin:0}.svc .more{margin-top:auto}
.choose{background:var(--ghost)}.choose .wrap{padding-top:96px;padding-bottom:96px}.choose .t{grid-column:1/5}.choose .t h2{font-size:clamp(28px,3vw,40px)!important}.choose .x{grid-column:6/12;display:grid;gap:20px}.choose .x p{font-size:18px;line-height:1.6;margin:0}.choose .x .btn{justify-self:start;margin-top:12px}
.faq .wrap{padding-top:96px;padding-bottom:112px}.faq .t{grid-column:1/5}.faq .t h2{font-size:clamp(28px,3vw,40px)!important}.faq .qs{grid-column:6/13;display:grid}.faq .q{padding:32px 0;border-top:1px solid #E6E6E2}.faq .q:last-child{border-bottom:1px solid #E6E6E2}.faq .q h3{font-family:var(--tight);font-weight:500;font-size:clamp(20px,1.9vw,26px);line-height:1.2;letter-spacing:-.01em;margin:0 0 14px}.faq .q p{font-size:17px;line-height:1.6;margin:0 0 16px}.faq .q .lk{display:flex;flex-wrap:wrap;gap:8px 28px}.faq .q .lk a{color:var(--blue);font-size:15px;font-weight:500}.faq .q .lk a:hover{color:var(--charcoal)}
@media(max-width:900px){.svcs .fh{grid-template-columns:1fr}.svcs .fh h3,.svcs .fh p,.choose .t,.choose .x,.faq .t,.faq .qs{grid-column:1/-1}}

/* subpáginas de serviço: foto dentro do banner */
.pg.pg-photo{position:relative;overflow:hidden;display:flex;align-items:flex-end;height:clamp(420px,46vh,520px)}.pg.pg-photo .wrap{width:100%;padding-top:72px;padding-bottom:64px}.pg.pg-photo .lead{max-width:560px}.pg.pg-photo .bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:contrast(1.06) saturate(.92)}.pg.pg-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,13,48,.82) 0%,rgba(0,13,48,.55) 55%,rgba(0,13,48,.3) 100%)}.pg.pg-photo .wrap{position:relative;z-index:2}
.pg.hero-pic{position:relative;overflow:hidden;min-height:clamp(520px,64vh,760px);display:flex;align-items:flex-end}.pg.hero-pic .bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:var(--photo-filter,none)}.pg.hero-pic:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.66) 55%,rgba(0,0,0,.35) 100%)}.pg.hero-pic .wrap{position:relative;z-index:2;width:100%;padding-top:160px;padding-bottom:72px}

/* valores: sem iniciais, títulos em destaque */
.vals .grid b{display:none}.vals .grid>div h3{font-family:var(--disp);font-weight:700;font-size:clamp(26px,2.4vw,34px);line-height:1.05;letter-spacing:-.02em;color:var(--blue);margin:0 0 18px}

/* contato: formulário em destaque, dados abaixo */
.priv .info.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:40px}.priv .info h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase!important;font-weight:500;font-family:var(--noto)!important;color:var(--blue);margin:0 0 10px}.priv .info p{font-size:18px;line-height:1.5;margin:0}.priv .info a{color:var(--charcoal)}.priv .info a:hover{color:var(--blue)}
@media(max-width:900px){.cf .form{grid-column:1/-1!important}.priv .info.row{grid-template-columns:1fr}}

.priv .t{grid-column:1/13}.priv .dpo{grid-column:1/13;margin-top:40px;padding-top:40px;border-top:1px solid #D9D9D4}

/* clientes: render incremental da grade */
.lgrid div{content-visibility:auto;contain-intrinsic-size:272px 172px}

/* acessibilidade: skip link, foco, menu, carrossel, hierarquia */
.skip{position:absolute;left:16px;top:-200px;z-index:300;background:var(--blue);color:#fff;padding:12px 18px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.skip:focus{top:16px;outline:3px solid #fff;outline-offset:2px}
main{display:block}main:focus{outline:0}
.nav .burger{background:none;border:0;padding:0;cursor:pointer}
.art .body h2{font-size:clamp(22px,2vw,28px);margin:44px 0 14px}.art .body h2:first-child{margin-top:0}
.art .dl h3{font-family:var(--tight)!important;font-weight:500!important;font-size:20px!important;line-height:1.2!important;letter-spacing:-.01em!important;margin:0 0 8px}
.pg :focus-visible,.ft :focus-visible,.mm :focus-visible,.hero1 :focus-visible,.isvc :focus-visible,.dark :focus-visible,.tabs :focus-visible,.cl :focus-visible,.banner :focus-visible{outline-color:#fff}

.art .dl h3.grp{font-family:var(--disp)!important;font-weight:400!important;font-size:clamp(20px,1.8vw,24px)!important;margin:16px 0 4px}.art .dl h3.grp:first-child{margin-top:0}

/* mapa do site */
.smap .wrap{padding-top:96px;padding-bottom:128px}.smap .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 32px}.smap .col{display:grid;align-content:start;gap:0}
.smap .k{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--blue);margin-bottom:10px;min-height:14px}.smap .col>h2:first-child{margin-top:24px}
.smap h2{font-size:clamp(24px,2vw,30px);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--charcoal)}
.smap h3{font-family:var(--tight)!important;font-weight:500!important;font-size:12px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:36px 0 14px;line-height:1.2!important}
.smap ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.smap li a{font-size:16px;line-height:1.35;color:var(--charcoal)}.smap li a:hover{color:var(--blue)}.smap li:first-child a{font-weight:500}
@media(max-width:1100px){.smap .cols{grid-template-columns:1fr 1fr}}@media(max-width:640px){.smap .cols{grid-template-columns:1fr;gap:48px}}


/* ── Ajustes da implementação Astro (fora do handoff) ─────────────────────── */
/* Seletor de idioma: links reais para a página equivalente, com o visual dos botões do protótipo. */
.nav .lang a{font:inherit;letter-spacing:inherit;text-transform:uppercase;color:var(--charcoal);border:1px solid transparent;padding:6px 10px;line-height:1;display:inline-block}
.nav .lang a::after{display:none!important}
.nav .lang a[aria-current="true"],.nav .lang a:hover{color:var(--blue)}
.mm .sec .lang a{font:500 13px/1 var(--noto);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);padding:8px 10px}
.mm .sec .lang a[aria-current="true"],.mm .sec .lang a:hover{color:#fff}
/* Aviso de tradução de cortesia nas páginas legais (EN/ES). */
.legal-note{border-bottom:1px solid #E6E6E2}
.legal-note p{margin:0;padding:20px 0;font-size:14px;line-height:1.5;color:var(--grey)}
/* Abas: no celular a barra rola na horizontal em vez de estourar a página (vale para pt/en/es). */
.tabs .wrap{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs .wrap::-webkit-scrollbar{display:none}
.tabs a{flex:none;white-space:nowrap}
/* Palavras longas (ex.: espanhol) não alargam a coluna de texto. */
.art .body{min-width:0;overflow-wrap:break-word}
.art .wrap>*{min-width:0}
.art .body h2,.art .body h3,.pg .h.big{overflow-wrap:break-word;hyphens:auto}
.art aside .box{min-width:0;overflow-wrap:break-word}
.art aside .btn{max-width:100%;white-space:normal}
@media(max-width:620px){.pgrid{grid-template-columns:minmax(0,1fr)!important}}
.pgrid>*{min-width:0;overflow-wrap:break-word}

/* Texto só para leitores de tela e buscadores (mantém h1→h2→h3 sem salto). */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Auditoria mobile 2026-10-04 (squad mobile-design) ===== */
/* P1-1 CTA de contato no header e burger com alvo de toque 56x72 */
.nav .nav-cta{display:none}
@media(max-width:1180px){.nav .nav-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;margin-left:auto;margin-right:8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue)}}
.nav .burger{box-sizing:border-box;width:56px;height:72px;padding:28px 16px;margin-right:-16px;justify-content:center}
/* P1-3 swipe no carrossel; dots viram indicadores */
.hero1 .slides{touch-action:pan-y}.hero1 .dots button{pointer-events:none}
/* P1-8 menu: rolagem não vaza; alvos de idioma e subitens maiores */
.mm{overscroll-behavior:contain}
.mm .sec .lang{gap:8px}.mm .sec .lang a{display:inline-block;padding:15px 12px}
@media(max-width:900px){.mm .grp ul{gap:0}.mm .grp li a{display:block;padding:10.5px 0}}
/* P1-9 sem hover preso no toque + retorno visual */
@media(hover:none){.chip:hover{background:transparent;border-color:var(--charcoal);color:var(--charcoal)}.mo .chip:first-child:hover{background:var(--blue);border-color:var(--blue);color:#fff}.tabs a:hover{background:transparent;border-color:rgba(255,255,255,.4)}.hero1 .ctl button:hover{background:transparent;color:#fff}}
.btn,.chip,.tabs a,.hero1 .ctl button,.mm a,.lnk{-webkit-tap-highlight-color:transparent}
.btn:active,.chip:active,.tabs a:active{transform:scale(.97)}
.hero1 .ctl button:active{background:#fff;color:var(--charcoal)}
.ind:active,.ar li:active{opacity:.85}
/* P1-10 hero em paisagem */
@media(max-width:900px) and (max-height:500px){.hero1 .slides{height:calc(100svh - 72px - 104px);min-height:220px}.hero1 .ph{font-size:clamp(28px,7vh,40px)!important}}
@media(max-height:500px) and (orientation:landscape){.pg.pg-photo{height:auto;min-height:calc(100svh - 72px)}.pg.hero-pic{min-height:calc(100svh - 72px)}}
/* P1-11 rótulos de 11px passam a 12px no celular */
@media(max-width:640px){.lab,.ft .ct b,.ft .cols b,.form label,.fl,.rev dt,.cf2-side dt{font-size:12px}}
/* P1-6 logos de clientes: 2 colunas em telas estreitas */
@media(max-width:420px){.lgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}}
/* P1-2 frase "o que a EHS faz" na primeira dobra da home */
.hero-what{font-size:15px;line-height:1.5;max-width:520px;margin:0 0 20px;color:#fff}
.lmore{margin-top:40px}.lmore>summary{list-style:none;cursor:pointer;display:inline-flex}.lmore>summary::-webkit-details-marker{display:none}.lmore[open]>summary{display:none}.lmore>.lgrid{margin-top:0}
/* logo não encolhe quando o CTA de contato divide o header (320px) */
.nav .wrap>a:first-child{flex-shrink:0}
@media(hover:none){.sf .btn.p:hover{background:var(--blue);color:#fff}.btn.o:hover{background:transparent;border-color:currentColor;color:inherit}}
@media(max-width:360px){.nav .wrap>a:first-child img{height:32px!important}.nav .nav-cta{padding:0 10px;font-size:12px;margin-right:4px}}
@media(max-width:1180px){.nav .wrap{gap:12px}}
/* ===== Auditoria mobile — P2 ===== */
/* P2-1 âncoras não abrem atrás do header (e das abas) */
html{scroll-padding-top:88px}html:has(.tabs){scroll-padding-top:156px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* P2-2 abas: snap, sinal de continuação e seção atual */
@media(max-width:900px){.tabs .wrap{scroll-snap-type:x proximity;scroll-padding-inline:var(--pad);-webkit-mask:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}.tabs a{scroll-snap-align:start}.tabs a:last-child{margin-right:32px}}
.tabs a[aria-current]{background:var(--blue);border-color:var(--blue)}
/* P2-3 índice das páginas longas no topo, em 2 colunas, no celular */
@media(max-width:900px){.art aside{order:-1}.art aside .toc ul{grid-template-columns:1fr 1fr;gap:0 16px}}
.art aside .toc li a{display:block;padding:9px 0}
/* P2-4 links de texto com alvo de toque de 44px */
@media(max-width:900px){.ft .cols a{padding:11px 0;margin-bottom:0}}
@media(max-width:640px){.smap ul{gap:0}.smap li a{display:flex;align-items:center;min-height:44px}}
.bc a{padding:12px 0;margin:-12px 0}
.lnk,.more{padding:11px 0;margin:-11px 0}
.art .lk{gap:0}.art .lk a{display:block;padding:8px 0}
.cmp td ul{gap:0}.cmp td li a{display:inline-block;padding:10px 0}.cmp li{padding:0}
/* P2-5 card inteiro clicável nas Áreas de atuação */
.ar li{position:relative}.ar li h3 a:after{content:"";position:absolute;inset:0}
/* P2-11 header mais baixo em paisagem */
@media(max-height:500px){.nav .wrap{height:56px}html{scroll-padding-top:72px}}
.ar li h3 a:after{z-index:1}
/* Ritmo vertical entre dobras: um respiro único que encolhe com a tela (antes 96-140px fixos por lado, 200-340px de vazio entre conteúdos) */
:root{--sec-y:clamp(56px,5.6vw,80px);--sec-y-cta:clamp(48px,4.4vw,64px)}
main :is(.st,.cs,.ar,.mo,.rel,.explist,.cli,.inds,.itxt,.iproj,.isvc,.choose,.faq,.smap,.cmp,.cf,.cf2,.sobre,.serv,.dark,.dep,.mv,.vals,.svcs,.quote)>.wrap{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}
main :is(.banner,.cl)>.wrap{padding-top:var(--sec-y-cta);padding-bottom:var(--sec-y-cta)}
main .band>.wrap{padding-top:var(--sec-y)}main .band .gal{padding-bottom:var(--sec-y)}
