
/* ═══════════ PALETA CLARA — marfil, oro y cuero ═══════════ */
:root{
--gold:#A8842F;--gold-light:#C9A84C;--gold-deep:#87671E;
--leather:#3C1A10;--leather-light:#5C2A18;
--bone:#FDFBF8;--bone2:#F7F2EA;--bone3:#EFE7DA;
--ink:#241A13;--ink2:rgba(36,26,19,.74);--ink3:rgba(36,26,19,.55);--ink4:rgba(36,26,19,.4);
--line:rgba(60,26,16,.14);--line2:rgba(60,26,16,.08);
--gray:#8A7C6E;
--white:#FDFBF8;--black:#241A13;--dark:#F7F2EA;--dark2:#EFE7DA;
--shadow:0 18px 40px rgba(60,26,16,.07);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bone);color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:300;overflow-x:hidden;}

/* ═══════════ NAVEGACIÓN — "La costura" ═══════════ */
:root{--nav-h:86px;--nav-h-sm:72px;--thread:rgba(168,132,47,.45);--nav-glass:rgba(253,251,248,.93);}

.thread{position:fixed;top:0;left:0;height:2px;width:0;z-index:340;pointer-events:none;
background:linear-gradient(90deg,rgba(168,132,47,.3),var(--gold-light) 55%,var(--gold));
will-change:width;}

#nav{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--nav-h);
display:flex;align-items:center;gap:26px;padding:0 clamp(18px,4vw,54px);
transition:height .45s cubic-bezier(.25,.46,.45,.94),background .45s,box-shadow .45s;}
#nav::after{content:'';position:absolute;left:clamp(18px,4vw,54px);right:clamp(18px,4vw,54px);bottom:0;height:1px;
background:repeating-linear-gradient(90deg,var(--thread) 0 10px,transparent 10px 19px);
opacity:0;transform:scaleX(.55);transform-origin:left;
transition:opacity .5s ease,transform .8s cubic-bezier(.25,.46,.45,.94);}
#nav.stuck{height:var(--nav-h-sm);background:var(--nav-glass);
-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);
box-shadow:0 12px 34px rgba(60,26,16,.09);}
#nav.stuck::after{opacity:1;transform:scaleX(1);}

/* ── marca: viaja del hero al menú ── */
.brand-mark{display:block;background:url('../img/logo.png') center/contain no-repeat;}
.brand{position:fixed;top:0;left:0;z-index:305;display:block;text-decoration:none;
transform-origin:top left;will-change:transform;opacity:0;transition:opacity .3s;
pointer-events:none;}
.brand.landed{pointer-events:auto;}
.brand.ready{opacity:1;}
.brand .brand-mark{display:block;width:300px;height:163px;
filter:drop-shadow(0 3px 10px rgba(60,26,16,.28));transition:filter .5s;}
.brand.landed .brand-mark{filter:drop-shadow(0 2px 6px rgba(60,26,16,.22));}
.hero-logo-ph{width:300px;max-width:78vw;aspect-ratio:350/190;}

/* ── enlaces ── */
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.3vw,36px);margin-left:auto;}
.nav-links a{position:relative;padding:12px 1px 14px;text-decoration:none;white-space:nowrap;
font-size:.69rem;letter-spacing:2.6px;text-transform:uppercase;font-weight:500;
color:var(--ink2);transition:color .35s;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:6px;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px);
clip-path:inset(0 100% 0 0);transition:clip-path .45s cubic-bezier(.25,.46,.45,.94);}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{clip-path:inset(0 0 0 0);}

/* ── botón cotizar ── */
.nav-cta{isolation:isolate;overflow:hidden;margin-left:8px;padding:13px 26px!important;
color:var(--leather)!important;border:1px solid rgba(168,132,47,.55);
transition:color .35s,border-color .35s,box-shadow .35s;}
.nav-cta::after{display:none!important;}
.nav-cta::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--gold);
transform:translateY(101%);transition:transform .42s cubic-bezier(.25,.46,.45,.94);}
.nav-cta:hover{color:#fff!important;border-color:var(--gold);box-shadow:0 12px 26px rgba(168,132,47,.28);}
.nav-cta:hover::before{transform:translateY(0);}

/* ── botón hamburguesa ── */
.stitch-btn{display:none;position:relative;width:48px;height:48px;flex:none;padding:0;
flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;
background:rgba(253,251,248,.9);border:1px solid rgba(168,132,47,.4);
transition:border-color .3s,background .3s;}
.stitch-btn:hover{border-color:var(--gold);background:rgba(201,168,76,.12);}
.stitch-btn i{display:block;height:1px;background:var(--leather);
transition:transform .42s cubic-bezier(.76,0,.24,1),opacity .25s,width .35s;}
.stitch-btn i:nth-child(1){width:22px;}
.stitch-btn i:nth-child(2){width:15px;}
.stitch-btn i:nth-child(3){width:22px;}
.stitch-btn.open i:nth-child(1){width:22px;transform:translateY(7px) rotate(45deg);}
.stitch-btn.open i:nth-child(2){opacity:0;}
.stitch-btn.open i:nth-child(3){width:22px;transform:translateY(-7px) rotate(-45deg);}

/* ── panel a pantalla completa ── */
.menu-panel{position:fixed;inset:0;z-index:310;display:flex;flex-direction:column;justify-content:center;
padding:120px clamp(26px,9vw,120px) 56px;
background:radial-gradient(120% 90% at 82% 8%,rgba(201,168,76,.13) 0%,transparent 62%),
linear-gradient(155deg,#FDFBF8 0%,#F5EFE5 52%,#FDFBF8 100%);
opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);
transition:clip-path .72s cubic-bezier(.76,0,.24,1),opacity .35s,visibility 0s .72s;}
.menu-panel.open{opacity:1;visibility:visible;clip-path:inset(0 0 0 0);
transition:clip-path .72s cubic-bezier(.76,0,.24,1),opacity .3s,visibility 0s;}
.menu-panel::before{content:'';position:absolute;top:16%;bottom:16%;left:clamp(26px,9vw,120px);width:1px;
background:repeating-linear-gradient(180deg,var(--thread) 0 9px,transparent 9px 18px);
transform:scaleY(0);transform-origin:top;transition:transform .85s .12s cubic-bezier(.25,.46,.45,.94);}
.menu-panel.open::before{transform:scaleY(1);}

.menu-nav{display:flex;flex-direction:column;align-items:flex-start;
gap:clamp(6px,1.4vh,16px);padding-left:40px;}
.menu-nav a{position:relative;text-decoration:none;width:fit-content;
font-family:'Fraunces',serif;font-style:italic;font-weight:300;
font-size:clamp(1.95rem,6.4vw,3.5rem);line-height:1.18;color:var(--ink2);
opacity:0;transform:translateY(26px);transition:color .35s;}
.menu-panel.open .menu-nav a{opacity:1;transform:none;
transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94),color .35s;}
.menu-panel.open .menu-nav a:nth-child(1){transition-delay:.20s;}
.menu-panel.open .menu-nav a:nth-child(2){transition-delay:.28s;}
.menu-panel.open .menu-nav a:nth-child(3){transition-delay:.36s;}
.menu-panel.open .menu-nav a:nth-child(4){transition-delay:.44s;}
.menu-panel.open .menu-nav a:nth-child(5){transition-delay:.52s;}
.menu-panel.open .menu-nav a:nth-child(6){transition-delay:.60s;}
.menu-nav a:hover{color:var(--gold);}
.menu-nav a::before{content:'';position:absolute;left:-40px;top:.66em;width:28px;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 10px);
clip-path:inset(0 100% 0 0);transition:clip-path .45s cubic-bezier(.25,.46,.45,.94);}
.menu-nav a:hover::before{clip-path:inset(0 0 0 0);}

.menu-foot{margin-top:clamp(28px,5vh,52px);padding-left:40px;
display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;
opacity:0;transform:translateY(18px);
transition:opacity .6s .5s ease,transform .6s .5s cubic-bezier(.25,.46,.45,.94);}
.menu-panel.open .menu-foot{opacity:1;transform:none;}
.menu-cta{display:inline-flex;align-items:center;gap:11px;background:var(--leather);color:#F6EEDC;
padding:16px 34px;font-size:.71rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;
text-decoration:none;transition:transform .3s,box-shadow .3s;}
.menu-cta svg{width:17px;height:17px;fill:#F6EEDC;}
.menu-cta:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(60,26,16,.28);}
.menu-meta{font-size:.68rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink4);}

.menu-panel .brand-mark{position:absolute;top:clamp(24px,4vh,46px);left:clamp(26px,9vw,120px);
width:46px;height:46px;opacity:0;transition:opacity .6s .3s;}
.menu-panel.open .brand-mark{opacity:.95;}

section[id]{scroll-margin-top:calc(var(--nav-h-sm) + 12px);}
#nav a:focus-visible,.stitch-btn:focus-visible,.menu-nav a:focus-visible{
outline:1px solid var(--gold);outline-offset:5px;}

@media(max-width:1120px){
  .nav-links{display:none;}
  .stitch-btn{display:flex;margin-left:auto;}
}
@media(max-width:520px){
  :root{--nav-h:74px;--nav-h-sm:64px;}
}
@media(prefers-reduced-motion:reduce){
  #nav,#nav::after,.brand,.menu-panel,.menu-panel::before,.menu-nav a,.menu-foot,
  .nav-links a::after,.menu-nav a::before,.stitch-btn i,.nav-cta::before{
    transition-duration:.01ms!important;animation:none!important;}
}

/* ═══════════ HERO ═══════════ */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bone);}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease;}
.slide.active{opacity:1;}
.slide:nth-child(1){background-image:url('../img/hero-2.jpg');}
.slide:nth-child(2){background-image:url('../img/hero-3.jpg');}
.slide:nth-child(3){background-image:url('../img/hero-sala.jpg');}
.slide:nth-child(4){background-image:url('../img/hero-5.jpg');}
.hero-overlay{position:absolute;inset:0;z-index:1;
background:linear-gradient(180deg,rgba(22,13,8,.42) 0%,rgba(22,13,8,.10) 34%,rgba(22,13,8,.20) 55%,rgba(22,13,8,.70) 84%,rgba(22,13,8,.86) 100%);}
.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:100px 24px 40px;}

.hero-logo-wrap{margin:0 auto 24px;display:inline-block;opacity:0;animation:fadeDown 1.2s cubic-bezier(0.25,0.46,0.45,0.94) 0.2s forwards;}
.hero-logo{display:block;width:300px;height:300px;max-width:78vw;max-height:78vw;filter:drop-shadow(0 6px 24px rgba(0,0,0,.55)) drop-shadow(0 2px 6px rgba(0,0,0,.35));}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

.hero-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;opacity:0;animation:fadeUp 1s ease 0.8s forwards;}
.hero-divider::before,.hero-divider::after{content:'';display:block;width:90px;height:1px;background:linear-gradient(to right,transparent,#E3C878);}
.hero-divider::after{background:linear-gradient(to left,transparent,#E3C878);}
.hero-divider span{font-size:0.78rem;letter-spacing:6px;text-transform:uppercase;color:#E3C878;font-weight:500;text-shadow:0 1px 10px rgba(18,10,6,.5);}
.hero-title{font-family:'Fraunces',serif;font-size:clamp(2.8rem,7vw,6rem);font-weight:300;line-height:1.0;color:#F7F3EC;text-shadow:0 2px 20px rgba(18,10,6,.55);opacity:0;animation:fadeUp 1s ease 1s forwards;}
.hero-title em{font-style:italic;color:#E3C878;display:block;font-size:1.1em;}
.hero-sub{font-size:clamp(0.75rem,1.3vw,0.9rem);color:rgba(255,252,246,.88);text-shadow:0 1px 12px rgba(18,10,6,.5);letter-spacing:2.5px;margin-top:18px;line-height:2;text-transform:uppercase;opacity:0;animation:fadeUp 1s ease 1.3s forwards;}
.hero-btns{margin-top:36px;display:flex;justify-content:center;opacity:0;animation:fadeUp 1s ease 1.6s forwards;}

.btn-primary{background:var(--leather);color:#EFD9A0;padding:18px 56px;font-family:'Montserrat',sans-serif;font-size:0.73rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;text-decoration:none;border:1px solid rgba(60,26,16,.2);display:inline-block;position:relative;overflow:hidden;transition:transform 0.3s,box-shadow 0.3s,background 0.3s;box-shadow:0 14px 30px rgba(60,26,16,.16);}
.btn-primary::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(232,201,122,0.28),transparent);transform:skewX(-20deg);animation:btnShine 2.8s ease-in-out 2.2s infinite;}
@keyframes btnShine{0%{left:-75%;opacity:0;}10%{opacity:1;}60%,100%{left:130%;opacity:0;}}
.btn-primary:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(60,26,16,.28)!important;background:var(--leather-light);}
.btn-primary span{position:relative;z-index:1;}

.hero-scroll{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:32px;opacity:0;animation:fadeUp 1s ease 2.4s forwards;cursor:pointer;text-decoration:none;}
.scroll-sofa{font-size:2rem;color:var(--gold);}
.scroll-chevron{width:26px;height:14px;position:relative;margin-top:2px;}
.scroll-chevron::before,.scroll-chevron::after{content:'';position:absolute;width:14px;height:1.5px;background:var(--gold);top:0;animation:chevronPulse 2s ease-in-out 2s infinite;}
.scroll-chevron::before{left:0;transform:rotate(30deg);transform-origin:left center;}
.scroll-chevron::after{right:0;transform:rotate(-30deg);transform-origin:right center;}
@keyframes chevronPulse{0%,100%{opacity:0.45;}50%{opacity:1;}}
.scroll-text{font-size:0.65rem;letter-spacing:6px;text-transform:uppercase;color:var(--gold);font-weight:500;}

/* ═══════════ SECCIONES ═══════════ */
section{padding:110px 48px;}
.section-label{font-size:0.68rem;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:14px;}
.section-label::after{content:'';display:block;width:40px;height:1px;background:var(--gold);}
h2{font-family:'Fraunces',serif;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:300;line-height:1.05;color:var(--ink);}
h2 em{font-style:italic;color:var(--gold);}

/* ── pilares ── */
.pillars{background:var(--bone2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.pillar{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;background:#1A100A;}
.pillar-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.8s ease,filter 0.5s;filter:saturate(1.06) contrast(1.04);}
.pillar:hover .pillar-bg{transform:scale(1.07);}
.pillar-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,14,9,.93) 0%,rgba(24,14,9,.76) 40%,rgba(24,14,9,.24) 70%,rgba(24,14,9,.06) 100%);transition:opacity .5s;}
.pillar-border{position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent,var(--line),transparent);z-index:3;}
.pillar:last-child .pillar-border{display:none;}
.pillar-content{position:relative;z-index:2;padding:40px 36px;}
.pillar-num{font-family:'Fraunces',serif;font-size:4.5rem;font-weight:300;color:rgba(227,200,120,.9);line-height:1;margin-bottom:14px;}
.pillar-tag{display:inline-block;font-size:0.65rem;letter-spacing:4px;text-transform:uppercase;color:#E9D49A;border:1px solid rgba(233,212,154,.55);padding:5px 14px;margin-bottom:14px;}
.pillar h3{font-family:'Fraunces',serif;font-size:1.8rem;font-weight:400;font-style:italic;color:#FBF7F0;margin-bottom:14px;}
.pillar p{font-size:0.88rem;line-height:1.9;color:rgba(251,247,240,.86);max-width:280px;}

/* ── servicios ── */
.servicios{background:var(--bone);}
.servicios-inner{max-width:1200px;margin:0 auto;}
.servicios-header{margin-bottom:60px;}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.servicio-card{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--bone3);}
.servicio-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s ease;filter:saturate(.96);}
.servicio-card:hover img{transform:scale(1.07);}
.servicio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(253,251,248,.98) 0%,rgba(253,251,248,.9) 34%,rgba(253,251,248,.2) 62%,transparent 100%);}
.servicio-content{position:absolute;bottom:0;left:0;right:0;padding:32px 28px;}
.servicio-tag{font-size:0.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.servicio-content h3{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:400;font-style:italic;color:var(--leather);margin-bottom:10px;line-height:1.15;}
.servicio-content p{font-size:0.88rem;color:var(--ink2);line-height:1.8;margin-bottom:18px;}
.servicio-link{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);text-decoration:none;position:relative;}
.servicio-link::before{content:'';position:absolute;bottom:-2px;left:0;right:20px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.servicio-link::after{content:"\2192";transition:transform 0.3s;}
.servicio-link:hover::before{transform:scaleX(1);}
.servicio-link:hover::after{transform:translateX(5px);}

/* ── transformación ── */
.transformacion{background:var(--bone2);}
.transformacion-inner{max-width:1200px;margin:0 auto;}
.esta-es-img{margin-top:60px;overflow:hidden;}
.esta-es-img img{width:100%;max-height:580px;object-fit:cover;display:block;transition:transform 0.6s ease;}
.esta-es-img:hover img{transform:scale(1.02);}
.ad-quote{margin:56px auto 0;text-align:center;font-family:'Fraunces',serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-style:italic;font-weight:300;color:var(--ink3);max-width:720px;line-height:1.5;}
.ad-quote em{color:var(--gold);font-style:normal;}

/* ── cifras (única franja profunda, en cuero) ── */
.stats{background:linear-gradient(135deg,#3C1A10 0%,#4A2214 55%,#331509 100%);padding:70px 48px;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;text-align:center;}
.stat-num{font-family:'Fraunces',serif;font-size:4.2rem;font-weight:300;color:var(--gold-light);line-height:1;}
.stat-label{font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;color:rgba(246,238,220,.7);margin-top:8px;font-weight:500;}

/* ── testimonios ── */
.testimonios{background:var(--bone);}
.testimonios-inner{max-width:1100px;margin:0 auto;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;}
.testi-card{background:#fff;border:1px solid var(--line);padding:40px 34px;box-shadow:var(--shadow);transition:border-color 0.4s,transform 0.4s,box-shadow .4s;}
.testi-card:hover{border-color:rgba(168,132,47,.45);transform:translateY(-4px);box-shadow:0 24px 50px rgba(60,26,16,.1);}
.testi-stars{color:var(--gold);font-size:0.85rem;margin-bottom:22px;letter-spacing:4px;}
.testi-quote{font-family:'Fraunces',serif;font-size:1.5rem;font-style:italic;font-weight:300;line-height:1.8;color:var(--ink);margin-bottom:28px;}
.testi-quote::before{content:"\201C";font-size:4rem;color:var(--gold);opacity:0.6;line-height:0;vertical-align:-0.6em;margin-right:6px;}
.testi-author{font-size:0.85rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:600;}
.testi-loc{font-size:0.68rem;color:var(--gray);margin-top:5px;}

/* ── cierre ── */
.cta-final{position:relative;overflow:hidden;padding:140px 48px;text-align:center;background:var(--bone);}
.cta-bg{position:absolute;inset:0;background:url('../img/cta-fondo.jpg') center/cover;filter:saturate(.9);}
.cta-final::after{content:'';position:absolute;inset:0;z-index:1;
background:linear-gradient(180deg,rgba(253,251,248,.95) 0%,rgba(253,251,248,.88) 50%,rgba(253,251,248,.96) 100%);}
.cta-content{position:relative;z-index:2;max-width:720px;margin:0 auto;}
.cta-content .section-label{justify-content:center;}
.cta-content .section-label::before{content:'';display:block;width:40px;height:1px;background:var(--gold);}
.cta-content h2{margin:18px 0 22px;}
.cta-content p{font-size:0.92rem;color:var(--ink2);line-height:1.95;margin-bottom:50px;max-width:500px;margin-left:auto;margin-right:auto;}
.btn-wa{background:#1EA855;color:#fff;padding:20px 54px;font-family:'Montserrat',sans-serif;font-size:0.78rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:14px;transition:transform 0.35s,box-shadow 0.35s;box-shadow:0 14px 30px rgba(30,168,85,.25);}
.btn-wa:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(30,168,85,.35);}
.btn-wa svg{width:22px;height:22px;fill:#fff;}

.reveal{opacity:0;transform:translateY(36px);transition:all 0.85s cubic-bezier(0.25,0.46,0.45,0.94);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.12s;}
.reveal-delay-2{transition-delay:0.24s;}
.reveal-delay-3{transition-delay:0.36s;}

.wa-float{position:fixed;bottom:32px;right:32px;z-index:999;background:#1EA855;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(30,168,85,.4);text-decoration:none;animation:waPulse 3s ease infinite;}
.wa-float:hover{transform:scale(1.12);animation:none;}
@keyframes waPulse{0%,100%{box-shadow:0 8px 26px rgba(30,168,85,.4);}50%{box-shadow:0 8px 40px rgba(30,168,85,.6),0 0 0 10px rgba(30,168,85,.08);}}
.wa-float svg{width:30px;height:30px;fill:#fff;}

@media(max-width:900px){
  section{padding:72px 22px;}
  .pillars-grid,.servicios-grid,.testi-grid,.stats-grid{grid-template-columns:1fr;}
  .pillar{min-height:360px;}
}

/* ═══════════ GALERÍA DE TRABAJOS ═══════════ */
.galeria-trabajos{background:var(--bone);padding:110px 0;}
.galeria-header{padding:0 48px;max-width:1300px;margin:0 auto 52px;}
.galeria-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto;
  gap:4px;
  max-width:1300px;
  margin:0 auto;
  padding:0 4px;
}
.gal-item{overflow:hidden;position:relative;cursor:pointer;background:var(--bone3);}
.gal-item:nth-child(1){grid-column:span 2;aspect-ratio:16/9;}
.gal-item:nth-child(2){aspect-ratio:1/1;}
.gal-item:nth-child(3){aspect-ratio:1/1;}
.gal-item:nth-child(4){aspect-ratio:1/1;}
.gal-item:nth-child(5){grid-column:span 2;aspect-ratio:16/9;}
.gal-item:nth-child(6){aspect-ratio:1/1;}
.gal-item:nth-child(7){aspect-ratio:1/1;}
.gal-item:nth-child(8){grid-column:span 2;aspect-ratio:16/9;}
.gal-item:nth-child(9){aspect-ratio:1/1;}
.gal-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94),filter 0.4s;
  filter:saturate(0.95);
}
.gal-item:hover img{transform:scale(1.06);filter:saturate(1.08);}
.gal-item::after{
  content:'';position:absolute;inset:6px;pointer-events:none;
  border:1px dashed rgba(168,132,47,.6);
  opacity:0;transition:opacity 0.4s;
}
.gal-item:hover::after{opacity:1;}

/* Lightbox claro */
.lightbox{
  position:fixed;inset:0;z-index:9999;
  background:rgba(253,251,248,.97);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox img{
  max-width:90vw;max-height:90vh;
  object-fit:contain;box-shadow:0 30px 70px rgba(60,26,16,.18);
  transform:scale(0.9);transition:transform 0.3s;
}
.lightbox.open img{transform:scale(1);}
.lightbox-close{
  position:absolute;top:24px;right:32px;
  color:var(--leather);font-size:2rem;cursor:pointer;
  font-family:'Fraunces',serif;opacity:0.7;
  transition:opacity 0.2s;line-height:1;
}
.lightbox-close:hover{opacity:1;}
.lightbox-prev,.lightbox-next{
  position:absolute;top:50%;transform:translateY(-50%);
  color:var(--leather);font-size:2.5rem;cursor:pointer;
  opacity:0.55;transition:opacity 0.2s;
  font-family:'Fraunces',serif;padding:20px;
}
.lightbox-prev{left:16px;}
.lightbox-next{right:16px;}
.lightbox-prev:hover,.lightbox-next:hover{opacity:1;}

@media(max-width:900px){
  .galeria-grid{grid-template-columns:repeat(2,1fr);}
  .gal-item:nth-child(1),.gal-item:nth-child(5),.gal-item:nth-child(8){grid-column:span 2;}
  .galeria-header{padding:0 22px;}
}

/* ═══════════ PÁGINAS INTERIORES ═══════════ */
body.interior #nav{background:rgba(253,251,248,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}

.page-head{position:relative;overflow:hidden;min-height:clamp(360px,52vh,520px);
display:flex;align-items:flex-end;padding:0;background:var(--bone);}
.page-head-bg{position:absolute;inset:0;background-size:cover;background-position:center;
filter:saturate(.95);transform:scale(1.04);
animation:phZoom 14s ease-out forwards;}
@keyframes phZoom{to{transform:scale(1);}}
.page-head::after{content:'';position:absolute;inset:0;
background:linear-gradient(to top,rgba(253,251,248,.98) 0%,rgba(253,251,248,.9) 40%,rgba(253,251,248,.62) 70%,rgba(253,251,248,.5) 100%);}
.page-head-inner{position:relative;z-index:2;width:100%;max-width:1300px;margin:0 auto;
padding:0 clamp(22px,4vw,54px) clamp(44px,6vh,72px);}
.page-head h1{font-family:'Fraunces',serif;font-weight:300;line-height:1.03;color:var(--ink);
font-size:clamp(2.4rem,5.6vw,4.4rem);opacity:0;animation:fadeUp .9s ease .25s forwards;}
.page-head h1 em{font-style:italic;color:var(--gold);}
.page-head .section-label{opacity:0;animation:fadeUp .9s ease .1s forwards;}
.page-head p{margin-top:20px;max-width:560px;font-size:.92rem;line-height:1.95;
color:var(--ink2);opacity:0;animation:fadeUp .9s ease .4s forwards;}

/* miga de pan cosida */
.crumbs{display:flex;align-items:center;gap:11px;margin-bottom:16px;
font-size:.64rem;letter-spacing:2.6px;text-transform:uppercase;
color:var(--ink4);opacity:0;animation:fadeUp .9s ease forwards;}
.crumbs a{color:var(--gold);text-decoration:none;transition:color .3s;}
.crumbs a:hover{color:var(--gold-deep);}
.crumbs span{display:block;width:22px;height:1px;
background:repeating-linear-gradient(90deg,var(--thread) 0 4px,transparent 4px 8px);}

/* ═══════════ PIE ═══════════ */
footer{position:relative;background:var(--bone2);padding:clamp(52px,7vh,78px) clamp(22px,4vw,54px) 34px;}
footer::before{content:'';position:absolute;top:0;left:clamp(22px,4vw,54px);right:clamp(22px,4vw,54px);
height:1px;background:repeating-linear-gradient(90deg,var(--thread) 0 10px,transparent 10px 19px);}
.foot-inner{max-width:1300px;margin:0 auto;display:grid;
grid-template-columns:1.2fr 1fr auto;gap:44px;align-items:start;}
.foot-brand{display:flex;align-items:center;gap:14px;text-decoration:none;}
.foot-brand .brand-mark{width:52px;height:52px;flex:none;}
.foot-brand b{display:block;font-weight:500;font-size:.78rem;letter-spacing:3.4px;
color:var(--ink);text-transform:uppercase;margin-bottom:5px;}
.foot-brand i{font-family:'Fraunces',serif;font-style:italic;font-size:.76rem;color:var(--gold);}
.foot-nav{display:flex;flex-direction:column;gap:12px;}
.foot-nav a{position:relative;width:fit-content;text-decoration:none;
font-size:.7rem;letter-spacing:2.6px;text-transform:uppercase;
color:var(--ink3);transition:color .3s;}
.foot-nav a::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 10px);
clip-path:inset(0 100% 0 0);transition:clip-path .4s cubic-bezier(.25,.46,.45,.94);}
.foot-nav a:hover{color:var(--gold);}
.foot-nav a:hover::after{clip-path:inset(0 0 0 0);}
.foot-cta{display:inline-flex;align-items:center;gap:11px;background:var(--leather);color:#F6EEDC;
padding:16px 32px;font-size:.7rem;letter-spacing:2.8px;text-transform:uppercase;font-weight:600;
text-decoration:none;white-space:nowrap;transition:transform .3s,box-shadow .3s;}
.foot-cta svg{width:17px;height:17px;fill:#F6EEDC;}
.foot-cta:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(60,26,16,.26);}
.foot-base{max-width:1300px;margin:clamp(38px,5vh,54px) auto 0;padding-top:22px;
border-top:1px solid var(--line);
display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
font-size:.64rem;letter-spacing:2px;text-transform:uppercase;color:var(--ink4);}

@media(max-width:820px){
  .foot-inner{grid-template-columns:1fr;gap:32px;}
  .foot-base{justify-content:flex-start;}
}
@media(prefers-reduced-motion:reduce){
  .page-head-bg,.page-head h1,.page-head p,.page-head .section-label,.crumbs{animation:none!important;opacity:1!important;}
}

/* ═══════════ DESPLEGABLE DE SERVICIOS ═══════════ */
.nav-drop{position:relative;display:flex;align-items:center;padding:0 4px;}
.nav-drop-t{background:none;border:0;cursor:pointer;font-family:inherit;
display:inline-flex;align-items:center;gap:8px;padding:12px 1px 14px;
font-size:.69rem;letter-spacing:2.6px;text-transform:uppercase;font-weight:500;
color:var(--ink2);transition:color .35s;position:relative;}
.nav-drop-t::after{content:'';width:5px;height:5px;flex:none;
border-right:1px solid currentColor;border-bottom:1px solid currentColor;
transform:rotate(45deg) translateY(-2px);transition:transform .35s;}
.nav-drop.open .nav-drop-t,.nav-drop:focus-within .nav-drop-t,.nav-drop-t.active{color:var(--gold);}
.nav-drop.open .nav-drop-t::after,.nav-drop:focus-within .nav-drop-t::after{transform:rotate(225deg) translateY(1px);}
.nav-drop-t::before{content:'';position:absolute;left:0;right:14px;bottom:6px;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px);
clip-path:inset(0 100% 0 0);transition:clip-path .45s cubic-bezier(.25,.46,.45,.94);}
.nav-drop.open .nav-drop-t::before,.nav-drop-t.active::before{clip-path:inset(0 0 0 0);}

.nav-drop-p{position:absolute;top:100%;margin-top:0;left:50%;min-width:242px;padding:12px 0;
transform:translateX(-50%) translateY(10px);
background:rgba(253,251,248,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
border:1px solid var(--line);box-shadow:0 26px 54px rgba(60,26,16,.14);
opacity:0;visibility:hidden;pointer-events:none;
transition:opacity .3s,transform .38s cubic-bezier(.25,.46,.45,.94),visibility 0s .38s;}
.nav-drop.open .nav-drop-p,.nav-drop:focus-within .nav-drop-p{
opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
transition:opacity .3s,transform .38s cubic-bezier(.25,.46,.45,.94),visibility 0s;}
.nav-drop-p::before{content:'';position:absolute;top:0;left:18px;right:18px;height:1px;
background:repeating-linear-gradient(90deg,var(--thread) 0 7px,transparent 7px 13px);}
.nav-drop-p a{display:block;position:relative;padding:11px 24px;text-decoration:none;
font-size:.67rem;letter-spacing:2.3px;text-transform:uppercase;font-weight:500;
color:var(--ink2);white-space:nowrap;transition:color .3s,padding-left .35s;}
.nav-drop-p a::before{content:'';position:absolute;left:14px;top:50%;width:13px;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 4px,transparent 4px 8px);
clip-path:inset(0 100% 0 0);transition:clip-path .35s;}
.nav-drop-p a:hover,.nav-drop-p a.active{color:var(--gold);padding-left:35px;}
.nav-drop-p a:hover::before,.nav-drop-p a.active::before{clip-path:inset(0 0 0 0);}

/* ── panel móvil agrupado ── */
.menu-nav>a,.menu-group-t{font-family:'Fraunces',serif;font-style:italic;font-weight:300;
font-size:clamp(1.45rem,4.8vw,2.5rem);line-height:1.2;color:var(--ink2);
text-decoration:none;width:fit-content;display:block;}
.menu-group-t{color:var(--gold);margin-bottom:8px;}
.menu-nav>*{opacity:0;transform:translateY(24px);}
.menu-panel.open .menu-nav>*{opacity:1;transform:none;
transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94);}
.menu-panel.open .menu-nav>*:nth-child(1){transition-delay:.18s;}
.menu-panel.open .menu-nav>*:nth-child(2){transition-delay:.25s;}
.menu-panel.open .menu-nav>*:nth-child(3){transition-delay:.32s;}
.menu-panel.open .menu-nav>*:nth-child(4){transition-delay:.39s;}
.menu-panel.open .menu-nav>*:nth-child(5){transition-delay:.46s;}
.menu-panel.open .menu-nav>*:nth-child(6){transition-delay:.53s;}
.menu-group{position:relative;}
.menu-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
gap:7px 18px;padding-left:2px;margin-bottom:6px;}
.menu-sub a{position:relative;text-decoration:none;font-family:'Montserrat',sans-serif;
font-style:normal;font-size:.66rem;letter-spacing:1.9px;text-transform:uppercase;font-weight:500;
color:var(--ink3);transition:color .3s;padding:3px 0;}
.menu-sub a:hover,.menu-sub a.active{color:var(--gold);}
.menu-nav>a:hover,.menu-nav>a.active{color:var(--gold);}
@media(max-width:400px){ .menu-sub{grid-template-columns:1fr;} }

/* ═══════════ BLOQUES DE CONTENIDO ═══════════ */
.bloque{background:var(--bone);}
.bloque.alt{background:var(--bone2);}
.bloque-inner{max-width:1200px;margin:0 auto;}
.split{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center;}
.split.invertido{grid-template-columns:1.15fr 0.85fr;}
.split.invertido .split-txt{order:2;}
.split-txt h2{margin-bottom:20px;}
.split-txt p{font-size:.93rem;line-height:1.95;color:var(--ink2);margin-bottom:16px;max-width:46ch;}
.dato{display:inline-flex;align-items:center;gap:12px;margin-top:10px;
font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}
.dato::before{content:'';display:block;width:26px;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 10px);}

.telas{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.telas figure:first-child{grid-column:span 2;grid-row:span 2;}
.tela{position:relative;overflow:hidden;aspect-ratio:1;margin:0;background:var(--bone3);}
.tela img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .7s cubic-bezier(.25,.46,.45,.94),filter .4s;filter:saturate(.95);}
.tela::after{content:'';position:absolute;inset:6px;pointer-events:none;
border:1px dashed rgba(168,132,47,.6);opacity:0;transition:opacity .35s;}
.tela:hover img{transform:scale(1.07);filter:saturate(1.05);}
.tela:hover::after{opacity:1;}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:52px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:52px;}
.foto{position:relative;overflow:hidden;aspect-ratio:4/3;margin:0;background:var(--bone3);}
.grid-2 .foto{aspect-ratio:16/10;}
.foto img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .7s cubic-bezier(.25,.46,.45,.94),filter .4s;filter:saturate(.95);}
.foto:hover img{transform:scale(1.05);filter:saturate(1.05);}

/* ── tipos de persiana ── */
.tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);margin-top:56px;}
.tipo{position:relative;background:#fff;
border:1px solid var(--line);box-shadow:var(--shadow);transition:border-color .4s,transform .4s,box-shadow .4s;}
.tipo:hover{border-color:rgba(168,132,47,.45);transform:translateY(-5px);box-shadow:0 24px 50px rgba(60,26,16,.1);}
.tipo-img{overflow:hidden;aspect-ratio:1;background:var(--bone3);}
.tipo-img img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .8s cubic-bezier(.25,.46,.45,.94);filter:saturate(.95);}
.tipo:hover .tipo-img img{transform:scale(1.06);}
.tipo-txt{padding:26px 26px 30px;}
.tipo-txt h3{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:400;font-style:italic;
color:var(--leather);margin-bottom:12px;}
.tipo-txt p{font-size:.85rem;line-height:1.85;color:var(--ink2);}
.tipo.sin-foto .tipo-txt{padding-top:34px;}
.tipo.sin-foto::before{content:'';position:absolute;top:0;left:26px;right:26px;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 12px);}

/* ── equipo ── */
.equipo{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px);margin-top:56px;}
.persona{position:relative;overflow:hidden;background:var(--bone3);margin:0;}
.persona img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;
transition:transform .8s cubic-bezier(.25,.46,.45,.94),filter .5s;filter:grayscale(.25);}
.persona:hover img{transform:scale(1.05);filter:grayscale(0);}
.persona figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 20px;
background:linear-gradient(to top,rgba(253,251,248,.98) 14%,rgba(253,251,248,.85) 48%,transparent 100%);}
.persona b{display:block;font-family:'Fraunces',serif;font-style:italic;font-weight:400;
font-size:1.12rem;color:var(--ink);margin-bottom:5px;}
.persona span{font-size:.63rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);}

/* ── datos de la empresa ── */
.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px;}
.dato-card{background:#fff;border:1px solid var(--line);padding:34px 30px;}
.dato-card h3{font-size:.66rem;letter-spacing:3.2px;text-transform:uppercase;color:var(--gold);
margin-bottom:16px;padding-bottom:14px;position:relative;}
.dato-card h3::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--thread) 0 6px,transparent 6px 12px);}
.dato-card li{list-style:none;font-size:.85rem;line-height:1.8;color:var(--ink2);
padding:6px 0 6px 18px;position:relative;}
.dato-card li::before{content:'';position:absolute;left:0;top:15px;width:9px;height:1px;background:var(--gold);}

@media(max-width:900px){
  .split,.split.invertido{grid-template-columns:1fr;gap:34px;}
  .split.invertido .split-txt{order:0;}
  .telas{grid-template-columns:repeat(3,1fr);}
  .grid-3,.tipos,.equipo,.datos{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .telas{grid-template-columns:repeat(2,1fr);}
  .tipos,.equipo,.datos{grid-template-columns:1fr;}
}

/* ── el texto del hero cambia junto con la foto ── */
.hero-copy{transition:opacity .5s ease, transform .5s cubic-bezier(.25,.46,.45,.94);}
.hero-copy.cambiando{opacity:0;transform:translateY(14px);}
.hero .slide:nth-child(5){background-image:url('../img/hero-6.jpg');}
.hero .slide:nth-child(6){background-image:url('../img/hero-4.jpg');}
@media(prefers-reduced-motion:reduce){ .hero-copy{transition:none;} }

.hero-sub{min-height:29px;}
@media(max-width:1024px){ .hero-sub{min-height:48px;} }
@media(max-width:560px){ .hero-divider{min-height:42px;} .hero-sub{min-height:72px;} }

.nav-drop-p{z-index:320;}
.page-head{padding-top:calc(var(--nav-h) + 22px);}

/* ── espacios reservados del equipo ── */
.persona.vacante{background:#fff;border:1px dashed rgba(168,132,47,.4);}
.persona-hueco{width:100%;aspect-ratio:4/5;display:block;
background:repeating-linear-gradient(135deg,rgba(168,132,47,.09) 0 10px,transparent 10px 20px);}
.persona.vacante figcaption{background:linear-gradient(to top,rgba(253,251,248,.95) 20%,transparent 100%);}
.persona.vacante b{color:var(--ink4);}
.persona.vacante span{color:rgba(168,132,47,.6);}

/* ── ajustes del submenú móvil ── */
.menu-sub a::before{display:none!important;}
.menu-sub a{transform:none!important;}

/* ── catálogo de papel tapiz ── */
.catalogo{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:52px;}
.catalogo .gal-item{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer;background:var(--bone3);}
.catalogo .gal-item img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .7s cubic-bezier(.25,.46,.45,.94),filter .4s;filter:saturate(.95);}
.catalogo .gal-item:hover img{transform:scale(1.07);filter:saturate(1.06);}
.catalogo .gal-item::after{content:'';position:absolute;inset:5px;pointer-events:none;
border:1px dashed rgba(168,132,47,.55);opacity:0;transition:opacity .35s;}
.catalogo .gal-item:hover::after{opacity:1;}
@media(max-width:900px){ .catalogo{grid-template-columns:repeat(3,1fr);} }
@media(max-width:520px){ .catalogo{grid-template-columns:repeat(2,1fr);} }

/* ── pie en columnas ── */
.foot-inner{grid-template-columns:1.15fr .9fr .9fr auto;gap:clamp(28px,3.4vw,48px);}
.foot-col h4{font-size:.63rem;letter-spacing:3.2px;text-transform:uppercase;color:var(--gold);
margin-bottom:16px;padding-bottom:12px;position:relative;font-weight:500;}
.foot-col h4::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--thread) 0 6px,transparent 6px 12px);}
.foot-col a{position:relative;display:block;width:fit-content;text-decoration:none;margin-bottom:10px;
font-size:.68rem;letter-spacing:2.2px;text-transform:uppercase;
color:var(--ink3);transition:color .3s;}
.foot-col a::after{content:'';position:absolute;left:0;bottom:-4px;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 10px);
clip-path:inset(0 100% 0 0);transition:clip-path .4s cubic-bezier(.25,.46,.45,.94);}
.foot-col a:hover,.foot-col a.active{color:var(--gold);}
.foot-col a:hover::after,.foot-col a.active::after{clip-path:inset(0 0 0 0);}
.foot-cta{align-self:start;}

@media(max-width:980px){
  .foot-inner{grid-template-columns:1fr 1fr;gap:34px;}
  .foot-brand{grid-column:1/-1;}
  .foot-cta{grid-column:1/-1;justify-self:start;}
}
@media(max-width:520px){ .foot-inner{grid-template-columns:1fr;} }

/* ── datos de empresa en el pie ── */
.foot-dir{font-size:.72rem;line-height:1.85;color:var(--ink3);letter-spacing:.4px;}
.foot-dir b{display:block;font-size:.6rem;letter-spacing:2.6px;text-transform:uppercase;
color:var(--gold);font-weight:500;margin-bottom:7px;}
.foot-datos li{list-style:none;position:relative;padding:5px 0 5px 16px;
font-size:.72rem;line-height:1.7;color:var(--ink3);}
.foot-datos li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--gold);}

/* la tarjeta de servicios del inicio ahora es un enlace */
a.pillar{text-decoration:none;display:flex;color:inherit;}

/* marca del pie */
.foot-brand{flex-direction:column;align-items:flex-start;gap:16px;}
.foot-brand .brand-mark{width:196px;height:106px;flex:none;}
.foot-brand b{font-size:.88rem;letter-spacing:4.2px;margin-bottom:7px;}
.foot-brand i{font-size:.82rem;}

.menu-panel .brand-mark{width:124px;height:67px;}

/* ═══════════ LLAMADA TELEFÓNICA ═══════════ */
.btn-tel{display:inline-flex;align-items:center;gap:11px;margin-top:26px;
text-decoration:none;position:relative;padding:10px 2px 12px;
font-size:.72rem;letter-spacing:2.4px;text-transform:uppercase;
color:var(--ink2);transition:color .35s;}
.btn-tel svg{width:15px;height:15px;fill:currentColor;flex:none;}
.btn-tel b{font-weight:600;letter-spacing:2.8px;color:var(--gold);}
.btn-tel::after{content:'';position:absolute;left:0;bottom:5px;width:100%;height:1px;
background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px);
clip-path:inset(0 100% 0 0);transition:clip-path .45s cubic-bezier(.25,.46,.45,.94);}
.btn-tel:hover{color:var(--gold);}
.btn-tel:hover::after{clip-path:inset(0 0 0 0);}

.foot-marca{display:flex;flex-direction:column;align-items:flex-start;gap:22px;}
.foot-tel{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
font-size:.72rem;letter-spacing:2.6px;color:var(--gold);transition:opacity .3s;}
.foot-tel svg{width:14px;height:14px;fill:currentColor;flex:none;}
.foot-tel span{font-size:.6rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink4);}
.foot-tel:hover{opacity:.75;}

.menu-tel{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
font-size:.7rem;letter-spacing:2.6px;color:var(--gold);}
.menu-tel svg{width:14px;height:14px;fill:currentColor;flex:none;}

/* botón flotante de llamada */
.tel-float{position:fixed;bottom:106px;right:35px;z-index:999;
width:56px;height:56px;border-radius:50%;display:none;align-items:center;justify-content:center;
background:var(--leather);border:1px solid rgba(168,132,47,.5);
box-shadow:0 8px 24px rgba(60,26,16,.3);text-decoration:none;
transition:transform .3s,border-color .3s,opacity .3s;}
.tel-float svg{width:23px;height:23px;fill:var(--gold-light);}
.tel-float:hover{transform:scale(1.06);border-color:var(--gold-light);}
@media(max-width:900px){ .tel-float{display:flex;} }

.wa-float{transition:opacity .3s,transform .3s;}
body.menu-open .wa-float,body.menu-open .tel-float{opacity:0;pointer-events:none;transform:scale(.8);}

/* nav sobre hero oscuro */
#nav:not(.stuck) .nav-links a{color:rgba(255,252,246,.92);text-shadow:0 1px 10px rgba(18,10,6,.55);}
#nav:not(.stuck) .nav-links a:hover,#nav:not(.stuck) .nav-links a.active{color:#E3C878;}
#nav:not(.stuck) .nav-links a::after{background:repeating-linear-gradient(90deg,#E3C878 0 6px,transparent 6px 11px);}
#nav:not(.stuck) .nav-cta{color:#FBF7F0!important;border-color:rgba(233,212,154,.7);text-shadow:0 1px 10px rgba(18,10,6,.55);}
#nav:not(.stuck) .nav-cta::before{background:#E3C878;}
#nav:not(.stuck) .nav-cta:hover{color:#241A13!important;text-shadow:none;border-color:#E3C878;}

/* botones sobre foto */
.hero-btns .btn-primary{background:#FBF7F0;color:#3C1A10;border:1px solid rgba(255,255,255,.75);font-weight:700;letter-spacing:3.2px;box-shadow:0 18px 42px rgba(0,0,0,.45);}
.hero-btns .btn-primary::before{background:linear-gradient(to right,transparent,rgba(168,132,47,.32),transparent);}
.hero-btns .btn-primary:hover{background:#E3C878;color:#241A13;border-color:#E3C878;box-shadow:0 26px 56px rgba(0,0,0,.55)!important;}
#nav:not(.stuck) .nav-cta{background:#E3C878;color:#241A13!important;border-color:#E3C878;font-weight:700;text-shadow:none;box-shadow:0 10px 26px rgba(0,0,0,.32);}
#nav:not(.stuck) .nav-cta::before{background:#FBF7F0;}
#nav:not(.stuck) .nav-cta:hover{background:#FBF7F0;color:#241A13!important;border-color:#FBF7F0;box-shadow:0 14px 32px rgba(0,0,0,.4);}

/* restaurar panel desplegable */
#nav:not(.stuck) .nav-drop-p a{color:var(--ink2)!important;text-shadow:none!important;font-weight:500;}
#nav:not(.stuck) .nav-drop-p a:hover,#nav:not(.stuck) .nav-drop-p a.active{color:var(--gold)!important;}
#nav:not(.stuck) .nav-drop-p a::after{background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px);}

/* page-head sin velo */
.page-head::after{background:linear-gradient(180deg,rgba(22,13,8,.46) 0%,rgba(22,13,8,.14) 34%,rgba(22,13,8,.26) 58%,rgba(22,13,8,.74) 86%,rgba(22,13,8,.88) 100%)!important;}
.page-head-bg{filter:saturate(1.06) contrast(1.04);}
.page-head h1{color:#F7F3EC!important;text-shadow:0 2px 20px rgba(18,10,6,.55);}
.page-head h1 em{color:#E3C878!important;}
.page-head p{color:rgba(255,252,246,.9)!important;text-shadow:0 1px 12px rgba(18,10,6,.5);}
.page-head .section-label{color:#E3C878!important;text-shadow:0 1px 10px rgba(18,10,6,.5);}
.page-head .section-label::after{background:#E3C878!important;}
.page-head .crumbs,.page-head .crumbs a{color:rgba(255,252,246,.78)!important;text-shadow:0 1px 10px rgba(18,10,6,.5);}
.page-head .crumbs a:hover{color:#E3C878!important;}
.page-head .crumbs span{background:rgba(255,252,246,.55)!important;}

/* nav negro en subpaginas */
body:has(.page-head) #nav{background:rgba(20,12,7,.94)!important;-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 10px 30px rgba(0,0,0,.3)!important;}
body:has(.page-head) #nav .nav-links a,body:has(.page-head) #nav .nav-drop-t{color:rgba(255,252,246,.9)!important;text-shadow:none!important;}
body:has(.page-head) #nav .nav-links a:hover,body:has(.page-head) #nav .nav-drop-t:hover{color:#E3C878!important;}
body:has(.page-head) #nav .nav-links a.active,body:has(.page-head) #nav .nav-drop-t.active{color:#FFFFFF!important;font-weight:600;}
body:has(.page-head) #nav .nav-links a.active::after{background:repeating-linear-gradient(90deg,#FFFFFF 0 6px,transparent 6px 11px);}
body:has(.page-head) #nav .nav-cta{background:#E3C878!important;color:#241A13!important;border-color:#E3C878!important;font-weight:700;}
body:has(.page-head) #nav .nav-cta:hover{background:#FBF7F0!important;color:#241A13!important;border-color:#FBF7F0!important;}
body:has(.page-head) #nav .nav-drop-p a{color:var(--ink2)!important;font-weight:500;}
body:has(.page-head) #nav .nav-drop-p a:hover,body:has(.page-head) #nav .nav-drop-p a.active{color:var(--gold)!important;}
body:has(.page-head) #nav::after{opacity:0!important;}

/* nav degradado */
#nav:not(.stuck),body:has(.page-head) #nav:not(.stuck){background:linear-gradient(180deg,rgba(18,11,6,.80) 0%,rgba(18,11,6,.52) 48%,rgba(18,11,6,.22) 78%,rgba(18,11,6,0) 100%)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;}
#nav:not(.stuck){height:calc(var(--nav-h) + 16px);}

/* cta nav visible */
#nav .nav-links a.nav-cta{color:#241A13!important;font-weight:700!important;letter-spacing:2.6px;text-shadow:none!important;transition:transform .3s,background .3s,box-shadow .3s;}
#nav:not(.stuck) .nav-links a.nav-cta,body:has(.page-head) #nav .nav-links a.nav-cta{background:#E3C878!important;border-color:#E3C878!important;animation:ctaPulse 2.8s ease-in-out infinite;}
@keyframes ctaPulse{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.32),0 0 0 0 rgba(227,200,120,.55);}55%{box-shadow:0 8px 22px rgba(0,0,0,.32),0 0 0 12px rgba(227,200,120,0);}}
#nav .nav-links a.nav-cta:hover{background:#FBF7F0!important;color:#241A13!important;border-color:#FBF7F0!important;transform:translateY(-2px);animation:none;box-shadow:0 14px 30px rgba(0,0,0,.4)!important;}

/* boton servicios + activo en blanco */
#nav:not(.stuck) .nav-drop-t{color:rgba(255,252,246,.92);text-shadow:0 1px 10px rgba(18,10,6,.55);}
#nav:not(.stuck) .nav-drop-t:hover,#nav:not(.stuck) .nav-drop.open .nav-drop-t,#nav:not(.stuck) .nav-drop-t.active{color:#E3C878;}
#nav:not(.stuck) .nav-links a.active,#nav:not(.stuck) .nav-drop-t.active{color:#FFFFFF;font-weight:600;text-shadow:0 1px 12px rgba(18,10,6,.6);}
#nav:not(.stuck) .nav-links a.active::after{background:repeating-linear-gradient(90deg,#FFFFFF 0 6px,transparent 6px 11px);}
#nav.stuck .nav-links a.active,#nav.stuck .nav-drop-t.active{color:var(--gold);}

/* cta texto negro fix */
body:has(.page-head) #nav .nav-links a.nav-cta,body #nav .nav-links a.nav-cta,body:has(.page-head) #nav:not(.stuck) .nav-links a.nav-cta{color:#241A13!important;text-shadow:none!important;font-weight:700!important;}
body:has(.page-head) #nav .nav-links a.nav-cta:hover,body #nav .nav-links a.nav-cta:hover{color:#241A13!important;}

/* section-label mas visible */
.section-label{font-size:.82rem!important;font-weight:700!important;color:var(--gold-deep)!important;letter-spacing:4.5px!important;}
.page-head .section-label{color:#E3C878!important;}

/* hero-scroll fix */
.hero-scroll{position:absolute!important;left:50%;bottom:26px;transform:translateX(-50%);margin-top:0!important;z-index:4;}
#servicios{scroll-margin-top:calc(var(--nav-h) + 12px);}

/* hero-scroll oculto */
.hero-scroll{display:none!important;}

/* parrafo cta-final negro */
.cta-content p{color:#241A13!important;}

/* parrafo cta-final tamano */
.cta-content p{color:#241A13!important;font-size:1.06rem!important;line-height:1.85!important;max-width:600px!important;}

/* btn-tel mas grande */
.btn-tel{font-size:.92rem!important;letter-spacing:1.8px!important;color:#241A13!important;font-weight:600!important;}
.btn-tel strong,.btn-tel b{font-weight:800!important;}
.btn-tel svg{width:19px;height:19px;}

/* footer oscuro */
footer{background:#2A1710!important;padding:clamp(46px,6vh,64px) clamp(22px,4vw,54px) 30px!important;}
footer::before{background:repeating-linear-gradient(90deg,rgba(227,200,120,.4) 0 10px,transparent 10px 19px)!important;}
.foot-inner{align-items:center!important;}
.foot-brand b{color:#FBF7F0!important;font-size:.82rem!important;letter-spacing:3.6px!important;}
.foot-brand i{color:#E3C878!important;font-size:.82rem!important;}
footer .section-label,.foot-inner .section-label{color:#E3C878!important;}
.foot-nav a{color:rgba(251,247,240,.85)!important;font-size:.76rem!important;letter-spacing:2.4px!important;}
.foot-nav a:hover{color:#E3C878!important;}
.foot-nav a::after{background:repeating-linear-gradient(90deg,#E3C878 0 5px,transparent 5px 10px)!important;}
footer p,footer li,footer span,footer address{color:rgba(251,247,240,.72)!important;}
footer strong,footer b:not(.foot-brand b){color:#FBF7F0!important;}
footer a{color:rgba(251,247,240,.85);}
footer a:hover{color:#E3C878;}
.foot-cta{background:#E3C878!important;color:#241A13!important;font-weight:700!important;font-size:.76rem!important;padding:17px 34px!important;}
.foot-cta svg{fill:#241A13!important;width:18px;height:18px;}
.foot-cta:hover{background:#FBF7F0!important;color:#241A13!important;box-shadow:0 16px 34px rgba(0,0,0,.4)!important;}
.foot-base{border-top:1px solid rgba(251,247,240,.16)!important;color:rgba(251,247,240,.55)!important;font-size:.68rem!important;margin-top:clamp(30px,4vh,42px)!important;}
.foot-base a{color:rgba(251,247,240,.55)!important;}
.foot-base a:hover{color:#E3C878!important;}
.cta-final{padding-bottom:clamp(40px,5vh,60px)!important;}

/* footer oscuro fix clases */
footer .foot-col a{color:rgba(251,247,240,.85)!important;font-size:.74rem!important;}
footer .foot-col a:hover{color:#E3C878!important;}
footer .foot-col a::after{background:repeating-linear-gradient(90deg,#E3C878 0 5px,transparent 5px 10px)!important;}
footer .foot-col h4,footer h4{color:#E3C878!important;}
footer .foot-marca b,footer .foot-marca strong{color:#FBF7F0!important;}
footer .foot-marca i,footer .foot-marca em{color:#E3C878!important;}
footer .foot-datos,footer .foot-datos *{color:rgba(251,247,240,.72)!important;}
footer .foot-datos a,footer .foot-datos strong{color:rgba(251,247,240,.9)!important;}
footer li::marker{color:#E3C878;}


/* ====== MENU MOVIL LIMPIO ====== */
.menu-panel{justify-content:flex-start!important;align-items:flex-start;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(88px,12vh,120px) clamp(26px,9vw,120px) 44px!important;}
.menu-panel>.brand-mark{position:static!important;display:block;width:clamp(150px,42vw,200px);height:clamp(64px,17vw,92px);flex:none;margin:0 0 clamp(60px,10vh,90px)!important;background-size:contain;background-position:left center;}
.menu-nav{flex:none;gap:clamp(4px,1vh,12px)!important;}
.menu-nav a,.menu-group-t{font-family:'Fraunces',serif!important;font-style:italic!important;font-weight:300!important;font-size:clamp(1.75rem,7vw,2.3rem)!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important;color:var(--leather)!important;}
.menu-nav a.active{color:var(--gold-deep)!important;font-weight:400!important;}
.menu-nav a:hover,.menu-group-t:hover{color:var(--gold)!important;}
.menu-group{display:flex;flex-direction:column;}
.menu-group-t{cursor:pointer;display:inline-flex!important;align-items:center;gap:10px;-webkit-user-select:none;user-select:none;}
.menu-group-t::after{content:'';width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg) translateY(-3px);transition:transform .3s;}
.menu-group.open>.menu-group-t::after{transform:rotate(-135deg) translateY(2px);}
.menu-sub{display:flex;flex-direction:column;gap:2px;padding-left:22px;max-height:0;overflow:hidden;opacity:0;margin:0;transition:max-height .45s cubic-bezier(.25,.46,.45,.94),opacity .3s,margin .3s;}
.menu-group.open>.menu-sub{max-height:480px;opacity:1;margin:6px 0 4px;}
.menu-sub a{font-family:'Fraunces',serif!important;font-style:italic!important;font-weight:300!important;font-size:clamp(1.25rem,5vw,1.55rem)!important;line-height:1.55!important;letter-spacing:0!important;text-transform:none!important;color:rgba(60,26,16,.8)!important;}
.menu-sub a.active{color:var(--gold-deep)!important;}
.menu-sub a:hover{color:var(--gold)!important;}
.menu-foot{flex:none;margin-top:clamp(20px,3vh,36px)!important;}
body:has(.menu-panel.open){overflow:hidden;}
body:has(.menu-panel.open) #nav{z-index:330!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
body:has(.menu-panel.open) #nav .nav-links{opacity:0;pointer-events:none;}
body:has(.menu-panel.open) #brand,body:has(.menu-panel.open) .brand{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
body:has(.menu-panel.open) .thread{opacity:0!important;}
.stitch-btn.open{border-color:var(--gold)!important;background:rgba(42,23,16,.06);}
.stitch-btn.open i{background:var(--leather)!important;}
@media(max-height:760px){.menu-nav a,.menu-group-t{font-size:clamp(1.55rem,6.2vw,1.9rem)!important;}.menu-sub a{font-size:clamp(1.15rem,4.6vw,1.35rem)!important;}}

/* fuente base movil */
@media(max-width:820px){html{font-size:17.5px;}}


/* label chip en banners */
.page-head .section-label{display:inline-flex;align-items:center;gap:12px;background:rgba(24,14,9,.52);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 18px;border:1px solid rgba(227,200,120,.4);color:#F2DFA8!important;text-shadow:0 1px 8px rgba(0,0,0,.55);}

/* servicio tag y link visibles */
.servicio-tag{font-size:.78rem!important;font-weight:700!important;color:var(--gold-deep)!important;letter-spacing:3.5px!important;}
.servicio-link{font-size:.85rem!important;font-weight:700!important;color:var(--gold-deep)!important;letter-spacing:2.4px!important;display:inline-flex;align-items:center;gap:8px;}
.servicio-link::after{content:"\2192"!important;font-size:1.05em;transition:transform .3s;}
.servicio-link:hover{color:var(--leather)!important;}
.servicio-link:hover::after{transform:translateX(5px);}

/* dato y parrafos claros */
section.bloque p,section.bloque li{color:#3F3128!important;}
.dato{font-size:.8rem!important;font-weight:700!important;color:var(--gold-deep)!important;letter-spacing:2.6px!important;}


/* catalogo mosaico */
.catalogo{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.catalogo .gal-item{aspect-ratio:1/1!important;grid-column:auto!important;overflow:hidden;background:var(--bone3);}
.catalogo .gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.catalogo .gal-item:hover img{transform:scale(1.06);}
@media(max-width:1080px){.catalogo{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.catalogo{grid-template-columns:repeat(2,1fr);gap:10px;}}

/* tendencias parallax */
section.bloque.tendencia-fx{position:relative;background-size:cover;background-position:center;background-attachment:fixed;}
section.bloque.tendencia-fx::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,14,9,.78) 0%,rgba(24,14,9,.6) 50%,rgba(24,14,9,.8) 100%);}
section.bloque.tendencia-fx .bloque-inner{position:relative;z-index:2;}
section.bloque.tendencia-fx h2{color:#F7F3EC!important;}
section.bloque.tendencia-fx h2 em{color:#E3C878!important;}
section.bloque.tendencia-fx p{color:rgba(255,252,246,.92)!important;}
section.bloque.tendencia-fx .section-label{color:#E3C878!important;}
section.bloque.tendencia-fx img{box-shadow:0 24px 50px rgba(0,0,0,.45);border:4px solid rgba(251,247,240,.14);}
@media(max-width:900px){section.bloque.tendencia-fx{background-attachment:scroll;}}

/* formulario whatsapp */
.wa-form{max-width:560px;margin:26px auto 0;display:flex;flex-direction:column;gap:12px;text-align:left;}
.wa-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.wa-form input,.wa-form select,.wa-form textarea{width:100%;padding:14px 16px;border:1px solid rgba(60,26,16,.28);background:#fff;font-family:inherit;font-size:.92rem;color:#241A13;border-radius:0;-webkit-appearance:none;appearance:none;}
.wa-form select{background-image:linear-gradient(45deg,transparent 50%,#87671E 50%),linear-gradient(135deg,#87671E 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;}
.wa-form input:focus,.wa-form select:focus,.wa-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(168,132,47,.15);}
.wa-form textarea{resize:vertical;min-height:88px;}
.wa-form-btn{border:0;cursor:pointer;width:100%;justify-content:center;font-family:inherit;}
@media(max-width:640px){.wa-campos{grid-template-columns:1fr;}}

/* historia link */
.historia-link{color:inherit;text-decoration:none;border-bottom:2px dotted var(--gold);transition:color .3s,border-color .3s;}
.historia-link:hover{color:var(--gold-deep);border-color:var(--gold-deep);}

/* paseo mascotas */
.paseo-mascotas{position:fixed;left:0;right:0;bottom:4px;height:60px;pointer-events:none;z-index:60;overflow:hidden;}
.paseo{position:absolute;bottom:0;left:0;font-size:42px;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.28));will-change:transform;}
.perro{animation:paseoDer 26s linear infinite,paseoTrote .45s ease-in-out infinite alternate;}
.gato{animation:paseoIzq 34s linear infinite 9s,paseoTrote .4s ease-in-out infinite alternate;transform:translateX(110vw);}
@keyframes paseoDer{from{transform:translateX(-90px) scaleX(-1);}to{transform:translateX(110vw) scaleX(-1);}}
@keyframes paseoIzq{from{transform:translateX(110vw);}to{transform:translateX(-90px);}}
@keyframes paseoTrote{from{bottom:0;}to{bottom:5px;}}
@media(max-width:640px){.paseo{font-size:32px;}}
@media(prefers-reduced-motion:reduce){.paseo-mascotas{display:none;}}

/* == PASEO MASCOTAS SPRITES == */
.paseo-mascotas{position:fixed;left:0;right:0;bottom:0;top:auto;height:140px;overflow:hidden;pointer-events:none;z-index:40;background:none}
.paseo-mascotas .mascota{position:absolute;bottom:6px;left:0;height:auto;display:block}
.paseo-mascotas .perro{width:170px;animation:caminaPerro 44s linear infinite}
.paseo-mascotas .gato{width:270px;animation:caminaGatos 44s linear infinite;animation-delay:-15s}
@keyframes caminaPerro{from{transform:translateX(-260px)}to{transform:translateX(2400px)}}
@keyframes caminaGatos{from{transform:translateX(2400px)}to{transform:translateX(-320px)}}
@media (max-width:820px){.paseo-mascotas{height:110px}.paseo-mascotas .perro{width:120px;animation-duration:31s}.paseo-mascotas .gato{width:195px;animation-duration:31s}}
@media (prefers-reduced-motion:reduce){.paseo-mascotas{display:none}}
/* == FIN PASEO MASCOTAS SPRITES == */

/* == CINTA SOSTENIBILIDAD == */
.cinta-verde{background:#2A1710;padding:44px 24px 34px;text-align:center}
.cinta-frase{font-family:'Fraunces',Georgia,serif;color:#F7F3EC!important;font-size:1.65rem;line-height:1.3;letter-spacing:.01em;transition:opacity .4s ease;margin:0 auto;max-width:900px}
.cinta-frase em{color:#E3C878;font-style:italic}
.cinta-puntos{display:flex;gap:7px;justify-content:center;margin-top:18px}
.cinta-puntos span{width:18px;height:2px;background:rgba(247,243,236,.25);display:block;transition:background .4s ease}
.cinta-puntos span.activo{background:#E3C878}
@media (max-width:820px){.cinta-verde{padding:34px 18px 26px}.cinta-frase{font-size:1.3rem}}
/* == FIN CINTA SOSTENIBILIDAD == */

/* == COMPARADOR == */
.comparador-sec{padding:70px 0 60px}
.comparador-sec .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.comparador{margin:0 auto}
.comp-titulo{font-family:'Fraunces',Georgia,serif;font-size:2.4rem;color:#2A1710!important;margin:10px 0 12px;line-height:1.15}
.comp-titulo em{color:#87671E;font-style:italic}
.comp-sub{color:#3F3128!important;max-width:640px;margin:0 0 30px;line-height:1.7}
.comparador{position:relative;width:100%;max-width:1000px;aspect-ratio:1600/893;overflow:hidden;border-radius:10px;user-select:none;touch-action:pan-y;cursor:ew-resize;background:#EFEAE1}
.comp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.comp-antes-wrap{position:absolute;inset:0;width:50%;overflow:hidden;pointer-events:none}
.comp-antes-wrap .comp-img{width:1000px;max-width:none}
.comp-tirador{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(247,243,236,.9);transform:translateX(-1px);pointer-events:none}
.comp-boton{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#E3C878;color:#2A1710;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.comp-etq{position:absolute;bottom:14px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#F7F3EC;background:rgba(24,14,9,.55);padding:6px 12px;border-radius:3px;pointer-events:none}
.comp-etq-i{left:14px}
.comp-etq-d{right:14px}
@media (max-width:820px){.comp-titulo{font-size:1.75rem}.comp-boton{width:38px;height:38px;font-size:17px}}
/* == FIN COMPARADOR == */

/* == PORTAFOLIO GRID == */
.galeria-trabajos{max-width:1180px;margin:0 auto;padding:56px 24px 70px}
.gal-filtros{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 34px}
.gal-f{font-family:system-ui,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#87671E;background:transparent;border:1px solid rgba(135,103,30,.35);border-radius:2px;padding:9px 20px;cursor:pointer;transition:all .25s ease}
.gal-f:hover{border-color:#87671E}
.gal-f.activo{background:#2A1710;border-color:#2A1710;color:#E3C878}
.galeria-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;align-items:stretch!important}
.galeria-grid .gal-item{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:6px;cursor:pointer;background:#EFEAE1;height:auto!important;grid-row:auto!important;grid-column:auto!important}
.galeria-grid .gal-item img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;transition:transform .5s ease}
.galeria-grid .gal-item:hover img{transform:scale(1.05)}
.gal-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(to top,rgba(24,14,9,.88),rgba(24,14,9,0));color:#F7F3EC;opacity:0;transition:opacity .3s ease;pointer-events:none}
.galeria-grid .gal-item:hover .gal-cap{opacity:1}
.gal-tit{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.02rem;line-height:1.25}
.gal-mat{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#E3C878;margin-top:5px}
.gal-item.oculto{display:none}
@media (max-width:900px){.galeria-grid{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:560px){.galeria-grid{grid-template-columns:1fr!important}.gal-cap{opacity:1}}
/* == FIN PORTAFOLIO GRID == */

/* == GOOGLE RATING == */
.google-rating{padding:52px 24px 6px;text-align:center}
.gr-caja{display:inline-block;padding:26px 40px;border:1px solid rgba(135,103,30,.28);border-radius:8px;background:#FFFCF6}
.gr-estrellas{color:#E3C878;font-size:1.4rem;letter-spacing:.18em;line-height:1}
.gr-num{font-family:'Fraunces',Georgia,serif;font-size:2.5rem;color:#2A1710!important;margin-top:10px;line-height:1}
.gr-de{font-size:1rem;color:#7A6A5C!important}
.gr-total{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#87671E!important;margin-top:8px}
.gr-link{display:inline-block;margin-top:16px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#87671E!important;border-bottom:1px solid rgba(135,103,30,.45);padding-bottom:3px;text-decoration:none}
.gr-link:hover{color:#2A1710!important}
/* == FIN GOOGLE RATING == */

/* == TESTI SLIDER == */
.testi-slider{position:relative;max-width:820px;margin:0 auto;padding:0 46px;overflow:hidden}
.testi-slider .testi-grid{display:flex!important;grid-template-columns:none!important;gap:0!important;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.testi-slider .testi-card{flex:0 0 100%!important;max-width:100%;box-sizing:border-box;margin:0!important;opacity:1!important;transform:none!important}
.testi-slider .testi-quote{font-size:1.5rem;line-height:1.8}
.testi-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(135,103,30,.35);background:#FFFCF6;color:#87671E;font-size:20px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:all .25s ease}
.testi-nav:hover{background:#2A1710;border-color:#2A1710;color:#E3C878}
.testi-prev{left:0}
.testi-next{right:0}
.testi-puntos{display:flex;gap:7px;justify-content:center;margin-top:22px}
.testi-puntos span{width:18px;height:2px;background:rgba(135,103,30,.25);display:block;cursor:pointer;transition:background .3s ease}
.testi-puntos span.activo{background:#87671E}
@media (max-width:640px){.testi-slider{padding:0 8px}.testi-nav{display:none}}
/* == FIN TESTI SLIDER == */
