/* === EFECTOS VISTOSOS V2 === */
:root{--glow:0 12px 40px rgba(35,70,62,.18), 0 2px 10px rgba(35,70,62,.12)}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
/* Progress */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;background:rgba(35,70,62,.08)}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#23463e,#b28d57,#23463e);background-size:200% 100%;animation:gradientShift 3s linear infinite;transition:width .1s}
@keyframes gradientShift{0%{background-position:0%}100%{background-position:200%}}
/* Cursor glow desktop */
.cursor-glow{position:fixed;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle, rgba(178,141,87,.12) 0%, transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
@media(hover:hover){body:hover .cursor-glow{opacity:1}}
/* Header glass */
.glass{backdrop-filter:blur(12px) saturate(1.2);background:rgba(251,248,242,.82) !important;border-bottom:1px solid rgba(35,70,62,.08)}
.glass .brand{text-shadow:0 1px 0 rgba(255,255,255,.8)}
/* Enhanced hero */
.enhanced-hero{position:relative;overflow:hidden}
.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(45px);opacity:.45;pointer-events:none}
.orb-1{width:520px;height:520px;background:radial-gradient(circle,#f3d1c1,#e8cfc9);top:-120px;right:-80px;animation:float1 9s ease-in-out infinite}
.orb-2{width:420px;height:420px;background:radial-gradient(circle,#c9ddd3,#aebdad);bottom:-100px;left:40%;animation:float2 11s ease-in-out infinite}
.orb-3{width:300px;height:300px;background:radial-gradient(circle,#f5e6c8,#d8bb85);top:35%;left:-60px;animation:float3 12s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-20px,20px) scale(1.05)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-15px) scale(1.08)}}
@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(15px,25px)}}
.shimmer{background:linear-gradient(90deg,#b28d57 0%,#23463e 50%,#b28d57 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:gradientShift 4s linear infinite}
.gradient-text{background:linear-gradient(135deg,#b28d57,#23463e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-copy{position:relative;z-index:2}
.hero-stats{display:flex;gap:2rem;margin-top:2.2rem;border-top:1px solid rgba(35,70,62,.08);padding-top:1.5rem}
.hero-stats div{line-height:1.1}
.hero-stats strong{font-family:'Playfair Display';font-size:1.6rem;color:var(--forest);display:block}
.hero-stats span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6a746f;font-weight:700}
.hero-collage{position:absolute;inset:0;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:.6rem;padding:1.2rem;opacity:.92}
.collage-img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:var(--glow);border:2px solid rgba(255,255,255,.6)}
.collage-img.img-1{grid-row:span 2}
.collage-img.img-2{height:100%}
.collage-img.img-3{height:100%}
.hero-label.glass-card{backdrop-filter:blur(10px);background:rgba(255,255,255,.82)!important;border:1px solid rgba(255,255,255,.6);color:var(--forest)!important;padding:1.2rem 1.4rem!important;border-radius:16px;box-shadow:var(--glow)}
.hero-label.glass-card small{color:var(--gold)!important}
.hero-label.glass-card span{display:block;margin-top:.6rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#5c6761}
.ghost-link{border:1px solid rgba(35,70,62,.18);padding:.6rem 1rem;border-radius:99px;background:rgba(255,255,255,.5)}
.ghost-link:hover{background:var(--forest);color:white!important}
/* Particles */
.hero-particles{position:absolute;inset:0;pointer-events:none}
.hero-particles i{position:absolute;width:4px;height:4px;background:white;border-radius:50%;opacity:.7;animation:particle 7s linear infinite}
@keyframes particle{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-420px) scale(0);opacity:0}}
/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}
/* Service cards 3D + shine */
.service-card{position:relative;transform-style:preserve-3d;transition:transform .35s ease, box-shadow .35s ease !important;overflow:hidden}
.service-card::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);transform:translateX(-100%);transition:transform .7s}
.service-card:hover::after{transform:translateX(100%)}
.service-card:hover{transform:translateY(-6px) rotateX(2deg) rotateY(-2deg);box-shadow:0 20px 45px rgba(35,70,62,.18)}
/* Tilt helpers */
.tilt{transition:transform .2s ease}
.magnetic{transition:transform .15s ease}
/* Intro badges */
.intro-badges{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.intro-badges span{background:white;border:1px solid #e8e1d6;padding:.45rem .9rem;border-radius:99px;font-size:.78rem;font-weight:700;color:var(--forest);box-shadow:0 2px 10px rgba(0,0,0,.04)}
/* Gallery enhanced */
.gallery-grid .gallery-item{cursor:zoom-in}
.gallery-item::before{content:'⤢';position:absolute;top:.9rem;right:.9rem;z-index:2;width:32px;height:32px;display:grid;place-items:center;background:rgba(255,255,255,.88);border-radius:50%;font-size:.9rem;opacity:0;transform:scale(.8);transition:.3s}
.gallery-item:hover::before{opacity:1;transform:scale(1)}
.gallery-item div{transition:transform .4s ease}
.gallery-item:hover div{transform:translateY(-4px)}
/* Before After */
.before-after{background:linear-gradient(180deg,#fbf8f2,#e8e1d7)}
.ba-card{background:white;border-radius:22px;display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;padding:2rem;align-items:center;box-shadow:0 12px 40px rgba(35,70,62,.12);border:1px solid rgba(35,70,62,.06)}
.ba-card h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.ba-card ul{list-style:none;padding:0;margin:1rem 0 0;color:#5c6761;font-size:.92rem;line-height:1.8}
.ba-slider{position:relative;height:380px;border-radius:18px;overflow:hidden;background:#ddd;--pos:50%}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-after img{filter:saturate(1.15) contrast(1.05)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:white;transform:translateX(-50%)}
.ba-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:white;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.2);color:var(--forest);font-weight:700}
.ba-slider input{position:absolute;inset:0;opacity:0;cursor:ew-resize}
/* Prices enhanced */
.price-tabs button{position:relative;overflow:hidden}
.price-tabs button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.price-tabs button.active::after{transform:scaleX(1)}
.price-category{border-radius:12px;overflow:hidden;animation:slideIn .5s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.price-row{transition:background .2s}
.price-row:hover{background:rgba(178,141,87,.06)}
/* QR centrados y cuadrados - FIX */
.qr-centered{display:flex!important;justify-content:center;align-items:flex-start;gap:1.4rem;margin:2rem auto 0;flex-wrap:wrap;width:100%}
.qr-card{background:white;border-radius:18px;padding:.7rem .7rem .9rem!important;box-shadow:0 8px 28px rgba(35,70,62,.12);border:1px solid rgba(35,70,62,.06);transition:transform .3s, box-shadow .3s;width:148px!important;flex:0 0 148px!important;display:flex;flex-direction:column;align-items:center;text-align:center}
.qr-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 40px rgba(35,70,62,.18)}
.qr-card img{width:132px!important;height:132px!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center;background:white;padding:6px!important;border-radius:12px;image-rendering:auto;display:block;flex:0 0 132px}
.qr-card figcaption{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-top:.55rem;line-height:1.2}
.qr-card figcaption strong{font-size:.78rem;color:var(--forest)}
.qr-card span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#5c6761}
.visit{display:grid;grid-template-columns:1fr 1.15fr;gap:0;align-items:stretch}
.visit-card{display:flex;flex-direction:column;justify-content:center}
.map-embed{position:relative;overflow:hidden;border-radius:18px;background:#d4ddd3}
.map-pin{position:absolute;top:1.1rem;left:50%;transform:translateX(-50%);background:var(--forest);color:white;padding:.5rem .9rem;border-radius:99px;font-size:.8rem;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.18);white-space:nowrap}
.maps-cta{position:absolute;bottom:1rem;right:1rem;background:white;color:var(--forest)!important;border:1px solid rgba(35,70,62,.12);padding:.6rem .9rem;border-radius:99px;font-size:.78rem;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.12);text-decoration:none}
.maps-cta:hover{background:var(--forest);color:white!important}
/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(18,43,36,.92);display:grid;place-items:center;z-index:99;padding:2rem;backdrop-filter:blur(6px)}
.lightbox[hidden]{display:none!important}
.lightbox img{max-width:min(92vw,980px);max-height:78vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lightbox p{color:#e8ded0;margin-top:1rem;font-size:1rem}
.lightbox-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:white;width:44px;height:44px;border-radius:50%;font-size:1.6rem;cursor:pointer;backdrop-filter:blur(6px)}
.floating-wa{animation:waFloat 3s ease-in-out infinite}
@keyframes waFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:900px){.ba-card{grid-template-columns:1fr}.visit{grid-template-columns:1fr}.hero-collage{opacity:.45}.hero-stats{gap:1.2rem}}
@media(max-width:680px){.orb-1,.orb-2,.orb-3{display:none}.hero-copy{padding-bottom:1.5rem}.ba-slider{height:300px}.hero-stats{flex-wrap:wrap}.hero-stats strong{font-size:1.35rem}.qr-centered{gap:.9rem}.qr-card{width:140px;flex:0 0 140px}.qr-card img{width:124px!important;height:124px!important;flex:0 0 124px}.maps-cta{font-size:.72rem;padding:.5rem .75rem}}
