/* =========================
   BASE
========================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:#f5f5f1;

    color:#173b2d;
}

a{
    color:inherit;
}

.home-container{
    width:min(
        1180px,
        calc(100% - 60px)
    );

    margin:auto;
}


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

.home-hero{
    position:relative;

    min-height:100vh;

    display:flex;
    flex-direction:column;

    overflow:hidden;

    background:#173b2d;
}

.home-hero-background{
    position:absolute;
    inset:0;

    background-size:cover;
    background-position:center;

    transform:scale(1.01);
}

.home-hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(8,26,19,.38) 0%,
            rgba(8,26,19,.15) 35%,
            rgba(8,26,19,.46) 100%
        );
}


/* =========================
   NAV
========================= */

.home-nav{
    position:relative;

    z-index:10;

    width:min(
        1380px,
        calc(100% - 70px)
    );

    margin:auto;

    padding:24px 0;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:35px;

    color:white;
}

.home-brand{
    display:flex;

    flex-direction:column;

    text-decoration:none;

    min-width:190px;
}

.home-brand strong{
    font-size:24px;

    line-height:1;
}

.home-brand span{
    margin-top:5px;

    font-size:10px;

    letter-spacing:1.2px;

    text-transform:uppercase;

    opacity:.75;
}


.home-brand-logo{
    display:block;
    width:auto;
    height:auto;
    max-width:220px;
    max-height:72px;
    object-fit:contain;
}

.home-menu{
    display:flex;

    align-items:center;

    gap:30px;
}

.home-menu a{
    position:relative;

    padding:8px 0;

    text-decoration:none;

    font-size:13px;

    color:white;

    opacity:.9;
}

.home-menu a:hover{
    opacity:1;
}

.home-menu a:first-child::after{
    content:"";

    position:absolute;

    left:0;
    right:0;

    bottom:0;

    height:1px;

    background:white;
}

.home-nav-action{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:13px 22px;

    border-radius:8px;

    background:#174936;

    color:white;

    text-decoration:none;

    font-size:13px;

    font-weight:700;

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.12);
}


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

.home-hero-content{
    position:relative;

    z-index:3;

    flex:1;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:
        80px
        30px
        190px;

    text-align:center;

    color:white;
}

.home-hero-copy{
    max-width:850px;
}

.home-hero-kicker{
    display:block;

    margin-bottom:18px;

    font-size:12px;

    font-weight:700;

    letter-spacing:4px;

    text-transform:uppercase;

    opacity:.85;
}

.home-hero h1{
    margin:0;

    font-size:
        clamp(
            72px,
            9vw,
            135px
        );

    line-height:.85;

    letter-spacing:-5px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight:400;
}

.home-hero h2{
    margin:
        10px
        0
        20px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight:400;

    font-size:
        clamp(
            34px,
            4vw,
            58px
        );

    line-height:1;
}

.home-hero-description{
    max-width:650px;

    margin:
        0
        auto;

    font-size:20px;

    line-height:1.55;

    text-shadow:
        0 2px 12px
        rgba(0,0,0,.25);
}


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

.home-search-wrap{
    position:absolute;

    z-index:6;

    left:50%;

    bottom:55px;

    width:min(
        1240px,
        calc(100% - 60px)
    );

    transform:translateX(-50%);
}

.home-search{
    display:grid;

    grid-template-columns:
        1fr
        1.55fr
        .7fr;

    padding:12px;

    background:
        rgba(
            255,
            255,
            255,
            .96
        );

    border-radius:14px;

    box-shadow:
        0 22px 60px
        rgba(0,0,0,.2);

    color:#173b2d;
}

.search-field{
    min-height:68px;

    padding:
        10px
        20px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    border-right:
        1px solid
        #dce1dd;
}

.search-field label{
    display:block;

    margin-bottom:7px;

    font-size:10px;

    font-weight:700;

    letter-spacing:.8px;

    text-transform:uppercase;

    color:#78847d;
}

.search-field input,
.search-field select{
    width:100%;

    padding:0;

    border:0;

    outline:0;

    background:transparent;

    color:#173b2d;

    font-size:14px;
}

.search-button{
    min-height:68px;

    border:0;

    border-radius:9px;

    background:#174936;

    color:white;

    font-size:14px;

    font-weight:700;

    cursor:pointer;

    transition:
        transform .2s ease,
        background .2s ease;
}

.search-button:hover{
    transform:translateY(-2px);

    background:#103829;
}


/* =========================
   INTRO ASOCIACIÓN
========================= */

.home-intro{
    padding:
        110px
        0
        95px;
}

.home-intro-layout{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:80px;

    align-items:center;
}

.home-kicker{
    display:block;

    margin-bottom:18px;

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#738179;
}

.home-intro h2,
.hotels-section h2{
    margin:0;

    font-size:
        clamp(
            42px,
            5vw,
            70px
        );

    line-height:.96;

    letter-spacing:-2.5px;

    color:#173b2d;
}

.home-intro-copy p{
    margin:
        28px
        0
        0;

    max-width:650px;

    font-size:17px;

    line-height:1.7;

    color:#64726a;
}

.home-values{
    display:grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:12px;
}

.home-value{
    min-height:160px;

    padding:27px;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    background:white;

    border:
        1px solid
        #e1e5e2;

    border-radius:12px;
}

.home-value-number{
    display:block;

    margin-bottom:auto;

    font-size:11px;

    font-weight:700;

    color:#8b9690;
}

.home-value strong{
    display:block;

    margin-bottom:7px;

    font-size:18px;
}

.home-value span:last-child{
    font-size:13px;

    line-height:1.5;

    color:#718078;
}


/* =========================
   EXPLORA
========================= */

.explore-section{
    padding:
        85px
        0;

    background:#173b2d;

    color:white;
}

.explore-head{
    display:flex;

    justify-content:space-between;

    align-items:end;

    gap:50px;

    margin-bottom:40px;
}

.explore-head h2{
    margin:0;

    font-size:
        clamp(
            40px,
            5vw,
            66px
        );

    line-height:1;

    letter-spacing:-2px;
}

.explore-head p{
    max-width:450px;

    margin:0;

    font-size:16px;

    line-height:1.6;

    color:
        rgba(
            255,
            255,
            255,
            .67
        );
}

.explore-grid{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:12px;
}

.explore-card{
    position:relative;

    min-height:220px;

    padding:25px;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    overflow:hidden;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    border-radius:10px;

    color:white;

    text-decoration:none;

    transition:
        transform .25s ease,
        background .25s ease;
}

.explore-card:hover{
    transform:
        translateY(-4px);

    background:
        rgba(
            255,
            255,
            255,
            .05
        );
}

.explore-number{
    position:absolute;

    top:22px;
    left:22px;

    font-size:11px;

    opacity:.55;
}

.explore-card strong{
    font-size:23px;

    margin-bottom:8px;
}

.explore-card span:last-child{
    font-size:13px;

    line-height:1.5;

    color:
        rgba(
            255,
            255,
            255,
            .68
        );
}


/* =========================
   HOTELES
========================= */

.hotels-section{
    padding:
        110px
        0;
}

.hotels-head{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:60px;

    align-items:end;

    margin-bottom:45px;
}

.hotels-head p{
    max-width:500px;

    margin:0;

    font-size:17px;

    line-height:1.65;

    color:#69776f;
}

.hotels-grid{
    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:18px;
}

.hotel-card{
    background:white;

    border:
        1px solid
        #e0e4e1;

    border-radius:8px;

    overflow:hidden;

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


.hotel-card-clickable{
    color:inherit;
    text-decoration:none;
    cursor:pointer;
}

.hotel-card-clickable:focus-visible{
    outline:3px solid rgba(23,75,54,.28);
    outline-offset:4px;
}

.hotel-card:hover{
    transform:
        translateY(-5px);

    box-shadow:
        0 18px 45px
        rgba(
            23,
            59,
            45,
            .09
        );
}

.hotel-card-image{
    height:260px;

    overflow:hidden;

    background:#dfe3df;
}

.hotel-card-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.hotel-card:hover
.hotel-card-image img{
    transform:scale(1.025);
}

.hotel-card-body{
    padding:25px;
}

.hotel-card-location{
    display:block;

    margin-bottom:10px;

    font-size:11px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    color:#7e8983;
}

.hotel-card h3{
    margin:
        0
        0
        20px;

    font-size:25px;

    line-height:1.1;

    color:#173b2d;
}

.hotel-card-data{
    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-bottom:24px;
}

.hotel-card-data span{
    padding:
        7px
        10px;

    border:
        1px solid
        #e0e4e1;

    border-radius:20px;

    font-size:11px;

    color:#617168;
}

.hotel-card-link{
    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:18px;

    border-top:
        1px solid
        #e0e4e1;

    text-decoration:none;

    font-size:13px;

    font-weight:700;

    color:#173b2d;
}

.hotel-card-link span{
    font-size:19px;
}


.hotel-card.is-hidden-home{
    display:none;
}

.hotels-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:34px;
}

.hotels-more-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:14px 24px;

    border:1px solid #173b2d;
    border-radius:999px;

    background:transparent;
    color:#173b2d;

    font-size:13px;
    font-weight:700;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.hotels-more-button:hover{
    transform:translateY(-2px);
    background:#173b2d;
    color:white;
}

.hotels-more-button[hidden]{
    display:none;
}


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

.home-final{
    padding:
        100px
        0;

    background:#173b2d;

    color:white;

    text-align:center;
}

.home-final-inner{
    max-width:750px;

    margin:auto;
}

.home-final h2{
    margin:
        0
        0
        20px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight:400;

    font-size:
        clamp(
            48px,
            6vw,
            82px
        );

    line-height:.95;
}

.home-final p{
    margin:
        0
        auto
        30px;

    max-width:520px;

    color:
        rgba(
            255,
            255,
            255,
            .7
        );

    font-size:17px;

    line-height:1.6;
}

.home-final a{
    display:inline-flex;

    padding:
        16px
        28px;

    border-radius:40px;

    background:white;

    color:#173b2d;

    text-decoration:none;

    font-size:14px;

    font-weight:700;
}


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

.home-footer{
    padding:
        60px
        0
        30px;

    background:#102e23;

    color:white;
}

.footer-top{
    display:flex;

    justify-content:space-between;

    gap:50px;

    align-items:flex-start;
}

.footer-brand strong{
    display:block;

    margin-bottom:10px;

    font-size:22px;
}

.footer-brand p{
    max-width:420px;

    margin:0;

    font-size:13px;

    line-height:1.6;

    color:
        rgba(
            255,
            255,
            255,
            .6
        );
}

.footer-links{
    display:flex;

    gap:25px;

    flex-wrap:wrap;
}

.footer-links a{
    color:white;

    text-decoration:none;

    font-size:12px;

    opacity:.75;
}

.footer-bottom{
    display:flex;

    justify-content:space-between;

    gap:20px;

    margin-top:45px;

    padding-top:25px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .15
        );

    font-size:11px;

    color:
        rgba(
            255,
            255,
            255,
            .45
        );
}


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

@media(max-width:1050px){

    .home-menu{
        display:none;
    }

    .home-search{
        grid-template-columns:
            1fr
            1fr;
    }

    .search-field{
        border-bottom:
            1px solid
            #dce1dd;
    }

    .search-button{
        grid-column:
            1 / -1;
    }

    .home-hero-content{
        padding-bottom:330px;
    }

    .home-search-wrap{
        bottom:35px;
    }

    .home-intro-layout,
    .hotels-head{
        grid-template-columns:1fr;

        gap:35px;
    }

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

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

}

@media(max-width:700px){

    .home-container{
        width:
            calc(
                100% - 40px
            );
    }

    .home-nav{
        width:
            calc(
                100% - 40px
            );

        padding:
            18px
            0;
    }

    .home-brand strong{
        font-size:20px;
    }


    .home-brand-logo{
        max-width:160px;
        max-height:55px;
    }

    .home-nav-action{
        padding:
            11px
            15px;

        font-size:11px;
    }

    .home-hero{
        min-height:950px;
    }

    .home-hero-content{
        align-items:flex-start;

        padding:
            170px
            20px
            400px;
    }

    .home-hero h1{
        font-size:68px;

        letter-spacing:-3px;
    }

    .home-hero h2{
        font-size:33px;
    }

    .home-hero-description{
        font-size:17px;
    }

    .home-search-wrap{
        width:
            calc(
                100% - 30px
            );

        bottom:30px;
    }

    .home-search{
        grid-template-columns:1fr;

        padding:9px;
    }

    .search-field{
        border-right:0;
    }

    .search-button{
        min-height:58px;
    }

    .home-intro{
        padding:
            75px
            0;
    }

    .home-values{
        grid-template-columns:1fr;
    }

    .explore-head{
        display:block;
    }

    .explore-head p{
        margin-top:20px;
    }

    .explore-grid{
        grid-template-columns:1fr;
    }

    .explore-card{
        min-height:160px;
    }

    .hotels-section{
        padding:
            75px
            0;
    }

    .hotels-grid{
        grid-template-columns:1fr;
    }

    .hotel-card-image{
        height:235px;
    }

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

}
.home-hero-youtube{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.home-hero-youtube iframe{
    position:absolute;
    top:50%;
    left:50%;
    width:177.77777778vh;
    height:56.25vw;
    min-width:100%;
    min-height:100%;
    transform:translate(-50%, -50%);
    border:0;
}

.no-results{
    padding:50px;

    background:white;

    border:1px solid #e0e4e1;

    border-radius:10px;

    text-align:center;
}

.no-results h3{
    margin:10px 0 10px;

    font-size:30px;

    color:#173b2d;
}

.no-results p{
    margin:0 0 25px;

    color:#69776f;
}

.no-results a{
    display:inline-flex;

    padding:13px 22px;

    border-radius:30px;

    background:#174936;

    color:white;

    text-decoration:none;

    font-size:13px;

    font-weight:700;
}

/* =========================
   VOLVER ARRIBA
========================= */

.back-to-top{
    position:fixed;

    right:24px;
    bottom:24px;

    z-index:50;

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:0;
    border-radius:50%;

    background:#174936;
    color:white;

    font-size:22px;
    line-height:1;

    cursor:pointer;

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.18);

    opacity:0;
    visibility:hidden;

    transform:translateY(8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease,
        background .2s ease;
}

.back-to-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.back-to-top:hover{
    background:#103829;
}

@media(max-width:700px){

    .back-to-top{
        right:18px;
        bottom:18px;

        width:44px;
        height:44px;
    }

}


/* =========================
   EXPERIENCIAS EN HOME
========================= */

.home-experiences-section{
    padding:95px 0 105px;
    background:#eef2ed;
}

.home-experiences-head{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:end;
    margin-bottom:42px;
}

.home-experiences-head h2{
    max-width:650px;
    margin:10px 0 0;
    font-size:clamp(48px,5.5vw,72px);
    line-height:.98;
    letter-spacing:-2.8px;
}

.home-experiences-head p{
    max-width:500px;
    margin:0;
    color:#627168;
    font-size:15px;
    line-height:1.7;
}

.home-experiences-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.home-experience-card{
    min-width:0;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    min-height:440px;

    border:1px solid #d6ded8;
    border-radius:16px;

    background:white;
    color:#173b2d;
    text-decoration:none;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.home-experience-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(19,58,43,.10);
}

.home-experience-image{
    height:215px;
    overflow:hidden;
    background:#dce6df;
}

.home-experience-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.home-experience-card:hover
.home-experience-image img{
    transform:scale(1.04);
}

.home-experience-image-placeholder{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:25px;
    text-align:center;
    background:#dce6df;
    color:#456255;
    font-size:15px;
    font-weight:700;
}

.home-experience-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:20px;
}

.home-experience-category{
    margin-bottom:9px;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
    color:#748279;
}

.home-experience-card h3{
    margin:0;
    font-size:22px;
    line-height:1.08;
    letter-spacing:-.5px;
}

.home-experience-provider{
    margin-top:8px;
    color:#7a877f;
    font-size:11px;
    line-height:1.4;
}

.home-experience-facts{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-top:16px;
}

.home-experience-fact{
    padding:6px 8px;
    border-radius:999px;
    background:#f0f4f1;
    font-size:10px;
    font-weight:700;
}

.home-experience-bottom{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:end;
    margin-top:auto;
    padding-top:18px;
}

.home-experience-price small{
    display:block;
    color:#7b877f;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.home-experience-price strong{
    display:block;
    margin-top:3px;
    font-size:17px;
}

.home-experience-arrow{
    font-size:18px;
}

.home-experiences-actions{
    display:flex;
    justify-content:center;
    margin-top:34px;
}

.home-experiences-all{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:13px 20px;

    border:1px solid #173b2d;
    border-radius:999px;

    color:#173b2d;
    text-decoration:none;
    font-size:12px;
    font-weight:800;

    transition:.2s ease;
}

.home-experiences-all:hover{
    background:#173b2d;
    color:white;
}

@media(max-width:1100px){
    .home-experiences-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .home-experiences-section{
        padding:70px 0 80px;
    }

    .home-experiences-head{
        grid-template-columns:1fr;
        gap:22px;
    }

    .home-experiences-grid{
        grid-template-columns:1fr;
    }

    .home-experience-card{
        min-height:0;
    }
}


/* =========================
   NOTICIAS Y EVENTOS HOME
========================= */

.home-blog-section{
    padding:95px 0 105px;
    background:#f7f7f4;
}

.home-blog-head{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:end;
    margin-bottom:42px;
}

.home-blog-head h2{
    max-width:650px;
    margin:10px 0 0;
    font-size:clamp(48px,5.5vw,72px);
    line-height:.98;
    letter-spacing:-2.8px;
}

.home-blog-head p{
    max-width:520px;
    margin:0;
    color:#627168;
    font-size:15px;
    line-height:1.7;
}

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

.home-blog-card{
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:430px;
    border:1px solid #dde4df;
    border-radius:16px;
    background:white;
    color:#173b2d;
    text-decoration:none;
    transition:transform .22s ease,box-shadow .22s ease;
}

.home-blog-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(19,58,43,.10);
}

.home-blog-image{
    height:220px;
    overflow:hidden;
    background:#dfe6e1;
}

.home-blog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.home-blog-card:hover .home-blog-image img{
    transform:scale(1.04);
}

.home-blog-placeholder{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    text-align:center;
    color:#4d6759;
    font-weight:700;
}

.home-blog-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:21px;
}

.home-blog-category{
    font-size:9px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
    color:#78867d;
}

.home-blog-card h3{
    margin:9px 0 0;
    font-size:23px;
    line-height:1.12;
    letter-spacing:-.5px;
}

.home-blog-meta{
    margin-top:10px;
    font-size:11px;
    color:#7b877f;
}

.home-blog-excerpt{
    margin:15px 0 0;
    color:#5e6d64;
    font-size:13px;
    line-height:1.65;
}

.home-blog-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:auto;
    padding-top:20px;
    font-size:12px;
    font-weight:800;
}

.home-blog-actions{
    display:flex;
    justify-content:center;
    margin-top:34px;
}

.home-blog-all{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:13px 20px;
    border:1px solid #173b2d;
    border-radius:999px;
    color:#173b2d;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    transition:.2s ease;
}

.home-blog-all:hover{
    background:#173b2d;
    color:white;
}

@media(max-width:950px){
    .home-blog-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:700px){
    .home-blog-section{
        padding:70px 0 80px;
    }

    .home-blog-head{
        grid-template-columns:1fr;
        gap:22px;
    }

    .home-blog-grid{
        grid-template-columns:1fr;
    }
}
/* Navbar fijo reutilizable en todo el portal público */
.home-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    padding: 18px max(35px, calc((100vw - 1380px) / 2));
    z-index: 1000;
    transition: background-color .25s ease, box-shadow .25s ease;
}
.home-nav.is-scrolled {
    background: rgba(16, 46, 35, .97);
    box-shadow: 0 8px 25px rgba(0,0,0,.12);
}
html { scroll-padding-top: 100px; }
@media (max-width: 700px) {
    .home-nav { width: 100%; padding: 12px 20px; }
}
