/* —— VARIABLES — colores exactos del logo —— */
    :root {
        --naranja:  #c9712f;   /* acento principal */
        --verde:    #2f6f3e;   /* color base       */
        --limon:    #8fbe59;   /* acento secundario */
        --amarillo: #e6be49;   /* detalle cálido    */
        --crema:    #faf5ed;
        --dark:     #1c1c1c;
        --texto:    #484848;
        --fh:       'Playfair Display', serif;
        --fb:       'Inter', sans-serif;
        --vh:       1vh;
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{font-family:var(--fb);color:var(--texto);background:#fff;overflow-x:hidden;line-height:1.6;}
    .container{width:90%;max-width:1200px;margin:0 auto;}
    img{max-width:100%;display:block;}

    /* —— NAV —— */
    .nav{
        position:fixed;top:0;width:100%;z-index:1000;
        background:#fff;
        border-bottom:4px solid var(--naranja);
        padding:.75rem 0;
        box-shadow:0 2px 16px rgba(0,0,0,.07);
        transition:box-shadow .3s;
    }
    .nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.14);}
    .nav .container{display:flex;justify-content:space-between;align-items:center;}
    .logo img{height:68px;width:auto;}
    .nav-ul{list-style:none;display:flex;align-items:center;}
    .nav-ul li{margin-left:1.8rem;}
    .nav-ul a{
        text-decoration:none;color:var(--verde);
        font-family:var(--fh);font-weight:600;font-size:.86rem;
        position:relative;padding-bottom:3px;transition:color .2s;
    }
    .nav-ul a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--naranja);transition:width .3s;}
    .nav-ul a:hover{color:var(--naranja);}
    .nav-ul a:hover::after,.nav-ul a.active::after{width:100%;}
    .nav-cta{background:var(--naranja)!important;color:#fff!important;padding:.5rem 1.4rem;border-radius:50px;transition:background .3s!important;}
    .nav-cta:hover{background:var(--verde)!important;}
    .nav-cta::after{display:none!important;}
    .burger{display:none;background:none;border:none;color:var(--verde);font-size:1.7rem;cursor:pointer;}

    /* —— HERO —— */
    #hero{position:relative;width:100%;height:calc(var(--vh)*90);overflow:hidden;margin-top:96px;}
    .cs{display:flex;width:100%;height:100%;transition:transform 1s ease-in-out;}
    .ci{min-width:100%;height:100%;position:relative;flex-shrink:0;}
    .ci img{width:100%;height:100%;object-fit:cover;}
    .ci::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62) 0%,rgba(0,0,0,.08) 55%);}
    .hero-copy{
        position:absolute;bottom:0;left:0;right:0;z-index:5;
        padding:2.5rem 0 3.5rem;text-align:center;color:#fff;
    }
    .pill{
        display:inline-flex;align-items:center;gap:.45rem;
        background:var(--naranja);color:#fff;
        font-family:var(--fh);font-weight:700;font-size:.8rem;
        text-transform:uppercase;letter-spacing:.08em;
        padding:.38rem 1.1rem;border-radius:50px;margin-bottom:1.1rem;
    }
    .hero-h1{
        font-family:var(--fh);font-size:clamp(2rem,5vw,3.9rem);
        font-weight:800;line-height:1.1;margin-bottom:.6rem;
        text-shadow:0 2px 14px rgba(0,0,0,.45);
    }
    .hero-h1 em{font-style:italic;color:var(--amarillo);}
    .hero-p{font-size:1.05rem;color:rgba(255,255,255,.88);margin-bottom:1.8rem;}
    .hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
    .bno{background:var(--naranja);color:#fff;font-family:var(--fh);font-weight:700;padding:.88rem 2.2rem;border-radius:50px;text-decoration:none;border:2px solid var(--naranja);transition:all .3s;}
    .bno:hover{background:transparent;}
    .bow{background:transparent;color:#fff;font-family:var(--fh);font-weight:700;padding:.88rem 2.2rem;border-radius:50px;text-decoration:none;border:2px solid rgba(255,255,255,.65);transition:all .3s;}
    .bow:hover{background:rgba(255,255,255,.14);}
    .cb{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.32);color:#fff;border:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;cursor:pointer;z-index:10;transition:background .3s;}
    .cb:hover{background:var(--naranja);}
    .cprev{left:16px;}.cnext{right:16px;}

    /* —— STATS BAR —— */
    .sbar{background:var(--verde);padding:1.5rem 0;}
    .sbar .container{display:flex;justify-content:space-around;flex-wrap:wrap;gap:1rem;}
    .sitem{text-align:center;}
    .sn{font-family:var(--fh);font-size:2rem;font-weight:800;color:var(--amarillo);line-height:1;}
    .sl{font-size:.78rem;color:rgba(255,255,255,.72);margin-top:.18rem;}

    /* —— SECCIONES BASE —— */
    .sec{padding:5rem 0;}
    .stag{display:inline-block;background:rgba(201,113,47,.13);color:var(--naranja);font-family:var(--fh);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;padding:.28rem .9rem;border-radius:50px;margin-bottom:.5rem;}
    .stit{font-family:var(--fh);font-size:clamp(1.7rem,3vw,2.45rem);color:var(--verde);font-weight:800;margin-bottom:.7rem;line-height:1.2;}
    .ssub{max-width:700px;margin:0 auto 3rem;text-align:center;font-size:1rem;color:#666;}
    .shdr{text-align:center;}
    .bg-crema{background:var(--crema);}
    .bg-light{background:#f7fdf3;}

    /* —— ABOUT —— */
    .about-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem;}
    .aimg{position:relative;}
    .aimg img{width:100%;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.12);}
    .abadge{
        position:absolute;bottom:-1.5rem;right:-1.5rem;
        background:var(--naranja);color:#fff;border-radius:14px;
        padding:1.1rem 1.5rem;text-align:center;
        box-shadow:0 8px 24px rgba(224,123,42,.42);
    }
    .abadge .abn{font-family:var(--fh);font-size:1.9rem;font-weight:800;line-height:1;}
    .abadge .abl{font-size:.75rem;color:rgba(255,255,255,.82);}
    .atxt h2{font-family:var(--fh);font-size:1.85rem;color:var(--verde);font-weight:800;margin-bottom:1rem;}
    .atxt p{color:#555;line-height:1.82;margin-bottom:1rem;font-size:.97rem;}
    .cklist{list-style:none;margin:1.4rem 0;}
    .cklist li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.72rem;font-size:.94rem;}
    .cklist li i{color:var(--limon);margin-top:.22rem;flex-shrink:0;}
    .btn-g{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde);color:#fff;font-family:var(--fh);font-weight:700;padding:.82rem 1.9rem;border-radius:50px;text-decoration:none;margin-top:1.4rem;border:2px solid var(--verde);transition:all .3s;}
    .btn-g:hover{background:transparent;color:var(--verde);}

    /* —— TIPOLOGIAS —— */
    .mg{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2.5rem;margin-top:3rem;}
    .mc{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 26px rgba(0,0,0,.08);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
    .mc:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(0,0,0,.13);}
    .miwrap{position:relative;}
    .milink{display:block;height:258px;overflow:hidden;}
    .milink img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
    .milink:hover img{transform:scale(1.05);}
    .mpill{position:absolute;top:.9rem;left:.9rem;background:var(--naranja);color:#fff;font-family:var(--fh);font-weight:700;font-size:.76rem;padding:.28rem .85rem;border-radius:50px;}
    .mbody{padding:1.7rem;flex-grow:1;display:flex;flex-direction:column;}
    .mname{font-family:var(--fh);color:var(--verde);font-size:1.5rem;font-weight:800;margin-bottom:.18rem;}
    .mhint{color:#999;font-style:italic;font-size:.88rem;margin-bottom:1.1rem;}
    .mfeats{list-style:none;flex-grow:1;}
    .mfeats li{display:flex;align-items:center;gap:.65rem;padding:.45rem 0;border-bottom:1px solid #f0f0f0;font-size:.92rem;}
    .mfeats li:last-child{border-bottom:none;}
    .mfeats i{color:var(--limon);width:15px;flex-shrink:0;}
    .mgall{margin-top:1.1rem;}
    .mgall h4{font-family:var(--fh);font-size:.83rem;color:var(--verde);margin-bottom:.45rem;}
    .thumbs{display:flex;gap:7px;}
    .thumbs a{flex:1;border-radius:8px;overflow:hidden;}
    .thumbs img{width:100%;height:54px;object-fit:cover;border:2px solid #eee;border-radius:8px;transition:opacity .3s,border-color .3s;}
    .thumbs img:hover{opacity:.74;border-color:var(--naranja);}
    .mfoot{margin-top:1.4rem;padding-top:.9rem;border-top:2px solid var(--crema);display:flex;align-items:center;justify-content:space-between;}
    .pval{font-family:var(--fh);font-size:1.2rem;font-weight:800;color:var(--verde);}
    .plbl{font-size:.78rem;color:#aaa;}
    .btnq{background:var(--naranja);color:#fff;font-family:var(--fh);font-weight:700;font-size:.86rem;padding:.52rem 1.25rem;border-radius:50px;text-decoration:none;transition:background .3s;}
    .btnq:hover{background:var(--verde);}

    /* —— ACABADOS —— */
    .spgrid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem;}
    .sptable{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.07);}
    .sptable th{background:var(--verde);color:#fff;font-family:var(--fh);font-size:.88rem;padding:.85rem 1.3rem;text-align:left;}
    .sptable td{padding:.82rem 1.3rem;border-bottom:1px solid #f0f0f0;font-size:.9rem;vertical-align:top;}
    .sptable tr:last-child td{border-bottom:none;}
    .sptable tr:nth-child(even) td{background:#f7fdf3;}
    .sptable td:first-child{font-family:var(--fh);font-weight:700;color:var(--naranja);width:32%;}
    .spimgs{display:flex;flex-direction:column;gap:1rem;}
    .spimgs img{border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.1);width:100%;height:220px;object-fit:cover;}

    /* —— AMENIDADES —— */
    .ameng{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
    .ahi{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.1);}
    .ahiimg{height:270px;}
    .ahiimg img{width:100%;height:100%;object-fit:cover;}
    .ahitxt{background:var(--verde);color:#fff;padding:2.3rem;display:flex;flex-direction:column;justify-content:center;}
    .ahitxt h3{font-family:var(--fh);font-size:1.32rem;color:var(--amarillo);margin-bottom:.75rem;}
    .ahitxt p{color:rgba(255,255,255,.84);line-height:1.7;font-size:.93rem;}
    .acard{background:#fff;border-radius:15px;padding:1.7rem 1.4rem;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;}
    .acard:hover{transform:translateY(-5px);box-shadow:0 10px 26px rgba(0,0,0,.1);}
    .aico{font-size:2.3rem;color:var(--naranja);margin-bottom:.65rem;transition:transform .3s;}
    .acard:hover .aico{transform:scale(1.1);}
    .acard h3{font-family:var(--fh);color:var(--verde);font-size:.95rem;margin-bottom:.3rem;}
    .acard p{font-size:.82rem;color:#777;line-height:1.5;}
    /* mall card con imagen */
    .acard-img{padding:0;overflow:hidden;}
    .acard-img .acard-top{height:160px;overflow:hidden;}
    .acard-img .acard-top img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
    .acard-img:hover .acard-top img{transform:scale(1.05);}
    .acard-img .acard-bot{padding:1.2rem 1.3rem;}
    /* mapa implantación */
    .mapawrap{margin-top:4rem;}
    .mapatit{text-align:center;margin-bottom:1.4rem;}
    .mapawrap a{display:block;border-radius:16px;overflow:hidden;box-shadow:0 10px 36px rgba(0,0,0,.12);}
    .mapawrap img{width:100%;display:block;transition:transform .4s;}
    .mapawrap a:hover img{transform:scale(1.02);}

    /* —— INVERSIÓN —— */
    .invg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3rem;}
    .invc{background:#fff;border-radius:15px;padding:1.8rem;box-shadow:0 4px 16px rgba(0,0,0,.06);border-top:4px solid var(--naranja);}
    .invico{font-size:2.5rem;color:var(--verde);margin-bottom:.9rem;}
    .invc h3{font-family:var(--fh);color:var(--verde);margin-bottom:.45rem;font-size:1rem;}
    .invc p{font-size:.88rem;color:#666;line-height:1.72;}
    .invsts{display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center;margin-top:3rem;}
    .invst{background:var(--verde);color:#fff;border-radius:13px;padding:1.3rem 1.8rem;text-align:center;min-width:145px;}
    .invst .isn{font-family:var(--fh);font-size:1.7rem;font-weight:800;color:var(--amarillo);}
    .invst .isl{font-size:.76rem;color:rgba(255,255,255,.68);margin-top:.18rem;}

    /* —— UBICACIÓN —— */
    .ubig{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem;}
    .ubimg img{width:100%;border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.1);}
    .proxl{list-style:none;margin-top:1.4rem;}
    .proxl li{display:flex;align-items:center;gap:.9rem;padding:.7rem 0;border-bottom:1px solid #f0f0f0;font-size:.94rem;}
    .proxl li:last-child{border-bottom:none;}
    .proxl i{color:var(--naranja);width:20px;flex-shrink:0;}
    .addrbox{background:var(--verde);color:#fff;border-radius:13px;padding:1.7rem;margin-top:1.8rem;}
    .addrbox h4{font-family:var(--fh);color:var(--amarillo);margin-bottom:.75rem;}
    .addrbox p{color:rgba(255,255,255,.84);margin-bottom:.38rem;font-size:.9rem;}
    .addrbox a{color:var(--amarillo);text-decoration:none;}

    /* —— CTA BAND —— */
    .ctaband{background:linear-gradient(135deg,var(--naranja) 0%,#be6418 100%);padding:4.5rem 0;text-align:center;}
    .ctaband h2{font-family:var(--fh);font-size:2.1rem;font-weight:800;color:#fff;margin-bottom:.75rem;}
    .ctaband p{color:rgba(255,255,255,.88);font-size:1.02rem;margin-bottom:1.8rem;}
    .ctabtns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;}
    .bctad{background:var(--verde);color:#fff;font-family:var(--fh);font-weight:700;padding:1rem 2.4rem;border-radius:50px;text-decoration:none;border:2px solid var(--verde);transition:all .3s;}
    .bctad:hover{background:transparent;border-color:#fff;color:#fff;}
    .bctaw{background:#fff;color:var(--naranja);font-family:var(--fh);font-weight:700;padding:1rem 2.4rem;border-radius:50px;text-decoration:none;transition:all .3s;}
    .bctaw:hover{background:var(--verde);color:#fff;}

    /* —— CONTACTO —— */
    .consec{background:var(--verde);}
    .consec .stit{color:#fff;}
    .consec .ssub{color:rgba(255,255,255,.7);}
    .consec .stag{background:rgba(245,197,24,.2);color:var(--amarillo);}
    .cong{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;}
    .formbox{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:2.4rem;}
    .cform{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
    .fg input,.fg select{
        width:100%;padding:.92rem 1.1rem;
        border:1px solid rgba(255,255,255,.2);border-radius:9px;
        background:rgba(255,255,255,.08);color:#fff;
        font-family:var(--fb);font-size:.93rem;outline:none;transition:border-color .2s;
    }
    .fg input::placeholder{color:rgba(255,255,255,.42);}
    .fg input:focus{border-color:var(--amarillo);}
    .fg select{color:rgba(255,255,255,.62);}
    .fg select option{background:#2a5e1e;color:#fff;}
    .fgf{grid-column:1/-1;}
    .btsub{width:100%;padding:1.05rem;background:var(--naranja);color:#fff;font-family:var(--fh);font-weight:700;font-size:.97rem;border:none;border-radius:50px;cursor:pointer;transition:background .3s;}
    .btsub:hover{background:var(--amarillo);color:var(--verde);}
    #fmsg{text-align:center;margin-top:.75rem;font-family:var(--fh);font-size:.88rem;min-height:1.1rem;}
    .infop{color:#fff;}
    .infop h3{font-family:var(--fh);font-size:1.3rem;color:var(--amarillo);margin-bottom:1.4rem;}
    .cd{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.3rem;}
    .cd i{color:var(--amarillo);font-size:1.05rem;margin-top:.14rem;flex-shrink:0;}
    .cdl{font-size:.73rem;color:rgba(255,255,255,.52);text-transform:uppercase;font-family:var(--fh);font-weight:600;letter-spacing:.05em;}
    .cdv{font-size:.95rem;color:#fff;margin-top:.1rem;}
    .cdv a{color:#fff;text-decoration:none;}
    .cdv a:hover{color:var(--amarillo);}
    .socrow{display:flex;gap:.75rem;margin-top:1.7rem;}
    .sb{width:39px;height:39px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-size:.98rem;transition:all .3s;}
    .sb:hover{background:var(--naranja);}
    .wabox{
        background:#25d366;border-radius:13px;padding:1.3rem 1.5rem;
        margin-top:1.8rem;display:flex;align-items:center;gap:.9rem;
        text-decoration:none;transition:transform .2s,box-shadow .2s;
    }
    .wabox:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.4);}
    .wabox i{font-size:1.9rem;color:#fff;flex-shrink:0;}
    .watit{font-family:var(--fh);font-weight:700;color:#fff;font-size:.94rem;}
    .wasub{font-size:.8rem;color:rgba(255,255,255,.82);}

    /* —— FOOTER —— */
    .footer{background:#0d2610;color:rgba(255,255,255,.58);text-align:center;padding:2rem 0;}
    .footer p{margin:.35rem 0;font-size:.86rem;}
    .footer a{color:var(--limon);text-decoration:none;}

    /* —— WA FLOAT —— */
    .waf{
        position:fixed;bottom:1.8rem;right:1.8rem;z-index:999;
        width:56px;height:56px;background:#25d366;border-radius:50%;
        display:flex;align-items:center;justify-content:center;
        font-size:1.65rem;color:#fff;text-decoration:none;
        box-shadow:0 5px 18px rgba(37,211,102,.48);transition:transform .3s;
    }
    .waf:hover{transform:scale(1.1);}
    .waf::before{content:'';position:absolute;border-radius:50%;width:100%;height:100%;background:#25d366;animation:wap 2.2s ease-out infinite;}
    @keyframes wap{0%{opacity:.55;transform:scale(1);}100%{opacity:0;transform:scale(1.85);}}

    /* —— REVEAL —— */
    .ri{opacity:0;transform:translateY(26px);transition:opacity .58s ease,transform .58s ease;}
    .ri.revealed{opacity:1;transform:none;}

    /* —— RESPONSIVE —— */
    @media(max-width:1024px){
        .about-g,.spgrid,.ubig,.cong{grid-template-columns:1fr;}
        .abadge{right:1rem;}
        .ahi{grid-column:1/-1;grid-template-columns:1fr;}
        .ahiimg{height:200px;}
        .ameng{grid-template-columns:repeat(2,1fr);}
        .invg{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:768px){
        .nav-ul{display:none;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:#fff;padding:1rem 0;box-shadow:0 5px 15px rgba(0,0,0,.1);}
        .nav-ul.open{display:flex;}
        .nav-ul li{margin:.75rem 0;}
        .burger{display:block;}
        #hero{height:calc(var(--vh)*56);margin-top:84px;}
        .logo img{height:60px;}
        .sbar .container{justify-content:center;gap:1.4rem;}
        .mg{grid-template-columns:1fr;}
        .ameng{grid-template-columns:1fr;}
        .invg{grid-template-columns:1fr;}
        .sec{padding:3.5rem 0;}
        .hero-p{display:none;}
        .cform{grid-template-columns:1fr;}
    }
    @media(prefers-reduced-motion:reduce){
        .ri{opacity:1;transform:none;transition:none;}
        .waf::before{animation:none;}
    }
