:root {
    --dark:#071e25;
    --navy:#0a2931;
    --aqua:#77d7da;
    --cream:#f3f5f1;
    --ink:#102c32;
    --muted:#6b7c7e
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font:15px/1.65 'DM Sans',sans-serif;
    overflow-x:hidden
}

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

button,input,textarea,select {
    font:inherit
}

button {
    cursor:pointer
}

.progress {
    height:2px;
    background:var(--aqua);
    width:0;
    position:fixed;
    top:0;
    left:0;
    z-index:1001
}

.header {
    height:89px;
    padding:0 5vw;
    display:flex;
    align-items:center;
    gap:45px;
    justify-content:space-between;
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:100;
    transition:background .35s
}

.header.sticky {
    position:fixed;
    background:#071e25ef;
    backdrop-filter:blur(18px)
}

.brand {
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    font:800 28px/1 Manrope,sans-serif;
    letter-spacing:-1.5px
}

.brand small,.footer-brand small {
    display:block;
    font:600 7.5px/1.7 'DM Sans',sans-serif;
    letter-spacing:1.35px;
    color:#e6faf9
}

.desktop-nav {
    display:flex;
    gap:36px;
    margin-left:auto
}

.desktop-nav a {
    font-size:12px;
    color:#d8e5e5;
    transition:color .25s
}

.desktop-nav a:hover {
    color:var(--aqua)
}

.nav-cta {
    border:1px solid #ffffff60;
    color:white;
    padding:14px 21px;
    font-size:12px;
    font-weight:700;
    display:flex;
    gap:40px
}

.nav-cta span {
    font-size:16px
}

.hamburger {
    display:none;
    background:none;
    border:0;
    width:45px;
    padding:10px
}

.hamburger span {
    display:block;
    height:2px;
    background:white;
    margin:7px 0
}

.mobile-menu {
    position:fixed;
    z-index:90;
    inset:0;
    background:var(--dark);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:10vw;
    gap:20px;
    opacity:0;
    pointer-events:none;
    transform:translateY(-20px);
    transition:.3s
}

.mobile-menu.open {
    opacity:1;
    pointer-events:auto;
    transform:none
}

.mobile-menu a {
    font:600 clamp(28px,6vw,52px) Manrope;
    color:white
}

.hero {
    height:min(950px,100svh);
    min-height:710px;
    position:relative;
    background:#092a36;
    overflow:hidden;
    color:white
}

.hero-photo {
    position:absolute;
    inset:0;
    background:url('https://images.unsplash.com/photo-1572331165267-854da2b10ccc?auto=format&fit=crop&w=2000&q=85') center/cover;
    transform:scale(1.08);
    animation:heroZoom 14s ease-out both
}

.hero-wash {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(3,26,33,.88) 0%,rgba(4,29,37,.57) 44%,rgba(0,28,38,.15) 100%),linear-gradient(0deg,#071c23a3,transparent 32%)
}

.hero-grid {
    position:absolute;
    inset:0;
    opacity:.14;
    background:linear-gradient(90deg,transparent 49.9%,white 50%,transparent 50.1%)
}

.hero-content {
    position:absolute;
    z-index:3;
    top:51%;
    left:9%;
    transform:translateY(-43%);
    max-width:980px
}

.eyebrow {
    font-size:10px;
    letter-spacing:3px;
    font-weight:800;
    display:flex;
    align-items:center;
    gap:12px
}

.eyebrow.light {
    color:#d6f2ef
}

.dot {
    width:7px;
    height:7px;
    background:#5ac9cd;
    display:inline-block;
    border-radius:50%;
    box-shadow:0 0 0 5px #65d3d319
}

.hero h1 {
    font:600 clamp(57px,6.8vw,112px)/1.04 Manrope,sans-serif;
    letter-spacing:-.07em;
    margin:25px 0
}

.hero h1 em,.immersive h2 i,.contact h2 em {
    color:var(--aqua);
    font-style:normal
}

.hero-desc {
    max-width:430px;
    color:#d6e2e1;
    font-size:15px
}

.hero-actions {
    display:flex;
    gap:32px;
    align-items:center;
    margin-top:35px
}

.btn {
    padding:18px 24px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:42px;
    font-size:12px;
    font-weight:800;
    border:0;
    transition:transform .25s,background .25s
}

.btn:hover {
    transform:translateY(-3px)
}

.btn.primary {
    background:var(--aqua);
    color:#08272f
}

.btn.ghost {
    color:white;
    border:1px solid #ffffff9c;
    background:#ffffff0d
}

.text-link {
    font-size:12px;
    border-bottom:1px solid #eee9;
    padding-bottom:7px;
    display:inline-flex;
    gap:15px
}

.hero-side {
    position:absolute;
    right:4%;
    top:48%;
    writing-mode:vertical-rl;
    display:flex;
    gap:45px;
    font-size:10px;
    letter-spacing:2px;
    color:#e3f0ed
}

.hero-bottom {
    position:absolute;
    z-index:3;
    bottom:36px;
    left:5%;
    right:5%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:10px;
    letter-spacing:2px
}

.scroll-hint {
    display:flex;
    gap:15px;
    align-items:center
}

.mouse {
    width:22px;
    height:33px;
    border:1px solid white;
    border-radius:14px;
    position:relative
}

.mouse:before {
    content:'';
    position:absolute;
    top:7px;
    left:10px;
    width:2px;
    height:7px;
    background:var(--aqua);
    animation:mouse 1.5s infinite
}

.hero-caption span {
    color:#a5d4d2
}

.hero-water {
    position:absolute;
    right:-150px;
    bottom:-390px;
    width:760px;
    height:760px;
    border-radius:50%;
    border:1px solid #9ae9ee55;
    box-shadow:0 0 0 80px #a4eeee0c,0 0 0 180px #a4eeee08;
    pointer-events:none
}

.section {
    padding:135px 9%
}

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

.intro-layout {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:9vw;
    margin-top:32px
}

.display {
    font:600 clamp(48px,6vw,89px)/1.12 Manrope,sans-serif;
    letter-spacing:-.067em;
    margin:0
}

.display span {
    color:#9cadad
}

.intro-right {
    padding-top:20px;
    max-width:450px
}

.intro-right p {
    font-size:16px;
    color:#63777b
}

.intro-right p:first-child {
    color:#243e44;
    font-size:19px
}

.underline-link {
    display:inline-flex;
    gap:55px;
    border-bottom:1px solid var(--ink);
    margin-top:28px;
    padding-bottom:10px;
    font-weight:800;
    font-size:12px
}

.statement {
    margin-top:125px;
    display:flex;
    justify-content:space-between;
    position:relative;
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
    padding-bottom:25px
}

.statement-line {
    position:absolute;
    bottom:0;
    width:100%;
    height:1px;
    background:#cad8d7
}

.services {
    background:#082832;
    color:white
}

.section-kicker {
    display:flex;
    justify-content:space-between;
    color:#9ebabc;
    font-size:10px;
    letter-spacing:2px
}

.services-header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin:40px 0 65px;
    gap:40px
}

.services-header .display i {
    color:var(--aqua);
    font-style:normal
}

.services-header p {
    color:#aec4c6;
    max-width:290px
}

.service-list {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.service-card {
    height:510px;
    position:relative;
    overflow:hidden;
    transform-style:preserve-3d;
    background:#134450
}

.service-img {
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transition:transform .7s
}

.image-one {
    background-image:url('https://images.unsplash.com/photo-1572331165267-854da2b10ccc?auto=format&fit=crop&w=900&q=80')
}

.image-two {
    background-image:url('https://images.unsplash.com/photo-1576013551627-0cc20b96c2a7?auto=format&fit=crop&w=900&q=80')
}

.image-three {
    background-image:url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=900&q=80')
}

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

.service-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#041820fa,transparent 85%)
}

.service-content {
    position:absolute;
    inset:auto 30px 32px;
    transform:translateZ(35px)
}

.service-content>span {
    font-size:10px;
    letter-spacing:2px;
    color:var(--aqua)
}

.service-content h3 {
    font:600 clamp(24px,2.6vw,39px)/1.14 Manrope;
    margin:16px 0
}

.service-content p {
    font-size:13px;
    color:#e2edef;
    max-width:270px
}

.service-content a {
    font-size:12px;
    display:inline-block;
    margin-top:12px;
    padding-bottom:5px;
    border-bottom:1px solid white
}

.immersive {
    min-height:760px;
    position:relative;
    background:#0a3d4b;
    color:white;
    overflow:hidden
}

.immersive-back {
    position:absolute;
    inset:0;
    background:url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=2000&q=85') center/cover;
    background-attachment:fixed
}

.immersive-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#04232cdb,#04232c49),#003e4922
}

.immersive-content {
    position:relative;
    z-index:2;
    padding:130px 9%;
    max-width:900px
}

.immersive h2 {
    font:600 clamp(50px,6.3vw,95px)/1.09 Manrope;
    letter-spacing:-.07em;
    margin:25px 0
}

.immersive-content p {
    max-width:430px;
    color:#cde0e0
}

.immersive .btn {
    margin-top:30px
}

.immersive-ring {
    position:absolute;
    width:600px;
    height:600px;
    border:1px solid #b6eae65c;
    right:-150px;
    top:80px;
    border-radius:50%;
    pointer-events:none
}

.ring2 {
    width:800px;
    height:800px;
    right:-250px;
    top:-20px;
    opacity:.4
}

.process {
    background:#eaf0ed
}

.process-heading,.gallery-heading {
    display:flex;
    justify-content:space-between;
    gap:50px;
    align-items:end
}

.process-heading h2,.gallery-heading h2 {
    margin-top:30px
}

.process-heading>p,.gallery-heading>p {
    max-width:310px;
    color:#677e81
}

.steps {
    margin-top:70px;
    border-top:1px solid #c6d2d1
}

.step {
    display:grid;
    grid-template-columns:120px 1fr 45px;
    align-items:center;
    border-bottom:1px solid #c6d2d1;
    padding:35px 0
}

.step>span {
    font-size:12px;
    color:#678c8e
}

.step h3 {
    font:600 clamp(23px,2.2vw,32px) Manrope;
    margin:0
}

.step p {
    margin:7px 0 0;
    color:#6c8383
}

.step b {
    font-size:24px;
    font-weight:400
}

.gallery {
    background:#f7f9f6
}

.gallery-heading p strong {
    font-weight:600;
    color:#52696e
}

.gallery-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    grid-template-rows:280px 280px;
    gap:15px;
    margin-top:60px
}

.gallery-item {
    position:relative;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    cursor:default;
    transition:filter .4s
}

.gallery-item:hover {
    filter:saturate(1.4)
}

.gallery-item.big {
    grid-row:span 2
}

.g1 {
    background-image:url('https://images.unsplash.com/photo-1572331165267-854da2b10ccc?auto=format&fit=crop&w=1300&q=85')
}

.g2 {
    background-image:url('https://images.unsplash.com/photo-1576013551627-0cc20b96c2a7?auto=format&fit=crop&w=900&q=85')
}

.g3 {
    background-image:url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=900&q=85')
}

.gallery-item:after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#071e25a0,transparent 55%)
}

.gallery-label {
    position:absolute;
    bottom:25px;
    left:25px;
    right:25px;
    color:white;
    z-index:2;
    display:flex;
    justify-content:space-between;
    font-size:11px;
    letter-spacing:1px
}

.contact {
    background:#071e25;
    color:white;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8vw
}

.contact h2 {
    margin:30px 0
}

.contact-text>p {
    color:#adc6c8;
    max-width:320px
}

.contact-side-note {
    font-size:10px;
    letter-spacing:2px;
    color:#76969c;
    margin-top:110px
}

.contact-form {
    background:#12333b;
    padding:42px;
    display:flex;
    flex-direction:column;
    gap:11px
}

.contact-form h3 {
    font:600 27px Manrope;
    margin:0
}

.contact-form p {
    margin:0 0 10px;
    color:#b5cbca;
    font-size:13px
}

.contact-form label {
    font-size:11px;
    color:#d4e8e7;
    margin-top:8px
}

.contact-form input,.contact-form select,.contact-form textarea {
    width:100%;
    border:1px solid #54727b66;
    outline:0;
    background:#ffffff0d;
    color:#fff;
    padding:13px 14px;
    border-radius:0
}

.contact-form select option {
    color:#122c32
}

.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus {
    border-color:var(--aqua)
}

.contact-form input::placeholder,.contact-form textarea::placeholder {
    color:#9eb3b9
}

.contact-form .submit {
    margin-top:15px;
    width:100%
}

.contact-form small {
    font-size:11px;
    color:#8caab0
}

footer {
    background:#04161c;
    color:#d7e4e5;
    padding:65px 9% 26px
}

.footer-top {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center
}

.footer-brand {
    font:800 45px Manrope;
    letter-spacing:-3px;
    line-height:1
}

.footer-brand span {
    color:var(--aqua)
}

.footer-brand small {
    letter-spacing:1px;
    font-size:8px;
    margin-top:5px
}

.footer-links {
    display:flex;
    gap:30px;
    font-size:12px
}

.footer-bottom {
    margin-top:70px;
    border-top:1px solid #58707755;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    gap:15px;
    font-size:10px;
    color:#8aa4a8;
    letter-spacing:1px
}

.reveal {
    opacity:0;
    transform:translateY(35px);
    transition:opacity .8s,transform .8s
}

.reveal.visible {
    opacity:1;
    transform:none
}

.pointer-glow {
    position:fixed;
    width:300px;
    height:300px;
    left:0;
    top:0;
    background:radial-gradient(circle,#7ad9da0e,transparent 70%);
    border-radius:50%;
    pointer-events:none;
    z-index:60;
    transform:translate(-50%,-50%)
}

@keyframes heroZoom {
    to {
        transform:scale(1)
    }

}

@keyframes mouse {
    to {
        transform:translateY(10px);
        opacity:0
    }

}

@media(max-width:1050px) {
    .desktop-nav,.nav-cta {
        display:none
    }

    .hamburger {
        display:block
    }

    .service-list {
        gap:10px
    }

    .service-card {
        height:440px
    }

    .service-content {
        inset:auto 20px 22px
    }

}

@media(max-width:750px) {
    .header {
        height:76px;
        padding:0 6%
    }

    .brand {
        font-size:23px
    }

    .hero {
        min-height:680px;
        height:94svh
    }

    .hero-content {
        left:7%;
        right:7%;
        top:49%;
        transform:translateY(-42%)
    }

    .hero h1 {
        font-size:clamp(47px,10vw,76px)
    }

    .hero-desc {
        font-size:14px;
        max-width:350px
    }

    .hero-side {
        display:none
    }

    .hero-caption {
        display:none
    }

    .hero-actions {
        gap:18px;
        align-items:flex-start;
        flex-direction:column
    }

    .hero-bottom {
        left:7%
    }

    .section {
        padding:85px 7%
    }

    .intro-layout,.contact {
        grid-template-columns:1fr;
        gap:25px
    }

    .intro-right {
        padding-top:0
    }

    .statement {
        margin-top:80px;
        font-size:8px
    }

    .services-header,.process-heading,.gallery-heading {
        display:block
    }

    .services-header p {
        margin-top:25px
    }

    .service-list {
        grid-template-columns:1fr;
        gap:15px
    }

    .service-card {
        height:430px
    }

    .service-content h3 {
        font-size:34px
    }

    .immersive {
        min-height:650px
    }

    .immersive-content {
        padding:110px 7%
    }

    .immersive h2 {
        font-size:clamp(46px,9vw,70px)
    }

    .immersive-back {
        background-attachment:scroll
    }

    .step {
        grid-template-columns:55px 1fr 25px;
        gap:10px
    }

    .step p {
        font-size:13px
    }

    .gallery-grid {
        grid-template-columns:1fr;
        grid-template-rows:390px 240px 240px
    }

    .gallery-item.big {
        grid-row:span 1
    }

    .contact-side-note {
        margin-top:45px
    }

    .contact-form {
        padding:27px
    }

    .footer-top,.footer-bottom {
        align-items:flex-start;
        flex-direction:column
    }

    .footer-links {
        flex-wrap:wrap;
        gap:16px
    }

    .footer-bottom {
        margin-top:45px
    }

    .pointer-glow {
        display:none
    }

}

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

    .reveal {
        opacity:1;
        transform:none
    }

}

/* BOTÃO VOLTAR AO TOPO */
#backToTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 52px;
    height: 52px;
    background: #142d33;
    color: #76cdd2;
    border: 1px solid rgba(118, 205, 210, 0.3);
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    visibility 0.3s ease,
    background 0.3s ease;
}

/* VISÍVEL */
#backToTop.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* HOVER */
#backToTop:hover {
    background: #76cdd2;
    color: #142d33;
    transform: translateY(-5px);
}

/* MOBILE */
@media (max-width: 768px) {
    #backToTop {
        width: 46px;
        height: 46px;
        bottom: 20px;
        right: 20px;
    }

}

.public-contact {
    font-size:13px;
    color:#c9dddd;
    margin-top:25px
}

.public-contact a {
    color:var(--aqua)
}

/* ACESSO AO PAINEL ADMINISTRATIVO */
.footer-actions {
    display: flex;
    align-items: center;
    gap: 28px;
}

.admin-access {
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
    color: #82999c;
    opacity: 0.65;
    transition: opacity 0.3s ease, color 0.3s ease;
}

.admin-access:hover {
    opacity: 1;
    color: #79d9d8;
}

@media (max-width: 768px) {
    .footer-actions {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

}

/* CADEADO DE ACESSO AO ADMIN */
.admin-login-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    color: #79d9d8;
    text-decoration: none;
    transition: all 0.3s ease;
}

.admin-login-btn:hover {
    background: rgba(121, 217, 216, 0.12);
    border-color: #79d9d8;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .admin-login-btn {
        width: 36px;
        height: 36px;
        margin-left: auto;
    }

    .admin-login-btn svg {
        width: 16px;
        height: 16px;
    }

}

/* ==========================================

   LAGOPRO — SELETOR DE IDIOMAS

   ========================================== */
.language-switcher {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    flex-shrink: 0;
}

.language-switcher a {
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
}

.language-switcher a:hover,  .language-switcher a.active {
    color: #68d8dc;
}

.language-switcher .lang-divider {
    color: rgba(255, 255, 255, 0.3);
    font-size: 11px;
}

/* ==========================================

   LAGOPRO — HEADER MOBILE

   ========================================== */
@media (max-width: 768px) {
    .header {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .header .brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header .language-switcher {
        display: flex;
        flex: 0 0 auto;
        gap: 5px;
    }

    .header .admin-login-btn {
        flex: 0 0 auto;
    }

    .header .hamburger {
        display: flex;
        flex: 0 0 auto;
        position: relative;
        z-index: 1001;
        margin: 0;
    }

}

/* ==========================================

   CORREÇÃO — HAMBÚRGUER MOBILE

   ========================================== */
@media (max-width: 768px) {
    .header .hamburger {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 42px;
        height: 42px;
        min-width: 42px;
        padding: 0;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 50%;
        position: relative;
        z-index: 1002;
        cursor: pointer;
    }

    .header .hamburger span {
        display: block !important;
        width: 20px !important;
        height: 2px !important;
        background: #ffffff !important;
        border-radius: 3px;
        opacity: 1 !important;
        visibility: visible !important;
        position: relative;
        transform: none;
        flex-shrink: 0;
    }

}

/* ==========================================

   LAGOPRO — MENU DESKTOP

   ========================================== */
@media (min-width: 769px) {
    .desktop-nav a {
        font-size: 20px;
        font-weight: 800;
        letter-spacing: 0.01em;
        color: rgba(255, 255, 255, 0.90);
        transition: color 0.25s ease;
    }

    .desktop-nav a:hover {
        color: #70dadd;
    }

    .nav-cta {
        font-size: 13px;
        font-weight: 700;
    }

}

/* Logo oficial LagoPro */
.header .brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.header .brand-logo {
    display: block;
    width: auto;
    height: 58px;
    max-width: 240px;
    object-fit: contain;
}

/* Mobile */
@media (max-width: 768px) {
    .header .brand-logo {
        height: 42px;
        max-width: 150px;
    }

}

/* ======================================

   LAGOPRO — SELECT PERSONALIZADO

   ====================================== */
.custom-select {
    position: relative;
    width: 100%;
}

.custom-select > select {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.custom-select-trigger {
    width: 100%;
    min-height: 54px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 0 18px;
    background: #1c3b44;
    border: 1px solid rgba(255,255,255,.14);
    color: #fff;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
    transition: border-color .25s, background .25s;
}

.custom-select-trigger:hover,  .custom-select.is-open .custom-select-trigger {
    background: #244650;
    border-color: #70dadd;
}

.custom-select-trigger svg {
    flex-shrink: 0;
    transition: transform .25s;
}

.custom-select.is-open .custom-select-trigger svg {
    transform: rotate(180deg);
}

.custom-select-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 50;
    padding: 6px;
    border: 1px solid rgba(112,218,221,.25);
    background: #102d36;
    border-radius: 10px;
    box-shadow: 0 18px 45px rgba(0,0,0,.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s, transform .2s, visibility .2s;
}

.custom-select.is-open .custom-select-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.custom-select-option {
    display: block;
    width: 100%;
    padding: 13px 14px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #d7e6e8;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.custom-select-option:hover,  .custom-select-option[aria-selected="true"] {
    color: #70dadd;
    background: rgba(112,218,221,.1);
}

.custom-select-trigger:focus-visible,  .custom-select-option:focus-visible {
    outline: 2px solid #70dadd;
    outline-offset: 2px;
}

/* ==========================================
   LAGOPRO — CABEÇALHO MOBILE CONSOLIDADO
   ========================================== */
@media (max-width: 768px) {
    .header {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .header .brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header .language-switcher {
        display: flex;
        flex: 0 0 auto;
        gap: 5px;
    }

    .header .admin-login-btn {
        flex: 0 0 auto;
    }

    .header .hamburger {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        flex: 0 0 32px;
        width: 32px;
        min-width: 32px;
        height: 32px;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        position: relative;
        z-index: 1002;
        cursor: pointer;
    }

    .header .hamburger span {
        display: block;
        position: static;
        width: 22px;
        height: 2px;
        margin: 0;
        padding: 0;
        background: #fff;
        border-radius: 2px;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
        flex-shrink: 0;
    }

}


.language-switcher {
    display: flex;
    align-items: center;
    gap: 10px;
}

.language-switcher a {
    display: flex;
    align-items: center;
    opacity: 0.5;
    transition: all 0.25s ease;
}

.language-switcher a img {
    width: 24px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
    display: block;
}

.language-switcher a.active,
.language-switcher a:hover {
    opacity: 1;
}

.language-switcher a:hover {
    transform: scale(1.12);
}

.language-switcher .lang-divider {
    opacity: 0.3;
    font-size: 12px;
}
