/* ==========================================================
   RODOVIARIA DE LAJEADO · HOME V02
   Frontend independente do Manager 2.0
   ========================================================== */

:root{
    --blue:#0d3768;
    --blue-dark:#08294f;
    --blue-deep:#061c37;
    --blue-soft:#edf3f8;
    --sky:#2c6ca8;
    --accent:#e8b044;
    --accent-light:#f3cb72;
    --paper:#f7f8f9;
    --white:#fff;
    --ink:#12202d;
    --muted:#66727d;
    --line:#dfe5e9;
    --fs:100%;
    --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    scroll-padding-top:100px;
    font-size:var(--fs);
}

body{
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:'DM Sans',sans-serif;
    -webkit-font-smoothing:antialiased;
}

body.menu-open{overflow:hidden}

a{color:inherit;text-decoration:none}
button{font:inherit}

.skip{
    position:fixed;
    left:18px;
    top:-100px;
    z-index:10000;
    background:#fff;
    color:#111;
    padding:13px 18px;
    box-shadow:0 10px 30px #0002;
}
.skip:focus{top:18px}

.eyebrow{
    display:inline-block;
    color:var(--blue);
    font-size:.66rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.eyebrow.light{color:#9bc2e7}

h1,h2,h3{
    font-family:'Manrope',sans-serif;
    letter-spacing:-.045em;
}

h2 em,h1 em{
    font-style:normal;
    font-weight:500;
}

.section{padding:118px 6vw}

.reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.reveal.is-visible{
    opacity:1;
    transform:none;
}


/* HEADER ================================================== */

.site-header{
    position:absolute;
    left:0;
    right:0;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(255,255,255,.17);
    transition:.35s var(--ease);
}

.header-inner{
    height:108px;
    padding:0 5vw;
    display:flex;
    align-items:center;
    gap:45px;
}

.brand{
    display:flex;
    align-items:center;
    width:235px;
    height:76px;
}

.brand img{
    display:block;
    width:100%;
    max-height:74px;
    object-fit:contain;
    object-position:left center;
    filter:brightness(0) invert(1);
}

.desktop-nav{
    display:flex;
    align-items:center;
    gap:30px;
    margin-left:auto;
}

.desktop-nav a{
    position:relative;
    padding:16px 0;
    color:rgba(255,255,255,.88);
    font-size:.78rem;
    font-weight:600;
}

.desktop-nav a:after{
    content:"";
    position:absolute;
    left:0;
    bottom:8px;
    width:0;
    height:1px;
    background:var(--accent);
    transition:.3s var(--ease);
}

.desktop-nav a:hover:after{width:100%}

.header-tools{
    display:flex;
    align-items:center;
    gap:7px;
}

.icon-button,.menu-button{
    width:48px;
    height:48px;
    min-width:48px;
    padding:0;
    border:1px solid rgba(255,255,255,.4);
    background:rgba(255,255,255,.05);
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:.25s;
}

.icon-button:hover,
.menu-button:hover{
    background:#fff;
    border-color:#fff;
    color:var(--blue);
    transform:translateY(-2px);
}

.icon-button span{
    font-size:.8rem;
    font-weight:800;
}

.icon-button svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.menu-button{padding:12px}

.menu-button span{
    display:block;
    width:21px;
    height:1px;
    margin:3px auto;
    background:currentColor;
}

.site-header.is-sticky{
    position:fixed;
    background:rgba(8,41,79,.97);
    backdrop-filter:blur(16px);
    box-shadow:0 12px 35px rgba(0,20,40,.15);
}

.site-header.is-sticky .header-inner{height:82px}
.site-header.is-sticky .brand{height:60px;width:205px}


/* MENU ==================================================== */

.mobile-menu{
    position:fixed;
    right:0;
    top:0;
    bottom:0;
    z-index:1002;
    width:min(520px,100%);
    padding:38px 45px;
    background:var(--blue-deep);
    color:#fff;
    display:flex;
    flex-direction:column;
    transform:translateX(102%);
    transition:.5s var(--ease);
}

body.menu-open .mobile-menu{transform:none}

.menu-backdrop{
    position:fixed;
    inset:0;
    z-index:1001;
    background:rgba(2,15,30,.72);
    opacity:0;
    visibility:hidden;
    transition:.35s;
}

body.menu-open .menu-backdrop{
    opacity:1;
    visibility:visible;
}

.mobile-menu-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:25px;
    border-bottom:1px solid rgba(255,255,255,.15);
}

.mobile-menu-head span{
    font-size:.68rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#9bc2e7;
}

.mobile-menu-head button{
    width:42px;
    height:42px;
    border:1px solid #ffffff44;
    background:none;
    color:#fff;
    font-size:1.6rem;
    cursor:pointer;
}

.mobile-menu nav{
    display:flex;
    flex-direction:column;
    margin-top:24px;
}

.mobile-menu nav a{
    display:grid;
    grid-template-columns:45px 1fr;
    align-items:center;
    padding:17px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    transition:.25s;
}

.mobile-menu nav a:hover{
    padding-left:8px;
    color:var(--accent-light);
}

.mobile-menu nav small{
    color:#76a7d4;
    font-size:.6rem;
}

.mobile-menu nav span{
    font-family:'Manrope';
    font-size:1.45rem;
    font-weight:600;
}

.mobile-menu-foot{
    margin-top:auto;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.15);
    display:flex;
    flex-direction:column;
    gap:7px;
}

.mobile-menu-foot small{
    color:#76a7d4;
    font-size:.58rem;
    letter-spacing:.13em;
}

.mobile-menu-foot strong{font-size:1.05rem}
.mobile-menu-foot span{color:#9fb0c0;font-size:.76rem}


/* HERO ==================================================== */

.hero{
    min-height:790px;
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 84% 25%,rgba(59,125,187,.32),transparent 25%),
        linear-gradient(120deg,#061c37 0%,#0a2d57 52%,#0e477e 100%);
}

.hero:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(0,0,0,.05),transparent 45%),
        radial-gradient(circle at 72% 65%,rgba(232,176,68,.08),transparent 20%);
}

.hero-inner{
    min-height:790px;
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
    gap:7vw;
    align-items:center;
    padding:150px 7vw 95px;
}

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

.hero h1{
    margin:22px 0 27px;
    max-width:900px;
    font-size:clamp(3.7rem,6vw,6.7rem);
    line-height:.94;
    font-weight:700;
}

.hero h1 em{
    color:#b6d7f4;
}

.hero-copy>p{
    max-width:610px;
    color:#c9d7e4;
    font-size:1rem;
    line-height:1.8;
}

.hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    max-width:790px;
    margin-top:42px;
    border:1px solid rgba(255,255,255,.22);
}

.travel-button{
    position:relative;
    min-height:142px;
    padding:24px;
    display:grid;
    grid-template-columns:36px 1fr auto;
    gap:17px;
    align-items:center;
    transition:.35s var(--ease);
}

.travel-button+ .travel-button{
    border-left:1px solid rgba(255,255,255,.22);
}

.travel-rs{
    background:#fff;
    color:var(--blue-deep);
}

.travel-br{
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(8px);
}

.travel-button:hover{
    transform:translateY(-5px);
    box-shadow:0 25px 50px rgba(0,10,30,.2);
}

.travel-br:hover{background:rgba(255,255,255,.14)}

.travel-number{
    align-self:start;
    color:#7395b3;
    font-size:.6rem;
}

.travel-copy{
    display:flex;
    flex-direction:column;
}

.travel-copy small{
    color:#7292ae;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.13em;
}

.travel-br .travel-copy small{color:#8bb8de}

.travel-copy strong{
    margin:7px 0 5px;
    font-family:'Manrope';
    font-size:1.25rem;
    letter-spacing:-.03em;
}

.travel-copy>span{
    color:#70808e;
    font-size:.7rem;
}

.travel-br .travel-copy>span{color:#a9c0d4}

.travel-button>b{
    font-size:1.3rem;
    font-weight:400;
    color:var(--accent);
}

.hero-side{
    align-self:center;
    border-left:1px solid rgba(255,255,255,.2);
    padding-left:40px;
}

.weather-card{
    padding-bottom:35px;
    border-bottom:1px solid rgba(255,255,255,.2);
}

.weather-head{
    display:flex;
    flex-direction:column;
}

.weather-head span{
    color:#81acd2;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.15em;
}

.weather-head strong{
    margin-top:4px;
    font-size:1.2rem;
}

.weather-main{
    margin-top:25px;
    display:flex;
    align-items:center;
    gap:22px;
}

.weather-main>strong{
    font-family:'Manrope';
    font-size:4.3rem;
    font-weight:500;
    line-height:1;
    letter-spacing:-.08em;
}

.weather-main div{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.weather-main span{
    font-size:.78rem;
    font-weight:600;
}

.weather-main small{
    color:#8eaac1;
    font-size:.65rem;
}

.hero-stat{
    padding-top:32px;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:20px;
}

.hero-stat small{
    grid-column:1/-1;
    color:#81acd2;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.15em;
}

.hero-stat strong{
    margin-top:5px;
    font-family:'Manrope';
    font-size:2.7rem;
    line-height:1;
    color:var(--accent-light);
}

.hero-stat span{
    margin-top:7px;
    color:#a8bdcf;
    font-size:.68rem;
    line-height:1.45;
}

.hero-art{
    position:absolute;
    inset:0;
    z-index:1;
    opacity:.85;
}

.hero-watermark{
    position:absolute;
    right:-1vw;
    bottom:-3vw;
    font-family:'Manrope';
    font-weight:800;
    font-size:clamp(8rem,19vw,20rem);
    line-height:.7;
    color:rgba(255,255,255,.025);
    letter-spacing:-.08em;
}

.hero-route{
    position:absolute;
    border:1px solid rgba(131,184,229,.16);
    border-radius:50%;
}

.route-one{
    width:700px;
    height:700px;
    right:-180px;
    top:-100px;
}

.route-two{
    width:480px;
    height:480px;
    right:-50px;
    top:20px;
}

.hero-dot{
    position:absolute;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 7px rgba(232,176,68,.12);
}

.dot-one{right:24%;top:27%}
.dot-two{right:7%;top:56%}
.dot-three{right:31%;bottom:17%}

.hero-scroll{
    position:absolute;
    z-index:5;
    left:2.2vw;
    bottom:38px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    color:#88a8c4;
    font-size:.52rem;
    letter-spacing:.15em;
    writing-mode:vertical-rl;
}

.hero-scroll span{
    display:block;
    width:1px;
    height:35px;
    background:#7897b2;
}


/* QUICK =================================================== */

.quick-links{
    position:relative;
    z-index:10;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:0 5vw;
    background:#fff;
    box-shadow:0 12px 40px rgba(7,37,67,.06);
}

.quick-links>a{
    min-height:112px;
    padding:25px 24px;
    display:grid;
    grid-template-columns:28px 1fr auto;
    align-items:center;
    gap:15px;
    border-right:1px solid var(--line);
    transition:.3s var(--ease);
}

.quick-links>a:first-child{border-left:1px solid var(--line)}

.quick-links>a:hover{
    background:var(--blue);
    color:#fff;
    transform:translateY(-4px);
}

.quick-links>a>span{
    color:#9aa8b3;
    font-size:.58rem;
}

.quick-links small{
    display:block;
    margin-bottom:5px;
    color:#8494a0;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.12em;
}

.quick-links strong{
    font-size:.83rem;
}

.quick-links b{
    color:var(--blue);
    font-size:1.05rem;
}

.quick-links>a:hover small,
.quick-links>a:hover>span{color:#9fc5e7}

.quick-links>a:hover b{color:var(--accent)}


/* INTRO =================================================== */

.intro{background:var(--paper)}

.intro-kicker{
    display:flex;
    align-items:center;
    gap:25px;
    margin-bottom:48px;
}

.intro-line{
    height:1px;
    flex:1;
    background:var(--line);
}

.intro-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:10vw;
}

.intro h2,
.section-head h2,
.destination-copy h2,
.contact h2{
    margin:0;
    font-size:clamp(2.9rem,4.6vw,5.1rem);
    line-height:1.02;
    font-weight:700;
}

.intro h2 em,
.section-head h2 em,
.destination-copy h2 em,
.contact h2 em{
    color:var(--blue);
}

.intro-text .lead{
    margin-top:0;
    color:var(--ink);
    font-size:1.15rem;
    line-height:1.7;
}

.intro-text p:not(.lead){
    color:var(--muted);
    font-size:.9rem;
    line-height:1.8;
}

.text-link{
    max-width:250px;
    margin-top:28px;
    padding-bottom:12px;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #b9c5ce;
    color:var(--blue);
    font-size:.78rem;
    font-weight:800;
}


/* SERVICES ================================================= */

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:50px;
    margin-bottom:55px;
}

.section-head>p{
    max-width:410px;
    margin:0;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.8;
}

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

.service-card{
    min-height:380px;
    padding:32px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    position:relative;
    transition:.4s var(--ease);
}

.service-card:before{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:0;
    background:var(--blue);
    z-index:-1;
    transition:.45s var(--ease);
}

.service-card:hover{
    color:#fff;
    transform:translateY(-8px);
    box-shadow:0 25px 55px rgba(8,41,79,.15);
}

.service-card:hover:before{height:100%}

.service-top{
    display:flex;
    justify-content:space-between;
    color:#9ba7af;
}

.service-top span{font-size:.62rem}

.service-top b{
    color:var(--blue);
    font-size:1.2rem;
    font-weight:400;
}

.service-card small{
    color:var(--blue);
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.14em;
}

.service-card h3{
    margin:12px 0;
    font-size:1.75rem;
    font-weight:650;
}

.service-card p{
    max-width:330px;
    color:var(--muted);
    font-size:.83rem;
    line-height:1.7;
}

.service-card a{
    display:inline-block;
    margin-top:15px;
    color:var(--blue);
    font-size:.75rem;
    font-weight:800;
}

.service-card:hover p,
.service-card:hover small,
.service-card:hover a,
.service-card:hover .service-top{color:#c4d8e9}

.service-card:hover .service-top b{color:var(--accent)}


/* DESTINATIONS ============================================ */

.destinations{
    min-height:680px;
    padding:110px 7vw;
    color:#fff;
    overflow:hidden;
    background:
        radial-gradient(circle at 75% 45%,#174f83 0,transparent 33%),
        var(--blue-deep);
}

.destination-inner{
    min-height:460px;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:7vw;
    align-items:center;
}

.destination-copy h2{
    margin:15px 0 25px;
}

.destination-copy h2 em{color:#9fc9ed}

.destination-copy p{
    max-width:570px;
    color:#a9c0d4;
    font-size:.9rem;
    line-height:1.8;
}

.destination-copy>a{
    max-width:250px;
    margin-top:30px;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #577b9b;
    color:#fff;
    font-size:.78rem;
    font-weight:800;
}

.destination-copy>a span{color:var(--accent)}

.route-graphic{
    position:relative;
    min-height:480px;
    border:1px solid rgba(255,255,255,.1);
    background:
        linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:52px 52px;
}

.route-graphic:after{
    content:"RS";
    position:absolute;
    right:25px;
    bottom:10px;
    font-family:'Manrope';
    font-size:8rem;
    font-weight:800;
    color:rgba(255,255,255,.025);
}

.route-city{
    position:absolute;
    z-index:3;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.1em;
    color:#a9c9e4;
}

.city-la{left:22%;top:50%;color:#fff}
.city-sp{right:9%;top:18%}
.city-fl{right:8%;bottom:18%}
.city-cu{left:48%;top:29%}

.route-path{
    position:absolute;
    height:1px;
    transform-origin:left center;
    background:linear-gradient(90deg,var(--accent),#6da1cc);
}

.path-a{width:46%;left:24%;top:52%;transform:rotate(-31deg)}
.path-b{width:54%;left:24%;top:52%;transform:rotate(18deg)}
.path-c{width:30%;left:24%;top:52%;transform:rotate(-12deg)}

.route-point{
    position:absolute;
    z-index:4;
    width:9px;
    height:9px;
    border:2px solid var(--accent);
    border-radius:50%;
    background:var(--blue-deep);
    box-shadow:0 0 0 6px rgba(232,176,68,.1);
}

.p1{left:22%;top:50%}
.p2{right:18%;top:19%}
.p3{right:14%;bottom:20%}
.p4{left:54%;top:30%}


/* CITY GALLERY ============================================ */

.city{overflow:hidden;background:#fff}

.city-carousel{
    position:relative;
    margin-left:-1vw;
    margin-right:-1vw;
}

.city-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:0 1vw 22px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.city-track::-webkit-scrollbar{display:none}

.city-card{
    flex:0 0 38%;
    min-height:470px;
    position:relative;
    overflow:hidden;
    scroll-snap-align:start;
    display:flex;
    align-items:flex-end;
    padding:30px;
    color:#fff;
    background-color:#173f67;
    transition:.45s var(--ease);
}

.city-card:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,transparent 35%,rgba(3,23,42,.78)),
        radial-gradient(circle at 70% 20%,rgba(102,166,219,.7),transparent 35%),
        linear-gradient(135deg,#164d7d,#0a2e55);
}

.city-two:before{
    background:
        linear-gradient(180deg,transparent 30%,rgba(5,28,45,.8)),
        radial-gradient(circle at 20% 20%,#76a5c5,transparent 30%),
        linear-gradient(135deg,#3b718c,#163d59);
}

.city-three:before{
    background:
        linear-gradient(180deg,transparent 30%,rgba(5,25,44,.82)),
        radial-gradient(circle at 70% 30%,#9cb6c8,transparent 30%),
        linear-gradient(135deg,#31566d,#0d304d);
}

.city-four:before{
    background:
        linear-gradient(180deg,transparent 30%,rgba(4,25,42,.82)),
        radial-gradient(circle at 35% 20%,#6f9eaf,transparent 35%),
        linear-gradient(135deg,#2b6273,#103b54);
}

.city-card:after{
    content:"";
    position:absolute;
    inset:0;
    opacity:.18;
    background:
        repeating-linear-gradient(
            120deg,
            transparent 0 50px,
            rgba(255,255,255,.08) 51px 52px
        );
}

.city-card:hover{transform:translateY(-6px)}

.city-card>div{
    position:relative;
    z-index:3;
}

.city-card small{
    display:block;
    margin-bottom:9px;
    color:#b9d6eb;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.13em;
}

.city-card strong{
    font-family:'Manrope';
    font-size:1.55rem;
}

.carousel-arrow{
    position:absolute;
    top:50%;
    z-index:10;
    width:50px;
    height:50px;
    margin-top:-25px;
    border:0;
    background:#fff;
    color:var(--blue);
    box-shadow:0 12px 30px #00162b22;
    cursor:pointer;
    transition:.25s;
}

.carousel-arrow:hover{
    background:var(--blue);
    color:#fff;
}

.carousel-prev{left:-12px}
.carousel-next{right:-12px}

.gallery-note{
    display:flex;
    justify-content:space-between;
    gap:30px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}

.gallery-note span{
    color:var(--blue);
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.13em;
}

.gallery-note p{
    margin:0;
    color:#8a969f;
    font-size:.68rem;
}


/* CONTACT ================================================= */

.contact{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:8vw;
    background:var(--blue-soft);
}

.contact h2{
    margin:15px 0 25px;
}

.contact p{
    max-width:580px;
    color:var(--muted);
    line-height:1.8;
}

.map-button{
    width:220px;
    margin-top:28px;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #aebdca;
    color:var(--blue);
    font-size:.78rem;
    font-weight:800;
}

.contact-cards{
    border-top:1px solid #cfdbe4;
}

.contact-cards>a{
    min-height:105px;
    padding:22px 0;
    display:grid;
    grid-template-columns:1fr auto;
    align-content:center;
    border-bottom:1px solid #cfdbe4;
}

.contact-cards small{
    grid-column:1/-1;
    margin-bottom:7px;
    color:#7890a4;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.13em;
}

.contact-cards strong{
    font-size:.92rem;
}

.contact-cards span{
    color:var(--blue);
    transition:.25s;
}

.contact-cards>a:hover span{transform:translateX(5px)}


/* FOOTER ================================================== */

.site-footer{
    padding:0;
    background:#05182d;
    color:#fff;
}

.footer-main{
    display:grid;
    grid-template-columns:1.4fr .7fr 1fr 1.2fr;
    gap:0;
    padding:70px 6vw 55px;
}

.footer-main>div{
    padding:0 32px;
    border-left:1px solid rgba(255,255,255,.12);
}

.footer-main>div:first-child{
    padding-left:0;
    border-left:0;
}

.footer-brand img{
    width:220px;
    max-height:80px;
    object-fit:contain;
    object-position:left;
    filter:brightness(0) invert(1);
}

.footer-brand p{
    max-width:330px;
    color:#8299ad;
    font-size:.76rem;
    line-height:1.8;
}

.footer-main>div>small{
    display:block;
    margin-bottom:18px;
    color:#739fc5;
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.14em;
}

.footer-main a{
    display:block;
    margin:9px 0;
    color:#bdcbd6;
    font-size:.75rem;
    transition:.2s;
}

.footer-main a:hover{color:#fff}

.footer-main p{
    color:#8195a7;
    font-size:.72rem;
    line-height:1.7;
}

.footer-cta strong{
    display:block;
    max-width:300px;
    font-family:'Manrope';
    font-size:1.45rem;
    line-height:1.2;
}

.footer-cta>a{
    margin-top:25px;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
    border-bottom:1px solid #38546d;
    color:#fff;
    font-weight:800;
}

.footer-cta>a span{color:var(--accent)}

.footer-bottom{
    padding:20px 6vw;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex;
    justify-content:space-between;
    gap:25px;
    color:#637b90;
    font-size:.6rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}


/* WHATSAPP ================================================ */

.whatsapp{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:500;
    min-height:54px;
    padding:0 18px 0 15px;
    border-radius:30px;
    background:#20b865;
    color:#fff;
    display:flex;
    align-items:center;
    gap:9px;
    box-shadow:0 12px 35px rgba(0,0,0,.2);
    font-size:.7rem;
    font-weight:800;
    transition:.3s;
}

.whatsapp:hover{transform:translateY(-4px)}

.whatsapp svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:#fff;
    stroke-width:1.4;
}


/* ACCESSIBILITY =========================================== */

.a11y-panel{
    position:fixed;
    right:5vw;
    top:95px;
    z-index:1005;
    width:340px;
    padding:18px;
    background:#fff;
    color:var(--ink);
    border:1px solid var(--line);
    box-shadow:0 22px 65px rgba(0,20,40,.2);
}

.a11y-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}

.a11y-head small{
    display:block;
    color:var(--blue);
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.14em;
}

.a11y-head strong{
    font-family:'Manrope';
    font-size:1.2rem;
}

.a11y-head button{
    border:0;
    background:none;
    font-size:1.5rem;
    cursor:pointer;
}

.a11y-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
}

.a11y-grid button{
    min-height:65px;
    padding:10px;
    border:1px solid var(--line);
    background:#f8fafb;
    text-align:left;
    cursor:pointer;
}

.a11y-grid b{
    display:block;
    color:var(--blue);
}

.a11y-grid span{
    display:block;
    margin-top:4px;
    font-size:.67rem;
}

body.high-contrast{
    filter:contrast(1.25);
}

body.highlight-links a{
    text-decoration:underline!important;
    text-decoration-thickness:2px!important;
    text-underline-offset:3px!important;
}

body.reduce-motion *,
body.reduce-motion *:before,
body.reduce-motion *:after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
}

:focus-visible{
    outline:3px solid var(--accent);
    outline-offset:4px;
}


/* VLIBRAS */

#vlibras[vw]{
    position:fixed!important;
    right:18px!important;
    bottom:90px!important;
    top:auto!important;
    left:auto!important;
    z-index:10000!important;
}

#vlibras [vw-access-button]{
    display:none!important;
}


/* RESPONSIVE ============================================== */

@media(max-width:1050px){

    .desktop-nav{display:none}

    .hero-inner{
        grid-template-columns:1fr;
        gap:45px;
        padding-top:155px;
    }

    .hero-side{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:30px;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.2);
        padding:30px 0 0;
    }

    .weather-card{
        padding:0 30px 0 0;
        border-bottom:0;
        border-right:1px solid rgba(255,255,255,.2);
    }

    .hero-stat{padding-top:0}

    .quick-links{grid-template-columns:1fr 1fr}

    .quick-links>a:nth-child(3){border-left:1px solid var(--line)}

    .city-card{flex-basis:55%}

    .footer-main{grid-template-columns:1fr 1fr}

    .footer-main>div:nth-child(3){
        padding-left:0;
        border-left:0;
        margin-top:45px;
    }

    .footer-main>div:nth-child(4){margin-top:45px}
}

@media(max-width:760px){

    .section{padding:82px 6vw}

    .header-inner{
        height:82px;
        padding:0 5vw;
    }

    .brand{
        width:165px;
        height:55px;
    }

    .icon-button,.menu-button{
        width:42px;
        height:42px;
        min-width:42px;
    }

    .site-header.is-sticky .header-inner{height:72px}
    .site-header.is-sticky .brand{width:150px}

    .hero,
    .hero-inner{min-height:auto}

    .hero-inner{
        padding:135px 6vw 85px;
    }

    .hero h1{
        font-size:clamp(3rem,13vw,4.4rem);
    }

    .hero-actions{
        grid-template-columns:1fr;
    }

    .travel-button+.travel-button{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.2);
    }

    .hero-side{
        grid-template-columns:1fr;
    }

    .weather-card{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.2);
        padding:0 0 25px;
    }

    .hero-scroll{display:none}

    .quick-links{grid-template-columns:1fr}

    .quick-links>a,
    .quick-links>a:nth-child(3){
        border-left:1px solid var(--line);
    }

    .intro-grid,
    .destination-inner,
    .contact{
        grid-template-columns:1fr;
    }

    .intro-grid{gap:35px}

    .section-head{
        display:block;
    }

    .section-head>p{
        margin-top:25px;
    }

    .service-grid{grid-template-columns:1fr}

    .service-card{min-height:310px}

    .destinations{padding:85px 6vw}

    .route-graphic{min-height:400px}

    .city-card{
        flex-basis:82%;
        min-height:400px;
    }

    .carousel-arrow{
        width:44px;
        height:44px;
    }

    .gallery-note{
        flex-direction:column;
        gap:8px;
    }

    .footer-main{grid-template-columns:1fr}

    .footer-main>div,
    .footer-main>div:nth-child(3),
    .footer-main>div:nth-child(4){
        padding:27px 0 0;
        margin-top:27px;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.12);
    }

    .footer-main>div:first-child{
        padding-top:0;
        margin-top:0;
        border-top:0;
    }

    .footer-bottom{
        flex-direction:column;
    }

    .mobile-menu{
        padding:30px 26px;
    }

    .a11y-panel{
        right:14px;
        top:76px;
        width:calc(100vw - 28px);
    }
}

@media(max-width:480px){

    .brand{width:145px}

    .header-inner{
        gap:10px;
        padding:0 4vw;
    }

    .header-tools{gap:4px}

    .hero-inner{
        padding-left:5vw;
        padding-right:5vw;
    }

    .travel-button{
        padding:20px 17px;
        grid-template-columns:27px 1fr auto;
    }

    .weather-main>strong{font-size:3.7rem}

    .whatsapp{
        width:54px;
        padding:0;
        justify-content:center;
    }

    .whatsapp span{display:none}
}

/* RODOVIARIA LAJEADO - GALERIA V04 */
.city-card{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-color:#0b315d;
}
.city-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,rgba(5,28,52,.03) 20%,rgba(5,28,52,.18) 55%,rgba(4,24,45,.88) 100%);
    pointer-events:none;
}
.city-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:inherit;
    background-size:cover;
    background-position:inherit;
    transition:transform .75s cubic-bezier(.2,.7,.2,1);
}
.city-card:hover::after{transform:scale(1.045)}
.city-one{background-image:url('/assets/rodoviaria/img/lajeado/lajeado-01.jpg') !important;background-position:center 50% !important}
.city-two{background-image:url('/assets/rodoviaria/img/lajeado/lajeado-02.jpg') !important;background-position:center 48% !important}
.city-three{background-image:url('/assets/rodoviaria/img/lajeado/lajeado-03.jpg') !important;background-position:center 50% !important}
.city-four{background-image:url('/assets/rodoviaria/img/lajeado/lajeado-04.jpg') !important;background-position:center 62% !important}
.city-five{background-image:url('/assets/rodoviaria/img/lajeado/lajeado-05.jpg') !important;background-position:center 48% !important}
@media (max-width:760px){
    .city-card{min-height:430px}
    .city-one,.city-two,.city-three,.city-four,.city-five{background-position:center center !important}
}
/* === NOLL IDENTITY V05 === */
:root{
  --noll-purple:#2d238f;
  --noll-purple-dark:#21196f;
  --noll-orange:#ff6b18;
  --noll-orange-dark:#e9570d;
  --noll-gray:#f2f5f7;
  --noll-line:#dce4ea;
}

/* Header branco: identidade Noll + contraste com o hero */
.site-header,
.header,
.main-header{
  background:#fff !important;
  color:#0a2d55 !important;
  border-bottom:1px solid rgba(10,45,85,.10) !important;
  box-shadow:0 8px 28px rgba(5,31,58,.035);
}

.site-header.is-scrolled,
.header.is-scrolled,
.main-header.is-scrolled{
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 10px 34px rgba(5,31,58,.08) !important;
  backdrop-filter:blur(14px);
}

.site-header a,
.site-header button,
.header a,
.header button,
.main-header a,
.main-header button{
  color:#0a2d55;
}

/* Logo: remove o efeito de quadrado e dá presença real à marca */
.site-logo,
.brand,
.header-brand,
.navbar-brand{
  background:transparent !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
}
.site-logo img,
.brand img,
.header-brand img,
.navbar-brand img,
.site-header img[alt*="Noll" i],
.site-header img[alt*="Rodovi" i]{
  display:block;
  width:auto !important;
  height:58px !important;
  max-width:118px !important;
  object-fit:contain;
  background:transparent !important;
}

/* Menu: azul estrutural, roxo e laranja só como assinatura */
.site-header nav a:hover,
.site-header nav a:focus,
.site-header .nav-link:hover,
.site-header .nav-link:focus{
  color:var(--noll-purple) !important;
}
.site-header nav a::after,
.site-header .nav-link::after{
  background:var(--noll-orange) !important;
}

/* Controles do topo */
.site-header button,
.site-header .header-tool,
.site-header .a11y-trigger,
.site-header .menu-toggle{
  border-color:#d6e0e8 !important;
}
.site-header button:hover,
.site-header .header-tool:hover,
.site-header .a11y-trigger:hover,
.site-header .menu-toggle:hover{
  color:var(--noll-purple) !important;
  border-color:rgba(45,35,143,.34) !important;
  background:#f7f7fb !important;
}

/* Laranja Noll substitui o dourado nos pequenos acentos */
.eyebrow,
.kicker,
.section-kicker,
.hero-kicker,
.hero-stat strong,
.hero-stat .value,
.accent,
.text-accent{
  --accent:var(--noll-orange);
}

/* Overrides amplos para elementos que usam a variável de acento da V02 */
body{
  --accent:var(--noll-orange);
  --accent-dark:var(--noll-orange-dark);
}

/* Links editoriais e setas */
.text-link:hover,
.inline-link:hover,
.arrow-link:hover,
.section-link:hover{
  color:var(--noll-purple) !important;
}
.text-link::after,
.inline-link::after,
.arrow-link::after,
.section-link::after{
  color:var(--noll-orange) !important;
}

/* Mantém o cinza claro como respiro, agora levemente mais frio */
.section-soft,
.bg-soft,
.contact-section,
.location-section{
  background:var(--noll-gray);
}

/* Galeria: pequeno detalhe Noll sem competir com as fotografias */
.city-card::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:4px;
  height:44px;
  background:var(--noll-orange);
  z-index:3;
  opacity:.95;
}
.city-card:hover::after{height:72px;}

/* CTA primário: roxo Noll; detalhes secundários continuam no azul premium */
.btn-primary,
.button-primary,
.cta-primary{
  background:var(--noll-purple) !important;
  border-color:var(--noll-purple) !important;
  color:#fff !important;
}
.btn-primary:hover,
.button-primary:hover,
.cta-primary:hover{
  background:var(--noll-purple-dark) !important;
  border-color:var(--noll-purple-dark) !important;
}

/* Mobile */
@media (max-width:760px){
  .site-logo img,
  .brand img,
  .header-brand img,
  .navbar-brand img,
  .site-header img[alt*="Noll" i],
  .site-header img[alt*="Rodovi" i]{height:48px !important;max-width:100px !important;}
}


/* === RODOVIARIA V05.1 - FIX LOGO HEADER === */

/* Header branco */
#site-header{
    background:#ffffff !important;
    border-bottom:1px solid rgba(12,55,104,.10);
}

/* Marca */
#site-header .header-inner > .brand{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:118px !important;
    height:82px !important;

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

    background:transparent !important;
    border:0 !important;

    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* Logo Noll */
#site-header .header-inner > .brand > img{
    display:block !important;

    width:auto !important;
    height:68px !important;
    max-width:110px !important;
    max-height:68px !important;

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

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

    opacity:1 !important;
    visibility:visible !important;

    filter:none !important;
    mix-blend-mode:normal !important;
    transform:none !important;

    background:transparent !important;
}

/* Menu */
#site-header .main-nav a{
    color:#153d70 !important;
}

#site-header .main-nav a:hover{
    color:#f36b21 !important;
}

/* Botões do topo */
#site-header .header-actions button,
#site-header .header-actions a{
    color:#153d70 !important;
    border-color:rgba(21,61,112,.16) !important;
}

/* Sticky */
#site-header.is-sticky .header-inner > .brand{
    width:105px !important;
    height:68px !important;
}

#site-header.is-sticky .header-inner > .brand > img{
    height:56px !important;
    max-height:56px !important;
}

/* Mobile */
@media (max-width:760px){
    #site-header .header-inner > .brand{
        width:86px !important;
        height:66px !important;
        padding:5px 0 !important;
    }

    #site-header .header-inner > .brand > img{
        height:54px !important;
        max-width:82px !important;
        max-height:54px !important;
    }
}


/* === RODOVIARIA V05.2 - HEADER FINISH === */

:root{
    --noll-blue:#251b8f;
    --noll-orange:#f36b21;
}

/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

#site-header{
    background:#fff !important;
}

#site-header .header-inner{
    min-height:88px !important;
    height:88px !important;
}

/* Logo com mais presença */
#site-header .header-inner > .brand{
    width:126px !important;
    height:88px !important;
    padding:5px 0 !important;
    display:flex !important;
    align-items:center !important;
}

#site-header .header-inner > .brand > img{
    width:auto !important;
    height:78px !important;
    max-width:118px !important;
    max-height:78px !important;
    object-fit:contain !important;
    object-position:left center !important;
}

/* Navegação */
#site-header .main-nav{
    align-self:stretch;
    display:flex;
    align-items:center;
}

#site-header .main-nav a{
    position:relative;
    color:#0b315e !important;
    transition:
        color .22s ease,
        opacity .22s ease !important;
}

#site-header .main-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-8px;
    height:2px;
    background:var(--noll-orange);
    transition:right .25s ease;
}

#site-header .main-nav a:hover{
    color:var(--noll-blue) !important;
}

#site-header .main-nav a:hover::after{
    right:0;
}

/* Botões utilitários */
#site-header .header-actions button,
#site-header .header-actions a{
    transition:
        color .2s ease,
        border-color .2s ease,
        background-color .2s ease !important;
}

#site-header .header-actions button:hover,
#site-header .header-actions a:hover{
    color:var(--noll-orange) !important;
    border-color:rgba(243,107,33,.45) !important;
    background:#fff8f4 !important;
}


/* ---------------------------------------------------------
   HEADER STICKY
--------------------------------------------------------- */

#site-header.is-sticky .header-inner{
    min-height:72px !important;
    height:72px !important;
}

#site-header.is-sticky .header-inner > .brand{
    width:104px !important;
    height:72px !important;
    padding:4px 0 !important;
}

#site-header.is-sticky .header-inner > .brand > img{
    height:62px !important;
    max-height:62px !important;
    max-width:96px !important;
}


/* ---------------------------------------------------------
   IDENTIDADE NOLL NO HERO
--------------------------------------------------------- */

/* Destaques pequenos */
.hero-eyebrow,
.hero-kicker,
.section-eyebrow{
    color:#82b8ed;
}

/* Ano histórico passa do dourado para laranja Noll */
.hero-year strong,
.hero-year .year,
.hero-weather .year,
.hero-meta strong{
    color:var(--noll-orange) !important;
}

/* Pequenos pontos gráficos */
.hero-orbit-dot,
.route-dot,
.map-dot{
    background:var(--noll-orange) !important;
}

/* Setas e microinterações */
.hero a:hover,
.quick-link:hover .arrow,
.text-link:hover{
    color:var(--noll-orange);
}


/* ---------------------------------------------------------
   RESPONSIVO
--------------------------------------------------------- */

@media (max-width:1050px){
    #site-header .header-inner{
        min-height:82px !important;
        height:82px !important;
    }

    #site-header .header-inner > .brand{
        width:112px !important;
        height:82px !important;
    }

    #site-header .header-inner > .brand > img{
        height:70px !important;
        max-height:70px !important;
        max-width:105px !important;
    }
}

@media (max-width:760px){
    #site-header .header-inner{
        min-height:72px !important;
        height:72px !important;
    }

    #site-header .header-inner > .brand{
        width:88px !important;
        height:72px !important;
        padding:4px 0 !important;
    }

    #site-header .header-inner > .brand > img{
        height:60px !important;
        max-height:60px !important;
        max-width:84px !important;
    }

    #site-header .main-nav a::after{
        display:none;
    }
}

@media (max-width:480px){
    #site-header .header-inner > .brand{
        width:78px !important;
    }

    #site-header .header-inner > .brand > img{
        height:54px !important;
        max-height:54px !important;
        max-width:76px !important;
    }
}


/* === RODOVIARIA V05.3 - NOLL IDENTITY === */

:root{
    --noll-purple:#281b91;
    --noll-purple-2:#3a28b5;
    --noll-orange:#ff681d;

    --rod-blue:#082f5b;
    --rod-blue-light:#174f83;
}


/* =========================================================
   HEADER
========================================================= */

#site-header{
    position:relative;
    background:#fff !important;
    border-bottom:0 !important;
}

/* assinatura Noll mais evidente */
#site-header::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--noll-purple) 0%,
            var(--noll-purple) 72%,
            var(--noll-orange) 72%,
            var(--noll-orange) 100%
        );
}

#site-header .header-inner{
    height:100px !important;
    min-height:100px !important;
}


/* LOGO */

#site-header .header-inner > .brand{
    width:155px !important;
    height:100px !important;

    display:flex !important;
    align-items:center !important;

    padding:5px 0 !important;
}

#site-header .header-inner > .brand > img{
    width:auto !important;
    height:90px !important;

    max-width:145px !important;
    max-height:90px !important;

    object-fit:contain !important;
}


/* MENU */

#site-header .main-nav{
    gap:30px;
}

#site-header .main-nav a{
    color:#112f53 !important;
    font-weight:700;
}

#site-header .main-nav a:hover{
    color:var(--noll-purple) !important;
}

#site-header .main-nav a::after{
    height:3px !important;
    background:var(--noll-orange) !important;
}


/* utilitários */

#site-header .header-actions button,
#site-header .header-actions a{
    color:var(--noll-purple) !important;
}

#site-header .header-actions button:hover,
#site-header .header-actions a:hover{
    color:#fff !important;
    background:var(--noll-purple) !important;
    border-color:var(--noll-purple) !important;
}


/* =========================================================
   HERO
========================================================= */

.hero{
    min-height:auto !important;
}

/*
   Reduzimos o exagero do título.
   Ainda é grande, mas deixa de dominar a página inteira.
*/
.hero h1,
.hero-title{
    font-size:clamp(58px,5.4vw,88px) !important;
    line-height:.94 !important;
    letter-spacing:-.055em !important;
    max-width:880px !important;
}


/* palavra azul clara passa a conversar com Noll */

.hero h1 span,
.hero-title span{
    color:#91bce8 !important;
}


/* eyebrow */

.hero-eyebrow,
.hero-kicker{
    color:#9bc3e9 !important;
    position:relative;
    padding-left:28px;
}

.hero-eyebrow::before,
.hero-kicker::before{
    content:"";
    width:17px;
    height:3px;

    position:absolute;
    left:0;
    top:50%;

    background:var(--noll-orange);
}


/* =========================================================
   CTA PASSAGENS
========================================================= */

.hero-actions > *:first-child{
    border-top:4px solid var(--noll-orange) !important;
}

.hero-actions > *:last-child{
    border-top:4px solid var(--noll-purple) !important;
}


/* primeira compra */

.hero-actions > *:first-child:hover{
    background:#fff8f3 !important;
}


/* interestadual */

.hero-actions > *:last-child:hover{
    background:rgba(40,27,145,.22) !important;
}


/* setas */

.hero-actions .arrow,
.hero-actions svg{
    color:var(--noll-orange) !important;
}


/* =========================================================
   METADADOS / 1940
========================================================= */

.hero-year strong,
.hero-year .year,
.hero-weather .year,
.hero-meta strong{
    color:var(--noll-orange) !important;
}


/* pontos orbitais */

.hero-orbit-dot,
.route-dot,
.map-dot{
    background:var(--noll-orange) !important;
    box-shadow:0 0 0 6px rgba(255,104,29,.10);
}


/* =========================================================
   QUICK LINKS
========================================================= */

.quick-link{
    position:relative;
}

.quick-link::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;

    width:0;
    background:var(--noll-orange);

    transition:width .22s ease;
}

.quick-link:hover::before{
    width:3px;
}

.quick-link:hover .arrow{
    color:var(--noll-orange) !important;
}


/* =========================================================
   SEÇÕES
========================================================= */

.section-eyebrow{
    color:var(--noll-purple) !important;
}

/* pequeno detalhe laranja nos títulos institucionais */

.section-eyebrow::before{
    content:"";
    display:inline-block;

    width:15px;
    height:2px;

    margin-right:9px;
    vertical-align:middle;

    background:var(--noll-orange);
}


/* links */

.text-link{
    border-bottom-color:rgba(40,27,145,.25) !important;
}

.text-link:hover{
    color:var(--noll-orange) !important;
}


/* =========================================================
   GALERIA
========================================================= */

.city-card{
    border-top:3px solid transparent;
}

.city-card:nth-child(odd){
    border-top-color:var(--noll-orange);
}

.city-card:nth-child(even){
    border-top-color:var(--noll-purple);
}


/* =========================================================
   HEADER STICKY
========================================================= */

#site-header.is-sticky .header-inner{
    height:78px !important;
    min-height:78px !important;
}

#site-header.is-sticky .header-inner > .brand{
    width:120px !important;
    height:78px !important;
}

#site-header.is-sticky .header-inner > .brand > img{
    height:68px !important;
    max-height:68px !important;
    max-width:112px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1050px){

    #site-header .header-inner{
        height:88px !important;
        min-height:88px !important;
    }

    #site-header .header-inner > .brand{
        width:125px !important;
        height:88px !important;
    }

    #site-header .header-inner > .brand > img{
        height:78px !important;
        max-height:78px !important;
        max-width:118px !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(54px,7vw,76px) !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

    #site-header .header-inner{
        height:76px !important;
        min-height:76px !important;
    }

    #site-header .header-inner > .brand{
        width:94px !important;
        height:76px !important;
    }

    #site-header .header-inner > .brand > img{
        height:65px !important;
        max-height:65px !important;
        max-width:90px !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(46px,12vw,62px) !important;
        line-height:.96 !important;
        letter-spacing:-.045em !important;
    }
}

@media(max-width:480px){

    .hero h1,
    .hero-title{
        font-size:43px !important;
    }
}


/* === RODOVIARIA V05.4 - GLOBAL NOLL + HEADER 1600 === */

:root{
    --noll-purple:#281b91;
    --noll-purple-2:#3a28b5;
    --noll-orange:#ff681d;

    --rod-navy:#072d56;
    --rod-navy-deep:#061f3d;
    --rod-blue:#124b80;
    --rod-light:#edf4f8;

    --site-max:1600px;
}


/* =========================================================
   HEADER — ESTRUTURA DEFINITIVA
========================================================= */

#site-header{
    position:relative;
    z-index:1000;

    width:100%;

    background:#fff !important;
    border:0 !important;

    transition:
        box-shadow .25s ease,
        transform .25s ease !important;
}

/*
 * O HEADER ocupa 100%.
 * Só o conteúdo interno fica limitado a 1600px.
 */
#site-header .header-inner{
    width:calc(100% - 80px) !important;
    max-width:var(--site-max) !important;

    height:100px !important;
    min-height:100px !important;

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

    display:flex !important;
    align-items:center !important;

    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;

    transform:none !important;
}


/* linha institucional */

#site-header::after{
    content:"";

    position:absolute;
    z-index:2;

    left:0;
    right:0;
    bottom:0;

    height:3px;

    background:linear-gradient(
        90deg,
        var(--noll-purple) 0%,
        var(--noll-purple) 72%,
        var(--noll-orange) 72%,
        var(--noll-orange) 100%
    );
}


/* =========================================================
   LOGO
========================================================= */

#site-header .header-inner > .brand{
    flex:0 0 155px !important;

    width:155px !important;
    height:100px !important;

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

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    transform:none !important;
}

#site-header .header-inner > .brand > img{
    display:block !important;

    width:auto !important;
    height:90px !important;

    max-width:145px !important;
    max-height:90px !important;

    object-fit:contain !important;

    margin:0 !important;

    transform:none !important;
    filter:none !important;
}


/* =========================================================
   MENU
========================================================= */

#site-header .main-nav{
    flex:1 1 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:30px !important;

    margin:0 34px 0 auto !important;

    position:static !important;
    transform:none !important;
}

#site-header .main-nav a{
    position:relative;

    color:#102f54 !important;

    font-weight:700;
    white-space:nowrap;

    transition:color .2s ease !important;
}

#site-header .main-nav a::after{
    content:"";

    position:absolute;

    left:0;
    right:100%;
    bottom:-9px;

    height:3px;

    background:var(--noll-orange);

    transition:right .22s ease;
}

#site-header .main-nav a:hover{
    color:var(--noll-purple) !important;
}

#site-header .main-nav a:hover::after{
    right:0;
}


/* =========================================================
   BOTÕES HEADER
========================================================= */

#site-header .header-actions{
    flex:0 0 auto !important;

    display:flex !important;
    align-items:center !important;

    gap:8px !important;

    margin:0 !important;

    position:static !important;
    transform:none !important;
}

#site-header .header-actions button,
#site-header .header-actions > a{
    color:var(--noll-purple) !important;
}

#site-header .header-actions button:hover,
#site-header .header-actions > a:hover{
    color:#fff !important;

    background:var(--noll-purple) !important;
    border-color:var(--noll-purple) !important;
}


/* =========================================================
   STICKY — CORREÇÃO DO BUG
========================================================= */

/*
 * Não alteramos largura nem posicionamento no scroll.
 * Apenas diminuímos suavemente a altura.
 */

#site-header.is-sticky{
    position:sticky !important;
    top:0 !important;

    width:100% !important;

    background:rgba(255,255,255,.98) !important;

    box-shadow:
        0 8px 35px rgba(4,31,61,.10) !important;

    transform:none !important;
}

#site-header.is-sticky .header-inner{
    width:calc(100% - 80px) !important;
    max-width:var(--site-max) !important;

    height:78px !important;
    min-height:78px !important;

    margin:0 auto !important;

    left:auto !important;
    right:auto !important;

    transform:none !important;
}

#site-header.is-sticky .header-inner > .brand{
    flex-basis:120px !important;

    width:120px !important;
    height:78px !important;

    transform:none !important;
}

#site-header.is-sticky .header-inner > .brand > img{
    height:68px !important;
    max-height:68px !important;
    max-width:112px !important;

    transform:none !important;
}

#site-header.is-sticky .main-nav,
#site-header.is-sticky .header-actions{
    transform:none !important;
}


/* =========================================================
   IDENTIDADE NOLL — GLOBAL
========================================================= */

.section-eyebrow,
.section-kicker,
.eyebrow{
    color:var(--noll-purple) !important;
}

.section-eyebrow::before,
.section-kicker::before{
    background:var(--noll-orange) !important;
}


/* links */

.text-link,
.inline-link{
    transition:
        color .2s ease,
        border-color .2s ease !important;
}

.text-link:hover,
.inline-link:hover{
    color:var(--noll-orange) !important;
}


/* setas */

.arrow,
.link-arrow{
    transition:
        color .2s ease,
        transform .2s ease !important;
}

a:hover .arrow,
a:hover .link-arrow{
    color:var(--noll-orange) !important;
    transform:translateX(3px);
}


/* =========================================================
   CARDS / FACILIDADES
========================================================= */

.service-card,
.facility-card{
    position:relative;
    overflow:hidden;
}

.service-card::before,
.facility-card::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:3px;

    background:linear-gradient(
        90deg,
        var(--noll-purple) 0 72%,
        var(--noll-orange) 72% 100%
    );

    opacity:0;

    transition:opacity .2s ease;
}

.service-card:hover::before,
.facility-card:hover::before{
    opacity:1;
}


/* =========================================================
   DESTINOS / MAPA
========================================================= */

.destinations-section .section-eyebrow,
.destinations-section .section-kicker{
    color:#9bc5eb !important;
}

.destinations-section .section-eyebrow::before,
.destinations-section .section-kicker::before{
    background:var(--noll-orange) !important;
}

.route-dot,
.map-dot,
.hero-orbit-dot{
    background:var(--noll-orange) !important;

    box-shadow:
        0 0 0 5px rgba(255,104,29,.11) !important;
}


/* =========================================================
   GALERIA LAJEADO
========================================================= */

.city-card{
    position:relative;
}

.city-card:nth-child(3n + 1){
    border-top:3px solid var(--noll-orange) !important;
}

.city-card:nth-child(3n + 2){
    border-top:3px solid var(--noll-purple) !important;
}

.city-card:nth-child(3n + 3){
    border-top:3px solid #174f83 !important;
}


/* controles */

.city-prev:hover,
.city-next:hover,
.carousel-prev:hover,
.carousel-next:hover{
    color:#fff !important;

    background:var(--noll-purple) !important;
    border-color:var(--noll-purple) !important;
}


/* =========================================================
   CONTATO
========================================================= */

.contact-section a:hover{
    color:var(--noll-orange) !important;
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer{
    position:relative;
}

.site-footer::before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:0;

    height:3px;

    background:linear-gradient(
        90deg,
        var(--noll-purple) 0 72%,
        var(--noll-orange) 72% 100%
    );
}

.site-footer a:hover{
    color:var(--noll-orange) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1200px){

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 48px) !important;
    }

    #site-header .main-nav{
        gap:20px !important;
        margin-right:22px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 32px) !important;

        height:76px !important;
        min-height:76px !important;
    }

    #site-header .header-inner > .brand,
    #site-header.is-sticky .header-inner > .brand{
        flex-basis:94px !important;

        width:94px !important;
        height:76px !important;
    }

    #site-header .header-inner > .brand > img,
    #site-header.is-sticky .header-inner > .brand > img{
        height:65px !important;
        max-height:65px !important;
        max-width:90px !important;
    }

    #site-header .main-nav{
        margin:0 !important;
    }
}


/* === RODOVIARIA V06 - HERO PHOTO + STABLE NAV === */

:root{
    --noll-purple:#281b91;
    --noll-orange:#ff681d;
    --nav-height:96px;
}


/* ==========================================================
   NAV — SEM PULO NO SCROLL
========================================================== */

#site-header,
#site-header.is-sticky{
    position:sticky !important;
    top:0 !important;
    width:100% !important;
    z-index:1000 !important;

    background:rgba(255,255,255,.98) !important;
    transform:none !important;
}

#site-header.is-sticky{
    box-shadow:0 10px 35px rgba(5,34,65,.10) !important;
}


/*
 * IMPORTANTE:
 * normal e sticky possuem EXATAMENTE as mesmas dimensões.
 */

#site-header .header-inner,
#site-header.is-sticky .header-inner{
    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:var(--nav-height) !important;
    min-height:var(--nav-height) !important;

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

    transform:none !important;
}


/* Logo não muda no scroll */

#site-header .header-inner > .brand,
#site-header.is-sticky .header-inner > .brand{
    flex:0 0 150px !important;

    width:150px !important;
    height:var(--nav-height) !important;

    padding:4px 0 !important;

    transform:none !important;
}

#site-header .header-inner > .brand > img,
#site-header.is-sticky .header-inner > .brand > img{
    width:auto !important;
    height:86px !important;

    max-width:140px !important;
    max-height:86px !important;

    object-fit:contain !important;

    transform:none !important;
}


/* menu e ações também não deslocam */

#site-header .main-nav,
#site-header.is-sticky .main-nav{
    transform:none !important;
}

#site-header .header-actions,
#site-header.is-sticky .header-actions{
    transform:none !important;
}


/* ==========================================================
   HERO — FOTO + CAMADA AZUL
========================================================== */

.hero{
    position:relative !important;
    isolation:isolate;
    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(5,39,75,.97) 0%,
            rgba(5,43,82,.94) 38%,
            rgba(8,63,108,.88) 72%,
            rgba(11,72,119,.82) 100%
        ),
        url('/assets/img/slide1.png') center 45% / cover no-repeat !important;
}


/*
 * camada adicional para manter legibilidade
 * sem matar totalmente a fotografia
 */

.hero::before{
    content:"";

    position:absolute;
    z-index:-1;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,31,61,.35) 0%,
            rgba(4,31,61,.12) 52%,
            rgba(4,31,61,.03) 100%
        );
}


/*
 * mantém elementos do hero acima da fotografia
 */

.hero > *{
    position:relative;
    z-index:2;
}


/* ==========================================================
   H1 — MENOR
========================================================== */

.hero h1,
.hero-title{
    font-size:clamp(48px,4.45vw,72px) !important;
    line-height:.97 !important;
    letter-spacing:-.045em !important;

    max-width:760px !important;
}


/* mantém contraste da palavra destacada */

.hero h1 span,
.hero-title span{
    color:#a8cef0 !important;
}


/* ==========================================================
   EYEBROW HERO — LARANJA
========================================================== */

.hero .eyebrow,
.hero .eyebrow.light,
.hero-eyebrow,
.hero-kicker{
    color:var(--noll-orange) !important;
}

.hero .eyebrow::before,
.hero .eyebrow.light::before,
.hero-eyebrow::before,
.hero-kicker::before{
    background:var(--noll-orange) !important;
}


/* ==========================================================
   MÓDULOS — LARANJA MAIS PRESENTE
========================================================== */

/* labels superiores */

.section-eyebrow,
.section-kicker,
.eyebrow{
    color:var(--noll-orange) !important;
}


/* barrinha antes do label */

.section-eyebrow::before,
.section-kicker::before{
    background:var(--noll-orange) !important;
}


/*
 * Títulos principais continuam azul/escuro.
 * O laranja entra como assinatura em uma linha curta.
 */

.section-title,
.section-heading{
    position:relative;
}

.section-title::after,
.section-heading::after{
    content:"";

    display:block;

    width:42px;
    height:3px;

    margin-top:18px;

    background:var(--noll-orange);
}


/* cards */

.service-card,
.facility-card{
    border-top:3px solid transparent;
}

.service-card:hover,
.facility-card:hover{
    border-top-color:var(--noll-orange);
}


/* pequenos títulos internos */

.service-card .eyebrow,
.facility-card .eyebrow,
.quick-link .eyebrow,
.city-card .eyebrow{
    color:var(--noll-orange) !important;
}


/* setas */

.quick-link:hover .arrow,
.text-link:hover,
.inline-link:hover{
    color:var(--noll-orange) !important;
}


/* ==========================================================
   ROXO NOLL COMO SEGUNDA ASSINATURA
========================================================== */

.service-card:nth-child(even):hover,
.facility-card:nth-child(even):hover{
    border-top-color:var(--noll-purple);
}

.city-card:nth-child(3n + 2){
    border-top-color:var(--noll-purple) !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1200px){

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 48px) !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(48px,5.8vw,66px) !important;
        max-width:700px !important;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:760px){

    :root{
        --nav-height:76px;
    }

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 32px) !important;
    }

    #site-header .header-inner > .brand,
    #site-header.is-sticky .header-inner > .brand{
        flex-basis:94px !important;
        width:94px !important;
        height:76px !important;
    }

    #site-header .header-inner > .brand > img,
    #site-header.is-sticky .header-inner > .brand > img{
        height:65px !important;
        max-height:65px !important;
        max-width:90px !important;
    }

    .hero{
        background:
            linear-gradient(
                90deg,
                rgba(5,39,75,.96),
                rgba(7,57,101,.88)
            ),
            url('/assets/img/slide1.png') center / cover no-repeat !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(39px,10.5vw,52px) !important;
        line-height:.98 !important;
        max-width:560px !important;
    }
}


/* === RODOVIARIA V06.1 - HERO REAL + SHRINK NAV === */

:root{
    --noll-purple:#281b91;
    --noll-orange:#ff681d;
}


/* =========================================================
   HEADER NORMAL
========================================================= */

#site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;

    width:100% !important;

    background:#fff !important;

    transition:
        box-shadow .28s ease,
        background-color .28s ease !important;
}

#site-header .header-inner{
    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:96px !important;
    min-height:96px !important;

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

    display:flex !important;
    align-items:center !important;

    left:auto !important;
    right:auto !important;

    transform:none !important;

    transition:
        height .28s ease,
        min-height .28s ease !important;
}


/* logo normal */

#site-header .header-inner > .brand{
    flex:0 0 150px !important;

    width:150px !important;
    height:96px !important;

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

    display:flex !important;
    align-items:center !important;

    transform:none !important;

    transition:
        width .28s ease,
        height .28s ease,
        flex-basis .28s ease !important;
}

#site-header .header-inner > .brand > img{
    width:auto !important;
    height:86px !important;

    max-width:140px !important;
    max-height:86px !important;

    object-fit:contain !important;

    transform:none !important;

    transition:
        height .28s ease,
        max-height .28s ease,
        max-width .28s ease !important;
}


/* =========================================================
   HEADER AO ROLAR
========================================================= */

#site-header.is-sticky{
    background:rgba(255,255,255,.985) !important;

    box-shadow:
        0 8px 28px rgba(5,35,67,.11) !important;
}


/*
 * O container NÃO muda de largura ou posição.
 * Apenas a altura diminui.
 */

#site-header.is-sticky .header-inner{
    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:72px !important;
    min-height:72px !important;

    margin:0 auto !important;

    left:auto !important;
    right:auto !important;

    transform:none !important;
}


/* logo acompanha a redução */

#site-header.is-sticky .header-inner > .brand{
    flex:0 0 108px !important;

    width:108px !important;
    height:72px !important;

    transform:none !important;
}

#site-header.is-sticky .header-inner > .brand > img{
    height:62px !important;

    max-height:62px !important;
    max-width:102px !important;

    transform:none !important;
}


/*
 * Menu e botões nunca mudam de coordenada vertical
 * através de transform.
 */

#site-header .main-nav,
#site-header.is-sticky .main-nav,
#site-header .header-actions,
#site-header.is-sticky .header-actions{
    transform:none !important;
}


/* =========================================================
   HERO — FOTO REAL DA RODOVIÁRIA
========================================================= */

.hero{
    position:relative !important;
    isolation:isolate;
    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(4,34,67,.97) 0%,
            rgba(5,43,82,.93) 34%,
            rgba(8,61,105,.84) 68%,
            rgba(12,76,124,.72) 100%
        ),
        url('/assets/rodoviaria/img/hero-rodoviaria.jpg')
        center center / cover no-repeat !important;
}


/*
 * Vinheta adicional.
 * Escurece principalmente a região do H1.
 */

.hero::before{
    content:"";

    position:absolute !important;
    inset:0 !important;

    z-index:-1 !important;

    background:
        linear-gradient(
            90deg,
            rgba(3,27,54,.38) 0%,
            rgba(3,27,54,.16) 48%,
            rgba(3,27,54,.03) 100%
        ) !important;

    pointer-events:none;
}


/*
 * Leve textura azul na fotografia.
 */

.hero::after{
    content:"";

    position:absolute;
    inset:0;

    z-index:-1;

    background:
        linear-gradient(
            180deg,
            rgba(30,27,145,.04),
            rgba(255,104,29,.025)
        );

    pointer-events:none;
}


/* conteúdo sempre acima */

.hero > *{
    position:relative;
    z-index:2;
}


/* =========================================================
   H1 — REDUÇÃO DEFINITIVA
========================================================= */

.hero h1,
.hero-title{
    font-size:clamp(44px,3.85vw,64px) !important;

    line-height:.98 !important;

    letter-spacing:-.043em !important;

    max-width:700px !important;
}


/* palavra de contraste */

.hero h1 span,
.hero-title span{
    color:#acd0ef !important;
}


/* =========================================================
   EYEBROW HERO
========================================================= */

.hero .eyebrow,
.hero .eyebrow.light,
.hero-eyebrow,
.hero-kicker{
    color:var(--noll-orange) !important;
}


/* =========================================================
   LARANJA NOS MÓDULOS
========================================================= */

.section-eyebrow,
.section-kicker{
    color:var(--noll-orange) !important;
}


/*
 * Linha laranja curta acima dos títulos.
 */

.section-title,
.section-heading{
    position:relative;
}

.section-title::before,
.section-heading::before{
    content:"";

    display:block;

    width:38px;
    height:3px;

    margin-bottom:15px;

    background:var(--noll-orange);
}


/* micro títulos dos cards */

.service-card .eyebrow,
.facility-card .eyebrow,
.quick-link .eyebrow,
.city-card .eyebrow{
    color:var(--noll-orange) !important;
}


/* cards */

.service-card:hover,
.facility-card:hover{
    border-top-color:var(--noll-orange) !important;
}


/* alternância roxo */

.service-card:nth-child(even):hover,
.facility-card:nth-child(even):hover{
    border-top-color:var(--noll-purple) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1200px){

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 48px) !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(44px,5.3vw,60px) !important;
        max-width:650px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:760px){

    #site-header .header-inner,
    #site-header.is-sticky .header-inner{
        width:calc(100% - 32px) !important;

        height:72px !important;
        min-height:72px !important;
    }

    #site-header .header-inner > .brand,
    #site-header.is-sticky .header-inner > .brand{
        flex:0 0 92px !important;

        width:92px !important;
        height:72px !important;
    }

    #site-header .header-inner > .brand > img,
    #site-header.is-sticky .header-inner > .brand > img{
        height:62px !important;

        max-height:62px !important;
        max-width:88px !important;
    }

    .hero{
        background:
            linear-gradient(
                90deg,
                rgba(4,34,67,.96),
                rgba(7,57,101,.82)
            ),
            url('/assets/rodoviaria/img/hero-rodoviaria.jpg')
            48% center / cover no-repeat !important;
    }

    .hero h1,
    .hero-title{
        font-size:clamp(38px,9.5vw,48px) !important;
        line-height:1 !important;
        max-width:520px !important;
    }
}


/* === V06.2 NAV FINAL + VLIBRAS === */

/* =========================================================
   NAV — UM ÚNICO EIXO
========================================================= */

#site-header,
.site-header,
#site-header.is-sticky,
.site-header.is-sticky{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;

    width:100% !important;

    z-index:5000 !important;

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

    background:#fff !important;

    transform:none !important;
}


/* container normal */

#site-header .header-inner,
.site-header .header-inner{
    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:96px !important;
    min-height:96px !important;

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

    position:relative !important;

    left:auto !important;
    right:auto !important;
    top:auto !important;

    display:flex !important;
    align-items:center !important;

    transform:none !important;

    transition:
        height .28s ease,
        min-height .28s ease !important;
}


/* container scroll:
   SOMENTE altura muda */

#site-header.is-sticky .header-inner,
.site-header.is-sticky .header-inner{
    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:72px !important;
    min-height:72px !important;

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

    padding-left:0 !important;
    padding-right:0 !important;

    left:auto !important;
    right:auto !important;

    transform:none !important;
}


/* sombra apenas no scroll */

#site-header.is-sticky,
.site-header.is-sticky{
    box-shadow:0 8px 30px rgba(4,32,61,.12) !important;
}


/* =========================================================
   LOGO
========================================================= */

#site-header .brand,
.site-header .brand{
    flex:0 0 150px !important;

    width:150px !important;
    height:96px !important;

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

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    position:relative !important;

    left:auto !important;
    top:auto !important;

    transform:none !important;

    transition:
        width .28s ease,
        height .28s ease,
        flex-basis .28s ease !important;
}

#site-header .brand img,
.site-header .brand img{
    display:block !important;

    width:auto !important;
    height:86px !important;

    max-width:140px !important;
    max-height:86px !important;

    margin:0 !important;

    object-fit:contain !important;

    transform:none !important;

    transition:
        height .28s ease,
        max-height .28s ease,
        max-width .28s ease !important;
}


/* redução da logo */

#site-header.is-sticky .brand,
.site-header.is-sticky .brand{
    flex-basis:108px !important;

    width:108px !important;
    height:72px !important;

    margin:0 !important;

    transform:none !important;
}

#site-header.is-sticky .brand img,
.site-header.is-sticky .brand img{
    width:auto !important;
    height:62px !important;

    max-width:102px !important;
    max-height:62px !important;

    transform:none !important;
}


/* =========================================================
   MENU — NUNCA MUDA NO SCROLL
========================================================= */

#site-header .main-nav,
.site-header .main-nav,
#site-header.is-sticky .main-nav,
.site-header.is-sticky .main-nav{
    flex:1 1 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:30px !important;

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

    padding:0 !important;

    position:static !important;

    left:auto !important;
    right:auto !important;
    top:auto !important;

    transform:none !important;
}


/* =========================================================
   AÇÕES — NUNCA MUDA NO SCROLL
========================================================= */

#site-header .header-actions,
.site-header .header-actions,
#site-header.is-sticky .header-actions,
.site-header.is-sticky .header-actions{
    flex:0 0 auto !important;

    display:flex !important;
    align-items:center !important;

    gap:8px !important;

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

    position:static !important;

    left:auto !important;
    right:auto !important;
    top:auto !important;

    transform:none !important;
}


/* =========================================================
   VLIBRAS
========================================================= */

/*
 * O botão visual oficial não deve competir com nosso botão
 * de acessibilidade no header.
 *
 * Mantemos o componente carregado e funcional, porém seu
 * botão flutuante fica fora da área visível.
 */

[vw] [vw-access-button],
[vw-access-button],
#vlibras-access-wrapper #vlibras-access,
#vlibras-access-wrapper #vlibras-button{
    position:fixed !important;

    top:108px !important;
    right:72px !important;

    width:1px !important;
    height:1px !important;

    min-width:1px !important;
    min-height:1px !important;

    opacity:0 !important;

    overflow:hidden !important;

    pointer-events:none !important;

    z-index:1 !important;

    transform:none !important;
}


/*
 * Quando a janela do tradutor abrir,
 * ela continua acima do site.
 */

[vw] [vw-plugin-wrapper],
[vw-plugin-wrapper]{
    z-index:99999 !important;
}


/* nosso botão continua na frente */

#site-header .header-actions,
.site-header .header-actions{
    position:relative !important;
    z-index:10 !important;
}


/* =========================================================
   RESPONSIVO
========================================================= */

@media(max-width:1200px){

    #site-header .header-inner,
    .site-header .header-inner,
    #site-header.is-sticky .header-inner,
    .site-header.is-sticky .header-inner{
        width:calc(100% - 48px) !important;
    }

    #site-header .main-nav,
    .site-header .main-nav,
    #site-header.is-sticky .main-nav,
    .site-header.is-sticky .main-nav{
        gap:20px !important;
        margin-right:22px !important;
    }
}


@media(max-width:760px){

    #site-header .header-inner,
    .site-header .header-inner,
    #site-header.is-sticky .header-inner,
    .site-header.is-sticky .header-inner{
        width:calc(100% - 32px) !important;

        height:72px !important;
        min-height:72px !important;
    }

    #site-header .brand,
    .site-header .brand,
    #site-header.is-sticky .brand,
    .site-header.is-sticky .brand{
        flex:0 0 92px !important;

        width:92px !important;
        height:72px !important;
    }

    #site-header .brand img,
    .site-header .brand img,
    #site-header.is-sticky .brand img,
    .site-header.is-sticky .brand img{
        height:62px !important;

        max-height:62px !important;
        max-width:88px !important;
    }
}



/* === V06.3 NAV FIXO + VLIBRAS FINAL === */

/*
|--------------------------------------------------------------------------
| NAV FINAL
|--------------------------------------------------------------------------
| NÃO existe mais diferença visual entre normal e is-sticky.
| A classe pode continuar sendo adicionada pelo JS, mas não altera
| tamanho, posição ou logo.
*/

#site-header,
.site-header,
#site-header.is-sticky,
.site-header.is-sticky{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;

    width:100% !important;
    height:96px !important;
    min-height:96px !important;

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

    background:#fff !important;

    z-index:5000 !important;

    transform:none !important;
    translate:none !important;

    box-shadow:0 5px 22px rgba(4,32,61,.07) !important;

    transition:none !important;
}


/* CONTAINER */

#site-header .header-inner,
.site-header .header-inner,
#site-header.is-sticky .header-inner,
.site-header.is-sticky .header-inner{
    position:relative !important;

    display:flex !important;
    align-items:center !important;

    width:calc(100% - 80px) !important;
    max-width:1600px !important;

    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;

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

    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;

    transform:none !important;
    translate:none !important;

    transition:none !important;
}


/* LOGO */

#site-header .brand,
.site-header .brand,
#site-header.is-sticky .brand,
.site-header.is-sticky .brand{
    position:relative !important;

    flex:0 0 150px !important;

    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;

    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

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

    top:auto !important;
    left:auto !important;

    transform:none !important;
    translate:none !important;

    transition:none !important;
}


#site-header .brand img,
.site-header .brand img,
#site-header.is-sticky .brand img,
.site-header.is-sticky .brand img{
    display:block !important;

    width:auto !important;

    height:86px !important;
    min-height:0 !important;
    max-height:86px !important;

    max-width:140px !important;

    margin:0 !important;

    object-fit:contain !important;

    transform:none !important;
    translate:none !important;

    transition:none !important;
}


/* MENU */

#site-header .main-nav,
.site-header .main-nav,
#site-header.is-sticky .main-nav,
.site-header.is-sticky .main-nav{
    position:static !important;

    flex:1 1 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:30px !important;

    height:auto !important;

    margin:0 34px 0 auto !important;
    padding:0 !important;

    top:auto !important;
    left:auto !important;
    right:auto !important;

    transform:none !important;
    translate:none !important;

    transition:none !important;
}


/* BOTÕES DIREITA */

#site-header .header-actions,
.site-header .header-actions,
#site-header.is-sticky .header-actions,
.site-header.is-sticky .header-actions{
    position:relative !important;

    flex:0 0 auto !important;

    display:flex !important;
    align-items:center !important;

    gap:8px !important;

    height:auto !important;

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

    top:auto !important;
    left:auto !important;
    right:auto !important;

    transform:none !important;
    translate:none !important;

    transition:none !important;

    z-index:20 !important;
}


/*
|--------------------------------------------------------------------------
| VLIBRAS
|--------------------------------------------------------------------------
| O botão flutuante original fica inutilizado visualmente.
| O botão do nosso header será o controle da interface.
*/

[vw-access-button],
[vw] [vw-access-button]{
    opacity:0 !important;
    visibility:hidden !important;

    width:1px !important;
    height:1px !important;

    min-width:1px !important;
    min-height:1px !important;

    pointer-events:none !important;

    position:fixed !important;

    top:-10000px !important;
    left:-10000px !important;
    right:auto !important;

    z-index:-1 !important;
}


/* painel do tradutor continua funcionando */

[vw-plugin-wrapper],
[vw] [vw-plugin-wrapper]{
    z-index:99999 !important;
}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media(max-width:1200px){

    #site-header .header-inner,
    .site-header .header-inner,
    #site-header.is-sticky .header-inner,
    .site-header.is-sticky .header-inner{
        width:calc(100% - 48px) !important;
    }

    #site-header .main-nav,
    .site-header .main-nav,
    #site-header.is-sticky .main-nav,
    .site-header.is-sticky .main-nav{
        gap:20px !important;
        margin-right:22px !important;
    }
}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:760px){

    #site-header,
    .site-header,
    #site-header.is-sticky,
    .site-header.is-sticky{
        height:76px !important;
        min-height:76px !important;
    }

    #site-header .header-inner,
    .site-header .header-inner,
    #site-header.is-sticky .header-inner,
    .site-header.is-sticky .header-inner{
        width:calc(100% - 32px) !important;

        height:76px !important;
        min-height:76px !important;
        max-height:76px !important;
    }

    #site-header .brand,
    .site-header .brand,
    #site-header.is-sticky .brand,
    .site-header.is-sticky .brand{
        flex-basis:94px !important;

        width:94px !important;
        min-width:94px !important;
        max-width:94px !important;

        height:76px !important;
        min-height:76px !important;
        max-height:76px !important;
    }

    #site-header .brand img,
    .site-header .brand img,
    #site-header.is-sticky .brand img,
    .site-header.is-sticky .brand img{
        height:66px !important;
        max-height:66px !important;
        max-width:90px !important;
    }
}




/* === V06.4 HERO HEIGHT === */

/*
 * Hero mais compacto.
 * Mantém a composição atual, apenas reduz a altura vertical.
 */

.hero{
    min-height:680px !important;
    height:auto !important;
}

.hero-inner{
    min-height:680px !important;
    padding-top:72px !important;
    padding-bottom:72px !important;
}


/* telas mais baixas */
@media (min-width:761px) and (max-height:800px){

    .hero{
        min-height:620px !important;
    }

    .hero-inner{
        min-height:620px !important;
        padding-top:54px !important;
        padding-bottom:54px !important;
    }
}


/* tablet */
@media(max-width:1000px){

    .hero{
        min-height:620px !important;
    }

    .hero-inner{
        min-height:620px !important;
        padding-top:60px !important;
        padding-bottom:60px !important;
    }
}


/* mobile */
@media(max-width:760px){

    .hero{
        min-height:auto !important;
        height:auto !important;
    }

    .hero-inner{
        min-height:auto !important;
        padding-top:56px !important;
        padding-bottom:56px !important;
    }
}

