/* Allserv 1.0.8 - nova capa e header consistente no scroll */
/* A imagem ocupa toda a largura do banner. O degradê preserva contraste do texto. */
.hero {position:relative;isolation:isolate;overflow:hidden;background:#0d2847;}
.hero-grid-pattern {display:none;}
.hero-photo-layer {position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hero-photo-layer img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;}
.hero-photo-layer::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d2847 0%,rgba(13,40,71,.99) 23%,rgba(13,40,71,.88) 35%,rgba(13,40,71,.56) 51%,rgba(13,40,71,.08) 73%,transparent 89%);}
.hero-layout {display:block;position:relative;min-height:436px;padding:35px 0 30px;z-index:1;}
.hero-content {position:relative;z-index:2;width:auto;max-width:730px;padding:0;}
.hero h1 {font-size:clamp(32px,3.25vw,46px);line-height:1.06;letter-spacing:-1.9px;margin:15px 0 14px;max-width:none;}
.hero h1 .title-line {display:block;white-space:nowrap;}
.hero h1 .title-accent {color:#8dc0fb;}
.hero .hero-description {font-size:16px;line-height:1.52;max-width:610px;margin:0 0 11px;color:#e4eafa;}
.hero .hero-trust {font-size:14px;line-height:1.5;margin:0 0 18px;}
.hero .hero-points {display:flex;flex-wrap:wrap;align-items:center;gap:14px 19px;margin-top:18px;padding-bottom:0;}
.hero .hero-points span {font-size:13px;font-weight:700;gap:6px;white-space:nowrap;}
.hero .hero-points .icon {width:18px;height:18px;}
.hero-visual {display:none;}
/* Nunca compactar e descompactar repetidamente por um limiar de scroll muito baixo. */
.site-header {position:sticky;top:34px;z-index:110;box-shadow:0 1px 0 #d9e3ec;transition:box-shadow .2s ease;}
.top-strip {position:sticky;top:0;z-index:120;}
.site-header .nav-container {min-height:84px;transition:min-height .23s ease;}
.site-header .brand-logo {transition:width .23s ease;}
.site-header .brand-caption {transition:width .23s ease,font-size .23s ease;}
.site-header .nav-links {transition:none;}
.site-header .nav-contact {transition:background .2s ease,padding .23s ease;}
body.is-scrolled .site-header {box-shadow:0 4px 15px rgba(9,27,48,.08);}
body.is-scrolled .site-header .nav-container {min-height:66px;gap:30px;}
body.is-scrolled .site-header .brand-logo {width:157px;}
body.is-scrolled .site-header .brand-caption {width:157px;font-size:6.75px;letter-spacing:.92px;}
body.is-scrolled .site-header .nav-links {gap:34px;font-size:13px;}
body.is-scrolled .site-header .nav-contact {padding:10px 17px;}
html {scroll-padding-top:130px;}
@media (max-width:1199px) {
 .hero-layout {min-height:428px;padding:32px 0 26px;}
 .hero-content {max-width:64%;}
 .hero h1 {font-size:clamp(29px,3.18vw,43px);}
 .hero .hero-description {font-size:15px;max-width:570px;}
 .hero .hero-points {gap:12px 16px;}
 .hero .hero-points span {font-size:12px;}
 .hero-photo-layer::after {background:linear-gradient(90deg,#0d2847 0%,rgba(13,40,71,.96) 30%,rgba(13,40,71,.78) 47%,rgba(13,40,71,.1) 78%);}
 body.is-scrolled .site-header .nav-links {gap:20px;}
}
@media (max-width:980px) {
 .hero-content {max-width:67%;}
 .hero h1 .title-line {white-space:normal;}
 .hero h1 {font-size:clamp(30px,3.4vw,37px);}
 .hero .hero-points {max-width:560px;}
 .hero-photo-layer img {object-position:59% center;}
}
@media (max-width:780px) {
 .site-header {top:34px;}
 .hero-layout {display:block;min-height:0;padding:30px 0 230px;}
 .hero-content {max-width:100%;padding:0;}
 .hero h1 {font-size:clamp(34px,7vw,46px);}
 .hero h1 .title-line {white-space:normal;}
 .hero .hero-description {max-width:unset;font-size:15px;}
 .hero .hero-points {gap:12px 16px;}
 .hero-photo-layer {inset:auto 0 0;height:235px;}
 .hero-photo-layer img {object-position:71% 50%;}
 .hero-photo-layer::after {background:linear-gradient(180deg,#0d2847 0%,rgba(13,40,71,.5) 28%,transparent 58%);}
 body.is-scrolled .site-header .nav-container {min-height:64px;}
 body.is-scrolled .site-header .brand-logo {width:148px;}
 body.is-scrolled .site-header .brand-caption {width:148px;font-size:6.5px;}
}
@media (max-width:520px) {
 .site-header {top:34px;}
 .hero-layout {padding:26px 0 194px;}
 .hero h1 {font-size:clamp(33px,9.1vw,41px);}
 .hero .hero-description {font-size:14px;}
 .hero .hero-points {gap:10px 14px;}
 .hero .hero-points span {font-size:12px;}
 .hero-photo-layer {height:195px;}
 .hero-photo-layer img {object-position:74% 50%;}
 body.is-scrolled .site-header .nav-container {min-height:62px;}
}
