/* Cores extraídas dos logotipos oficiais. Estilos isolados da página inicial. */

@font-face {
    font-family:Manrope;
    src:url('../fonts/manrope-latin.woff2') format('woff2');
    font-style:normal;
    font-weight:400 800;
    font-display:swap
}

:root {
    --green:#0f3d22;
    --deep:#0c261c;
    --orange:#ec671a;
    --orange-light:#ff9251;
    --ink:#1d2923;
    --muted:#67716b;
    --paper:#f6f7f3;
	--paper2:#e6eddf;
    --line:#dfe5df;
    --font:Manrope,Arial,sans-serif
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:112px
}

body {
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:var(--font);
    font-size:15px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased
}

body.dialog-open {
    overflow:hidden
}

a {
    color:inherit;
    text-decoration:none;
    transition:color .2s,background .2s,transform .2s
}

a:hover {
    color:var(--green);
    text-decoration:none
}

button,input {
    font:inherit
}

button {
    cursor:pointer
}

button:focus-visible,a:focus-visible {
    outline:3px solid var(--orange);
    outline-offset:5px
}

h1,h2,h3,p {
    margin-top:0
}

h1,h2,h3 {
    font-family:var(--font);
    font-weight:800
}

h2 {
    font-size:42px;
    line-height:1.2;
    letter-spacing:-1.8px;
    margin-bottom:22px
}

h2>span {
    color:var(--muted)
}

p {
    margin-bottom:20px
}

img {
    max-width:100%;
    height:auto
}

svg {
    flex-shrink:0
}

.container {
    max-width:1260px;
    padding-right:30px;
    padding-left:30px
}

.icon {
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
    vertical-align:middle
}

.icon-library {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden
}

.skip-link {
    position:fixed;
    top:10px;
    left:12px;
    padding:12px 22px;
    background:white;
    z-index:100;
    transform:translateY(-150%)
}

.skip-link:focus {
    transform:translateY(0)
}

.section-space {
    padding:100px 0
}

.eyebrow {
    display:flex;
    align-items:center;
    gap:10px;
    color:#afc9ba;
    font-size:1em;
    line-height:1.6;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:23px
}

.eyebrow>span {
    width:22px;
    height:3px;
    background:var(--orange);
    display:inline-block
}

.eyebrow\.light {
    color:#dce8df
}

.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    min-height:54px;
    padding:14px 25px;
    font-size:1em;
    font-weight:800;
    line-height:1.5;
    border:1px solid transparent;
    border-radius:3px
}

.button .icon {
    width:20px;
    height:20px
}

.button-orange {
    background:var(--orange);
    color:#14241b
}

.button-orange:hover {
    background:#ff873e;
    color:#102218;
    transform:translateY(-2px)
}

.button-outline-light {
    border-color:#6d8a77;
    color:white
}

.button-outline-light:hover {
    background:#fff;
    color:var(--green)
}

.text-link {
    display:inline-flex;
    align-items:center;
    gap:20px;
    color:var(--green);
    font-size:1em;
    font-weight:800;
    padding-bottom:8px;
    border-bottom:1px solid #9cb2a4
}

.text-link:hover {
    color:#a8440b;
    border-color:var(--orange)
}

.status-dot {
    width:6px;
    height:6px;
    display:inline-block;
    flex-shrink:0;
    border-radius:50%;
    background:var(--orange)
}

/* Cabeçalho fixo e navegação. */

.topbar {
    background:var(--deep);
    color:#d5dfd8;
    font-size:0.9em;
    letter-spacing:.15px
}

.topbar-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:36px
}

.topbar-contacts {
    display:flex;
    align-items:center;
    gap:20px
}

.topbar-contacts strong {
    color:#fff;
    font-weight:600;
    margin-left:8px
}

.topbar a:hover {
    color:var(--orange-light)
}

.topbar-divider {
    height:11px;
    width:1px;
    background:#607267
}

.site-header {
    background:#fff;
    position:sticky;
    top:0;
    z-index:30;
/*    border-bottom:1px solid #0f3d220f; */
	border-bottom:1px solid var(--orange);
    transition:box-shadow .2s
}

.site-header.scrolled {
    box-shadow:0 5px 25px #0f3d2212
}

.header-inner {
    display:flex;
    align-items:center;
    gap:28px;
    min-height:99px
}

.brand {
    display:flex;
    width:178px;
    height:88px;
    align-items:center;
    margin-right:auto;
    flex-shrink:0
}

.brand img {
    width:178px;
    height:auto
}

.main-navigation {
    display:flex;
    align-items:center;
    gap:25px;
    font-size:1em;
    font-weight:700
}

.main-navigation>a {
    padding:12px 0;
    white-space:nowrap
}

.main-navigation>a:hover {
    color:#b64c0e
}

.nav-client {
    display:inline-flex;
    align-items:center;
    gap:9px;
    border-left:1px solid var(--line);
    padding-left:23px!important
}

.nav-client .icon {
    width:18px;
    height:18px
}

.header-quote {
    font-size:1em;
    padding:12px 18px;
    min-height:45px;
    gap:16px
}

.menu-toggle {
    display:none
}

/* Fotografia real com sobreposição para contraste do texto. */

.hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:#fff;
    background:var(--deep);
    min-height:640px
}

.hero-image {
    position:absolute;
    inset:0;
    z-index:-3;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 54%
}

.hero-shade {
    position:absolute;
    inset:0;
    z-index:-2;
    background:linear-gradient(90deg,#061d14f7 0%,#071f15e8 25%,#071c14ad 47%,#07191312 78%),linear-gradient(0deg,#051811bf,transparent 40%)
}

.hero-content {
    position:relative;
    padding-top:64px;
    padding-bottom:26px
}

.hero-copy {
    max-width:620px
}

.hero h1 {
    font-size:64px;
    line-height:1.065;
    letter-spacing:-2.8px;
    margin-bottom:23px
}

.hero h1 em {
    font-style:normal;
    color:var(--orange-light)
}

.hero .eyebrow {
    font-size:10px;
    margin-bottom:24px;
    letter-spacing:2.3px
}

.hero-description {
    font-size:14px;
    line-height:1.9;
    color:#dee6df;
    max-width:415px;
    margin-bottom:28px
}

.hero-actions {
    display:flex;
    align-items:center;
    gap:25px
}

.hero-actions .button {
    min-height:53px;
    font-size:1em;
    padding:13px 22px;
    gap:24px
}

.hero-secondary {
    font-size:0.85em;
    font-weight:700;
    color:#fff;
    display:flex;
    align-items:center;
    gap:9px
}

.hero-secondary .icon {
    width:15px;
    height:15px
}

.hero-secondary:hover {
    color:var(--orange-light)
}

.hero-bottom {
    margin-top:56px;
    border-top:1px solid #ffffff29;
    padding-top:22px;
    display:flex;
    align-items:center;
    gap:34px;
    color:#e7eee9;
    font-size:11px
}

.hero-bottom>span {
    display:flex;
    align-items:center;
    gap:9px
}

.hero-bottom .icon {
    width:17px;
    height:17px;
    color:var(--orange-light)
}

.hero-explore {
    margin-left:auto;
    font-size:9px;
    font-weight:700;
    letter-spacing:2px;
    color:#fff;
    display:flex;
    align-items:center;
    gap:18px
}

.hero-explore span {
    font-size:20px
}

.hero-explore:hover {
    color:var(--orange-light)
}

.hero-photo-label {
    position:absolute;
    right:30px;
    bottom:108px;
    display:flex;
    align-items:center;
    gap:10px;
    background:#0d241ab8;
    backdrop-filter:blur(8px);
    border:1px solid #ffffff29;
    padding:9px 13px;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.2px
}

.hero-side-label {
    position:absolute;
    right:15px;
    top:50%;
    writing-mode:vertical-rl;
    letter-spacing:3px;
    font-size:8px;
    color:#ffffffb3
}

/* Atalhos dos clientes. */

.quick-access {
    background:var(--paper);
    border-bottom:1px solid var(--line)
}

.quick-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding-top:29px;
    padding-bottom:29px
}

.quick-item {
    position:relative;
    display:flex;
    align-items:center;
    gap:17px;
    padding:9px 30px;
    border-right:1px solid #d9e0d9
}

.quick-item:first-child {
    padding-left:0
}

.quick-item:last-child {
    padding-right:0;
    border-right:0
}

.quick-icon {
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e9eee7;
    color:var(--green);
    border-radius:50%;
    flex-shrink:0;
    transition:background .2s
}

.quick-icon .icon {
    width:22px;
    height:22px
}

.quick-item strong {
    display:block;
    font-size:1em;
    font-weight:800;
    line-height:1.6
}

.quick-item small {
    display:block;
    color:var(--muted);
    font-size:0.85em;
    line-height:1.8
}

.quick-arrow {
    margin-left:auto;
    width:19px;
    height:19px;
    color:#52665a
}

.quick-item:hover .quick-icon {
    background:#ffdfc8
}

.quick-item:hover .quick-arrow {
    transform:translate(2px,-2px);
    color:var(--orange)
}

/* Serviços com proporções de imagem consistentes. */

.section-intro {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:37px
}

.section-intro h2 {
    margin:0
}

.intro-text {
    max-width:285px;
    color:var(--muted);
    font-size:1em;
    margin:0 0 3px
}

.service-grid {
    margin-left:-12px;
    margin-right:-12px
}

.service-grid>[class*='col-'] {
    padding-left:12px;
    padding-right:12px;
    display:flex
}

.service-card {
    border:1px solid var(--line);
    width:100%;
    background:white;
    transition:box-shadow .3s,transform .3s;
    display:flex;
    flex-direction:column
}

.service-card:hover {
    transform:translateY(-5px);
    box-shadow:0 14px 35px #12271a0c
}

.service-image-link {
    display:block;
    position:relative;
    overflow:hidden;
    aspect-ratio:1.72;
    background:#dbe3dc
}

.service-image-link:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,#061e1733,transparent 50%)
}

.service-image-link img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s
}

.service-card:hover img {
    transform:scale(1.045)
}

.service-number {
    position:absolute;
    left:22px;
    top:17px;
    font-size:0.85em;
    font-weight:800;
    color:#fff;
    z-index:1
}

.service-image-icon {
    position:absolute;
    bottom:0;
    right:0;
    background:var(--orange);
    color:var(--deep);
    width:52px;
    height:48px;
    display:grid;
    place-items:center;
    z-index:1
}

.service-body {
    padding:26px 25px 20px;
    display:flex;
    flex-direction:column;
    flex:1
}

.service-kicker {
    color:var(--muted);
    font-size:0.85em;
    font-weight:800;
    letter-spacing:1.2px;
    margin-bottom:9px
}

.service-body h3 {
    font-size:25px;
    letter-spacing:-.7px;
    margin-bottom:13px
}

.service-body>p:not(.service-kicker) {
    color:var(--muted);
    font-size:1em;
    line-height:1.9;
    margin-bottom:23px
}

.service-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:16px;
    border-top:1px solid var(--line);
    margin-top:auto
}

.service-bottom>span {
    font-size:0.9em;
    font-weight:700;
    color:var(--green)
}

.service-bottom a {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #d4ded6;
    border-radius:50%;
    color:var(--green)
}

.service-bottom a:hover {
    background:var(--green);
    color:#fff
}

.service-bottom .icon {
    width:18px;
    height:18px
}

.services-note {
    margin:29px 0 0;
    text-align:center;
    font-size:1em;
    color:var(--muted)
}

.services-note .status-dot {
    margin-right:7px;
    background:var(--green);
    width:5px;
    height:5px
}

.services-note a {
    color:var(--green);
    font-weight:800;
    margin-left:4px
}

.services-note a:hover {
    text-decoration:underline
}

/* Apresentação institucional. */

.about-section {
    background:var(--paper)
}

.about-row {
    margin-left:-30px;
    margin-right:-30px
}

.about-row>[class*='col-'] {
    padding-left:30px;
    padding-right:30px
}

.about-visual {
    position:relative;
    padding:0 27px 28px 0
}

.about-photo {
    width:100%;
    height:465px;
    object-fit:cover;
    object-position:36% center
}

.photo-corner {
    position:absolute;
    top:-13px;
    left:-13px;
    width:75px;
    height:75px;
    border-top:3px solid var(--orange);
    border-left:3px solid var(--orange)
}

.about-photo-note {
    position:absolute;
    bottom:60px;
    right:0;
    background:var(--green);
    color:#fff;
    padding:24px 27px;
    display:flex;
    align-items:center;
    gap:19px;
    border-left:4px solid var(--orange);
    box-shadow:0 6px 25px #0c261c22
}

.about-photo-note>.icon {
    width:32px;
    height:32px;
    color:var(--orange-light)
}

.about-photo-note>span {
    font-size:15px;
    line-height:1.6
}

.about-photo-note strong {
    font-weight:800
}

.photo-caption {
    position:absolute;
    bottom:0;
    left:0;
    font-size:0.85em;
    letter-spacing:2px;
    color:var(--muted);
    font-weight:700
}

.about-copy {
    padding:0 0 0 20px
}

.about-copy h2 {
    font-size:43px
}

.about-copy>p:not(.eyebrow) {
    font-size:1em;
    line-height:1.95;
    color:var(--muted);
    max-width:450px;
    margin-bottom:15px
}

.about-principles {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 10px;
    margin:25px 0 28px
}

.about-principles>span {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:0.85em;
    font-weight:700
}

.about-principles .icon {
    width:17px;
    height:17px;
    color:var(--green)
}

/* Esquema da conexão entre unidades, sem distâncias ou prazos presumidos. */

.coverage-section {
    padding-bottom:0
}

.coverage-panel {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--green);
    color:#fff;
    position:relative;
    overflow:hidden
}

.coverage-copy {
    padding:62px 20px 57px 59px;
    position:relative;
    z-index:1
}

.coverage-copy h2 {
    font-size:40px;
    letter-spacing:-1.5px
}

.coverage-copy h2>span {
    color:#a8c0ae
}

.coverage-copy>p:not(.eyebrow) {
    max-width:377px;
    color:#cad8ce;
    font-size:1em;
    line-height:1.9
}

.coverage-options {
    margin:26px 0 29px
}

.coverage-options>div {
    display:flex;
    gap:11px;
    margin-bottom:16px
}

.coverage-options p {
    margin:0;
    line-height:1.65
}

.coverage-options strong {
    display:block;
    font-size:0.95em;
    color:#fff;
    margin-bottom:3px
}

.coverage-options p>span {
    display:block;
    color:#cad8ce;
    font-size:0.9em;
}

.coverage-dot {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#bfd4bd;
    margin-top:6px;
    flex-shrink:0
}

.coverage-dot.orange {
    background:var(--orange-light)
}

.coverage-copy .button {
    font-size:0.95em;
    padding:13px 20px;
    min-height:48px;
    gap:20px
}

.coverage-disclaimer {
    display:block;
    margin-top:14px;
    font-size:0.8em;
    color:#bdd0c3
}

.route-visual {
    position:relative;
    align-self:stretch;
    min-height:535px;
    background:radial-gradient(ellipse at center,#32784b30,transparent 65%);
    overflow:hidden
}

.route-grid {
    position:absolute;
    inset:0;
    opacity:.11;
    background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse at center,black,transparent 70%)
}

.route-label {
    position:absolute;
    left:40px;
    top:60px;
    font-size:0.9em;
    letter-spacing:2px;
    color:#a1bda8
}

.route-line {
    position:absolute;
    top:106px;
    left:0;
    width:100%;
    height:365px;
    overflow:visible
}

.route-track {
    stroke:#8cb594;
    stroke-width:1;
    opacity:.3
}

.route-dash {
    stroke:#ec671a;
    stroke-width:2;
    stroke-dasharray:5 7
}

.route-line circle {
    stroke:#759c81;
    stroke-width:1;
    fill:#234e31
}

.route-line .route-point {
    fill:var(--orange);
    stroke:var(--orange)
}

.route-city {
    position:absolute;
    display:flex;
    align-items:center;
    gap:16px;
    z-index:1
}

.route-city>span {
    font-size:55px;
    letter-spacing:-3px;
    font-weight:800;
    line-height:1;
    color:#ffffff24
}

.route-city small {
    font-size:0.8em;
    font-weight:800;
    letter-spacing:2px;
    color:var(--orange-light)
}

.route-city strong {
    display:block;
    font-size:22px;
    line-height:1.5;
    letter-spacing:-.7px
}

.route-city p {
    font-size:0.85em;
    color:#bfd2c4;
    margin:0
}

.route-sp {
    top:92px;
    left:46px
}

.route-sc {
    bottom:82px;
    right:64px
}

.route-truck {
    width:60px;
    height:60px;
    border:1px solid #6b9075;
    background:#153e27;
    position:absolute;
    top:257px;
    left:calc(50% - 18px);
    display:grid;
    place-items:center;
    border-radius:50%;
    box-shadow:0 0 0 9px #143f264d
}

.route-truck .icon {
    width:28px;
    height:28px;
    color:#ff995b
}

.route-caption {
    position:absolute;
    bottom:38px;
    left:42px;
    font-size:1em;
    letter-spacing:2px;
    display:flex;
    gap:12px;
    align-items:center;
    color:#a6c0ac
}

/* Diferenciais e contatos reais das duas unidades. */

.advantages-section .section-intro {
    margin-bottom:42px
}

.advantages-section .section-intro>.text-link {
    margin-bottom:5px;
    white-space:nowrap
}

.advantages-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line)
}

.advantages-grid article {
    padding:34px 25px 0 0;
    position:relative
}

.advantages-grid article+article {
    border-left:1px solid var(--line);
    padding-left:27px
}

.advantage-number {
    position:absolute;
    right:27px;
    top:34px;
    font-size:10px;
    color:#818d83
}

.advantages-grid article>.icon {
    width:29px;
    height:29px;
    color:var(--green);
    margin-bottom:24px;
    stroke-width:1.35
}

.advantages-grid h3 {
    font-size:16px;
    letter-spacing:-.4px;
    margin-bottom:12px
}

.advantages-grid p {
    font-size:1em;
    color:var(--muted);
    line-height:1.9;
    margin-bottom:12px
}

.advantages-grid article>a {
    font-size:0.85em;
    color:var(--green);
    font-weight:800
}

.advantages-grid article>a:hover {
    color:#b64c0e
}

.contact-section {
    padding-bottom:90px
}

.contact-panel {
    background:#f5f0e9;
    padding:48px 55px;
    display:grid;
    grid-template-columns:1.25fr 1fr;
    gap:75px;
    border-top:3px solid var(--orange);
    position:relative;
    overflow:hidden
}

.contact-heading {
    position:relative
}

.contact-heading h2 {
    font-size:37px;
    line-height:1.25;
    letter-spacing:-1.6px
}

.contact-heading h2>span {
    color:var(--green)
}

.contact-heading .eyebrow {
    font-size:0.85em;
    letter-spacing:1.6px
}

.contact-heading>p:not(.eyebrow) {
    color:var(--muted);
    font-size:1.1em;
}

.contact-mark {
    position:absolute;
    right:15px;
    bottom:-50px;
    font-size:150px;
    line-height:1;
    color:#e5e1d7;
    font-weight:400;
    pointer-events:none
}

.contact-units {
    padding-top:7px
}

.contact-unit {
    display:flex;
    gap:22px;
    align-items:center;
    padding-bottom:21px;
    margin-bottom:21px;
    border-bottom:1px solid #dadbd2
}

.unit-state {
    display:grid;
    place-items:center;
    width:52px;
    height:58px;
    background:#e5e8dd;
    color:var(--green);
    font-size:19px;
    font-weight:800;
    flex-shrink:0
}

.unit-label {
    display:block;
    color:var(--green);
    font-size:0.85em;
    letter-spacing:1.5px;
    font-weight:800
}

.unit-phone {
    display:block;
    font-size:26px;
    line-height:1.65;
    font-weight:800;
    letter-spacing:-.7px
}

.unit-email {
    display:block;
    font-size:1em;
    color:#526256
}

.unit-email>span {
    margin-left:12px
}

.contact-hint {
    font-size:0.9em;
    color:var(--muted);
    margin-bottom:0;
    max-width:310px
}

/* Rodapé; crédito do template mantido. */

.site-footer {
    background:var(--deep);
    color:#b7c8bd;
    padding:54px 0 0
}

.footer-main {
    display:grid;
    grid-template-columns:1.05fr .72fr 1.2fr 1.25fr;
    gap:35px;
    padding-bottom:47px
}

.footer-brand img {
    width:181px;
    height:auto;
    margin-top:-14px;
    margin-left:-6px;
    margin-bottom:0
}

.footer-brand p {
    font-size:0.85em;
    line-height:1.9;
    margin:3px 0 18px
}

.social-links {
    display:flex;
    align-items:center;
    gap:8px
}

.social-links a {
    width:32px;
    height:32px;
    border:1px solid #3a5245;
    display:grid;
    place-items:center;
    font-size:1em;
    font-weight:800;
    color:#e1eae4
}

.social-links a:hover {
    color:var(--orange-light);
    border-color:var(--orange)
}

.social-links .icon {
    width:15px;
    height:15px
}

.social-facebook {
    font-family:Arial,sans-serif;
    font-size:17px
}

.footer-main h2 {
    font-size:1em;
    color:#fff;
    letter-spacing:0;
    margin-top:14px;
    margin-bottom:21px;
    font-weight:700
}

.footer-main h2>span {
    font-size:8px;
    /*color:#a7bba9;*/
	color:#0c261c;
    border:1px solid #3c5946;
    padding:3px 5px;
    margin-left:5px;
    letter-spacing:.5px;
	background-color: #ec671a;
}

.footer-links>a {
    display:block;
    font-size:0.85em;
    margin-bottom:9px
}

.footer-address address {
    font-size:0.85em;
    line-height:2;
    font-style:normal;
    margin-bottom:13px
}

.footer-address>a {
    display:block;
    font-size:0.85em;
    line-height:2
}

.site-footer a:hover {
    color:var(--orange-light)
}

.footer-bottom {
    border-top:1px solid #ffffff1f;
    display:flex;
    align-items:center;
    gap:24px;
    padding:20px 0 24px;
    font-size:9px;
    color:#a6b9ae
}

.footer-bottom p {
    margin:0;
    margin-right:auto;
	font-size:12px;
}

.template-credit {
    font-size:9px;
    color:#a6b9ae;
	font-size:12px;
}

.template-credit a {
    text-decoration:underline
}

/* Widget de contato e diálogo nativo acessível. */

[hidden] {
    display:none!important
}

.contact-widget {
    position:fixed;
    right:24px;
    bottom:22px;
    z-index:35
}

.contact-widget-toggle {
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid rgba(255,255,255,.14);
    background:linear-gradient(135deg,#0d5c31 0%,#0f7b3d 52%,#16a34a 100%);
    color:#fff;
    border-radius:999px;
    padding:12px 18px 12px 14px;
    box-shadow:0 16px 38px rgba(7,53,29,.32),0 0 0 1px rgba(255,255,255,.06) inset;
    font-size:0.85em;
    font-weight:700;
    overflow:hidden;
    isolation:isolate;
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease
}

.contact-widget-toggle::before {
    content:"";
    position:absolute;
    inset:1px;
    border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));
    z-index:-1
}

.contact-widget-toggle::after {
    content:"";
    position:absolute;
    top:0;
    left:-70%;
    width:52%;
    height:100%;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,0));
    transform:skewX(-24deg);
    animation:whatsappShine 3.6s ease-in-out infinite
}

.contact-widget-toggle:hover {
    transform:translateY(-3px) scale(1.02);
    box-shadow:0 22px 48px rgba(7,53,29,.4),0 0 0 1px rgba(255,255,255,.08) inset;
    filter:saturate(1.05)
}

.contact-widget-toggle .icon {
    width:24px;
    height:24px
}

.contact-widget-pulse {
    position:absolute;
    inset:-6px;
    border-radius:999px;
    border:1px solid rgba(37,211,102,.30);
    animation:whatsappPulse 2.4s ease-out infinite;
    pointer-events:none
}

.contact-widget-icon-wrap {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    box-shadow:0 0 0 6px rgba(255,255,255,.05);
    flex-shrink:0
}

.contact-widget-text {
    display:flex;
    flex-direction:column;
    line-height:1.1;
    text-align:left
}

.contact-widget-text small {
    display:block;
    font-size:10px;
    letter-spacing:.4px;
    font-weight:600;
    color:rgba(255,255,255,.76);
    margin-bottom:4px
}

.contact-widget-text strong {
    display:block;
    font-size:16px;
    font-weight:800;
    letter-spacing:-.3px
}

.contact-widget-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:56px;
    height:28px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.16);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.9px
}

.contact-widget-panel {
    position:absolute;
    bottom:82px;
    right:0;
    width:305px;
    background:rgba(255,255,255,.98);
    color:var(--ink);
    box-shadow:0 18px 60px rgba(0,26,24,.20);
    border:1px solid rgba(13,92,49,.10);
    border-radius:22px;
    padding:22px 22px 12px
}

.contact-widget-panel>strong {
    display:block;
    font-size:14px;
    margin-bottom:12px
}

.contact-widget-panel .contact-widget-hours {
    margin: -4px 0 12px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.6;
}

.contact-widget-panel>a {
    display:block;
    border-top:1px solid var(--line);
    padding:12px 0;
    font-size:1em;
    font-weight:700
}

.contact-widget-panel>a:last-child {
    padding-bottom:0
}

.contact-widget-panel small {
    display:block;
    font-size:10px;
    font-weight:400;
    color:var(--muted)
}

.contact-widget-panel .icon {
    float:right;
    width:16px;
    height:16px
}

.client-dialog {
    width:min(540px,calc(100% - 32px));
    max-height:calc(100dvh - 48px);
    padding:32px;
    border:0;
    border-radius:6px;
    background:#fff;
    color:var(--ink);
    box-shadow:0 20px 90px #0004;
    margin:auto
}

.client-dialog::backdrop {
    background:#071d16ba;
    backdrop-filter:blur(4px)
}

.dialog-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:16px
}

.dialog-heading .eyebrow {
    margin:0;
    font-size:9px
}

.dialog-close {
    background:var(--paper);
    border:0;
    width:36px;
    height:36px;
    font-size:24px;
    line-height:1;
    color:var(--green);
    border-radius:50%
}

.client-dialog h2 {
    font-size:30px;
    letter-spacing:-1px;
    margin-bottom:12px
}

.dialog-description {
    font-size:1em;
    color:var(--muted)
}

.client-tracking {
    display:flex;
    gap:16px;
    align-items:center;
    background:var(--green);
    color:#fff;
    padding:20px;
    border-radius:3px
}

.client-tracking:hover {
    background:#1e5432;
    color:#fff
}

.client-tracking>.icon:first-child {
    color:var(--orange-light)
}

.client-tracking>.icon:last-of-type {
    margin-left:auto;
    width:19px;
    height:19px
}

.client-tracking strong {
    display:block;
    font-size:14px
}

.client-tracking small {
    display:block;
    font-size:0.85em;
    color:#d0ded3;
    margin-top:3px
}

.client-requests>a {
    padding:18px 0;
    display:flex;
    align-items:center;
    gap:15px;
    border-bottom:1px solid var(--line);
    font-size:1em;
    font-weight:700
}

.client-requests>a>.icon {
    color:var(--green);
    width:22px;
    height:22px
}

.client-requests>a>span:last-child {
    margin-left:auto
}

.client-requests small {
    display:block;
    font-size:0.85em;
    font-weight:400;
    color:var(--muted)
}

.dialog-support {
    font-size:0.85em;
    margin-top:20px;
    color:var(--muted)
}

.dialog-support a {
    color:var(--green);
    font-weight:800;
    margin-left:4px
}

/* Movimento discreto, respeitando a preferência de acessibilidade do visitante. */

@media(prefers-reduced-motion:no-preference) {
    .hero-copy {
        animation:hero-enter .8s both
    }
    .hero-photo-label {
        animation:hero-enter 1s .15s both
    }
    @keyframes hero-enter {
        from {
            opacity:0;
            transform:translateY(16px)
        }
        to {
            opacity:1;
            transform:translateY(0)
        }
    }
}

@media(min-width:1600px) {
    .hero {
        min-height:700px
    }
    .hero-content {
        padding-top:85px
    }
    .hero h1 {
        font-size:74px
    }
    .hero-bottom {
        margin-top:68px
    }
    .hero-image {
        object-position:center 54%
    }
}

@media(max-width:1199px) {
    .container {
        max-width:1060px;
        padding-left:30px;
        padding-right:30px
    }
    .header-inner {
        gap:23px
    }
    .main-navigation {
        gap:18px;
        font-size:11px
    }
    .nav-client {
        padding-left:17px!important
    }
    .header-quote {
        padding:12px 14px;
        gap:12px;
        font-size:11px
    }
    .brand,.brand img {
        width:153px
    }
    .hero h1 {
        font-size:61px
    }
    .hero-side-label {
        display:none
    }
    .quick-item {
        padding:9px 20px;
        gap:12px
    }
    .quick-item strong {
        font-size:12px
    }
    .quick-item small {
        font-size:10px
    }
    .quick-icon {
        width:37px;
        height:37px
    }
    .service-body {
        padding:24px 21px 19px
    }
    .service-body h3 {
        font-size:22px
    }
    .about-copy {
        padding-left:0
    }
    .about-copy h2 {
        font-size:39px
    }
    .coverage-copy {
        padding-left:40px
    }
    .coverage-copy h2 {
        font-size:35px
    }
    .route-sc {
        right:28px
    }
    .route-sp {
        left:17px
    }
    .route-city>span {
        font-size:46px
    }
    .contact-panel {
        padding:44px 40px;
        gap:40px
    }
    .contact-heading h2 {
        font-size:33px
    }
    .footer-main {
        gap:22px
    }
    .footer-main h2>span {
        display:inline-block;
        margin-top:5px
    }
}

@media(max-width:991px) {
    html {
        scroll-padding-top:90px
    }
    .section-space {
        padding-top:75px;
        padding-bottom:75px
    }
    .header-inner {
        min-height:84px;
        gap:20px
    }
    .brand {
        height:76px
    }
    .main-navigation {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#fff;
        padding:18px 30px 25px;
        box-shadow:0 15px 20px #0a2a1915;
        font-size:14px;
        border-top:1px solid var(--line)
    }
    .main-navigation.is-open {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0
    }
    .main-navigation>a {
        padding:13px 0;
        border-bottom:1px solid var(--line)
    }
    .main-navigation .nav-client {
        border-left:0;
        padding-left:0!important;
        border-bottom:0
    }
    .menu-toggle {
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:5px;
        width:42px;
        height:42px;
        border:1px solid var(--line);
        border-radius:3px;
        background:#fff;
        color:var(--green);
        order:3;
        align-items:center
    }
    .menu-toggle>span:not(.sr-only) {
        display:block;
        width:19px;
        height:2px;
        background:currentColor;
        transition:transform .2s
    }
    .menu-toggle[aria-expanded='true']>span:nth-child(1) {
        transform:translateY(7px) rotate(45deg)
    }
    .menu-toggle[aria-expanded='true']>span:nth-child(2) {
        opacity:0
    }
    .menu-toggle[aria-expanded='true']>span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg)
    }
    .header-quote {
        font-size:0.85em;
        min-height:42px
    }
    .topbar-inner>span {
        display:none
    }
    .topbar-contacts {
        width:100%;
        justify-content:space-between;
        gap:15px
    }
    .topbar-divider {
        display:none
    }
    .hero {
        min-height:620px
    }
    .hero h1 {
        font-size:60px
    }
    .hero-content {
        padding-top:60px
    }
    .hero-shade {
        background:linear-gradient(90deg,#071d16f5 0%,#071d16c7 45%,#071d162b 100%),linear-gradient(0deg,#061b14b8,transparent 60%)
    }
    .hero-image {
        object-position:65% center
    }
    .hero-photo-label {
        display:none
    }
    .hero-bottom {
        margin-top:58px
    }
    .quick-grid {
        padding-top:20px;
        padding-bottom:20px
    }
    .quick-item {
        padding:6px 17px;
        gap:12px;
        align-items:flex-start
    }
    .quick-icon {
        width:30px;
        height:30px;
        background:none
    }
    .quick-arrow {
        display:none
    }
    .quick-item strong {
        font-size:11px
    }
    .quick-item small {
        font-size:10px
    }
    .section-intro {
        gap:30px
    }
    h2 {
        font-size:35px
    }
    .intro-text {
        max-width:220px;
        font-size:12px
    }
    .service-grid {
        row-gap:24px
    }
    .service-grid>.col-md-12 .service-card {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .service-grid>.col-md-12 .service-image-link {
        aspect-ratio:auto;
        height:100%
    }
    .service-body h3 {
        font-size:23px
    }
    .about-row {
        row-gap:42px
    }
    .about-visual {
        max-width:630px;
        margin:auto
    }
    .about-photo {
        height:440px;
        object-position:center 45%
    }
    .about-copy {
        max-width:650px;
        margin:auto
    }
    .about-copy h2 br:nth-child(2) {
        display:none
    }
    .about-copy>p:not(.eyebrow) {
        max-width:580px;
        font-size:1.1em;
    }
    .about-principles {
        max-width:500px
    }
    .about-principles>span {
        font-size:12px
    }
    .coverage-section {
        padding-bottom:0
    }
    .coverage-copy {
        padding:44px 5px 44px 30px
    }
    .coverage-copy h2 {
        font-size:31px
    }
    .route-visual {
        min-height:500px
    }
    .route-label {
        left:20px;
        top:46px;
        font-size:8px
    }
    .route-city>span {
        display:none
    }
    .route-sp {
        top:125px;
        left:12px
    }
    .route-sc {
        right:25px;
        bottom:95px
    }
    .route-city strong {
        font-size:20px
    }
    .route-caption {
        left:20px;
        font-size:8px;
        gap:9px
    }
    .route-truck {
        left:calc(50% - 24px)
    }
    .advantages-grid {
        grid-template-columns:repeat(2,1fr);
        row-gap:28px
    }
    .advantages-grid article:nth-child(3) {
        border-left:0;
        padding-left:0
    }
    .advantages-grid article:nth-child(n+3) {
        border-top:1px solid var(--line)
    }
    .advantages-grid h3 {
        font-size:16px
    }
    .advantages-grid p {
        font-size:12px
    }
    .contact-panel {
        gap:32px;
        padding:38px 28px;
        grid-template-columns:1.1fr 1fr
    }
    .contact-heading h2 {
        font-size:29px
    }
    .contact-heading .eyebrow {
        font-size:8px;
        letter-spacing:1px
    }
    .contact-heading .eyebrow>span {
        width:14px
    }
    .unit-state {
        width:38px;
        height:46px;
        font-size:1.1em;
    }
    .contact-unit {
        gap:12px
    }
    .unit-phone {
        font-size:21px
    }
    .unit-email {
        font-size:11px
    }
    .contact-section {
        padding-bottom:70px
    }
    .footer-main {
        grid-template-columns:1fr 1fr;
        gap:25px 45px
    }
    .footer-brand {
        grid-row:1
    }
    .footer-brand img {
        width:165px
    }
    .footer-main h2 {
        font-size:1.1em;
    }
    .footer-main h2>span {
        margin-left:10px;
        font-size:8px
    }
    .footer-main address,.footer-main a,.footer-brand p {
        font-size:12px
    }
    .footer-links {
        padding-left:0
    }
    .footer-bottom {
        flex-wrap:wrap;
        gap:12px 20px
    }
    .footer-bottom p {
        width:100%
    }
    .contact-widget-toggle {
        font-size:11px
    }
}

@media(max-width:575px) {
    html {
        scroll-padding-top:80px
    }
    .container {
        padding-left:22px;
        padding-right:22px
    }
    .section-space {
        padding-top:58px;
        padding-bottom:58px
    }
    h2 {
        font-size:30px;
        letter-spacing:-1.3px
    }
    .eyebrow {
        font-size:9px;
        letter-spacing:1.5px;
        margin-bottom:18px
    }
    .topbar {
        font-size:9px
    }
    .topbar-inner {
        min-height:30px;
        padding-left:16px;
        padding-right:16px
    }
    .topbar-contacts {
        gap:8px
    }
    .topbar-contacts strong {
        margin-left:3px;
        font-weight:600
    }
    .header-inner {
        min-height:74px;
        gap:13px;
        padding-left:16px;
        padding-right:16px
    }
    .brand,.brand img {
        width:126px
    }
    .brand {
        height:67px
    }
    .header-quote {
        font-size:10px;
        gap:10px;
        padding:10px 12px;
        min-height:37px
    }
    .header-quote .icon {
        width:15px;
        height:15px
    }
    .menu-toggle {
        width:36px;
        height:37px;
        flex-shrink:0
    }
    .main-navigation {
        padding-left:23px;
        padding-right:23px
    }
    .hero {
        min-height:655px
    }
    .hero-content {
        padding-top:47px;
        padding-bottom:22px
    }
    .hero .eyebrow {
        font-size:8px;
        letter-spacing:1.5px;
        gap:8px;
        margin-bottom:22px
    }
    .hero .eyebrow>span {
        width:17px
    }
    .hero h1 {
        font-size:46px;
        line-height:1.1;
        letter-spacing:-2px;
        margin-bottom:23px
    }
    .hero-image {
        object-position:68% center
    }
    .hero-shade {
        background:linear-gradient(90deg,#071d16e8,#071d1666),linear-gradient(0deg,#071d16d9 0%,#071d1655 60%,#071d1680)
    }
    .hero-description {
        font-size:1em;
        line-height:1.9;
        max-width:310px;
        margin-bottom:28px
    }
    .hero-actions {
        flex-direction:column;
        align-items:flex-start;
        gap:21px
    }
    .hero-actions .button {
        font-size:1em;
        min-height:51px;
        padding:14px 20px;
        gap:30px
    }
    .hero-secondary {
        font-size:11px
    }
    .hero-bottom {
        margin-top:36px;
        gap:20px;
        padding-top:20px;
        font-size:9px
    }
    .hero-bottom>span {
        gap:6px
    }
    .hero-bottom .icon {
        width:14px;
        height:14px
    }
    .hero-explore {
        display:none
    }
    .quick-grid {
        grid-template-columns:1fr;
        padding-top:10px;
        padding-bottom:10px
    }
    .quick-item,.quick-item:first-child,.quick-item:last-child {
        padding:17px 0;
        border-right:0;
        border-bottom:1px solid #d9e0d9;
        gap:15px;
        align-items:center
    }
    .quick-item:last-child {
        border-bottom:0
    }
    .quick-icon {
        width:36px;
        height:36px;
        background:#e9eee7
    }
    .quick-item strong {
        font-size:1.1em;
    }
    .quick-item small {
        font-size:11px
    }
    .quick-arrow {
        display:block;
        width:19px;
        height:19px
    }
    .section-intro {
        display:block;
        margin-bottom:28px
    }
    .intro-text {
        max-width:310px;
        margin:17px 0 0;
        font-size:1.1em;
    }
    .service-grid {
        row-gap:22px
    }
    .service-image-link {
        aspect-ratio:1.7
    }
    .service-grid>.col-md-12 .service-card {
        display:flex
    }
    .service-grid>.col-md-12 .service-image-link {
        aspect-ratio:1.7;
        height:auto
    }
    .service-body {
        padding:25px
    }
    .service-body h3 {
        font-size:25px
    }
    .service-body>p:not(.service-kicker) {
        font-size:1.1em;
    }
    .service-kicker {
        font-size:9px
    }
    .service-bottom>span {
        font-size:11px
    }
    .services-note {
        font-size:0.85em;
        line-height:1.9;
        text-align:left;
        margin-top:25px
    }
    .services-note a {
        margin-left:0
    }
    .about-row {
        margin-left:-15px;
        margin-right:-15px;
        row-gap:35px
    }
    .about-row>[class*='col-'] {
        padding-left:15px;
        padding-right:15px
    }
    .about-visual {
        padding-right:16px;
        padding-bottom:27px;
        margin-left:7px
    }
    .about-photo {
        height:345px;
        object-position:39% center
    }
    .photo-corner {
        left:-8px;
        top:-8px;
        width:55px;
        height:55px
    }
    .about-photo-note {
        bottom:53px;
        padding:18px 19px;
        gap:13px
    }
    .about-photo-note>span {
        font-size:1.1em;
    }
    .about-photo-note>.icon {
        width:27px;
        height:27px
    }
    .photo-caption {
        font-size:8px;
        letter-spacing:1.5px
    }
    .about-copy h2 {
        font-size:33px
    }
    .about-copy>p:not(.eyebrow) {
        font-size:1em;
        line-height:1.9
    }
    .about-principles {
        gap:12px 8px
    }
    .about-principles>span {
        font-size:0.85em;
        gap:5px
    }
    .about-principles .icon {
        width:15px;
        height:15px
    }
    .coverage-section {
        padding-bottom:0
    }
    .coverage-panel {
        grid-template-columns:1fr
    }
    .coverage-copy {
        padding:36px 26px 12px
    }
    .coverage-copy h2 {
        font-size:31px
    }
    .coverage-copy>p:not(.eyebrow) {
        font-size:1.1em;
    }
    .coverage-options p>span {
        font-size:11px
    }
    .coverage-disclaimer {
        font-size:9px
    }
    .route-visual {
        height:355px;
        min-height:0
    }
    .route-label {
        top:25px;
        left:26px;
        font-size:8px
    }
    .route-line {
        top:16px;
        height:310px
    }
    .route-city>span {
        display:block;
        font-size:38px
    }
    .route-sp {
        top:68px;
        left:23px;
        gap:10px
    }
    .route-sc {
        bottom:52px;
        right:25px;
        gap:10px
    }
    .route-city strong {
        font-size:19px
    }
    .route-city small {
        font-size:8px
    }
    .route-city p {
        font-size:10px
    }
    .route-truck {
        top:141px;
        width:52px;
        height:52px;
        left:calc(50% - 12px)
    }
    .route-caption {
        bottom:18px;
        left:27px;
        font-size:7px
    }
    .advantages-section .section-intro {
        margin-bottom:29px
    }
    .advantages-section .section-intro>.text-link {
        margin-top:18px;
        font-size:12px
    }
    .advantages-grid {
        gap:24px 0
    }
    .advantages-grid article {
        padding-top:25px;
        padding-right:16px
    }
    .advantages-grid article+article {
        padding-left:16px
    }
    .advantages-grid article:nth-child(3) {
        padding-left:0
    }
    .advantage-number {
        right:15px;
        top:28px;
        font-size:9px
    }
    .advantages-grid article>.icon {
        margin-bottom:18px;
        width:26px;
        height:26px
    }
    .advantages-grid h3 {
        font-size:14px;
        line-height:1.5;
        letter-spacing:-.3px
    }
    .advantages-grid p {
        font-size:0.85em;
        line-height:1.85
    }
    .advantages-grid article>a {
        font-size:10px
    }
    .contact-section {
        padding-bottom:50px
    }
    .contact-panel {
        padding:32px 26px;
        grid-template-columns:1fr;
        gap:13px
    }
    .contact-heading h2 {
        font-size:29px
    }
    .contact-heading .eyebrow {
        font-size:8px;
        letter-spacing:1px;
        gap:7px
    }
    .contact-heading>p:not(.eyebrow) {
        font-size:1.1em;
    }
    .contact-mark {
        display:none
    }
    .contact-unit {
        gap:17px;
        margin-bottom:19px;
        padding-bottom:19px
    }
    .unit-state {
        width:47px;
        height:52px
    }
    .unit-label {
        font-size:9px
    }
    .unit-phone {
        font-size:24px
    }
    .unit-email {
        font-size:11px
    }
    .contact-hint {
        font-size:10px
    }
    .site-footer {
        padding-top:35px
    }
    .footer-main {
        grid-template-columns:1fr 1fr;
        gap:26px 20px;
        padding-bottom:30px
    }
    .footer-brand img {
        width:145px;
        margin-top:-11px
    }
    .footer-brand p {
        font-size:10px
    }
    .footer-main h2 {
        font-size:1em;
        margin-top:6px;
        margin-bottom:18px
    }
    .footer-main h2>span {
        font-size:8px;
        margin-left:0;
        display:block;
        width:max-content
    }
    .footer-main address,.footer-main a {
        font-size:10px;
        overflow-wrap:anywhere
    }
    .footer-links {
        padding-top:12px
    }
    .social-links a {
        font-size:12px
    }
    .footer-bottom {
        font-size:9px;
        line-height:1.9;
        padding-bottom:88px;
        gap:9px 20px
    }
    .footer-bottom p {
        margin:0
    }
    .contact-widget {
        right:16px;
        bottom:16px
    }
    .contact-widget-toggle {
        gap:10px;
        padding:10px 14px 10px 12px;
        font-size:11px
    }
    .contact-widget-icon-wrap {
        width:38px;
        height:38px
    }
    .contact-widget-toggle .icon {
        width:21px;
        height:21px
    }
    .contact-widget-text small {
        font-size:9px
    }
    .contact-widget-text strong {
        font-size:14px
    }
    .contact-widget-badge {
        min-width:48px;
        height:24px;
        padding:0 8px;
        font-size:9px
    }
    .client-dialog {
        padding:24px;
        max-height:calc(100dvh - 32px)
    }
    .client-dialog h2 {
        font-size:27px
    }
    .client-tracking {
        padding:17px 13px;
        gap:11px
    }
    .client-tracking strong {
        font-size:1.1em;
    }
    .client-tracking small {
        font-size:10px
    }
    .dialog-support a {
        display:block;
        margin:5px 0 0
    }
}

@media(max-width:359px) {
    .brand,.brand img {
        width:108px
    }
    .header-inner {
        gap:8px
    }
    .header-quote {
        font-size:9px;
        padding:9px;
        gap:6px
    }
    .hero h1 {
        font-size:41px
    }
    .topbar {
        font-size:8px
    }
    .hero-bottom {
        gap:12px
    }
    .hero-bottom>span {
        font-size:8px
    }
    .contact-panel {
        padding:28px 20px
    }
    .contact-heading h2 {
        font-size:26px
    }
    .unit-email {
        font-size:10px
    }
    .contact-heading .eyebrow {
        font-size:7px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important
    }
}

/* =========================================================
   AJUSTES VISUAIS — TRANS SD HOME
   Objetivo: layout mais moderno, melhor uso das laterais
   e maior destaque visual para as seções.
   ========================================================= */

:root {
    --section-radius: 28px;
    --shadow-soft: 0 20px 60px rgba(12,38,28,.10);
    --shadow-card: 0 12px 35px rgba(12,38,28,.07);
}

body {
    background:#f4f6f2;
}

main {
    overflow:hidden;
}

.container {
    max-width:1440px;
    padding-left:38px;
    padding-right:38px;
}

.section-space {
    padding:120px 0;
}

.section-intro {
    align-items:center;
    margin-bottom:46px;
}

.intro-text {
    max-width:380px;
}

.quick-access {
    background:transparent;
    border-bottom:0;
    margin-top:-42px;
    position:relative;
    z-index:6;
}

.quick-grid {
    background:#fff;
    border:1px solid #e4eae4;
    border-radius:24px;
    box-shadow:var(--shadow-soft);
    padding:14px 22px;
}

.quick-item {
    min-height:96px;
}

.services-section {
    background:linear-gradient(180deg,#f7f9f6 0%,#ffffff 100%);
}

.service-grid {
    row-gap:24px;
}

.service-card {
    border:1px solid #e4ebe5;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow-card);
}

.service-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-soft);
}

.service-image-link {
    aspect-ratio:1.62;
}

.service-body {
    padding:30px 28px 24px;
}

.service-body>p:not(.service-kicker) {
    max-width:34ch;
}

.service-bottom {
    padding-top:18px;
}

.about-section {
    background:linear-gradient(180deg,#f4f6f2 0%,#edf2ec 100%);
}

.about-row {
    align-items:center;
}

.about-visual {
    padding:0 18px 28px 0;
}

.about-photo {
    height:540px;
    border-radius:28px;
    box-shadow:var(--shadow-soft);
}

.photo-corner {
    top:-16px;
    left:-16px;
    width:92px;
    height:92px;
}

.about-photo-note {
    right:-18px;
    bottom:42px;
    padding:24px 28px;
    border-radius:20px;
    box-shadow:0 20px 40px rgba(9,35,22,.18);
}

.photo-caption {
    left:10px;
    bottom:-6px;
}

.about-copy {
    padding:44px 46px;
    background:rgba(255,255,255,.92);
    border:1px solid #e1e8e2;
    border-radius:28px;
    box-shadow:var(--shadow-card);
}

.about-copy>p:not(.eyebrow) {
    max-width:none;
    font-size:1.02em;
}

.about-principles {
    gap:16px 24px;
}

.about-principles>span {
    padding:8px 0;
}

.coverage-section {
    padding-top:40px;
    padding-bottom:30px;
}

.coverage-panel {
    grid-template-columns:1.05fr .95fr;
    border-radius:30px;
    box-shadow:var(--shadow-soft);
}

.coverage-copy {
    padding:72px 72px 68px;
}

.coverage-copy>p:not(.eyebrow) {
    max-width:520px;
}

.route-visual {
    min-height:620px;
    border-left:1px solid rgba(255,255,255,.10);
}

.route-label,
.route-caption {
    left:56px;
}

.route-sp {
    left:56px;
}

.route-sc {
    right:56px;
}

.advantages-section {
    background:linear-gradient(180deg,#ffffff 0%,#f7f9f6 100%);
}

.advantages-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
    border-top:0;
}

.advantages-grid article,
.advantages-grid article+article,
.advantages-grid article:nth-child(3),
.advantages-grid article:nth-child(n+3) {
    padding:32px 28px 26px !important;
    border:1px solid var(--line) !important;
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow-card);
}

.advantages-grid article:hover {
    transform:translateY(-6px);
    box-shadow:var(--shadow-soft);
}

.advantage-number {
    top:22px;
    right:22px;
    font-size:11px;
}

.advantages-grid p {
    font-size:.95em;
}

.advantages-grid article>a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:8px;
}

.contact-section {
    background:linear-gradient(180deg,#f7f9f6 0%,#eef3ee 100%);
    padding-top:34px;
}

.contact-panel {
    background:linear-gradient(135deg,#f9f4eb 0%,#f4eee2 100%);
    border:1px solid #ebe0cf;
    border-top:4px solid var(--orange);
    border-radius:30px;
    padding:60px 64px;
    gap:56px;
    box-shadow:var(--shadow-soft);
}

.contact-heading>p:not(.eyebrow) {
    max-width:31ch;
}

.contact-units {
    padding:28px 28px 18px;
    background:rgba(255,255,255,.82);
    border:1px solid #ece6db;
    border-radius:24px;
    box-shadow:0 10px 30px rgba(18,39,26,.06);
}

.contact-unit:last-of-type {
    margin-bottom:18px;
}

.unit-state {
    border-radius:16px;
}

.contact-hint {
    max-width:none;
}

.site-footer {
    margin-top:44px;
    padding-top:64px;
}

.footer-main {
    gap:42px;
}

.footer-links>a,
.footer-address>a,
.footer-address address {
    line-height:2.05;
}

@media(max-width:1399px) {
    .container {
        max-width:1320px;
    }

    .about-photo {
        height:500px;
    }

    .coverage-copy {
        padding:62px 54px 58px;
    }

    .route-visual {
        min-height:560px;
    }
}

@media(max-width:1199px) {
    .container {
        max-width:1160px;
        padding-left:30px;
        padding-right:30px;
    }

    .section-space {
        padding:95px 0;
    }

    .quick-access {
        margin-top:-28px;
    }

    .about-photo {
        height:470px;
    }

    .about-copy {
        padding:34px 34px;
    }

    .coverage-copy {
        padding:54px 42px;
    }

    .coverage-copy>p:not(.eyebrow) {
        max-width:100%;
    }

    .route-visual {
        min-height:520px;
    }

    .route-label,
    .route-caption,
    .route-sp {
        left:36px;
    }

    .route-sc {
        right:36px;
    }

    .contact-panel {
        padding:48px 44px;
        gap:36px;
    }
}

@media(max-width:991px) {
    .container {
        padding-left:24px;
        padding-right:24px;
    }

    .section-space {
        padding:80px 0;
    }

    .quick-access {
        margin-top:-18px;
    }

    .quick-grid {
        padding:10px 18px;
    }

    .about-photo {
        height:430px;
    }

    .about-photo-note {
        right:16px;
        bottom:24px;
        max-width:310px;
    }

    .about-copy {
        padding:32px 30px;
    }

    .coverage-panel {
        grid-template-columns:1fr;
    }

    .coverage-copy {
        padding:46px 32px 24px;
    }

    .route-visual {
        min-height:430px;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.10);
    }

    .advantages-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .contact-panel {
        grid-template-columns:1fr;
        padding:40px 30px;
        gap:24px;
    }

    .contact-units {
        padding:24px 22px 14px;
    }
}

@media(max-width:575px) {
    .container {
        padding-left:20px;
        padding-right:20px;
    }

    .section-space {
        padding:58px 0;
    }

    .quick-access {
        margin-top:0;
    }

    .quick-grid {
        padding:0 18px;
        border-radius:20px;
    }

    .section-intro {
        margin-bottom:28px;
    }

    .service-card {
        border-radius:20px;
    }

    .service-body {
        padding:24px 22px 22px;
    }

    .about-visual {
        padding-right:0;
    }

    .about-photo {
        height:355px;
        border-radius:22px;
    }

    .about-photo-note {
        right:10px;
        left:auto;
        bottom:20px;
        padding:16px 18px;
        border-radius:16px;
        max-width:252px;
    }

    .about-photo-note>span {
        font-size:.95em;
    }

    .about-copy {
        padding:26px 22px;
        border-radius:22px;
    }

    .about-principles {
        grid-template-columns:1fr;
        gap:10px;
    }

    .coverage-panel,
    .contact-panel {
        border-radius:22px;
    }

    .coverage-copy {
        padding:34px 24px 12px;
    }

    .route-visual {
        min-height:355px;
    }

    .route-label,
    .route-caption,
    .route-sp {
        left:26px;
    }

    .route-sc {
        right:26px;
    }

    .advantages-grid {
        grid-template-columns:1fr;
        gap:18px;
    }

    .advantages-grid article,
    .advantages-grid article+article,
    .advantages-grid article:nth-child(3),
    .advantages-grid article:nth-child(n+3) {
        padding:24px 22px 22px !important;
    }

    .contact-section {
        padding-top:16px;
    }

    .contact-panel {
        padding:30px 22px;
    }

    .contact-units {
        padding:20px 18px 12px;
        border-radius:18px;
    }

    .site-footer {
        margin-top:24px;
        padding-top:38px;
    }

    .footer-main {
        gap:24px 18px;
    }
}

/* =========================================================
   HERO CAROUSEL — 3 banners com navegação
   ========================================================= */

.hero-carousel {
    position:relative;
    min-height:820px;
}

.hero-slider {
    position:relative;
    min-height:inherit;
}

.hero-slide {
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .55s ease, visibility .55s ease;
}

.hero-slide.is-active {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    z-index:1;
}

.hero-slide .hero-image,
.hero-slide .hero-shade {
    position:absolute;
    inset:0;
}

.hero-slide .hero-image {
    z-index:-3;
}

.hero-slide .hero-shade {
    z-index:-2;
}

.hero-carousel .hero-content {
    min-height:820px;
    display:flex;
    align-items:center;
    padding-top:126px;
    padding-bottom:162px;
}

.hero-carousel .hero-copy {
    max-width:680px;
}

.hero-title-alt,
.hero-carousel .hero h1,
.hero-carousel .hero h2 {
    font-size:76px;
    line-height:1.02;
    letter-spacing:-3.4px;
    margin-bottom:24px;
    font-weight:800;
    color:#fff;
}

.hero-title-alt em,
.hero-carousel h1 em {
    font-style:normal;
    color:var(--orange-light);
}

.hero-carousel .hero-description {
    max-width:580px;
    font-size:1.22em;
    line-height:1.8;
    color:#e5ece8;
    margin-bottom:34px;
}

.hero-carousel .hero-actions {
    gap:18px;
    flex-wrap:wrap;
}

.hero-carousel .hero-secondary {
    min-height:53px;
    padding:13px 0;
}

.hero-controls {
    position:absolute;
    right:42px;
    bottom:116px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 14px;
    background:rgba(7,29,22,.65);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    border-radius:999px;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.hero-nav {
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:30px;
    line-height:1;
}

.hero-nav:hover {
    background:var(--orange);
    color:#102218;
    border-color:var(--orange);
}

.hero-dots {
    display:flex;
    align-items:center;
    gap:10px;
}

.hero-dot {
    width:11px;
    height:11px;
    border-radius:50%;
    border:0;
    padding:0;
    background:rgba(255,255,255,.35);
}

.hero-dot.is-active {
    width:30px;
    border-radius:999px;
    background:var(--orange);
}

.hero-carousel .hero-side-label,
.hero-carousel .hero-bottom,
.hero-carousel .hero-photo-label {
    display:none !important;
}

@media(max-width:1599px) {
    .hero-carousel {
        min-height:770px;
    }

    .hero-carousel .hero-content {
        min-height:770px;
        padding-top:112px;
        padding-bottom:150px;
    }

    .hero-title-alt,
    .hero-carousel h1,
    .hero-carousel h2 {
        font-size:68px;
    }
}

@media(max-width:1199px) {
    .hero-carousel {
        min-height:700px;
    }

    .hero-carousel .hero-content {
        min-height:700px;
        padding-top:100px;
        padding-bottom:138px;
    }

    .hero-title-alt,
    .hero-carousel h1,
    .hero-carousel h2 {
        font-size:58px;
        letter-spacing:-2.6px;
    }

    .hero-carousel .hero-description {
        max-width:500px;
        font-size:1.08em;
    }

    .hero-controls {
        right:30px;
        bottom:108px;
    }
}

@media(max-width:991px) {
    .hero-carousel {
        min-height:660px;
    }

    .hero-carousel .hero-content {
        min-height:660px;
        padding-top:94px;
        padding-bottom:126px;
    }

    .hero-title-alt,
    .hero-carousel h1,
    .hero-carousel h2 {
        font-size:50px;
        line-height:1.06;
    }

    .hero-controls {
        left:24px;
        right:auto;
        bottom:94px;
    }
}

@media(max-width:575px) {
    .hero-carousel {
        min-height:690px;
    }

    .hero-carousel .hero-content {
        min-height:690px;
        align-items:flex-start;
        padding-top:88px;
        padding-bottom:150px;
    }

    .hero-carousel .hero-copy {
        max-width:100%;
    }

    .hero-title-alt,
    .hero-carousel h1,
    .hero-carousel h2 {
        font-size:42px;
        line-height:1.08;
        letter-spacing:-1.8px;
        margin-bottom:20px;
    }

    .hero-carousel .hero-description {
        max-width:100%;
        font-size:1em;
        line-height:1.75;
        margin-bottom:28px;
    }

    .hero-controls {
        left:20px;
        bottom:108px;
        gap:10px;
        padding:10px 12px;
    }

    .hero-nav {
        width:42px;
        height:42px;
        font-size:27px;
    }

    .hero-dot {
        width:10px;
        height:10px;
    }

    .hero-dot.is-active {
        width:24px;
    }
}

/* Controles centralizados em todas as resoluções. */
.hero-carousel .hero-controls {
    left:50%;
    right:auto;
    transform:translateX(-50%);
}


.contact-widget-panel>strong {
    display:block;
    font-size:15px;
    margin-bottom:12px
}

.contact-widget-panel>a {
    display:block;
    border-top:1px solid var(--line);
    padding:14px 0;
    font-size:1em;
    font-weight:700
}

.contact-widget-panel>a:last-child {
    padding-bottom:4px
}

.contact-widget-panel small {
    display:block;
    font-size:11px;
    font-weight:500;
    color:var(--muted);
    margin-top:4px
}

.contact-widget-panel .icon {
    float:right;
    width:16px;
    height:16px
}

@keyframes whatsappPulse {
    0% {
        transform:scale(.96);
        opacity:.65
    }
    70% {
        transform:scale(1.08);
        opacity:0
    }
    100% {
        transform:scale(1.08);
        opacity:0
    }
}

@keyframes whatsappShine {
    0%, 72%, 100% {
        left:-70%
    }
    84% {
        left:130%
    }
}

@media(max-width:575px) {
    .contact-widget {
        right:14px;
        bottom:16px;
    }
    .contact-widget-panel {
        width:min(305px,calc(100vw - 28px));
        bottom:76px;
    }
}

/* Terceiro banner — fotografia da operação da Trans SD. */
.hero-slide-operation .hero-image {
    object-position: center 58%;
}

.hero-slide-operation .hero-shade {
    background:
        linear-gradient(90deg, #061d14f7 0%, #071f15d9 32%, #071c1461 62%, #07191314 100%),
        linear-gradient(0deg, #051811a6, transparent 55%);
}

@media (max-width: 767px) {
    .hero-slide-operation .hero-image {
        object-position: 61% center;
    }

    .hero-slide-operation .hero-shade {
        background:
            linear-gradient(90deg, #071d16eb, #071d166b),
            linear-gradient(0deg, #071d16d9 0%, #071d164d 65%, #071d1666);
    }
}

/* Navegação dos banners — redução de 30% */

.hero-carousel .hero-controls {
    gap: 10px;
    padding: 8px 10px;
}

.hero-carousel .hero-nav {
    width: 34px;
    height: 34px;
    font-size: 21px;
}

.hero-carousel .hero-dots {
    gap: 7px;
}

.hero-carousel .hero-dot {
    width: 8px;
    height: 8px;
}

.hero-carousel .hero-dot.is-active {
    width: 21px;
}

@media (max-width: 575px) {

    .hero-carousel .hero-controls {
        gap: 7px;
        padding: 7px 8px;
    }

    .hero-carousel .hero-nav {
        width: 29px;
        height: 29px;
        font-size: 19px;
    }

    .hero-carousel .hero-dot {
        width: 7px;
        height: 7px;
    }

    .hero-carousel .hero-dot.is-active {
        width: 17px;
    }

}
