/* ============================================================
   Mueblería Los Rodríguez — Minimalista elegante (claro)
   ============================================================ */
:root{
  --ink:#1c1a17;        /* texto casi negro cálido */
  --paper:#ffffff;
  --cream:#f6f3ee;      /* fondo cálido sutil */
  --stone:#736d64;      /* texto secundario (contraste AA legible) */
  --line:#e7e1d8;       /* líneas/bordes */
  --accent:#b0674c;     /* terracota sutil */
  --surface:#ffffff;    /* fondo de tarjetas/superficies */
  --surface-soft:#faf6f2;
  --hd-bg:rgba(255,255,255,.95);
  --wa:#25d366;
  --wa-dark:#1da851;
  --maxw:1280px;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Montserrat',system-ui,sans-serif;
}
/* ===== MODO OSCURO ===== */
[data-theme="dark"]{
  --ink:#ece7df;
  --paper:#141210;
  --cream:#1c1915;
  --stone:#a89e90;
  --line:#332e27;
  --accent:#cf8763;
  --surface:#201c18;
  --surface-soft:#1a1713;
  --hd-bg:rgba(20,18,16,.92);
  color-scheme:dark;
}
[data-theme="dark"] img:not([src*=".svg"]):not(.preload__logoimg){filter:brightness(.92)}
[data-theme="dark"] .sec--cream{background:var(--cream)}
/* elementos que quedan claros a propósito: fijamos su texto oscuro para que sea legible */
[data-theme="dark"] .waf-tip,
[data-theme="dark"] .wachat__msg,
[data-theme="dark"] .wachat__foot input,
[data-theme="dark"] .ba__handle span,
[data-theme="dark"] .hero--full .btn--ghost:hover{color:#1c1a17}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-tap-highlight-color:rgba(176,103,76,.16);-webkit-text-size-adjust:100%}

/* ===== ACCESIBILIDAD ===== */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.skip{position:fixed;top:-70px;left:16px;z-index:99999;background:var(--ink);color:#fff;padding:12px 22px;border-radius:8px;font-weight:600;font-size:.85rem;transition:top .25s}
.skip:focus{top:16px}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mq__t,.hero__bg,.waf::before,.playbtn::before,.preload__bar::after,.hero__scroll,.pgpulse,.cur-ring,.cur-dot{animation:none!important}
}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.serif{font-family:var(--serif)}

/* tipografía elegante */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.01em}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600;color:var(--accent)}

/* ===== BOTONES ===== */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:.85rem;letter-spacing:.03em;
  padding:15px 30px;border-radius:2px;cursor:pointer;transition:.25s;border:1px solid transparent}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{background:var(--wa-dark)}
.btn--lg{padding:18px 38px;font-size:.92rem}

/* ===== HEADER (transparente sobre el hero, sólido al bajar) ===== */
.hd{position:sticky;top:0;z-index:100;background:var(--hd-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .35s,border-color .35s}
.hd__in{display:flex;align-items:center;justify-content:space-between;height:96px}
.hd__brand{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.02em}
.hd__brand sup{font-size:.5em;color:var(--accent)}
.hd__nav{display:flex;align-items:center;gap:38px}
.hd__nav a{font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);transition:color .2s;position:relative}
.hd__nav a:hover{color:var(--accent)}
.hd__nav a:not(.hd__wa)::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.hd__nav a:not(.hd__wa):hover::after{transform:scaleX(1)}
.hd__wa{display:inline-flex;align-items:center;gap:8px;color:var(--accent)!important}
/* Desplegable Herramientas */
.hd__drop{position:relative}
.hd__dropbtn{background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:6px;padding:0;transition:color .2s}
.hd__dropbtn:hover{color:var(--accent)}
.hd__caret{font-size:.7em;transition:transform .3s}
.hd__drop:hover .hd__caret,.hd__drop.open .hd__caret{transform:rotate(180deg)}
.hd__drop::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:18px}
.hd__menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:215px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.13);padding:8px;opacity:0;visibility:hidden;transition:.25s cubic-bezier(.16,1,.3,1);z-index:120}
.hd__drop:hover .hd__menu,.hd__drop:focus-within .hd__menu,.hd__drop.open .hd__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.hd__menu a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:8px;font-size:.85rem;text-transform:none;letter-spacing:0;color:var(--ink);transition:.18s}
.hd__menu a:hover{background:var(--cream);color:var(--accent)}
.hd__menu a span{font-size:1.1rem}
.hd.over .hd__dropbtn{color:#fff}
.hd.over .hd__dropbtn:hover{color:var(--accent)}
/* el texto del panel desplegable SIEMPRE oscuro (va sobre fondo blanco) */
.hd .hd__menu a,.hd.over .hd__nav .hd__menu a{color:var(--ink)!important}
.hd .hd__menu a:hover,.hd.over .hd__nav .hd__menu a:hover{color:var(--accent)!important}
.hd__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.hd__toggle span{width:26px;height:2px;background:var(--ink);transition:.3s}
/* modo transparente (encima de la foto del hero) */
.hd.over{background:transparent;backdrop-filter:none;border-bottom-color:transparent}
.hd.over .hd__brand,.hd.over .hd__nav a{color:#fff}
.hd.over .hd__nav a:hover{color:var(--accent)}
.hd.over .hd__wa{color:#fff!important}
.hd.over .hd__toggle span{background:#fff}

/* ===== HERO (imagen a pantalla completa, texto a la izquierda) ===== */
.hero--full{position:relative;overflow:hidden;margin-top:-84px;min-height:100vh;display:flex;align-items:center;justify-content:center;
  text-align:left;color:#fff}
.hero__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;
  animation:kenburns 22s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.12)}}
.hero--full::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(16,12,10,.84) 0%,rgba(16,12,10,.62) 32%,rgba(16,12,10,.26) 62%,rgba(16,12,10,.04) 100%)}
.hero__content{position:relative;z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;padding:96px 32px 0}
.hero__title{max-width:720px}
.hero--full .eyebrow{display:block;margin-bottom:22px;color:#f0c9b4}
.hero__title{font-size:clamp(3rem,7.5vw,6.4rem);font-weight:500;color:#fff;margin-bottom:24px;letter-spacing:-.02em}
.hero__title em{font-style:italic;color:#f0b48f}
/* titular animado palabra por palabra */
.hero__content>.hero__title{opacity:1;transform:none;animation:none}
.hero__title .w{display:inline-block;opacity:0;transform:translateY(60px) rotate(3deg);animation:wordIn 1s cubic-bezier(.16,1,.3,1) forwards}
@keyframes wordIn{to{opacity:1;transform:none}}
.hero__title .w:nth-child(1){animation-delay:.30s}.hero__title .w:nth-child(2){animation-delay:.38s}
.hero__title .w:nth-child(3){animation-delay:.46s}.hero__title .w:nth-child(4){animation-delay:.56s}
.hero__title .w:nth-child(5){animation-delay:.66s}.hero__title .w:nth-child(6){animation-delay:.74s}
.hero__title .w:nth-child(7){animation-delay:.82s}
.hero__lead{font-size:1.15rem;color:rgba(255,255,255,.92);max-width:520px;margin:0 0 40px}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:flex-start}
.hero--full .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.hero--full .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:1;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.8)}

/* ===== ANIMACIONES ===== */
.reveal{opacity:0;transform:translateY(38px) scale(.98);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}.hero__content>*{animation:none!important;opacity:1!important;transform:none!important}}
.magnetic{transition:transform .3s cubic-bezier(.16,1,.3,1),background .25s,color .25s,border-color .25s}
/* entrada del hero */
.hero__content>*{opacity:0;transform:translateY(26px);animation:heroUp 1s cubic-bezier(.16,1,.3,1) forwards}
.hero__content .eyebrow{animation-delay:.15s}
.hero__content .hero__title{animation-delay:.3s}
.hero__content .hero__lead{animation-delay:.5s}
.hero__content .hero__actions{animation-delay:.7s}
@keyframes heroUp{to{opacity:1;transform:none}}
.hero__scroll{animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%)}50%{transform:translateX(-50%) translateY(7px)}}

/* ===== FRANJA DE IMPACTO (números) ===== */
.statband{background:var(--ink);color:#fff;padding:60px 0}
.statband__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.statband__n{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;color:var(--accent)}
.statband__l{margin-top:14px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ===== SECCIONES ===== */
.sec{padding:80px 0}
.sec--cream{background:var(--cream)}
.sec__head{max-width:660px;margin:0 auto 44px;text-align:center}
.sec__head .eyebrow{display:block;margin-bottom:18px}
.sec__title{font-size:2.8rem}
.sec__sub{color:var(--stone);margin-top:18px;font-size:1.05rem}

/* ===== AMBIENTES ===== */
.amb{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.amb__item{position:relative;display:block;overflow:hidden}
.amb__img{aspect-ratio:4/5;background-size:cover;background-position:center;transition:transform .7s ease}
.amb__item:hover .amb__img{transform:scale(1.06)}
.amb__item::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.55))}
.amb__label{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px;color:#fff}
.amb__label .n{font-family:var(--serif);font-size:1.5rem}
.amb__label .m{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85;display:flex;align-items:center;gap:8px}

/* ===== SHOWCASE (ficha destacada estilo póster) ===== */
.show__head{text-align:center;max-width:680px;margin:0 auto 56px}
.show__head .eyebrow{display:block;margin-bottom:14px}
.show__title{font-size:clamp(2.2rem,5vw,3.6rem)}
.show__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.show__feats{display:grid;gap:30px}
.show__feat{display:flex;align-items:center;gap:20px}
.show__circle{width:118px;height:118px;border-radius:50%;background-size:210%;background-repeat:no-repeat;flex-shrink:0;
  box-shadow:0 12px 34px rgba(0,0,0,.14);border:5px solid #fff}
.show__ftxt .show__num{font-size:.68rem;letter-spacing:.22em;color:var(--accent);font-weight:700}
.show__ftxt h4{font-family:var(--serif);font-size:1.25rem;margin:4px 0 6px}
.show__ftxt p{font-size:.9rem;color:var(--stone);max-width:230px}
.show__visual{text-align:center}
.show__img{aspect-ratio:1/1;border-radius:12px;background-size:cover;background-position:center;
  box-shadow:0 34px 64px rgba(0,0,0,.16);margin-bottom:26px}
.show__colors{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}
.show__colors > span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);font-weight:600}
.show__sw{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.show__sw i{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}

/* ===== PRODUCTOS ===== */
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.card{display:block;background:var(--paper);overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.card:hover{transform:translateY(-7px)}
.card__img{aspect-ratio:1/1;background:var(--cream);background-size:cover;background-position:center;overflow:hidden;position:relative;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.card:hover .card__img{transform:scale(1.06)}
.card__img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:.3s}
.card:hover .card__img::after{background:rgba(0,0,0,.06)}
.card__body{padding:18px 2px}
.card__name{font-family:var(--serif);font-size:1.08rem;font-weight:500;line-height:1.3;margin-bottom:6px}
.card__price{font-size:.85rem;color:var(--accent);font-weight:600;letter-spacing:.02em}
.card__price small{color:var(--stone);font-weight:400}
.card__cta{margin-top:12px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid var(--ink);padding-bottom:3px;transition:.2s}
.card:hover .card__cta{color:var(--accent);border-color:var(--accent)}
.sec__more{text-align:center;margin-top:42px}

/* ===== COLORES ===== */
.colors{display:grid;grid-template-columns:repeat(11,1fr);gap:14px}
.color{text-align:center}
.color__sw{aspect-ratio:1/1;border-radius:50%;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .3s}
.color:hover .color__sw{transform:scale(1.1)}
.color__n{display:block;font-size:.68rem;color:var(--stone);margin-top:10px;text-transform:capitalize}

/* ===== POR QUÉ ===== */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.why__item{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:38px 26px 34px;text-align:center;transition:.4s cubic-bezier(.16,1,.3,1)}
.why__item:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(0,0,0,.1);border-color:var(--accent)}
.why__ic{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:var(--surface-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1;transition:.4s}
.why__item:hover .why__ic{background:var(--accent);transform:scale(1.06) rotate(-4deg)}
.why__num{font-family:var(--serif);font-size:2.6rem;color:var(--accent);font-style:italic;margin-bottom:14px}
.why__t{font-family:var(--serif);font-size:1.25rem;margin-bottom:10px}
.why__d{font-size:.9rem;color:var(--stone)}

/* ===== TESTIMONIOS ===== */
.tests{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.test{text-align:center;padding:0 10px}
.test__stars{color:var(--accent);letter-spacing:3px;margin-bottom:18px}
.test__q{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.6;margin-bottom:20px}
.test__a{font-weight:600;font-size:.9rem}
.test__p{font-size:.78rem;color:var(--stone);text-transform:uppercase;letter-spacing:.15em}

/* ===== CLIENTES ===== */
.clients{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:50px}
.clients img{height:50px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.45;transition:.3s}
.clients img:hover{filter:grayscale(0);opacity:1}

/* ===== GALERÍA DE PROYECTOS ===== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gal__item{display:block;background-size:cover;background-position:center;border-radius:4px;overflow:hidden;position:relative;transition:.4s}
.gal__item::after{content:"";position:absolute;inset:0;background:rgba(28,26,23,0);transition:.3s}
.gal__item:hover::after{background:rgba(28,26,23,.25)}
.gal__item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gal__item:nth-child(6){grid-row:span 2}

/* ===== CONTACTO + FORMULARIO ===== */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contacto__info .sec__title::after{display:none}
.contacto__info > p{color:var(--stone);margin:18px 0 28px;max-width:380px}
.contacto__list{display:grid;gap:14px}
.contacto__list li{font-size:.95rem;display:grid;grid-template-columns:110px 1fr;align-items:baseline}
.contacto__list span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}
.qform{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:34px}
.qform label{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);font-weight:600;margin-bottom:16px}
.qform input,.qform select,.qform textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);border-radius:4px;
  font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--paper);text-transform:none;letter-spacing:normal;font-weight:400}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--accent)}
.qform__note{text-align:center;font-size:.76rem;color:var(--stone);margin-top:14px;text-transform:none;letter-spacing:normal;font-weight:400}

/* ===== GALERÍA (página) tipo mosaico + lightbox ===== */
.masonry{column-count:4;column-gap:14px}
.masonry__item{display:block;width:100%;margin:0 0 14px;padding:0;border:0;background:none;cursor:pointer;break-inside:avoid;border-radius:4px;overflow:hidden;line-height:0}
.masonry__item img{width:100%;display:block;transition:transform .5s ease}
.masonry__item:hover img{transform:scale(1.05)}
.lb{position:fixed;inset:0;z-index:300;background:rgba(10,9,8,.93);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb__img{max-width:90vw;max-height:86vh;border-radius:4px;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.lb__close{position:absolute;top:20px;right:26px;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:0;color:#fff;font-size:2.2rem;width:54px;height:54px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.lb__nav:hover{background:rgba(255,255,255,.22)}
.lb__prev{left:24px}.lb__next{right:24px}

/* ===== VISTA RÁPIDA (botón + modal) ===== */
.ph{position:relative}
.card__qv{position:absolute;left:50%;bottom:14px;transform:translateX(-50%) translateY(12px);background:rgba(255,255,255,.96);color:var(--ink);
  border:0;border-radius:50px;padding:10px 20px;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  cursor:pointer;opacity:0;transition:.35s cubic-bezier(.16,1,.3,1);white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.18);z-index:3}
.card:hover .card__qv{opacity:1;transform:translateX(-50%)}
.card__qv:hover{background:var(--ink);color:#fff}

.qv{position:fixed;inset:0;z-index:320;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,16,14,.55);backdrop-filter:blur(7px)}
.qv.open{display:flex;animation:qvfade .3s ease}
@keyframes qvfade{from{opacity:0}to{opacity:1}}
.qv__panel{position:relative;background:var(--surface);border-radius:20px;max-width:900px;width:100%;max-height:90vh;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;box-shadow:0 50px 100px rgba(0,0,0,.45);animation:qvpop .45s cubic-bezier(.16,1,.3,1)}
@keyframes qvpop{from{transform:scale(.92) translateY(24px);opacity:0}to{transform:none;opacity:1}}
.qv__img{background-size:cover;background-position:center;background-color:var(--cream);min-height:380px}
.qv__info{padding:42px;overflow-y:auto}
.qv__info h3{font-size:1.7rem;margin:6px 0 0}
.qv__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;font-size:1.05rem;z-index:4;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:.25s}
.qv__close:hover{background:var(--ink);color:#fff;transform:rotate(90deg)}
.qv__price{font-size:1.5rem;color:var(--accent);font-weight:600;margin:12px 0 22px;font-family:var(--sans)}
.qv__price small{color:var(--stone);font-size:.85rem;font-weight:400}
.qv__colors{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.qv__colors span{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--ink)}
.qv__colors i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.qv .btn{width:100%;justify-content:center;margin-bottom:10px}
.qv__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:50px;height:50px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:.2s;line-height:1}
.qv__nav:hover{background:var(--surface);transform:translateY(-50%) scale(1.08)}
.qv__prev{left:24px}.qv__next{right:24px}

/* ===== ICONO FAVORITOS EN EL MENÚ ===== */
.hd__fav{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--ink);font-size:1.15rem;transition:color .2s}
.hd__fav:hover{color:#e0617a}
.hd.over .hd__fav{color:#fff}
.hd.over .hd__fav:hover{color:#ffb3c1}
.hd__fav-count{position:absolute;top:0;right:-2px;min-width:17px;height:17px;border-radius:9px;background:#e0617a;color:#fff;font-family:var(--sans);
  font-size:.62rem;font-weight:700;line-height:1;display:none;align-items:center;justify-content:center;padding:0 4px}
.hd__fav-count.show{display:inline-flex}

/* ===== FAVORITOS (corazón) ===== */
.card__fav{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:#c9c2b8;font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.12);transition:.25s;opacity:0;transform:scale(.7)}
.card:hover .card__fav,.card__fav.on{opacity:1;transform:none}
.card__fav:hover{background:var(--surface);color:#e0617a}
.card__fav.on{color:#e0617a;background:var(--surface)}
.card__fav.on:active{transform:scale(.8)}

/* ===== TRANSICIÓN ENTRE PÁGINAS ===== */
.pgtrans{position:fixed;inset:0;z-index:9998;background:var(--ink);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .42s ease}
.pgtrans.show{opacity:1;pointer-events:auto}
.pgtrans__logo{font-family:var(--serif);color:#fff;font-size:2.2rem;font-weight:600;opacity:.9;animation:pgpulse 1s ease-in-out infinite}
.pgtrans__logo sup{color:var(--accent);font-size:.5em}
@keyframes pgpulse{0%,100%{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}

/* ===== CURSOR PERSONALIZADO ===== */
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor select,.has-cursor label,.has-cursor .lab__sw{cursor:none}
.has-cursor input[type=text],.has-cursor input[type=search],.has-cursor input[type=date],.has-cursor input[type=tel],.has-cursor input[type=email],.has-cursor textarea{cursor:text}
/* mostrar el cursor REAL en zonas interactivas (el cursor custom las tapaba) */
.has-cursor .mv__canvas{cursor:grab!important}
.has-cursor .mv__canvas:active{cursor:grabbing!important}
.has-cursor .roomtry,.has-cursor .roomtry *{cursor:auto!important}
.has-cursor .roomtry__furni{cursor:grab!important}
.has-cursor .roomtry__furni:active{cursor:grabbing!important}
.has-cursor .roomtry__close,.has-cursor .roomtry__upload,.has-cursor .roomtry .btn,.has-cursor .roomtry label{cursor:pointer!important}
.has-cursor input[type=range],.has-cursor input[type=number]{cursor:auto!important}
/* ocultar el puntito custom cuando el modal está abierto */
body:has(.roomtry.open) .cur-dot,body:has(.roomtry.open) .cur-ring{display:none}
.cur-dot,.cur-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;will-change:transform}
.cur-dot{width:7px;height:7px;background:var(--accent)}
.cur-ring{width:36px;height:36px;border:1.5px solid var(--accent);opacity:.55;transition:width .25s,height .25s,opacity .25s,background .25s}
.cur-ring.big{width:60px;height:60px;opacity:1;background:rgba(176,103,76,.08)}
@media(hover:none){.cur-dot,.cur-ring{display:none}}

/* ===== LABORATORIO DE COLOR (interactivo) ===== */
.lab{display:grid;grid-template-columns:auto 1fr;gap:54px;align-items:center;max-width:920px;margin:0 auto}
.lab__preview{text-align:center}
.lab__disc{width:230px;height:230px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 26px 54px rgba(0,0,0,.16);margin:0 auto 18px;transition:.45s cubic-bezier(.16,1,.3,1)}
.furni{width:220px;height:280px;border-radius:10px;background-size:cover;background-position:center;margin:0 auto 18px;position:relative;
  box-shadow:0 26px 54px rgba(0,0,0,.2);overflow:hidden}
.furni::before{content:"";position:absolute;top:12px;bottom:12px;left:50%;width:2px;transform:translateX(-50%);background:rgba(0,0,0,.22)}
.furni::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.14);border-radius:6px;pointer-events:none}
.furni__handle{position:absolute;top:50%;width:6px;height:36px;border-radius:4px;background:rgba(0,0,0,.4);transform:translateY(-50%);left:calc(50% - 15px)}
.furni__handle--2{left:calc(50% + 9px)}
.furni.pulse{animation:furniPulse .45s cubic-bezier(.16,1,.3,1)}
@keyframes furniPulse{0%{transform:scale(1)}45%{transform:scale(1.05)}100%{transform:scale(1)}}
.lab__hint{font-size:.78rem;color:var(--stone);margin-top:6px}
.lab__name{font-family:var(--serif);font-size:1.7rem;color:var(--ink)}
.lab__name small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);font-weight:600;margin-bottom:6px}
.lab__swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.lab__sw{aspect-ratio:1;border-radius:50%;cursor:pointer;background-size:cover;background-position:center;border:0;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:.22s}
.lab__sw:hover{transform:scale(1.14)}
.lab__sw.on{box-shadow:0 0 0 2px var(--accent),0 0 0 5px rgba(176,103,76,.2);transform:scale(1.08)}

/* ===== CTA FINAL ===== */
.cta{background:var(--ink);color:#fff;text-align:center;padding:88px 0}
.cta h2{font-size:3rem;margin-bottom:20px}
.cta p{color:rgba(255,255,255,.7);max-width:520px;margin:0 auto 40px;font-size:1.05rem}

/* ===== FOOTER ===== */
.ft{background:#14120f;color:#a59e93;padding:80px 0 36px}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.ft__brand{font-family:var(--serif);font-size:1.6rem;color:#fff;margin-bottom:14px;display:block}
.ft p{font-size:.9rem;max-width:280px}
.ft h4{color:#fff;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font-family:var(--sans)}
.ft li{font-size:.9rem;padding:6px 0}
.ft li a:hover{color:#fff}
.ft__copy{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;text-align:center;color:#6b665d}

/* ===== WHATSAPP FLOTANTE + EXTRAS ===== */
.waf-wrap{position:fixed;right:26px;bottom:26px;z-index:200;display:flex;align-items:center;gap:12px}
.waf{position:relative;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.45);transition:transform .25s}
.waf:hover{transform:scale(1.08) rotate(5deg)}
.waf::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:waping 2.4s ease-out infinite}
@keyframes waping{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.waf-tip{background:#fff;color:var(--ink);padding:11px 16px;border-radius:30px;box-shadow:0 8px 26px rgba(0,0,0,.16);
  font-size:.82rem;font-weight:600;white-space:nowrap;opacity:0;transform:translateX(14px) scale(.9);transition:.4s cubic-bezier(.16,1,.3,1);cursor:pointer;pointer-events:none}
.waf-tip.show{opacity:1;transform:none;pointer-events:auto}
.waf{border:none;cursor:pointer;padding:0}
.waf.on{transform:scale(.92)}
.waf__badge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;background:#ff3b30;color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff;animation:wabadge 1s ease-in-out infinite alternate}
@keyframes wabadge{to{transform:scale(1.18)}}

/* Ripple (ondas al hacer clic) */
.btn,.tool,.lab__sw,.wachat__chips button{position:relative;overflow:hidden}
.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.32;transform:scale(0);animation:ripple .6s cubic-bezier(.2,.6,.3,1);pointer-events:none;z-index:1}
@keyframes ripple{to{transform:scale(2.6);opacity:0}}

/* Partículas flotantes del hero */
.hero__particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero__particles span{position:absolute;bottom:-12px;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.6);animation:floatUp linear infinite}
@keyframes floatUp{0%{transform:translateY(0) translateX(0)}50%{transform:translateY(-50vh) translateX(18px)}100%{transform:translateY(-100vh) translateX(-10px)}}
.hero__content{transition:transform .25s ease-out}

/* Brillo que cruza las tarjetas de producto al pasar el mouse */
.dcard__img::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-130%);transition:transform .75s ease;pointer-events:none}
.dcard:hover .dcard__img::after{transform:translateX(130%)}

/* Confeti 🎉 */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}
.confetti i{position:absolute;top:-24px;width:9px;height:15px;opacity:.95;animation:confFall linear forwards}
@keyframes confFall{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(106vh) rotate(720deg)}}

/* Título rotativo del hero (se escribe solo) */
.hero__rot{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.7rem);font-style:italic;margin:.4em 0 .2em;letter-spacing:.01em;display:flex;align-items:baseline;gap:.4ch;justify-content:flex-start}
.hero__rot .rotw{color:#ffd9c8;font-weight:600;font-style:normal}
.hero__rot .rotw__car{color:#ffd9c8;font-weight:300;animation:caret 1s step-end infinite}
@keyframes caret{0%,100%{opacity:1}50%{opacity:0}}

/* Chat WhatsApp interactivo */
.wachat{position:absolute;bottom:74px;right:0;width:300px;max-width:calc(100vw - 40px);background:#fff;border-radius:16px;box-shadow:0 22px 60px rgba(0,0,0,.25);overflow:hidden;transform-origin:bottom right}
.wachat.in{animation:waPop .32s cubic-bezier(.16,1,.3,1)}
@keyframes waPop{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}
.wachat__head{display:flex;align-items:center;gap:10px;background:#075e54;color:#fff;padding:11px 12px}
.wachat__head img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#fff;padding:3px}
.wachat__id strong{display:block;font-size:.88rem;line-height:1.2}
.wachat__id span{font-size:.68rem;opacity:.9;display:flex;align-items:center;gap:5px}
.wachat__id i{width:7px;height:7px;border-radius:50%;background:#4ad504;display:inline-block;animation:wadot 1.8s infinite}
@keyframes wadot{0%,100%{opacity:1}50%{opacity:.3}}
.wachat__x{margin-left:auto;background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.85}
.wachat__x:hover{opacity:1}
.wachat__body{padding:16px 14px;background:#ece5dd}
.wachat__msg{position:relative;background:#fff;padding:11px 13px;border-radius:12px;border-top-left-radius:3px;font-size:.84rem;line-height:1.5;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.1);margin-bottom:14px}
.wachat__chips{display:flex;flex-wrap:wrap;gap:8px}
.wachat__chips button{background:#fff;border:1.5px solid var(--wa);color:#075e54;border-radius:20px;padding:8px 13px;font:inherit;font-size:.79rem;font-weight:600;cursor:pointer;transition:.2s}
.wachat__chips button:hover{background:var(--wa);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(37,211,102,.4)}
/* indicador "escribiendo…" (estilo WhatsApp) */
.wachat__typing{display:inline-flex;gap:4px;align-items:center;background:#fff;padding:12px 14px;border-radius:12px;border-top-left-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.wachat__typing span{width:7px;height:7px;border-radius:50%;background:#9aa0a6;display:inline-block;animation:watype 1.2s infinite ease-in-out}
.wachat__typing span:nth-child(2){animation-delay:.18s}
.wachat__typing span:nth-child(3){animation-delay:.36s}
@keyframes watype{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.wachat__reveal{animation:waPop .3s cubic-bezier(.16,1,.3,1)}
/* campo de texto libre para escribir el propio mensaje */
.wachat__foot{display:flex;align-items:center;gap:8px;background:#f0f0f0;padding:9px 10px}
.wachat__foot input{flex:1;min-width:0;border:none;background:#fff;border-radius:20px;padding:10px 14px;font:inherit;font-size:.83rem;color:var(--ink);outline:none}
.wachat__foot input:focus{box-shadow:0 0 0 2px rgba(37,211,102,.4)}
.wachat__foot button{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:var(--wa);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s}
.wachat__foot button:hover{transform:scale(1.08);box-shadow:0 6px 16px rgba(37,211,102,.4)}

/* barra de progreso */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),#d89a7e);z-index:300;transition:width .1s linear}

/* botón subir */
.totop{position:fixed;left:26px;bottom:26px;z-index:200;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--ink);font-size:1.2rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12);
  opacity:0;transform:translateY(14px);pointer-events:none;transition:.35s cubic-bezier(.16,1,.3,1)}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* skeleton de carga */
.skel{border-radius:6px;background:linear-gradient(100deg,#efe9e1 30%,#f7f3ee 50%,#efe9e1 70%);background-size:200% 100%;animation:shimmer 1.3s infinite}
.skel--card{aspect-ratio:.78;}
@keyframes shimmer{to{background-position:-200% 0}}

/* ===== BREADCRUMB / FICHA / CATEGORIA ===== */
.cathero{background:var(--cream);text-align:center;padding:90px 0 70px}
.cathero .eyebrow{display:block;margin-bottom:16px}
.cathero h1{font-size:3rem}
.cathero p{color:var(--stone);max-width:560px;margin:16px auto 0}
.crumbs{font-size:.78rem;color:var(--stone);padding:34px 0 0;letter-spacing:.04em}
.crumbs a:hover{color:var(--accent)}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:50px 0 90px;align-items:start}
.pdp__img{aspect-ratio:1/1;background-size:cover;background-position:center;background-color:var(--cream)}
.pdp__eyebrow{margin-bottom:18px;display:block}
.pdp__title{font-size:2.6rem;margin-bottom:18px}
.pdp__price{font-size:1.4rem;color:var(--accent);font-weight:600;margin-bottom:24px;font-family:var(--sans)}
.pdp__price small{color:var(--stone);font-size:.85rem;font-weight:400}
.pdp__lead{color:var(--stone);margin-bottom:30px}
.pdp__colors h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.pdp__sw{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.pdp__swbtn{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink);font-family:var(--sans);
  background:var(--paper);border:1px solid var(--line);border-radius:50px;padding:6px 15px 6px 6px;cursor:pointer;transition:.2s}
.pdp__swbtn:hover{border-color:var(--accent)}
.pdp__swbtn.on{border-color:var(--accent);box-shadow:0 0 0 2px rgba(176,103,76,.16);background:var(--surface-soft)}
.pdp__swbtn i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.pdp__info{position:sticky;top:104px}
.pdp__perks{margin-top:30px;display:grid;gap:10px;font-size:.9rem;color:var(--stone)}
.pdp__perks div{color:var(--accent);font-weight:600}
.pdp__perks div span{color:var(--stone);font-weight:400}
.pdp__desc{max-width:760px;margin:0 auto;padding:20px 0 90px;border-top:1px solid var(--line)}
.pdp__desc h2{font-size:1.8rem;margin:50px 0 18px}
.pdp__desc p{color:var(--stone)}

/* ===== CÓMO TRABAJAMOS (proceso) ===== */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.process__step{text-align:center;position:relative}
.process__step::after{content:"";position:absolute;top:32px;left:60%;width:80%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s ease}
.process.drawn .process__step::after{transform:scaleX(1)}
.process.drawn .process__step:nth-child(2)::after{transition-delay:.25s}
.process.drawn .process__step:nth-child(3)::after{transition-delay:.5s}
.process__step:last-child::after{display:none}
@media(prefers-reduced-motion:reduce){.process__step::after{transition:none;transform:scaleX(1)}}
.process__num{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  font-family:var(--serif);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;background:var(--paper)}
.process__step h3{font-size:1.2rem;margin-bottom:8px}
.process__step p{font-size:.9rem;color:var(--stone);max-width:230px;margin:0 auto}

/* ===== SERVICIOS (cards) ===== */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc__item{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.svc__item:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.10)}
.svc__img{aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.svc__item:hover .svc__img{transform:scale(1.05)}
.svc__body{padding:26px}
.svc__body h3{font-size:1.35rem;margin-bottom:10px}
.svc__body p{font-size:.92rem;color:var(--stone);margin-bottom:16px}
.svc__link{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;display:inline-flex;gap:7px;transition:gap .3s}
.svc__item:hover .svc__link{gap:13px}

/* ===== FILTROS DE CATÁLOGO ===== */
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:46px}
.filters button{padding:10px 22px;border:1px solid var(--line);background:var(--paper);border-radius:50px;cursor:pointer;
  font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);transition:.25s}
.filters button:hover{border-color:var(--ink)}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.catcount{text-align:center;color:var(--stone);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:36px}
.card.hide{display:none}
.ph{aspect-ratio:1/1;overflow:hidden;background:var(--cream)}
.ph::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,#efe9e1 30%,#f7f3ee 50%,#efe9e1 70%);background-size:200% 100%;animation:shimmer 1.3s infinite}
.ph img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.card:hover .ph img{transform:scale(1.06)}

/* ===== FAQ ===== */
.faq{max-width:780px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:0;padding:24px 0;font-family:var(--serif);font-size:1.18rem;color:var(--ink);
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq__q i{color:var(--accent);font-style:normal;font-size:1.5rem;transition:transform .3s;flex-shrink:0}
.faq__item.open .faq__q i{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq__item.open .faq__a{max-height:320px}
.faq__a p{padding:0 0 24px;color:var(--stone)}

/* ===== ABOUT (Nosotros) ===== */
.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about__img{aspect-ratio:4/3;border-radius:10px;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.14)}
.about__text h2{font-size:clamp(2rem,4vw,2.8rem);margin:14px 0 20px}
.about__text p{color:var(--stone);margin-bottom:16px}

/* ===== COTIZADOR ===== */
.cotz{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:start}
.cotz__config{display:grid;gap:26px}
.cotz label{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);font-weight:600;margin-bottom:10px}
.cotz select,.cotz input[type=text]{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:.95rem;background:var(--surface);color:var(--ink)}
.cotz select:focus,.cotz input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(176,103,76,.08)}
.cotz__metros{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.cotz__metros b{font-family:var(--serif);font-size:1.7rem;color:var(--accent);font-weight:500}
.cotz input[type=range]{width:100%;accent-color:var(--accent);height:6px;cursor:pointer}
.cotz__extras{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cotz__chk{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;cursor:pointer;transition:.2s;font-size:.9rem;user-select:none}
.cotz__chk:hover{border-color:var(--accent)}
.cotz__chk:has(input:checked){border-color:var(--accent);background:var(--surface-soft)}
.cotz__chk input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}
.cotz__chk .p{margin-left:auto;color:var(--accent);font-weight:600;font-size:.82rem;white-space:nowrap}
.cotz__summary{position:sticky;top:104px;background:var(--ink);color:#fff;border-radius:16px;padding:34px;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.cotz__summary h3{color:#fff;font-size:1.25rem;margin-bottom:22px}
.cotz__line{display:flex;justify-content:space-between;gap:14px;font-size:.88rem;color:rgba(255,255,255,.72);padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cotz__line b{color:#fff;font-weight:600;text-align:right}
.cotz__total{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 18px}
.cotz__total span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.6)}
.cotz__total b{font-family:var(--serif);font-size:2.5rem;color:#ef9f78;font-weight:500;line-height:1}
.cotz__note{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:16px;line-height:1.5}

/* ===== MARQUEE (franja en movimiento) ===== */
.mq{overflow:hidden;background:var(--ink);color:#fff;padding:20px 0;white-space:nowrap}
.mq__t{display:inline-flex;gap:34px;align-items:center;animation:mqslide 32s linear infinite;font-family:var(--serif);font-size:1.35rem;font-style:italic}
.mq__t span{opacity:.92}
.mq__t i{color:var(--accent);font-style:normal;font-size:.8rem}
.mq:hover .mq__t{animation-play-state:paused}
@keyframes mqslide{to{transform:translateX(-50%)}}

/* ===== HOVER DRAMÁTICO EN AMBIENTES ===== */
.amb__go{position:absolute;top:18px;right:18px;z-index:2;width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transform:scale(.5) rotate(-30deg);transition:.45s cubic-bezier(.16,1,.3,1)}
.amb__item:hover .amb__go{opacity:1;transform:none}

/* ===== BARRA DE CONFIANZA ===== */
.trust{border-bottom:1px solid var(--line);background:var(--paper)}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:32px 0}
.trust__item{display:flex;align-items:center;gap:14px}
.trust__item svg{width:28px;height:28px;color:var(--accent);flex-shrink:0;stroke-width:1.4}
.trust__item b{display:block;font-family:var(--serif);font-size:1.02rem;font-weight:500;color:var(--ink);line-height:1.2}
.trust__item span{font-size:.78rem;color:var(--stone)}

/* ===== BÚSQUEDA DE CATÁLOGO ===== */
.catsearch{max-width:540px;margin:0 auto 26px;position:relative}
.catsearch input{width:100%;padding:15px 22px;border:1px solid var(--line);border-radius:50px;font-family:var(--sans);font-size:.95rem;background:var(--paper);transition:.25s}
.catsearch input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(176,103,76,.09)}
.catempty{text-align:center;color:var(--stone);padding:50px 0;font-size:1.02rem}
.cattools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:34px}
.cattools .filters{margin-bottom:0}
.catsort{display:flex;align-items:center;gap:9px;font-size:.72rem;color:var(--stone);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.catsort select{padding:10px 16px;border:1px solid var(--line);border-radius:50px;font-family:var(--sans);font-size:.85rem;background:var(--paper);color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:normal}
.catsort select:focus{outline:none;border-color:var(--accent)}
.pdp__share{margin-top:12px;width:100%;justify-content:center}
.colorfilter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-bottom:36px}
.cfsw{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;background-size:cover;background-position:center;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:.2s}
.cfsw:hover{transform:scale(1.18)}
.cfsw.on{border-color:var(--accent);transform:scale(1.1)}
.cfsw--all{width:auto;height:30px;border-radius:50px;padding:0 16px;font-family:var(--sans);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.cfsw--all:hover{transform:none}
.cfsw--all.on{background:var(--ink);color:#fff;border-color:var(--ink);transform:none}

/* ===== CARRUSEL DE TESTIMONIOS ===== */
.tslider{display:flex;align-items:center;gap:22px;max-width:880px;margin:0 auto}
.tslider__viewport{overflow:hidden;flex:1}
.tslider__track{display:flex;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.tslide{min-width:100%;text-align:center;padding:0 12px}
.tslide__stars{color:var(--accent);letter-spacing:3px;margin-bottom:18px}
.tslide__q{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.95rem);line-height:1.5;margin-bottom:24px;color:var(--ink)}
.tslide__a{font-weight:700}
.tslide__p{font-size:.78rem;color:var(--stone);text-transform:uppercase;letter-spacing:.15em;margin-top:4px}
.tslider__nav{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-size:1.3rem;color:var(--ink);flex-shrink:0;transition:.2s;line-height:1}
.tslider__nav:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.tdots{display:flex;gap:9px;justify-content:center;margin-top:34px}
.tdots button{width:9px;height:9px;border-radius:50%;background:#d8d0c4;border:0;cursor:pointer;transition:.3s;padding:0}
.tdots button.on{background:var(--accent);width:26px;border-radius:10px}

/* ===== EXPLOSIÓN DE CORAZONES ===== */
.heart-burst{position:fixed;z-index:9999;color:#e0617a;font-size:1.05rem;pointer-events:none;transform:translate(-50%,-50%);animation:hb .9s ease-out forwards}
@keyframes hb{to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2);opacity:0}}

/* ===== PRELOADER (intro de marca) ===== */
html.preloaded .preload{display:none}
.preload{position:fixed;inset:0;z-index:99999;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;transition:opacity .7s ease,visibility .7s}
.preload.done{opacity:0;visibility:hidden}
.preload__logo{font-family:var(--serif);color:#fff;font-size:2.8rem;font-weight:600;letter-spacing:.02em;opacity:0;animation:plLogo .9s .1s forwards}
.preload__logo sup{color:var(--accent);font-size:.45em}
.preload__bar{width:120px;height:2px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;position:relative}
.preload__bar::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:var(--accent);border-radius:2px;animation:plBar 1.1s ease-in-out infinite}
@keyframes plLogo{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes plBar{to{left:100%}}

/* ===== TILT 3D EN TARJETAS ===== */
.amb__item{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.card.tilting,.amb__item.tilting{transition:none!important;will-change:transform}

/* ===== SUBRAYADO ANIMADO EN TÍTULOS ===== */
.sec__head .sec__title{position:relative;display:inline-block;padding-bottom:20px}
.sec__head .sec__title::after{content:"";position:absolute;left:50%;bottom:0;width:54px;height:2px;background:var(--accent);transform:translateX(-50%) scaleX(1);transform-origin:center;transition:transform .8s .2s cubic-bezier(.16,1,.3,1)}
.sec__head.reveal .sec__title::after{transform:translateX(-50%) scaleX(0)}
.sec__head.reveal.in .sec__title::after{transform:translateX(-50%) scaleX(1)}

/* ===== SECCIÓN DE VIDEO ===== */
.videoband{position:relative;background-size:cover;background-position:center;text-align:center;color:#fff;padding:140px 0;overflow:hidden}
.videoband__overlay{position:absolute;inset:0;background:rgba(20,16,14,.6)}
.videoband__inner{position:relative;z-index:1}
.videoband .eyebrow{color:#f0c9b4;display:block;margin-bottom:14px}
.videoband h2{font-size:clamp(2rem,4.5vw,3.4rem);color:#fff;margin-bottom:30px}
.videoband p{color:rgba(255,255,255,.82);margin-top:24px}
.playbtn{width:84px;height:84px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:1.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 38px rgba(176,103,76,.5);transition:.3s;position:relative;padding-left:5px}
.playbtn:hover{transform:scale(1.1)}
.playbtn::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);animation:waping 2s ease-out infinite}

/* ===== MODAL DE VIDEO ===== */
.vmodal{position:fixed;inset:0;z-index:330;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(10,9,8,.9);backdrop-filter:blur(6px)}
.vmodal.open{display:flex;animation:qvfade .3s ease}
.vmodal__box{width:100%;max-width:920px;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.vmodal__box iframe{width:100%;height:100%;border:0}
.vmodal__close{position:absolute;top:22px;right:26px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.1rem;cursor:pointer;transition:.2s}
.vmodal__close:hover{background:var(--surface);color:var(--ink);transform:rotate(90deg)}

/* ===== INSTAGRAM ===== */
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ig a{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background-size:cover;background-position:center}
.ig a::after{content:"";position:absolute;inset:0;background:rgba(176,103,76,0);transition:.3s;display:flex;align-items:center;justify-content:center}
.ig a:hover::after{background:rgba(176,103,76,.35)}
.ighandle{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:600;color:var(--accent)}

/* ===== REDES (footer) ===== */
.ft__social{display:flex;gap:12px;margin-top:18px}
.ft__social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#cfcabf;transition:.2s}
.ft__social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* ===== BLOG / INSPIRACIÓN ===== */
.blog{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blogcard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.4s cubic-bezier(.16,1,.3,1)}
.blogcard:hover{transform:translateY(-7px);box-shadow:0 26px 54px rgba(0,0,0,.1)}
.blogcard__img{aspect-ratio:16/10;background-size:cover;background-position:center}
.blogcard__body{padding:26px}
.blogcard__tag{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.blogcard__body h3{font-size:1.3rem;margin:10px 0;line-height:1.3}
.blogcard__body p{font-size:.92rem;color:var(--stone)}
.article{max-width:760px;margin:0 auto;padding:30px 0 80px}
.article p{color:#555;margin-bottom:18px;line-height:1.8}
.article h2{font-family:var(--serif);font-size:1.7rem;margin:38px 0 14px;color:var(--ink)}
.article ul{margin:0 0 18px 20px;color:#555}.article li{margin-bottom:8px}

/* ===== LOGO (imagen) ===== */
.hd__brand{display:inline-flex;align-items:center}
.hd__brand img{height:84px;width:auto;display:block}
.ft__logo{height:82px;width:auto;display:block;margin-bottom:16px}
.preload__logoimg{width:165px;height:auto;opacity:0;animation:plLogo .9s .1s forwards}
.pgtrans__logoimg{width:140px;height:auto;animation:pgpulse 1s ease-in-out infinite}

/* ===== EXPERIENCIA SCROLL (storytelling) ===== */
.story{position:relative;height:360vh}
.story__sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--cream)}
.story__grid{display:grid;grid-template-columns:1.1fr .85fr;gap:56px;align-items:center;width:100%}
.story__media{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;box-shadow:0 44px 90px rgba(0,0,0,.22)}
.story__layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.12);transition:opacity .9s ease,transform 1.6s cubic-bezier(.16,1,.3,1)}
.story__layer.is-on{opacity:1;transform:scale(1)}
.story__bars{position:absolute;left:22px;bottom:22px;z-index:2;display:flex;gap:8px}
.story__bars span{width:34px;height:3px;border-radius:3px;background:rgba(255,255,255,.4);transition:.4s}
.story__bars span.on{background:#fff;width:50px}
.story__text{transition:opacity .35s ease}
.story__count{display:block;font-family:var(--serif);color:var(--accent);margin-bottom:18px}
.story__count b{font-size:2.3rem}
.story__count i{color:var(--stone);font-style:normal;font-size:1rem}
.story__text .eyebrow{display:block;margin-bottom:14px}
.story__title{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:18px;line-height:1.1}
.story__desc{color:var(--stone);font-size:1.08rem;margin-bottom:30px;max-width:420px}

/* ===== NUESTROS PRODUCTOS (DEROA, con medidas) ===== */
.deroa{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.dcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.4s cubic-bezier(.16,1,.3,1)}
.dcard:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.1);border-color:var(--accent)}
.dcard__img{position:relative;aspect-ratio:1/1;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden}
.dcard__img img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.dcard__ph{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--stone);font-size:.82rem;text-align:center;padding:0 16px}
.dcard__ph b{font-size:1.6rem}
.dcard__body{padding:20px}
.dcard__tag{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.dcard__body h3{font-family:var(--serif);font-size:1.1rem;margin:8px 0 14px;line-height:1.25}
.dcard__specs{display:grid;gap:6px;margin-bottom:16px;font-size:.82rem;color:var(--stone)}
.dcard__specs li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:5px}
.dcard__specs b{color:var(--ink);font-weight:600}
.dcard__price{font-family:var(--serif);font-size:1.2rem;color:var(--accent);font-weight:600;margin:0 0 14px}
.dcard .btn{width:100%;justify-content:center;font-size:.82rem}

/* ===== UI KIT (toasts, calendario, validación) ===== */
.toasts{position:fixed;z-index:9999;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;max-width:min(92vw,360px)}
.toast{display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:13px 14px;border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.28);font-size:.88rem;font-weight:500;opacity:0;transform:translateX(20px) scale(.96);transition:.32s cubic-bezier(.16,1,.3,1);cursor:default}
.toast.in{opacity:1;transform:none}
.toast__ic{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;background:rgba(255,255,255,.16)}
.toast--ok .toast__ic,.toast--wa .toast__ic{background:var(--wa)}
.toast--fav .toast__ic{background:transparent;font-size:1rem}
.toast--error .toast__ic{background:#d9534f}
.toast__msg{flex:1}
.toast__x{background:none;border:none;color:rgba(255,255,255,.55);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 2px}
.toast__x:hover{color:#fff}

/* Input de teléfono con validación */
input.inok{border-color:var(--wa)!important;background-image:linear-gradient(transparent,transparent)}
input.inbad{border-color:#d9534f!important}

/* Selector de fecha propio */
.dpick{cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%238a847c' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") no-repeat right 12px center}
.cal{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:280px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.16);padding:14px;animation:calIn .2s ease}
@keyframes calIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cal__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal__top strong{font-family:var(--serif);font-size:1rem;text-transform:capitalize}
.cal__nav{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:1.1rem;line-height:1;color:var(--ink)}
.cal__nav:hover{background:var(--cream);border-color:var(--accent)}
.cal__wd{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.cal__wd span{text-align:center;font-size:.66rem;color:var(--stone);font-weight:600;padding:4px 0}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal__grid span{height:34px}
.cal__d{height:34px;border:none;background:none;border-radius:8px;cursor:pointer;font:inherit;font-size:.85rem;color:var(--ink)}
.cal__d:hover:not(:disabled){background:var(--cream)}
.cal__d:disabled{color:var(--line);cursor:default}
.cal__d.today{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);font-weight:600}
.cal__d.sel{background:var(--accent);color:#fff;font-weight:600}

/* Lightbox / visor */
.gal__item{position:relative}
.gal__zoom{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;font-size:.95rem;opacity:0;transform:scale(.8);transition:.3s;backdrop-filter:blur(2px)}
.gal__item:hover .gal__zoom{opacity:1;transform:none}
.lb{position:fixed;inset:0;z-index:10000;background:rgba(15,13,11,.94);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.lb.open{display:flex;opacity:1}
.lb__img{max-width:90vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);cursor:zoom-in;transition:transform .3s;object-fit:contain}
.lb__img.zoom{cursor:zoom-out;transform:scale(1.6)}
.lb__x{position:absolute;top:18px;right:22px;background:none;border:none;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;opacity:.85}
.lb__x:hover{opacity:1}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.25s}
.lb__nav:hover{background:rgba(255,255,255,.25)}
.lb__prev{left:18px}.lb__next{right:18px}
.lb__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;opacity:.8;font-size:.85rem;letter-spacing:.05em}
@media(max-width:560px){.lb__nav{width:42px;height:42px;font-size:1.5rem}.lb__prev{left:8px}.lb__next{right:8px}}

/* Comparador antes / después */
.bagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px}
.ba{position:relative;width:100%;aspect-ratio:16/10;border-radius:16px;overflow:hidden;user-select:none;touch-action:pan-y;cursor:ew-resize;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__after{z-index:1;will-change:clip-path}
.ba__lbl{position:absolute;bottom:14px;padding:5px 12px;border-radius:20px;background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;z-index:2}
.ba__lbl--b{right:14px}.ba__lbl--a{left:14px}
.ba__handle{position:absolute;top:0;bottom:0;left:50%;width:44px;transform:translateX(-50%);display:grid;place-items:center;z-index:3;cursor:ew-resize}
.ba__handle::before{content:"";position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.3)}
.ba__handle span{position:relative;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:1rem;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.ba__handle:focus{outline:none}
.ba__handle:focus-visible span{outline:3px solid var(--accent);outline-offset:3px}

/* ===== VISUALIZADOR DE MEDIDAS ===== */
.mv__panel{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 22px 54px rgba(0,0,0,.07)}
.mv__stage{position:relative;min-height:440px;display:flex;align-items:flex-end;justify-content:center;gap:34px;background:linear-gradient(180deg,#fbf8f3 0%,#efe7db 100%);border-radius:16px;padding:26px 26px 30px;overflow:hidden}
.mv__floor{position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(180deg,#e4d9c8,#d2c2ab);box-shadow:inset 0 2px 0 rgba(0,0,0,.05)}
.mv__person{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.mv__person svg{height:100%;width:auto;fill:#bcb0a0;opacity:.55}
.mv__ptag{position:absolute;bottom:6px;font-size:.62rem;font-weight:700;color:#8a7d6c;background:rgba(255,255,255,.7);padding:1px 6px;border-radius:8px;white-space:nowrap}
.mv__furniWrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.mv__furni{position:relative;background:linear-gradient(165deg,var(--surface),var(--surface-soft));border:5px solid var(--mvwood,#9a6b43);border-radius:6px;box-shadow:0 18px 34px rgba(0,0,0,.26),inset 0 2px 10px rgba(0,0,0,.08);min-width:34px;min-height:46px;transition:border-color .35s,width .28s cubic-bezier(.16,1,.3,1),height .28s cubic-bezier(.16,1,.3,1)}
.mv__furni::before{content:"";position:absolute;inset:0;border-radius:2px;background-image:repeating-linear-gradient(180deg,transparent 0 calc(16.66% - 4px),rgba(0,0,0,.18) calc(16.66% - 4px) calc(16.66% - 2px),rgba(255,255,255,.45) calc(16.66% - 2px) 16.66%)}
.mv__furni.velador::before{background-image:repeating-linear-gradient(180deg,transparent 0 calc(50% - 4px),rgba(0,0,0,.14) calc(50% - 4px) 50%)}
.mv__furni.velador::after{content:"";position:absolute;left:50%;top:24%;width:7px;height:7px;border-radius:50%;background:var(--mvwood,#9a6b43);transform:translateX(-50%)}
.mv__furni.pulse{animation:mvPulse .4s cubic-bezier(.16,1,.3,1)}
@keyframes mvPulse{0%{transform:scale(1)}45%{transform:scale(1.05)}100%{transform:scale(1)}}
.mv__dimH{position:absolute;left:-30px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;font-size:.66rem;font-weight:700;color:var(--accent);white-space:nowrap;background:var(--surface);padding:2px 7px;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.mv__dimW{margin-top:9px;font-size:.66rem;font-weight:700;color:var(--accent);background:var(--surface);padding:2px 8px;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.mv__controls{display:flex;flex-direction:column;gap:15px;justify-content:center}
.mv__tabs{display:flex;gap:8px}
.mv__tab{flex:1;padding:11px;border:1.5px solid var(--line);background:var(--surface);border-radius:11px;font:inherit;font-weight:600;font-size:.85rem;cursor:pointer;transition:.2s}
.mv__tab:hover{border-color:var(--accent)}
.mv__tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mv__ctrl{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--stone);font-weight:600}
.mv__ctrl b{float:right;color:var(--ink);font-size:1rem;text-transform:none;letter-spacing:0;font-weight:700}
.mv__ctrl b span{color:var(--accent)}
.mv__ctrl input[type=range]{width:100%;margin-top:9px;accent-color:var(--accent);cursor:ew-resize}
.mv__note{font-size:.76rem;color:var(--stone);text-align:center;margin:2px 0 0}
@media(max-width:860px){.mv__panel{grid-template-columns:1fr;gap:24px}.mv__stage{min-height:340px;order:-1}}

/* ===== HERRAMIENTAS ===== */
.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tools--2{grid-template-columns:repeat(2,1fr);max-width:680px;margin-inline:auto}
.tool{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:34px 26px;text-align:center;transition:.4s cubic-bezier(.16,1,.3,1)}
.tool:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(0,0,0,.1);border-color:var(--accent)}
.tool__ic{font-size:2.3rem;margin-bottom:16px;display:block;line-height:1}
.tool h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:8px}
.tool p{font-size:.88rem;color:var(--stone);margin-bottom:18px}
.tool__go{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;display:inline-flex;gap:7px;transition:gap .3s}
.tool:hover .tool__go{gap:13px}

/* ===== QUIZ ===== */
.quiz{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:44px;box-shadow:0 24px 54px rgba(0,0,0,.07)}
.quiz__prog{display:flex;gap:6px;margin-bottom:30px}
.quiz__prog span{flex:1;height:4px;border-radius:2px;background:var(--line);transition:.3s}
.quiz__prog span.on{background:var(--accent)}
.quiz__q{font-family:var(--serif);font-size:1.7rem;margin-bottom:28px;text-align:center;color:var(--ink)}
.quiz__opts{display:grid;gap:12px}
.quiz__opt{padding:17px 22px;border:1px solid var(--line);border-radius:11px;background:var(--paper);cursor:pointer;font-size:1rem;text-align:left;transition:.2s;font-family:var(--sans);color:var(--ink)}
.quiz__opt:hover{border-color:var(--accent);background:var(--surface-soft);transform:translateX(5px)}
.quiz__result{text-align:center}
.quiz__result .eyebrow{display:block;margin-bottom:12px}
.quiz__result h2{font-family:var(--serif);font-size:2rem;margin-bottom:12px}
.quiz__again{margin-top:24px;background:none;border:0;color:var(--stone);cursor:pointer;font-size:.85rem;font-family:var(--sans);text-decoration:underline}
.quiz__again:hover{color:var(--accent)}

/* ===== COMPARADOR ===== */
.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cmp__col{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
.cmp__pick{width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:.88rem;background:var(--cream);color:var(--ink);cursor:pointer}
.cmp__pick:focus{outline:none}
.cmp__body{padding:22px}
.cmp__empty{text-align:center;color:var(--stone);padding:60px 10px;font-size:.9rem}
.cmp__img{aspect-ratio:1;border-radius:8px;background:var(--cream);background-size:cover;background-position:center;margin-bottom:16px}
.cmp__body h3{font-family:var(--serif);font-size:1.15rem;margin-bottom:6px;line-height:1.3}
.cmp__price{color:var(--accent);font-weight:600;font-size:.92rem;margin-bottom:14px}
.cmp__row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:.84rem}
.cmp__row span{color:var(--stone);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.cmp__cols{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.cmp__cols i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.cmp .btn--ghost{width:100%;justify-content:center;margin-top:16px}

/* ===== MARKETING: barra de promo · popup de salida · newsletter ===== */
.promobar{position:relative;z-index:95;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;background:var(--ink);color:#fff;padding:11px 20px;font-size:.85rem;font-weight:600;text-align:center;animation:promoDown .35s ease-out}
@keyframes promoDown{from{transform:translateY(-100%)}to{transform:none}}
.promobar__cta{background:var(--accent);color:#fff;padding:6px 16px;border-radius:30px;font-size:.8rem;font-weight:700;white-space:nowrap;transition:.2s}
.promobar__cta:hover{background:#9a5740;transform:translateY(-1px)}
.promobar__cd{letter-spacing:.02em;opacity:.95}
.promobar__cd b{background:rgba(255,255,255,.16);padding:2px 6px;border-radius:5px;font-weight:700}
.promobar__x{background:rgba(255,255,255,.15);border:0;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.8rem;flex-shrink:0}

.exitpop{position:fixed;inset:0;z-index:9996;background:rgba(28,26,23,.6);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s}
.exitpop.open{display:flex;opacity:1}
.exitpop__card{background:var(--paper);border-radius:20px;padding:40px 34px;max-width:430px;width:100%;text-align:center;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.3);animation:exitPop .4s cubic-bezier(.16,1,.3,1)}
@keyframes exitPop{from{transform:scale(.9) translateY(20px);opacity:0}to{transform:none;opacity:1}}
.exitpop__emoji{font-size:54px;margin-bottom:12px;line-height:1}
.exitpop__card h3{font-family:var(--serif);font-size:1.7rem;margin-bottom:10px}
.exitpop__card p{color:var(--stone);margin-bottom:24px;font-size:.98rem}
.exitpop__card .btn{width:100%;justify-content:center}
.exitpop__x{position:absolute;top:14px;right:14px;background:var(--cream);border:0;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--stone);font-size:.85rem;transition:.2s}
.exitpop__x:hover{background:var(--ink);color:#fff}
.exitpop__no{display:block;margin:14px auto 0;background:none;border:0;color:var(--stone);font-size:.82rem;cursor:pointer;text-decoration:underline;font-family:var(--sans)}
.exitpop__no:hover{color:var(--accent)}

.ft__news{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft__news-txt h4{color:#fff;font-size:1.12rem;margin-bottom:4px;font-family:var(--serif)}
.ft__news-txt p{color:#a59e93;font-size:.88rem;margin:0}
.ft__news-form{display:flex;gap:10px;min-width:280px;flex:1;max-width:430px}
.ft__news-form input{flex:1;padding:13px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-family:var(--sans);font-size:.9rem}
.ft__news-form input::placeholder{color:#8a847c}
.ft__news-form input:focus{outline:none;border-color:var(--accent)}
.ft__news-form .btn{white-space:nowrap;background:var(--accent);color:#fff;border:0}
.ft__news-form .btn:hover{background:#9a5740}
@media(max-width:600px){.ft__news-form{max-width:none;width:100%}}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .prods{grid-template-columns:repeat(3,1fr)}
  .colors{grid-template-columns:repeat(6,1fr)}
  .why{grid-template-columns:repeat(2,1fr);gap:50px}
  .hero__title{font-size:3.2rem}
  .masonry{column-count:3}
  .blog{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr);gap:40px}
  .process__step::after{display:none}
  .svc{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .wrap{padding:0 22px}
  .hd__nav{position:fixed;top:84px;right:0;width:78%;max-width:320px;height:calc(100vh - 84px);background:var(--surface);
    flex-direction:column;align-items:flex-start;gap:0;padding:24px;border-left:1px solid var(--line);
    transform:translateX(100%);transition:.3s}
  .hd__nav.open{transform:translateX(0)}
  .hd__nav a,.hd.over .hd__nav a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  .hd__drop{width:100%}
  .hd__dropbtn{width:100%;padding:16px 0;border-bottom:1px solid var(--line);justify-content:space-between;font-size:.82rem}
  .hd.over .hd__dropbtn{color:var(--ink)}
  .hd__menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;background:none;padding:0 0 8px 14px;min-width:0}
  .hd__menu a{padding:13px 0;border-bottom:1px solid var(--line)}
  .hd__toggle{display:flex}
  .hd__in{height:84px}
  .hd__brand img{height:62px}
  .hero__in{grid-template-columns:1fr;min-height:auto}
  .hero__img{height:60vh;order:-1}
  .hero__text{padding:50px 0 60px}
  .hero__title{font-size:2.6rem}
  .hero--full::before{background:linear-gradient(rgba(16,12,10,.5),rgba(16,12,10,.72))}
  .hero__content{padding:90px 22px 0}
  .hero__lead{max-width:none}
  .sec{padding:56px 0}
  .sec__title,.cta h2{font-size:2rem}
  .amb,.prods,.tests{grid-template-columns:1fr 1fr;gap:16px}
  .tslider__nav{display:none}
  .colors{grid-template-columns:repeat(4,1fr)}
  .why{grid-template-columns:1fr;gap:36px}
  .pdp{grid-template-columns:1fr;gap:30px}
  .ft__grid{grid-template-columns:1fr 1fr}
  .clients{gap:30px}
  .show__grid{grid-template-columns:1fr;gap:36px}
  .show__feats{order:2}
  .show__circle{width:90px;height:90px}
  .statband__grid{grid-template-columns:1fr 1fr;gap:36px}
  .process{grid-template-columns:1fr 1fr;gap:26px 14px}
  .svc{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:30px}
  .about__img{order:-1}
  .trust__grid{grid-template-columns:1fr 1fr;gap:24px 18px}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
  .gal__item:nth-child(1){grid-column:span 2}
  .gal__item:nth-child(6){grid-row:span 1}
  .masonry{column-count:2}
  .ig{grid-template-columns:repeat(3,1fr)}
  .blog{grid-template-columns:1fr}
  .cmp{grid-template-columns:1fr}
  .quiz{padding:28px}
  .tools{grid-template-columns:1fr 1fr}
  .deroa{grid-template-columns:1fr 1fr}
  .story__grid{grid-template-columns:1fr;gap:22px}
  .story__media{aspect-ratio:16/11}
  .story__title{font-size:1.7rem;margin-bottom:12px}
  .story__desc{font-size:.95rem;margin-bottom:20px}
  .story__count b{font-size:1.8rem}
  .videoband{padding:90px 0}
  .lb__nav{width:44px;height:44px;font-size:1.8rem}
  .lb__prev{left:10px}.lb__next{right:10px}
  .contacto{grid-template-columns:1fr;gap:36px}
  .contacto__info .sec__title{text-align:left}
  .cotz{grid-template-columns:1fr;gap:30px}
  .cotz__summary{position:static}
  .cotz__extras{grid-template-columns:1fr}
  .qv__panel{grid-template-columns:1fr;max-height:88vh}
  .qv__img{min-height:230px}
  .qv__info{padding:28px}
  .qv__nav{width:40px;height:40px;font-size:1.3rem}
  .qv__prev{left:8px}.qv__next{right:8px}
  .lab{grid-template-columns:1fr;gap:30px}
  .lab__swatches{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:460px){
  .amb{grid-template-columns:1fr 1fr;gap:12px}
  .prods{grid-template-columns:1fr 1fr;gap:12px}
  .tests{grid-template-columns:1fr}
}

/* ============================================================
   ✦ STYLE BOOST — más llamativo (claro premium) ✦
   ============================================================ */
:root{--accent2:#e0a05c;--grad:linear-gradient(120deg,#b0674c,#dc9a5b);--aglow:rgba(176,103,76,.26)}

/* Palabras clave de los títulos con degradado animado */
.hero__title em,.sec__title em,.cta h2 em,.show__title em,.story__title em,.pdp__title em{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  background-size:220% 100%;animation:gradMove 5s linear infinite;font-style:italic}
@keyframes gradMove{to{background-position:220% 50%}}
@media(prefers-reduced-motion:reduce){.hero__title em,.sec__title em,.cta h2 em,.show__title em,.story__title em{animation:none}}

/* Eyebrow con guion degradado */
.eyebrow::before{content:"";display:inline-block;width:24px;height:2px;background:var(--grad);vertical-align:middle;margin-right:11px;border-radius:2px}

/* Subrayado animado bajo el título de sección (entra al revelarse) */
.sec__head .sec__title{position:relative;display:inline-block}
.sec__head .sec__title::after{content:"";position:absolute;left:50%;bottom:-15px;width:0;height:3px;background:var(--grad);border-radius:3px;transform:translateX(-50%);transition:width .9s cubic-bezier(.16,1,.3,1) .2s}
.sec__head.in .sec__title::after{width:66px}

/* Secciones alternas con degradado cálido sutil */
.sec--cream{background-color:#f5efe6;background-image:radial-gradient(rgba(176,103,76,.055) 1.5px,transparent 1.6px),linear-gradient(180deg,#faf7f1,#f1e9dd);background-size:24px 24px,100% 100%}
/* franjas decorativas sutiles que separan y dan riqueza */
.sec{position:relative}
.sec--cream::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(176,103,76,.25),transparent)}

/* Botones con más vida + destello al pasar el mouse */
.btn--dark{background:var(--grad);border:0;color:#fff;box-shadow:0 8px 22px var(--aglow)}
.btn--dark:hover{filter:brightness(1.05);box-shadow:0 14px 32px var(--aglow);transform:translateY(-2px)}
.btn--wa{background:linear-gradient(120deg,#25d366,#1ebd5a);box-shadow:0 8px 24px rgba(37,211,102,.30)}
.btn--wa:hover{box-shadow:0 14px 36px rgba(37,211,102,.5);transform:translateY(-2px)}
.btn--wa,.btn--dark{position:relative;overflow:hidden}
.btn--wa::after,.btn--dark::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.btn--wa:hover::after,.btn--dark:hover::after{left:130%}

/* CTA del hero que pulsa para llamar la atención */
.hero__actions .btn--wa{animation:ctaGlow 2.6s ease-in-out infinite}
@keyframes ctaGlow{0%,100%{box-shadow:0 8px 24px rgba(37,211,102,.30)}50%{box-shadow:0 12px 40px rgba(37,211,102,.55)}}
@media(prefers-reduced-motion:reduce){.hero__actions .btn--wa{animation:none}}

/* Tarjetas: borde + halo terracota al pasar el mouse */
.card:hover,.dcard:hover,.tool:hover,.why__item:hover,.svc__item:hover,.blogcard:hover{
  box-shadow:0 26px 56px rgba(176,103,76,.16),0 0 0 1px rgba(176,103,76,.22)!important}
.dcard:hover,.tool:hover,.why__item:hover,.svc__item:hover,.blogcard:hover{border-color:var(--accent)!important}

/* Números de impacto con degradado y brillo */
.statband__n{background:linear-gradient(120deg,#e09a5b,#f3bd82);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* Ambientes y galería: realce cálido al pasar el mouse */
.amb__item:hover::after{background:linear-gradient(transparent 35%,rgba(176,103,76,.5))!important}
.amb__item:hover{box-shadow:0 22px 44px rgba(176,103,76,.22)}
.gal__item:hover::after{background:rgba(176,103,76,.24)!important}

/* Iconos de herramientas con un toque de color al hover */
.tool:hover .tool__ic{transform:scale(1.15) rotate(-5deg);transition:.35s}
.why__item:hover .why__ic{background:var(--grad);transform:scale(1.08) rotate(-4deg)}

/* Barra de progreso de scroll en degradado */
.progress{background:var(--grad)!important}

/* Producto destacado (CSS propio, sin Tailwind) */
.psd__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;max-width:1040px;margin:0 auto}
.psd__col{display:flex;flex-direction:column;gap:64px}
.psd__feat{display:flex;align-items:center;gap:18px}
.psd__col--l .psd__feat{justify-content:flex-end;text-align:right}
.psd__circle{width:96px;height:96px;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0;box-shadow:0 12px 30px rgba(0,0,0,.14);border:1px solid var(--line);transition:.45s cubic-bezier(.16,1,.3,1)}
.psd__feat:hover .psd__circle{transform:scale(1.07);box-shadow:0 18px 38px rgba(176,103,76,.28)}
.psd__num{font-size:.7rem;font-weight:800;letter-spacing:.24em;color:var(--accent)}
.psd__txt h4{font-family:var(--serif);font-size:1.2rem;margin:5px 0;line-height:1.2}
.psd__txt p{font-size:.9rem;color:var(--stone);max-width:210px}
.psd__col--l .psd__txt p{margin-left:auto}
.psd__line{width:32px;height:1px;background:var(--line);flex-shrink:0;transition:.45s}
.psd__feat:hover .psd__line{width:48px;background:var(--accent)}
.psd__product{width:300px;height:300px;border-radius:32px;background-size:cover;background-position:center;box-shadow:0 45px 90px -25px rgba(28,26,23,.45);position:relative}
.psd__product::before{content:"";position:absolute;inset:-22px;border-radius:38px;border:1px solid var(--line);pointer-events:none}
.psd__cta{text-align:center;margin-top:48px}
@media(max-width:860px){
  .psd__grid{grid-template-columns:1fr;gap:30px;max-width:440px}
  .psd__product{order:-1;width:230px;height:230px;margin:0 auto}
  .psd__col{flex-direction:row;flex-wrap:wrap;gap:22px;justify-content:center}
  .psd__col--l .psd__feat,.psd__col--r .psd__feat{justify-content:flex-start;text-align:left;flex:1;min-width:240px}
  .psd__col--l .psd__txt p{margin-left:0}
  .psd__line{display:none}
}

/* Selector de ubicación (Departamento → Provincia → Distrito) */
.ubigeo{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ubigeo label{margin-bottom:0}
.ubigeo select:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:600px){.ubigeo{grid-template-columns:1fr}}

/* ===== VISUALIZADOR PRO (mv2) ===== */
.mv2{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 30px 70px rgba(28,26,23,.1);max-width:1120px;margin:0 auto}
.mv2__left{display:flex;flex-direction:column;gap:16px;min-width:0}
.mv2__tabs{display:flex;align-items:center;gap:9px;flex-wrap:nowrap;min-width:0}
.mv2__tabslabel{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--stone);font-weight:700}
.mv2 .mv__tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1.5px solid var(--line);background:var(--surface);border-radius:30px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;color:var(--ink);transition:.2s}
.mv2 .mv__tab span{font-size:1rem}
.mv2 .mv__tab:hover{border-color:var(--accent)}
.mv2 .mv__tab.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 20px rgba(176,103,76,.32)}
.mv2__live{margin-left:auto;font-size:.64rem;font-weight:700;letter-spacing:.08em;color:var(--wa);flex-shrink:0}
.mv2__chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;flex:1 1 0;min-width:0;scrollbar-width:none}
.mv2__chips::-webkit-scrollbar{display:none}
.mv2__chips::-webkit-scrollbar{height:5px}
.mv2__chips::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}
.mv__chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 6px;border:1.5px solid var(--line);background:var(--surface);border-radius:30px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--ink);transition:.2s;white-space:nowrap}
.mv__chip:hover{border-color:var(--accent)}
.mv__chip.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 18px rgba(176,103,76,.3)}
.mv__chipimg{width:26px;height:26px;border-radius:50%;background:var(--cream) center/cover no-repeat;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.mv__chipic{width:26px;height:26px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:.9rem;flex-shrink:0}
.mv__chip.on .mv__chipic{background:rgba(255,255,255,.25)}
/* botón "ver en mi espacio" */
.mv2__try{width:100%;padding:12px;border:1.5px dashed var(--accent);background:var(--surface);color:var(--accent);border-radius:12px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;transition:.2s}
.mv2__try:hover{background:var(--accent);color:#fff;border-style:solid;transform:translateY(-1px)}
/* modal pruébalo en tu espacio */
.roomtry{position:fixed;inset:0;z-index:10001;background:rgba(28,26,23,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:18px}
.roomtry.open{display:flex;animation:exitPop .3s}
.roomtry__box{background:var(--surface);border-radius:20px;max-width:580px;width:100%;padding:24px;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.4)}
.roomtry__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:var(--cream);color:var(--stone);font-size:1.1rem;cursor:pointer;z-index:2}
.roomtry__close:hover{background:var(--ink);color:#fff}
.roomtry__box h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:4px}
.roomtry__hint{font-size:.86rem;color:var(--stone);margin-bottom:16px}
.roomtry__stage{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--cream) center/cover no-repeat;border:1px solid var(--line)}
.roomtry__upload{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--stone);font-weight:600;font-size:.92rem;cursor:pointer;padding:24px;background:repeating-linear-gradient(45deg,transparent,transparent 14px,rgba(176,103,76,.04) 14px,rgba(176,103,76,.04) 28px)}
.roomtry__stage.has-photo .roomtry__upload{display:none}
.roomtry__furni{position:absolute;left:32%;top:18%;cursor:grab;z-index:2;touch-action:none}
.roomtry__furni:active{cursor:grabbing}
.roomtry__stage:not(.has-photo) .roomtry__furni{display:none}
.roomtry__ctrls{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.roomtry__size{flex:1;display:flex;align-items:center;gap:9px;font-size:.8rem;font-weight:600;color:var(--stone);min-width:170px}
.roomtry__size input{flex:1;accent-color:var(--accent);cursor:ew-resize}
.roomtry__ctrls .btn{white-space:nowrap}
.roomtry__tip{font-size:.74rem;color:var(--stone);text-align:center;margin:12px 0 0}
.mv2__left .mv__stage{order:0;border-radius:16px;min-height:370px;
  background:linear-gradient(180deg,rgba(250,247,242,.5) 0%,rgba(250,247,242,.32) 48%,rgba(250,247,242,.5) 100%),url('../imagenes/sitio/mv-room.jpg') center/cover no-repeat}
.mv2__left .mv__floor{background:linear-gradient(transparent,rgba(60,40,25,.12))}
.mv2__left .mv__person svg{fill:#9a8f7e;opacity:.9}
.mv2__left .mv__furni{box-shadow:0 22px 40px rgba(0,0,0,.28),0 6px 14px rgba(0,0,0,.2)}
.mv2__info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;background:var(--cream);border-radius:14px;padding:13px 14px}
.mv2__infoit{display:flex;align-items:center;gap:10px;min-width:0}
.mv2__ic{width:34px;height:34px;border-radius:9px;background:var(--surface);display:grid;place-items:center;font-size:1rem;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.mv2__infoit small{display:block;font-size:.62rem;color:var(--stone);text-transform:uppercase;letter-spacing:.03em}
.mv2__infoit b{font-size:.84rem}
.mv2__right{display:flex;flex-direction:column;gap:11px;min-width:0}
.mv2__mueb{display:flex;align-items:center;gap:13px;background:var(--cream);border-radius:14px;padding:13px 15px}
.mv2__muebic{width:50px;height:50px;border-radius:12px;background:var(--surface);display:grid;place-items:center;font-size:1.5rem;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,.06)}
.mv2__mueb small{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--stone)}
.mv2__mueb b{font-family:var(--serif);font-size:1.3rem;display:block;line-height:1.1;margin:1px 0}
.mv2__mueb>div>span{font-size:.76rem;color:var(--stone)}
.mv2__ctrl{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:11px 14px;transition:border-color .2s}
.mv2__ctrl:hover{border-color:var(--accent)}
.mv2__cic{width:38px;height:38px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:1.05rem;color:var(--accent);flex-shrink:0}
.mv2__cbody{flex:1;min-width:0}
.mv2__chead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.mv2__chead>span{font-size:.84rem;font-weight:600}
.mv2__num{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;color:var(--stone)}
.mv2__num input{width:52px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;font-weight:700;color:var(--accent);text-align:center;background:var(--surface)}
.mv2__cbody input[type=range]{width:100%;accent-color:var(--accent);cursor:ew-resize}
.mv2__range{display:flex;justify-content:space-between;font-size:.64rem;color:var(--stone);margin-top:2px}
.mv2__price{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(120deg,#faf3ee,#f5ebe2);border:1px solid var(--line);border-radius:14px;padding:15px}
.mv2__price small{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--stone)}
.mv2__price>div>b{font-family:var(--serif);font-size:1.7rem;color:var(--accent);display:block;line-height:1.1;margin:2px 0}
.mv2__ideal{text-align:center;background:var(--surface);border-radius:12px;padding:9px 14px;box-shadow:0 3px 10px rgba(0,0,0,.07);flex-shrink:0}
.mv2__ideal span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--stone)}
.mv2__ideal b{font-size:.82rem;color:var(--ink)}
.mv2__safe{text-align:center;font-size:.72rem;color:var(--stone);margin:2px 0 0}
/* selector de acabado */
.mv2__finish{border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.mv2__finhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.mv2__finhead span{font-size:.84rem;font-weight:600}
.mv2__finhead b{font-size:.8rem;color:var(--accent)}
.mv2__sw{display:flex;gap:9px;flex-wrap:wrap}
.mv2__sw button{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line),0 2px 5px rgba(0,0,0,.14);cursor:pointer;padding:0;transition:.2s}
.mv2__sw button:hover{transform:scale(1.14)}
.mv2__sw button.on{box-shadow:0 0 0 2px var(--accent),0 0 0 4px rgba(176,103,76,.22);transform:scale(1.08)}
/* foto real en el escenario */
.mv__real{position:absolute;top:12px;right:12px;z-index:3;width:88px;border:none;background:var(--surface);border-radius:12px;padding:5px;box-shadow:0 8px 22px rgba(0,0,0,.2);cursor:pointer;transition:.25s cubic-bezier(.16,1,.3,1);overflow:hidden}
.mv__real:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.mv__real img{width:100%;height:62px;object-fit:cover;border-radius:8px;display:block}
.mv__real span{display:block;font-size:.6rem;font-weight:700;color:var(--ink);text-align:center;padding:4px 0 1px;letter-spacing:.02em}
/* toggle 2D/3D + lienzo three.js */
.mv__mode{position:absolute;top:12px;left:12px;z-index:5;display:flex;background:var(--surface);border-radius:30px;padding:3px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.mv__mode button{border:none;background:none;padding:5px 15px;border-radius:30px;font:inherit;font-size:.76rem;font-weight:700;color:var(--stone);cursor:pointer;transition:.2s}
.mv__mode button.on{background:var(--accent);color:#fff}
.mv__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;border-radius:16px;cursor:grab;touch-action:none}
.mv__canvas:active{cursor:grabbing}
.mv__spin{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--stone);font-size:.85rem;font-weight:600}
.mv__spin[hidden],.mv__canvas[hidden]{display:none!important}
.mv__stage.is3d .mv__person,.mv__stage.is3d .mv__furniWrap,.mv__stage.is3d .mv__floor{opacity:0;pointer-events:none}
.mv__stage.is3d::after{content:"🖱️ Arrastra para girar";position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:4;background:rgba(28,26,23,.7);color:#fff;font-size:.66rem;font-weight:600;padding:5px 12px;border-radius:20px;pointer-events:none}
.mv2__features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1120px;margin:20px auto 0;background:var(--cream);border-radius:16px;padding:18px 24px}
.mv2__features>div{display:flex;align-items:center;gap:11px}
.mv2__fic{width:40px;height:40px;border-radius:10px;background:var(--surface);display:grid;place-items:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.mv2__features b{display:block;font-size:.85rem}
.mv2__features small{font-size:.73rem;color:var(--stone)}
@media(max-width:900px){
  .mv2{grid-template-columns:1fr;gap:16px}
  .mv2__features{grid-template-columns:1fr 1fr;gap:14px}
}
@media(max-width:560px){
  .mv2__info,.mv2__features{grid-template-columns:1fr}
  .mv2__price{flex-direction:column;align-items:stretch;text-align:center}
}

/* ===== MÁS DINÁMICO ===== */
/* Brillo que recorre la franja de estadísticas */
.statband{position:relative;overflow:hidden}
.statband__grid{position:relative;z-index:1}
.statband::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 38%,rgba(220,154,91,.16) 50%,transparent 62%);background-size:240% 100%;animation:bandSheen 7s linear infinite}
@keyframes bandSheen{to{background-position:-240% 0}}
/* Marco dorado que late suavemente en la imagen del producto destacado */
.psd__product{animation:psdBreathe 5s ease-in-out infinite}
@keyframes psdBreathe{0%,100%{box-shadow:0 45px 90px -25px rgba(28,26,23,.45)}50%{box-shadow:0 50px 100px -22px rgba(176,103,76,.4)}}
@media(prefers-reduced-motion:reduce){.statband::after,.psd__product{animation:none}}

/* ============================================================
   REFINAMIENTOS ELEGANTES — capa de pulido
   Toques finos sobre la base ya existente. Todo es aditivo:
   se puede borrar este bloque entero sin romper nada.
   ============================================================ */
:root{
  /* Sombras en capas (cercana + media + lejana) = profundidad realista */
  --shadow-soft:0 1px 2px rgba(28,26,23,.05),0 5px 14px -6px rgba(28,26,23,.10);
  --shadow-lift:0 2px 4px rgba(28,26,23,.06),0 12px 24px -8px rgba(176,103,76,.22),0 28px 54px -16px rgba(28,26,23,.20);
}

/* (1) Grano sutil tipo papel en las secciones cream → calidez editorial */
.sec--cream,.cathero{
  background-color:var(--cream);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

/* (2)+(3) Sombras en capas y hairline terracota en las tarjetas */
.card,.tool,.dcard,.why__item,.svc__item,.blogcard{box-shadow:var(--shadow-soft)}
.card:hover,.dcard:hover,.tool:hover,.why__item:hover,.svc__item:hover,.blogcard:hover{
  box-shadow:var(--shadow-lift),0 0 0 1px rgba(176,103,76,.18)!important}

/* (4) Subrayado que se dibuja al entrar la sección en pantalla */
.sec__head .sec__title{display:inline-block;position:relative;padding-bottom:.26em}
.sec__head .sec__title::after{content:"";position:absolute;left:50%;bottom:0;width:54px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:translateX(-50%) scaleX(0);transform-origin:center;
  transition:transform .7s cubic-bezier(.16,1,.3,1) .15s}
.sec__head.in .sec__title::after,.sec__head:not(.reveal) .sec__title::after{transform:translateX(-50%) scaleX(1)}
.contacto__info .sec__title::after{display:none}

/* (6) Zoom elegante en la galería de proyectos */
.gallery .gal__item{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.gallery .gal__item:hover{transform:scale(1.03);z-index:2;box-shadow:var(--shadow-lift)}
.gallery .gal__item:hover .gal__zoom{transform:scale(1.12)}

/* (9) Capital decorativa (drop cap) — primer párrafo de "Nosotros" y .dropcap */
.about__text>p:first-of-type::first-letter,.dropcap::first-letter{
  font-family:var(--serif);float:left;font-size:3.3em;line-height:.78;font-weight:600;
  color:var(--accent);margin:.05em .12em 0 0}

/* (10) Números tabulares en la franja de impacto → el contador no "salta" */
.statband__n{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* (11) Comilla tipográfica gigante detrás de los testimonios */
.tslide{position:relative}
.tslide::before{content:"\201C";position:absolute;top:-.34em;left:50%;transform:translateX(-50%);
  font-family:var(--serif);font-style:italic;font-size:clamp(7rem,16vw,11rem);line-height:1;
  color:var(--accent);opacity:.08;pointer-events:none;z-index:0}
.tslide__stars,.tslide__q,.tslide__a,.tslide__p{position:relative;z-index:1}

@media(prefers-reduced-motion:reduce){
  .sec__head .sec__title::after{transition:none;transform:translateX(-50%) scaleX(1)}
  .gallery .gal__item{transition:none}
}

/* ===== RESEÑAS DE CLIENTES (carrusel) ===== */
.rev{position:relative;display:flex;align-items:center;gap:8px}
.rev__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rev__track::-webkit-scrollbar{display:none}
.rev__card{flex:0 0 clamp(260px,80vw,360px);scroll-snap-align:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px 24px;box-shadow:0 14px 36px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:14px}
.rev__stars{color:#f5a623;font-size:1.05rem;letter-spacing:2px}
.rev__text{font-size:.95rem;line-height:1.65;color:var(--ink);font-style:italic;margin:0;flex:1}
.rev__who{display:flex;align-items:center;gap:12px;margin-top:4px}
.rev__av{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--c,#b0674c);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.95rem;letter-spacing:.5px}
.rev__who b{display:block;font-size:.92rem;color:var(--ink)}
.rev__who span{font-size:.78rem;color:var(--stone)}
.rev__nav{flex-shrink:0;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s;box-shadow:0 6px 18px rgba(0,0,0,.08);z-index:2}
.rev__nav:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.06)}
.rev__nav:disabled{opacity:.35;cursor:default;transform:none;background:var(--paper);color:var(--ink);border-color:var(--line)}
@media(max-width:640px){.rev__nav{display:none}}

/* botón de modo oscuro en el header */
.hd__theme{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:1.05rem;line-height:1;display:grid;place-items:center;transition:.2s;flex-shrink:0}
.hd__theme:hover{transform:scale(1.08);border-color:var(--accent)}
.hd.over .hd__theme{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}

/* ===== SKELETONS (placeholders de carga) ===== */
.skeleton{position:relative;overflow:hidden;background:var(--surface-soft)}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skelshine 1.4s infinite}
[data-theme="dark"] .skeleton::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
@keyframes skelshine{100%{transform:translateX(100%)}}
.skel-card{display:flex;flex-direction:column;gap:10px}
.skel-card__img{aspect-ratio:4/3;border-radius:14px}
.skel-card__line{height:12px;border-radius:6px}
.skel-card__line--short{width:60%}
@media(prefers-reduced-motion:reduce){.skeleton::after{animation:none}}

/* ===== PACK ÉPICO: tilt 3D + brillo + confeti + aurora + prueba social ===== */
/* Tarjetas 3D con brillo que sigue al cursor */
.card,.tool,.amb__item,.psd__feat{transform-style:preserve-3d;will-change:transform}
.is-tilt{transition:transform .08s ease-out!important;z-index:5}
.card.is-tilt::after,.tool.is-tilt::after,.amb__item.is-tilt::after,.psd__feat.is-tilt::after{
  content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 60%);
  mix-blend-mode:soft-light}
[data-theme="dark"] .card.is-tilt::after,[data-theme="dark"] .tool.is-tilt::after,[data-theme="dark"] .amb__item.is-tilt::after,[data-theme="dark"] .psd__feat.is-tilt::after{background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(207,135,99,.3),transparent 60%);mix-blend-mode:screen}

/* Confeti tipo estallido (burstConfetti) — clase propia para no chocar con el confeti original que cae */
.bconfetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}
.bconfetti i{position:absolute;width:9px;height:14px;border-radius:2px;opacity:0;transform:translate(-50%,-50%);animation:confburst 1.4s cubic-bezier(.18,.7,.3,1) forwards}
@keyframes confburst{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--r))}}

/* Fondo aurora animado (CTA) */
.cta.aurora{position:relative;overflow:hidden;isolation:isolate}
.cta.aurora>.wrap{position:relative;z-index:1}
.cta.aurora::before{content:"";position:absolute;inset:-35%;z-index:0;
  background:radial-gradient(38% 38% at 28% 30%,rgba(176,103,76,.55),transparent 62%),radial-gradient(40% 40% at 72% 58%,rgba(37,211,102,.32),transparent 62%),radial-gradient(34% 34% at 50% 82%,rgba(245,166,35,.3),transparent 62%);
  filter:blur(28px);animation:auroramove 16s ease-in-out infinite alternate}
@keyframes auroramove{0%{transform:translate(-4%,-2%) rotate(0) scale(1)}50%{transform:translate(5%,3%) rotate(10deg) scale(1.08)}100%{transform:translate(-3%,5%) rotate(-7deg) scale(1.03)}}

/* Prueba social en vivo */
.sproof{position:fixed;left:20px;bottom:24px;z-index:180;max-width:300px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:12px 12px 12px 14px;display:flex;gap:10px;align-items:flex-start;transform:translateY(160%);opacity:0;transition:.55s cubic-bezier(.16,1,.3,1)}
.sproof.show{transform:none;opacity:1}
.sproof__ic{font-size:1.5rem;line-height:1}
.sproof__t{font-size:.8rem;line-height:1.45;color:var(--ink)}
.sproof__t b{color:var(--accent)}
.sproof__t span{display:block;color:var(--stone);font-size:.69rem;margin-top:3px}
.sproof__x{margin-left:auto;background:none;border:none;color:var(--stone);font-size:1.15rem;line-height:1;cursor:pointer;padding:0 2px}
@media(max-width:560px){.sproof{display:none}}
@media(prefers-reduced-motion:reduce){.cta.aurora::before{animation:none}.confetti{display:none}}

/* ===== RULETA DE DESCUENTOS ===== */
.ruleta-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:185;background:linear-gradient(135deg,var(--accent),#8a4d36);color:#fff;border:none;border-radius:0 14px 14px 0;padding:16px 9px;cursor:pointer;font-weight:700;font-size:.8rem;writing-mode:vertical-rl;text-orientation:mixed;box-shadow:0 8px 24px rgba(0,0,0,.28);animation:ruletaWiggle 3.5s ease-in-out infinite}
@keyframes ruletaWiggle{0%,90%,100%{transform:translateY(-50%) scale(1)}95%{transform:translateY(-50%) scale(1.07)}}
.ruleta-modal{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.ruleta-modal.open{display:flex;animation:rfade .3s}
@keyframes rfade{from{opacity:0}to{opacity:1}}
.ruleta-box{position:relative;background:var(--surface);border-radius:22px;padding:28px 24px 26px;max-width:380px;width:100%;text-align:center;box-shadow:0 40px 90px rgba(0,0,0,.45)}
.ruleta-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--stone);line-height:1}
.ruleta-title{font-size:1.35rem;margin-bottom:4px;color:var(--ink)}
.ruleta-sub{font-size:.84rem;color:var(--stone);margin-bottom:18px}
.ruleta-wheelwrap{position:relative;width:260px;height:260px;margin:0 auto 20px}
.ruleta-pointer{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:2.2rem;color:var(--accent);z-index:3;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.ruleta-wheel{width:100%;height:100%;border-radius:50%;position:relative;border:8px solid var(--ink);box-shadow:0 0 0 4px var(--accent),inset 0 0 30px rgba(0,0,0,.18);background:conic-gradient(#b0674c 0 45deg,#2f6f4f 45deg 90deg,#cf8763 90deg 135deg,#1c1a17 135deg 180deg,#b0674c 180deg 225deg,#2f6f4f 225deg 270deg,#cf8763 270deg 315deg,#1c1a17 315deg 360deg)}
.ruleta-seg{position:absolute;left:50%;top:50%;color:#fff;font-weight:700;font-size:.74rem;white-space:nowrap;transform:translate(-50%,-50%) rotate(calc((var(--i) + .5)*45deg)) translateY(-86px);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.ruleta-spin{width:100%;padding:14px;border:none;border-radius:12px;background:var(--wa);color:#fff;font-weight:800;font-size:1rem;letter-spacing:.05em;cursor:pointer;transition:.2s}
.ruleta-spin:hover{background:var(--wa-dark)}
.ruleta-spin:disabled{opacity:.7;cursor:default}
.ruleta-result{display:flex;flex-direction:column;gap:10px;align-items:center}
.ruleta-win{font-size:1.2rem;font-weight:700;color:var(--accent)}
.ruleta-code{font-size:.9rem;color:var(--ink)}
.ruleta-code b{background:var(--surface-soft);padding:3px 10px;border-radius:6px;border:1px dashed var(--accent);letter-spacing:.12em}
.ruleta-fine{font-size:.68rem;color:var(--stone);line-height:1.4}
@media(max-width:560px){.ruleta-tab{font-size:.72rem;padding:13px 7px}}
@media(prefers-reduced-motion:reduce){.ruleta-tab{animation:none}.ruleta-wheel{transition:transform 1s linear!important}}

/* ===== OFERTA + CUENTA REGRESIVA ===== */
.offer{background:linear-gradient(120deg,#1c1a17,#3a2a22);color:#fff}
.offer__in{display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:center;padding:34px 32px}
.offer__txt{flex:1 1 260px}
.offer__tag{display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:8px}
.offer__h{font-size:1.55rem;margin-bottom:4px;color:#fff}
.offer__p{color:rgba(255,255,255,.72);font-size:.9rem;max-width:360px}
.offer__cd{display:flex;align-items:flex-start;gap:6px}
.offer__cd>div:not(.offer__sep){display:flex;flex-direction:column;align-items:center}
.offer__cd b{font-size:1.85rem;font-weight:800;background:rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;min-width:54px;font-variant-numeric:tabular-nums;line-height:1}
.offer__cd span{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-top:6px}
.offer__sep{font-size:1.6rem;font-weight:800;opacity:.45;margin-top:6px}
@media(max-width:820px){.offer__in{text-align:center}.offer__txt{flex-basis:100%}.offer__cd b{font-size:1.45rem;min-width:44px}}

/* ===== CARRITO DE COTIZACIÓN (favoritos) ===== */
.favquote{display:flex;justify-content:center;margin:0 0 28px}
.favquote .btn{box-shadow:0 10px 30px rgba(37,211,102,.35)}

/* ===== BANNER INSTALAR APP (PWA) ===== */
.pwa-install{position:fixed;left:50%;bottom:20px;transform:translate(-50%,160%);z-index:190;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.22);padding:12px 14px;max-width:420px;width:calc(100% - 32px);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pwa-install.show{transform:translate(-50%,0)}
.pwa-install img{width:42px;height:42px;border-radius:10px;flex-shrink:0}
.pwa-install__t{flex:1;min-width:0;line-height:1.3}
.pwa-install__t b{display:block;font-size:.9rem;color:var(--ink)}
.pwa-install__t span{font-size:.74rem;color:var(--stone)}
.pwa-install__yes{flex-shrink:0;background:var(--wa);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-weight:700;font-size:.84rem;cursor:pointer;transition:.2s}
.pwa-install__yes:hover{background:var(--wa-dark)}
.pwa-install__no{flex-shrink:0;background:none;border:none;color:var(--stone);font-size:1.1rem;cursor:pointer;padding:0 2px}

/* botón compartir en el footer */
.ft__share{background:none;border:none;cursor:pointer;color:inherit;padding:0;display:inline-flex;align-items:center;justify-content:center}

/* ===== BOTÓN VOLVER ARRIBA CON ANILLO DE PROGRESO ===== */
.totop{display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}
.totop__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop__track{fill:none;stroke:var(--line);stroke-width:2.5}
.totop__bar{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset .1s linear}
.totop__ar{position:relative;z-index:1;font-size:1.1rem;color:var(--ink);line-height:1}

/* estado fuera de horario en el chat */
.wachat__id span.off i{background:#f5a623;animation:none}

/* ===== CALCULADORA DE CUOTAS ===== */
.fin{max-width:560px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 26px;box-shadow:0 20px 50px rgba(0,0,0,.07)}
.fin__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.fin__row label{font-size:.85rem;font-weight:600;color:var(--ink)}
.fin__row output{font-size:1.15rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.fin input[type=range]{width:100%;margin:4px 0 22px;accent-color:var(--accent);cursor:pointer}
.fin__row--m{margin-top:4px}
.fin__meses{display:flex;gap:8px}
.fin__meses button{width:46px;height:40px;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;font:inherit;font-weight:700;font-size:.9rem;color:var(--ink);cursor:pointer;transition:.2s}
.fin__meses button:hover{border-color:var(--accent)}
.fin__meses button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.fin__result{text-align:center;margin:22px 0;padding:18px;background:var(--surface-soft);border-radius:14px}
.fin__result>span{display:block;font-size:.8rem;color:var(--stone)}
.fin__result b{display:block;font-size:2.4rem;font-weight:800;color:var(--ink);line-height:1.1;margin:4px 0;font-variant-numeric:tabular-nums}
.fin__result em{font-style:normal;font-weight:700;color:var(--accent)}
.fin .btn{width:100%}
.fin__fine{display:block;text-align:center;font-size:.7rem;color:var(--stone);margin-top:12px;line-height:1.4}

/* ===== BADGES EN TARJETAS (Nuevo / Más vendido) ===== */
.card__badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--accent);color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.card__badge--new{background:var(--wa)}

/* ===== UBICACIÓN / CÓMO LLEGAR ===== */
.loc{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:stretch}
.loc__info{display:flex;flex-direction:column;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px}
.loc__row{display:flex;gap:14px;align-items:flex-start}
.loc__ic{font-size:1.4rem;flex-shrink:0;line-height:1.2}
.loc__row b{display:block;font-size:.95rem;color:var(--ink);margin-bottom:2px}
.loc__row p{font-size:.88rem;color:var(--stone);margin:0}
.loc__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.loc__map{border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:340px}
.loc__map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
[data-theme="dark"] .loc__map iframe{filter:invert(.92) hue-rotate(180deg) brightness(.95)}
.btn--ghost-d{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn--ghost-d:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:780px){.loc{grid-template-columns:1fr}}

/* ===== PAQUETES / COMBOS ===== */
.combos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.combo{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 36px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.combo:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.12)}
.combo--pop{border-color:var(--accent);box-shadow:0 24px 54px rgba(176,103,76,.22)}
.combo__star{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:5px 14px;border-radius:20px;white-space:nowrap;box-shadow:0 6px 16px rgba(176,103,76,.4)}
.combo__tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.combo__title{font-size:1.5rem;color:var(--ink)}
.combo__list{display:flex;flex-direction:column;gap:8px;flex:1}
.combo__list li{font-size:.9rem;color:var(--stone);padding-left:24px;position:relative}
.combo__list li::before{content:"✓";position:absolute;left:0;color:var(--wa);font-weight:800}
.combo__price{display:flex;flex-direction:column;align-items:baseline;gap:0}
.combo__price span{font-size:.75rem;color:var(--stone)}
.combo__price b{font-size:1.9rem;font-weight:800;color:var(--ink);line-height:1}
.combo .btn{width:100%}
@media(max-width:860px){.combos{grid-template-columns:1fr 1fr;gap:16px;max-width:none;margin:0}}
@media(max-width:480px){
  .combo{padding:18px 13px;gap:10px;border-radius:14px}
  .combo__title{font-size:1.12rem}
  .combo__list li{font-size:.78rem;padding-left:18px}
  .combo__price b{font-size:1.45rem}
  .combo__star{font-size:.6rem;padding:4px 9px;top:-10px}
}

/* ===== GARANTÍAS / SELLOS ===== */
.guarantees{background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guarantees__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:34px 32px}
.guarantee{display:flex;align-items:center;gap:14px}
.guarantee__ic{font-size:1.9rem;flex-shrink:0;line-height:1}
.guarantee b{display:block;font-size:.92rem;color:var(--ink)}
.guarantee small{font-size:.76rem;color:var(--stone)}
@media(max-width:760px){.guarantees__grid{grid-template-columns:1fr 1fr;gap:20px}}

/* ===== BUSCADOR ===== */
.hd__search{background:none;border:none;cursor:pointer;color:var(--ink);padding:6px;display:grid;place-items:center;border-radius:50%;transition:.2s;flex-shrink:0}
.hd__search:hover{color:var(--accent)}
.hd.over .hd__search{color:#fff}
.search-ov{position:fixed;inset:0;z-index:9997;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:flex-start;padding:80px 20px 20px}
.search-ov.open{display:flex;animation:rfade .25s}
.search-box{width:100%;max-width:600px}
.search-bar{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:16px;padding:14px 16px;box-shadow:0 24px 60px rgba(0,0,0,.3);color:var(--stone)}
.search-bar input{flex:1;border:none;background:none;font:inherit;font-size:1.05rem;color:var(--ink);outline:none}
.search-x{background:none;border:none;font-size:1.2rem;color:var(--stone);cursor:pointer;line-height:1}
.search-res{background:var(--surface);border-radius:16px;margin-top:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:60vh;overflow-y:auto}
.search-hint{padding:22px;text-align:center;color:var(--stone);font-size:.9rem}
.search-hint a{color:var(--accent);font-weight:600}
.search-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);transition:background .15s}
.search-item:last-child{border-bottom:none}
.search-item:hover{background:var(--surface-soft)}
.search-item img{width:54px;height:54px;border-radius:10px;object-fit:cover;flex-shrink:0}
.search-item b{display:block;font-size:.92rem;color:var(--ink)}
.search-item span{font-size:.82rem;color:var(--accent);font-weight:600}

/* ===== AVISO DE COOKIES ===== */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:195;max-width:640px;margin:0 auto;background:var(--ink);color:#fff;border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:16px;box-shadow:0 18px 50px rgba(0,0,0,.3);transform:translateY(160%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.cookies.show{transform:none}
.cookies p{flex:1;font-size:.84rem;line-height:1.4;margin:0;color:rgba(255,255,255,.85)}
.cookies__ok{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:9px 20px;font-weight:700;font-size:.85rem;cursor:pointer;transition:.2s}
.cookies__ok:hover{background:#965539}
@media(max-width:560px){.cookies{flex-direction:column;text-align:center;gap:10px}}

/* ===== BENTO MATERIALES ===== */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(140px,auto);gap:18px}
.bento__tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;box-shadow:0 12px 30px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;overflow:hidden}
.bento__tile:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(0,0,0,.1)}
.bento__tile--big{grid-column:span 2;grid-row:span 2;background:linear-gradient(150deg,var(--ink),#3a2a22);color:#fff}
.bento__tile--big h3{font-size:1.7rem}
.bento__tile--big p{color:rgba(255,255,255,.78);font-size:1rem}
.bento__tile--wide{grid-column:span 2}
.bento__tile--accent{background:linear-gradient(150deg,var(--accent),#8a4d36);color:#fff}
.bento__tile--accent p{color:rgba(255,255,255,.82)}
.bento__ic{font-size:2rem;line-height:1}
.bento__tile h3{font-size:1.2rem;font-family:var(--serif);color:inherit}
.bento__tile p{font-size:.86rem;color:var(--stone);line-height:1.5}
.bento__tile--big .bento__ic{font-size:2.6rem}
@media(max-width:760px){.bento{grid-template-columns:repeat(2,1fr)}.bento__tile--big{grid-column:span 2;grid-row:span 1}.bento__tile--wide{grid-column:span 2}}

/* ===== MÉTODOS DE PAGO ===== */
.pay{background:var(--surface);border-top:1px solid var(--line)}
.pay__in{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:22px 32px}
.pay__lbl{font-size:.82rem;font-weight:700;color:var(--ink)}
.pay__methods{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.pay__m{font-size:.78rem;font-weight:700;padding:7px 14px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--line);color:var(--ink)}
.pay__m--yape{background:#742284;border-color:#742284;color:#fff}
.pay__m--plin{background:#0bb6c7;border-color:#0bb6c7;color:#fff}
.pay__note{font-size:.78rem;color:var(--stone)}
@media(max-width:560px){.pay__lbl{flex-basis:100%;text-align:center}}

/* ===== BARRA FIJA DE COTIZACIÓN (móvil) ===== */
.scta{position:fixed;left:0;right:0;bottom:0;z-index:186;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.12);transform:translateY(115%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
@media(max-width:760px){.scta{display:flex}}
.scta.show{transform:none}
.scta__call{width:50px;height:50px;flex-shrink:0;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:1.35rem;text-decoration:none}
.scta__main{flex:1;display:grid;place-items:center;background:var(--wa);color:#fff;border-radius:12px;font-weight:700;font-size:1.02rem;text-decoration:none}
body.scta-on .waf-wrap{bottom:88px}
body.scta-on .totop{bottom:88px}

/* ===== "VIENDO AHORA" EN TARJETAS ===== */
.card__live{position:absolute;bottom:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:rgba(28,26,23,.82);color:#fff;font-size:.7rem;font-weight:600;padding:5px 10px;border-radius:20px;backdrop-filter:blur(4px)}
.card__live i{width:7px;height:7px;border-radius:50%;background:#4ad504;box-shadow:0 0 0 0 rgba(74,213,4,.6);animation:livePulse 1.6s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(74,213,4,.5)}70%{box-shadow:0 0 0 7px rgba(74,213,4,0)}100%{box-shadow:0 0 0 0 rgba(74,213,4,0)}}

/* ===== RESUMEN DE CALIFICACIÓN + SELLO VERIFICADO ===== */
.rating-sum{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-bottom:26px;padding:18px 24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;max-width:560px;margin-left:auto;margin-right:auto}
.rating-sum__score{display:flex;align-items:center;gap:14px}
.rating-sum__score>b{font-size:2.6rem;font-weight:800;color:var(--ink);line-height:1}
.rating-sum__stars{color:#f5a623;font-size:1.1rem;letter-spacing:2px}
.rating-sum__score span{font-size:.78rem;color:var(--stone)}
.rating-sum__verified{display:inline-flex;align-items:center;gap:9px;font-size:.86rem;font-weight:700;color:var(--ink)}
.vseal{width:26px;height:26px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:800;box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:sealPulse 2.2s infinite}
@keyframes sealPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 9px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.card__live i,.vseal{animation:none}}

/* ===== TOUR GUIADO (primera visita) ===== */
.tour{position:fixed;inset:0;z-index:9996}
.tour__spot{position:absolute;border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.6);transition:top .35s,left .35s,width .35s,height .35s;pointer-events:none}
.tour__pop{position:absolute;width:280px;background:var(--surface);border-radius:14px;padding:16px 18px;box-shadow:0 22px 54px rgba(0,0,0,.35);transition:top .35s,left .35s}
.tour__pop b{display:block;font-size:1rem;color:var(--ink);margin-bottom:5px}
.tour__pop p{font-size:.84rem;color:var(--stone);line-height:1.5;margin-bottom:14px}
.tour__nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tour__skip{background:none;border:none;color:var(--stone);font-size:.8rem;cursor:pointer;padding:0}
.tour__next{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;font-size:.82rem;cursor:pointer}
.tour__next:hover{background:#965539}
.tour__dots{display:flex;gap:5px}
.tour__dots i{width:6px;height:6px;border-radius:50%;background:var(--line);display:inline-block}
.tour__dots i.on{background:var(--accent)}

/* ===== GALERÍA: overlay con "Quiero uno así" ===== */
.masonry__item{position:relative}
.masonry__ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,rgba(28,26,23,.05),rgba(28,26,23,.6));opacity:0;transition:opacity .3s;line-height:normal}
.masonry__item:hover .masonry__ov,.masonry__item:focus-visible .masonry__ov{opacity:1}
.masonry__zoom{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;font-size:1.3rem;transform:scale(.8);transition:transform .3s}
.masonry__item:hover .masonry__zoom{transform:scale(1)}
.masonry__cta{background:var(--wa);color:#fff;padding:9px 18px;border-radius:30px;font-weight:700;font-size:.82rem;cursor:pointer;transform:translateY(10px);transition:transform .3s,background .2s;box-shadow:0 8px 22px rgba(37,211,102,.4)}
.masonry__cta:hover{background:var(--wa-dark)}
.masonry__item:hover .masonry__cta{transform:translateY(0)}
@media(hover:none){.masonry__ov{opacity:1;background:linear-gradient(180deg,transparent 55%,rgba(28,26,23,.55))}.masonry__zoom{display:none}.masonry__cta{transform:none}}

/* imagen con respaldo (rota) */
.img-broken{object-fit:contain!important;background:#f1ece5}

/* botón copiar (ubicación) */
.loc__copy{background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.55;padding:0 2px;transition:.2s;vertical-align:middle}
.loc__copy:hover{opacity:1;transform:scale(1.15)}

/* ===== IMPRESIÓN ===== */
@media print{
  .waf-wrap,.ruleta-tab,.ruleta-modal,.sproof,.scta,.cookies,.pwa-install,.totop,.progress,.promobar,.mq,.hero__scroll,.search-ov,.tour,.hd__toggle,.offer__cd,.preload,.pgtrans{display:none!important}
  *{box-shadow:none!important;animation:none!important;text-shadow:none!important}
  html[data-theme="dark"]{--ink:#1c1a17;--paper:#fff;--surface:#fff;--cream:#f6f3ee;--stone:#555;--line:#ccc}
  body{background:#fff!important;color:#000!important}
  .hero--full{min-height:auto!important;padding:30px 0}
  .hero__bg,.aurora::before{display:none!important}
  .sec{padding:18px 0!important}
  a[href]::after{content:""}
  .btn{border:1px solid #999!important}
}

/* ===== AJUSTES DE FLOTANTES EN MÓVIL (anti-solapamiento) ===== */
/* La prueba social estorba en móvil/tablet: la ocultamos (es un extra de desktop) */
@media(max-width:760px){.sproof{display:none}}
/* El aviso de cookies sube por encima de la barra de cotización cuando ambas están */
body.scta-on .cookies{bottom:calc(74px + env(safe-area-inset-bottom))}
/* En pantallas muy chicas, la pestaña de ruleta más compacta para no tapar contenido */
@media(max-width:430px){.ruleta-tab{padding:12px 6px;font-size:.68rem}}

/* ===== HERO ESTILO XOUIS (2 columnas + tarjeta flotante) ===== */
.hero--xouis::before{background:linear-gradient(115deg,rgba(18,14,11,.9) 0%,rgba(18,14,11,.72) 48%,rgba(18,14,11,.55) 100%)}
.hero--xouis .hero__content{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:120px 32px 60px}
.hero--xouis .hero__left{max-width:580px}
.hero--xouis .hero__title{font-size:clamp(2.6rem,5.2vw,4.8rem);max-width:none;margin-bottom:18px}
.hero--xouis .hero__lead{max-width:480px}
.hero__visual{position:relative}
.hero__product{width:100%;aspect-ratio:1/1;border-radius:22px;background-size:cover;background-position:center;background-color:#ece7df;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.hero__hcard{position:absolute;left:-26px;bottom:30px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:16px;padding:10px 18px 10px 10px;box-shadow:0 20px 48px rgba(0,0,0,.35);animation:floatCard 5s ease-in-out infinite}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero__hcard-img{width:56px;height:56px;border-radius:12px;background-size:cover;background-position:center;background-color:#ece7df;flex-shrink:0}
.hero__hcard b{display:block;font-size:.84rem;color:#1c1a17;line-height:1.2}
.hero__hcard-rate{font-size:.8rem;color:var(--accent);font-weight:700;margin-top:2px}
.hero__hcard-rate span{color:#f5a623}
@media(prefers-reduced-motion:reduce){.hero__hcard{animation:none}}
@media(max-width:880px){
  .hero--xouis .hero__content{grid-template-columns:1fr;gap:30px;padding:110px 32px 50px}
  .hero__visual{max-width:420px}
  .hero__product{aspect-ratio:5/4}
}
@media(max-width:560px){.hero__visual{display:none}}

/* ===== SMART FEATURES estilo Xouis (foto central + cards flotando) ===== */
.smart__stage{position:relative;max-width:780px;margin:10px auto 0;padding:30px 0}
.smart__img{aspect-ratio:4/3.2;max-width:500px;margin:0 auto;border-radius:24px;background-size:cover;background-position:center;background-color:#ece7df;box-shadow:0 40px 90px rgba(0,0,0,.14)}
.smart__card{position:absolute;display:flex;gap:12px;align-items:flex-start;width:236px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 18px 44px rgba(0,0,0,.13);animation:floatCard 6s ease-in-out infinite}
.smart__card--a{top:24px;left:0}
.smart__card--b{top:24px;right:0;animation-delay:.6s}
.smart__card--c{bottom:46px;left:0;animation-delay:1.2s}
.smart__card--d{bottom:46px;right:0;animation-delay:1.8s}
.smart__ic{width:40px;height:40px;border-radius:11px;background:var(--surface-soft);display:grid;place-items:center;font-size:1.15rem;flex-shrink:0}
.smart__card b{display:block;font-size:.92rem;color:var(--ink);margin-bottom:3px}
.smart__card p{font-size:.78rem;color:var(--stone);line-height:1.45;margin:0}
@media(prefers-reduced-motion:reduce){.smart__card{animation:none}}
@media(max-width:820px){
  .smart__stage{display:flex;flex-direction:column;gap:16px;max-width:460px;padding:0}
  .smart__img{max-width:none;aspect-ratio:16/11}
  .smart__card{position:static;width:auto;animation:none}
}

/* ===== RESEÑAS formato Xouis (persona arriba + puntaje X/5.0) ===== */
.rev__card .rev__who{margin-top:0;margin-bottom:2px}
.rev__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.rev__foot .rev__stars{margin:0;font-size:.95rem}
.rev__score{font-size:.85rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}

/* ===== MISIÓN / VISIÓN estilo Xouis (bloques numerados) ===== */
.mvgrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center}
.mvgrid__visual{position:relative}
.mvgrid__img{aspect-ratio:4/5;border-radius:22px;background-size:cover;background-position:center;background-color:#ece7df;box-shadow:0 36px 80px rgba(0,0,0,.14)}
.mvgrid__social{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);display:flex;gap:10px}
.mvgrid__social a{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.1);transition:.2s}
.mvgrid__social a:hover{color:#fff;background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}
.mvgrid__intro{font-size:.98rem;color:var(--stone);line-height:1.7;margin:14px 0 26px;max-width:460px}
.mvitem{display:flex;gap:20px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line)}
.mvitem__n{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--accent);flex-shrink:0;line-height:1}
.mvitem h3{font-size:1.2rem;margin-bottom:6px;color:var(--ink)}
.mvitem p{font-size:.9rem;color:var(--stone);line-height:1.6;margin:0}
.mvgrid__tag{margin-top:22px;display:inline-block;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--ink)}
@media(max-width:820px){.mvgrid{grid-template-columns:1fr;gap:48px}.mvgrid__img{max-width:420px;margin:0 auto;aspect-ratio:5/4}}

/* ===== BANNER ESTILO SOFA (claro, sans bold, palabra resaltada) ===== */
.sofa{background:var(--paper);padding:64px 0}
.sofa__in{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.sofa__title{font-family:var(--sans);font-weight:800;font-size:clamp(2.3rem,4.8vw,3.9rem);line-height:1.06;letter-spacing:-.025em;color:var(--ink)}
.sofa__title span{color:var(--accent)}
.sofa__sub{font-size:1.05rem;color:var(--stone);line-height:1.6;margin:18px 0 28px;max-width:430px}
.sofa__btn{background:var(--accent);color:#fff;padding:15px 28px;border-radius:11px;font-weight:700;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(176,103,76,.3)}
.sofa__btn:hover{background:#965539;transform:translateY(-2px)}
.sofa__btn span{transition:transform .2s}
.sofa__btn:hover span{transform:translateX(4px)}
.sofa__img{aspect-ratio:1/1;border-radius:22px;background-size:cover;background-position:center;background-color:#f2efe9;box-shadow:0 30px 70px rgba(0,0,0,.1)}
@media(max-width:820px){.sofa__in{grid-template-columns:1fr;gap:28px}.sofa__img{max-width:420px;aspect-ratio:5/4}}

/* ===== FICHA TÉCNICA / MEDIDAS (producto con dimensiones) ===== */
.dimfig{position:relative;max-width:620px;margin:36px auto 0}
.dimfig__img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;background:#f2efe9;display:block}
.dimfig__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dimtxt{font-family:var(--sans);font-weight:700;font-size:15px;fill:var(--ink)}
.dimnote{text-align:center;max-width:520px;margin:22px auto 0;font-size:.9rem;color:var(--stone);line-height:1.6}
.dimnote b{color:var(--accent)}
[data-theme="dark"] .dimfig__svg rect{fill:#201c18;opacity:.92}
[data-theme="dark"] .dimtxt{fill:#ece7df}

/* ===== COMPARATIVA a medida vs tienda ===== */
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;max-width:880px;margin:0 auto}
.vs__col{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 26px}
.vs__col--win{border-color:var(--accent);box-shadow:0 24px 54px rgba(176,103,76,.18)}
.vs__head{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.vs__badge{align-self:flex-start;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 12px;border-radius:20px}
.vs__head h3{font-size:1.25rem;color:var(--ink)}
.vs__col--lose .vs__head h3{color:var(--stone)}
.vs__list{display:flex;flex-direction:column;gap:13px}
.vs__list li{display:flex;gap:11px;align-items:flex-start;font-size:.92rem;line-height:1.4;color:var(--ink)}
.vs__col--lose .vs__list li{color:var(--stone)}
.vs__yes,.vs__no{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.vs__yes{background:rgba(37,211,102,.15);color:var(--wa-dark)}
.vs__no{background:rgba(0,0,0,.06);color:#c0392b}
.vs__or{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:italic;font-family:var(--serif);font-size:1rem;flex-shrink:0}
@media(max-width:760px){.vs{grid-template-columns:1fr;gap:14px}.vs__or{margin:0 auto}}

/* ===== CHIPS DE CATEGORÍAS POPULARES ===== */
.catchips{padding:18px 0;border-bottom:1px solid var(--line)}
.catchips__in{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.catchips__in::-webkit-scrollbar{display:none}
.catchips__lbl{font-size:.8rem;font-weight:700;color:var(--stone);flex-shrink:0}
.catchips__in a{flex-shrink:0;font-size:.84rem;font-weight:600;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);padding:8px 15px;border-radius:30px;transition:.2s;white-space:nowrap}
.catchips__in a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.catchips__all{background:transparent!important;border-color:var(--accent)!important;color:var(--accent)!important}
.catchips__all:hover{background:var(--accent)!important;color:#fff!important}

/* ===== NAVEGACIÓN AL FINAL DE ARTÍCULOS DEL BLOG ===== */
.article__nav{margin-top:50px;padding-top:26px;border-top:1px solid var(--line)}
.article__back{display:inline-block;font-weight:600;color:var(--accent);margin-bottom:20px}
.article__back:hover{text-decoration:underline}
.article__rel{display:flex;flex-direction:column;gap:10px}
.article__rel>span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--stone);font-weight:700}
.article__rel a{color:var(--ink);font-weight:600;font-size:1.05rem;transition:.2s}
.article__rel a:hover{color:var(--accent);padding-left:4px}

/* ===== REFINAMIENTO: interactivo + minimalista ===== */
/* Subrayado animado en el menú (detalle minimalista) */
.hd__nav>a:not(.hd__fav):not(.hd__wa){position:relative}
.hd__nav>a:not(.hd__fav):not(.hd__wa)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.16,1,.3,1)}
.hd__nav>a:not(.hd__fav):not(.hd__wa):hover::after{transform:scaleX(1)}
/* Micro-presión al pulsar botones */
.btn{transition:background .2s,color .2s,transform .15s,box-shadow .25s}
.btn:active{transform:scale(.97)}
/* Transición suave de color en enlaces */
a{transition:color .2s ease}
/* Foco más suave y consistente */
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.hd__nav>a::after{transition:none}}

/* garantiza que [hidden] oculte (secciones desactivadas por minimalismo) */
[hidden]{display:none!important}

/* ===== MINIMALISMO: más aire entre secciones ===== */
.sec{padding:96px 0}
.sec__head{margin-bottom:52px}
@media(max-width:720px){.sec{padding:60px 0}.sec__head{margin-bottom:38px}}

/* ===== MINIMALISMO: sombras suaves + crema plano ===== */
.card,.combo,.rev__card,.smart__card,.bento__tile,.fin,.loc__info,.vs__col,.guarantee,.tool,.dcard,.svc__item,.blogcard{box-shadow:0 6px 24px rgba(0,0,0,.05)}
.card:hover,.combo:hover,.svc__item:hover{box-shadow:0 16px 36px rgba(0,0,0,.09)}
.combo--pop{box-shadow:0 16px 40px rgba(176,103,76,.15)}
.sec--cream{background-image:none;background-color:var(--cream)}

/* ===== AJUSTES MÓVIL: más aire en productos + menos flotantes ===== */
@media(max-width:480px){
  .deroa{grid-template-columns:1fr 1fr;gap:12px}
  /* tarjetas con specs más compactas en 2 columnas */
  .dcard__body{padding:14px 12px}
  .dcard__spec{font-size:.74rem}
  .dcard__name{font-size:.98rem}
}
/* Pestaña de ruleta oculta en celular (menos intrusiva) */
@media(max-width:560px){.ruleta-tab{display:none}}

/* ===== FIX MENÚ: hamburguesa limpio hasta 900px (evita el desktop-nav apretado en móviles grandes/tablets) ===== */
@media(max-width:900px){
  .hd__toggle{display:flex}
  .hd__nav{position:fixed;top:84px;right:0;width:80%;max-width:330px;height:calc(100vh - 84px);background:var(--surface);
    flex-direction:column;align-items:flex-start;gap:0;padding:24px;border-left:1px solid var(--line);
    transform:translateX(100%);transition:.3s;overflow-y:auto}
  .hd__nav.open{transform:translateX(0)}
  .hd__nav a,.hd.over .hd__nav a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  .hd__nav a::after{display:none}
  .hd__drop{width:100%}
  .hd__dropbtn{width:100%;padding:16px 0;border-bottom:1px solid var(--line);justify-content:space-between}
  .hd.over .hd__dropbtn{color:var(--ink)}
  .hd__menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;background:none;padding:4px 0 8px 14px;min-width:0}
  .hd__menu a{padding:13px 0;border-bottom:1px solid var(--line)}
}

/* FIX submenú móvil: anula el translateX(-50%) de escritorio cuando "Herramientas" está abierto (mismo nivel de especificidad) */
@media(max-width:900px){
  .hd__drop.open .hd__menu,.hd__drop:hover .hd__menu,.hd__drop:focus-within .hd__menu{transform:none}
}

/* ============================================================
   ✨ EFECTOS PREMIUM (estilos alucinantes)
   ============================================================ */
/* Brillo que barre los botones al pasar el mouse */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-22deg);pointer-events:none}
.btn:hover::after{animation:btnShine .85s ease}
@keyframes btnShine{from{left:-80%}to{left:135%}}

/* Borde con gradiente animado en el pack "Más pedido" (máscara: solo el aro de 2px, no tapa la tarjeta) */
@property --angBorder{syntax:"<angle>";initial-value:0deg;inherits:false}
.combo--pop{position:relative}
.combo--pop::before{content:"";position:absolute;inset:0;border-radius:18px;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--angBorder),var(--accent),#f5a623,var(--wa),#cf8763,var(--accent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:spinBorder 5s linear infinite}
@keyframes spinBorder{to{--angBorder:360deg}}

/* Sello "Empresa verificada" con anillo de gradiente */
.vseal{background:conic-gradient(from 0deg,var(--wa),#7be3a3,var(--wa))!important}

/* Header glassmorphism (vidrio esmerilado) */
.hd{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}

/* Transición suave (cross-fade) al cambiar de tema con View Transitions */
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}

/* Imágenes destacadas: zoom suave + brillo al pasar el mouse (desktop) */
@media(hover:hover){
  .smart__img,.hero__product,.mvgrid__img{transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .4s}
  .smart__img:hover,.mvgrid__img:hover{transform:scale(1.02)}
}
@media(prefers-reduced-motion:reduce){.btn:hover::after,.combo--pop::before,.vseal{animation:none}}

/* ✨ Blur-in: los elementos aparecen desenfocados y se aclaran al entrar */
.reveal{filter:blur(7px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}
/* Al terminar de aparecer, soltamos la capa GPU (filter:none + will-change:auto) para no consumir memoria */
.reveal.in{filter:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.reveal{filter:none!important}}

/* ✨ Blobs de gradiente flotantes detrás de las reseñas */
#resenas{position:relative;overflow:hidden}
#resenas>.wrap{position:relative;z-index:1}
#resenas::before,#resenas::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(22px)}
#resenas::before{top:-8%;left:-4%;width:300px;height:300px;background:radial-gradient(circle,rgba(176,103,76,.14),transparent 70%);animation:blobA 15s ease-in-out infinite}
#resenas::after{bottom:-8%;right:-4%;width:340px;height:340px;background:radial-gradient(circle,rgba(245,166,35,.12),transparent 70%);animation:blobB 19s ease-in-out infinite}
@keyframes blobA{0%,100%{transform:translate(0,0)}50%{transform:translate(45px,32px)}}
@keyframes blobB{0%,100%{transform:translate(0,0)}50%{transform:translate(-42px,-28px)}}
@media(prefers-reduced-motion:reduce){#resenas::before,#resenas::after{animation:none}}

/* ✨ Estela luminosa que sigue el cursor */
.cursorglow{position:fixed;top:0;left:0;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;pointer-events:none;z-index:90;opacity:0;transition:opacity .4s ease;
  background:radial-gradient(circle,rgba(176,103,76,.10),rgba(176,103,76,.04) 40%,transparent 65%);will-change:transform}
[data-theme="dark"] .cursorglow{background:radial-gradient(circle,rgba(207,135,99,.14),rgba(207,135,99,.05) 40%,transparent 65%)}

/* Móvil: aviso de cookies ARRIBA (bajo el header) para no amontonar los botones del fondo */
@media(max-width:760px){
  /* aviso de cookies slim y discreto (menos molesto) en móvil */
  .cookies{top:90px!important;bottom:auto!important;left:10px;right:10px;padding:9px 12px;gap:10px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
  .cookies p{font-size:.74rem;line-height:1.3}
  .cookies__ok{padding:7px 14px;font-size:.78rem;border-radius:8px}
}

/* ===== RENDIMIENTO MÓVIL: apagar efectos pesados que saturan el GPU en celular ===== */
@media (max-width:760px), (hover:none){
  /* el blur en 100 elementos al hacer scroll ahogaba el celular → solo opacidad+desplazamiento */
  .reveal{filter:none!important}
  /* blobs de gradiente animados (filtros blur) fuera en móvil */
  #resenas::before,#resenas::after{display:none!important}
  /* borde gradiente giratorio del combo: estático en móvil (menos GPU) */
  .combo--pop::before{animation:none!important}
  /* tarjetas smart sin float perpetuo en móvil */
  .smart__card{animation:none!important}
}

/* ===== FIX desborde horizontal: el menú off-canvas (fixed + translateX) generaba scroll lateral al bajar en móvil ===== */
html,body{overflow-x:clip}

/* ===== LOGO ===== */
/* Logo a todo color (casa dorada + banner verde): se muestra tal cual en todos los fondos, sin filtros. */

/* Catálogo: entrada escalonada de tarjetas al filtrar/buscar (micro-interacción) */
@keyframes catIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.card--in{animation:catIn .45s both}}

/* ===== Ficha de producto: descripción, lightbox y barra fija ===== */
.pdp__descsec{max-width:860px}
.pdp__desc{color:var(--stone);line-height:1.75;font-size:.97rem}
.pdp__desc p{margin:0 0 12px}
.pdp__desc.clamp{max-height:9.5em;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.pdp__descmore{margin-top:10px;background:none;border:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:6px 0}
.pdp__img{cursor:zoom-in}
.pdplb{position:fixed;inset:0;z-index:9999;background:rgba(20,17,15,.92);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;transition:opacity .3s}
.pdplb.on{opacity:1;visibility:visible}
.pdplb img{max-width:96vw;max-height:92vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);touch-action:pinch-zoom}
.pdplb__x{position:absolute;top:18px;right:20px;background:rgba(255,255,255,.15);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.4rem;cursor:pointer}
.pdpcta{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px;display:none;gap:10px;box-shadow:0 -8px 28px rgba(0,0,0,.1)}
.pdpcta a{flex:1;justify-content:center}
@media(max-width:760px){.pdpcta{display:flex}body.pdp-cta-on{padding-bottom:74px}}

/* ============ "NUESTROS PRODUCTOS" (deroa) — rediseño tipo ficha premium ============ */
#productos{position:relative;overflow:hidden}
#productos::before{content:"";position:absolute;top:-120px;right:-120px;width:420px;height:420px;border-radius:50%;border:1.5px solid rgba(176,103,76,.12);pointer-events:none}
#productos::after{content:"";position:absolute;bottom:40px;left:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(176,103,76,.06),transparent 70%);pointer-events:none}
#productos .wrap{position:relative;z-index:1}
.dpill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:30px;box-shadow:0 6px 18px rgba(0,0,0,.05);margin-bottom:14px}

/* Barras de features (arriba 4 / abajo 3) */
.dfeatures{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:6px 0 30px;box-shadow:0 10px 34px rgba(0,0,0,.04)}
.dfeat{display:flex;align-items:center;gap:12px;min-width:0}
.dfeat__ic{width:42px;height:42px;border-radius:12px;background:#f6ede6;display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}
.dfeat__ic svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none}
.dfeat b{display:block;font-size:.9rem;color:var(--ink)}
.dfeat span{font-size:.78rem;color:var(--stone)}
.dfeatures--btm{grid-template-columns:repeat(3,1fr);background:transparent;border:none;box-shadow:none;border-top:1px solid var(--line);border-radius:0;padding:26px 10px 0;margin:34px 0 0}

/* Tarjeta */
.deroa{grid-template-columns:repeat(4,1fr);gap:22px}
.dcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:visible;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.dcard__img{position:relative;aspect-ratio:1/1.04;border-radius:20px 20px 0 0;background:var(--cream);overflow:hidden}
.dcard__badge{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;background:rgba(28,26,23,.85);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 11px;border-radius:30px;backdrop-filter:blur(4px)}
.dcard__badge svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}
.dcard__fav{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:#c9c2ba;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.12);transition:.2s}
.dcard__fav:hover{color:var(--accent)}
.dcard__fav.on{color:#e0556b}
.dcard__detail{position:absolute;right:14px;bottom:-2px;z-index:3;width:78px;height:78px;border-radius:50%;border:4px solid #fff;background-size:230%;background-position:center;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.dcard__star{position:absolute;top:-13px;left:50%;transform:translateX(-50%);z-index:4;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 16px;border-radius:30px;white-space:nowrap;box-shadow:0 8px 20px rgba(176,103,76,.4)}
.dcard--pop{border-color:var(--accent);box-shadow:0 18px 44px rgba(176,103,76,.18)}
.dcard__body{padding:18px 20px 20px}
.dcard__tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}
.dcard__body h3{font-family:var(--serif);font-size:1.22rem;margin:6px 0 14px;line-height:1.2}
.dcard__specs{list-style:none;margin:0 0 16px;padding:0}
.dcard__specs li{display:flex;align-items:center;gap:9px;font-size:.84rem;color:#7a756d;padding:8px 0;border-bottom:1px solid var(--line)}
.dcard__specs li:last-child{border-bottom:none}
.dspec__ic{width:16px;height:16px;stroke:var(--accent);stroke-width:1.7;fill:none;flex:none}
.dcard__specs li b{margin-left:auto;color:var(--ink);font-weight:700}
.dcard__cta{width:100%;justify-content:center;font-size:.86rem;padding:12px;border-radius:11px}
.dcard__warranty{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:.78rem;color:var(--accent);font-weight:600}
@media(max-width:980px){.dfeatures{grid-template-columns:1fr 1fr;gap:16px}.dfeatures--btm{grid-template-columns:1fr}}
@media(max-width:760px){.dcard__detail{width:60px;height:60px}.dcard__body{padding:14px 14px 16px}.dcard__body h3{font-size:1.06rem}}

/* ============ STORY / EXPERIENCIA — carrusel de ambientes (rediseño) ============ */
.story{height:auto!important;padding:70px 0;background:var(--cream);position:relative;overflow:hidden}
.story::after{content:"";position:absolute;top:-110px;right:-110px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(176,103,76,.06),transparent 70%);pointer-events:none}
.story .wrap{position:relative;z-index:1}
.storyx{display:grid;grid-template-columns:1.08fr 1fr;gap:46px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 24px 64px rgba(0,0,0,.07)}
.storyx__media{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1/.9;min-height:400px}
.storyx__badge{position:absolute;top:18px;left:18px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;border-radius:30px;box-shadow:0 10px 24px rgba(176,103,76,.4)}
.storyx__badge svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}
.storyx__dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px}
.storyx__dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.55);cursor:pointer;padding:0;transition:.25s}
.storyx__dots button.on{background:#fff;width:28px;border-radius:5px}
.storyx__text{transition:opacity .35s ease}
.storyx__count{font-family:var(--serif);font-size:2.7rem;color:var(--accent);font-weight:600;line-height:1}
.storyx__count i{font-style:normal;font-size:1.25rem;color:#b3a89e}
.storyx__kick{display:inline-flex;align-items:center;gap:10px;margin:16px 0 8px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.storyx__kick::before{content:"";width:28px;height:1.5px;background:var(--accent)}
.storyx__title{font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,3.1rem);line-height:1.04;margin:0}
.storyx__div{display:flex;align-items:center;gap:12px;color:var(--accent);margin:16px 0}
.storyx__div span{height:1.5px;width:44px;background:var(--accent);opacity:.45}
.storyx__desc{color:#6f6a62;font-size:1.06rem;line-height:1.6;max-width:430px;margin:0}
.storyx__feats{list-style:none;margin:24px 0;padding:0;display:grid;gap:16px}
.storyx__feats li{display:flex;align-items:center;gap:14px}
.storyx__fic{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}
.storyx__fic svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none}
.storyx__feats b{display:block;font-size:.98rem;color:var(--ink)}
.storyx__feats em{font-style:normal;font-size:.85rem;color:var(--stone)}
.storyx__cta{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,#c5825a,#a85f3c);color:#fff;font-weight:700;font-size:1rem;padding:16px 34px;border-radius:14px;box-shadow:0 16px 34px rgba(176,103,76,.35);transition:.2s}
.storyx__cta:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(176,103,76,.45)}
.storyx__advice{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:.9rem;margin-top:16px;font-weight:500}
.storyx__advice svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none}
.storyx__bar{margin-top:26px}
@media(max-width:900px){.storyx{grid-template-columns:1fr;gap:22px;padding:14px}.storyx__media{aspect-ratio:4/3;min-height:0}.storyx__title{font-size:1.9rem}}

/* ============ HERO PREMIUM — glassmorphism (rediseño) ============ */
.hero--xouis .hero__content{padding-bottom:150px}
.hero__hl{color:#e8a87c;font-weight:600}
.hero__feats{display:flex;gap:30px;margin:30px 0 32px}
.hfeat{text-align:center}
.hfeat__ic{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.32);display:flex;align-items:center;justify-content:center;color:#f0c9b4;margin:0 auto 10px;transition:.25s}
.hfeat:hover .hfeat__ic{border-color:var(--accent);background:rgba(176,103,76,.2)}
.hfeat__ic svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none}
.hfeat b{color:#fff;font-size:.82rem;font-weight:600;line-height:1.3}
.hero__cta{background:linear-gradient(135deg,#c5825a,#a85f3c)!important;color:#fff!important;border:none!important;border-radius:14px;box-shadow:0 16px 34px rgba(176,103,76,.4)}
.hero__cta:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(176,103,76,.5)}

/* Card flotante de cristal */
.hglass{position:relative;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.18);box-shadow:0 44px 100px rgba(0,0,0,.55)}
.hglass__img{aspect-ratio:1/.78;background-size:cover;background-position:center;background-color:#2a2420;position:relative;transition:background-image .6s ease}
.hglass__rate{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;align-items:flex-end;background:rgba(20,16,13,.72);backdrop-filter:blur(6px);border-radius:14px;padding:9px 14px}
.hglass__rate b{color:#f5b463;font-size:1.15rem;line-height:1}
.hglass__rate small{font-size:.64rem;color:rgba(255,255,255,.8);margin-top:3px}
.hglass__foot{padding:18px 20px;color:#fff;background:linear-gradient(rgba(20,16,13,.2),rgba(20,16,13,.5))}
.hglass__cap b{display:block;font-size:1.02rem}
.hglass__cap span{color:rgba(255,255,255,.72);font-size:.86rem}
.hglass__proj{display:flex;align-items:center;gap:14px;margin-top:14px}
.hglass__people{display:flex;align-items:center;flex:none}
.hav{width:34px;height:34px;border-radius:50%;border:2px solid rgba(28,22,18,.85);margin-left:-11px;background:linear-gradient(135deg,#caa07f,#7a4e35)}
.hav:first-child{margin-left:0}
.hav:nth-child(2){background:linear-gradient(135deg,#b98c6a,#6a4029)}
.hav:nth-child(3){background:linear-gradient(135deg,#d8b394,#8f5e3e)}
.hglass__people i{margin-left:8px;font-style:normal;font-weight:700;font-size:.82rem;color:#f0c9b4}
.hglass__pt{flex:1;min-width:0}
.hglass__pt b{display:block;font-size:.86rem}
.hglass__pt span{font-size:.74rem;color:rgba(255,255,255,.7)}
.hglass__btn{background:#fff;color:var(--ink);border-radius:30px;padding:10px 18px;font-weight:600;font-size:.82rem;white-space:nowrap;flex:none}
.hglass__btn:hover{background:#f0c9b4}
.hglass__dots{display:flex;gap:8px;justify-content:center;margin-top:18px}
.hglass__dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.25s}
.hglass__dots button.on{background:var(--accent);width:26px;border-radius:4px}

/* Barra inferior de cristal */
.hero__bar{position:absolute;left:32px;right:32px;bottom:24px;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:rgba(22,17,14,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:20px 28px}
.hbar{display:flex;align-items:center;gap:14px;color:#fff;min-width:0}
.hbar__ic{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:#e8a87c;flex:none}
.hbar__ic svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;fill:none}
.hbar b{display:block;font-size:.9rem}
.hbar span{font-size:.75rem;color:rgba(255,255,255,.62)}

@media(max-width:1100px){.hero__bar{position:static;left:auto;right:auto;bottom:auto;margin:30px 32px 0;grid-template-columns:1fr 1fr}.hero--xouis .hero__content{padding-bottom:40px}}
@media(max-width:760px){.hero__bar{display:none}.hero__feats{gap:20px}.hfeat__ic{width:48px;height:48px}}

/* Botón "Cotiza tu proyecto" del menú */
.hd__quote{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--accent);color:var(--accent);background:#fff;border-radius:30px;padding:9px 17px;font-weight:600;font-size:.84rem;white-space:nowrap;margin-left:6px;transition:.2s}
.hd__quote:hover{background:var(--accent);color:#fff}
.hd.over .hd__quote{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hd.over .hd__quote:hover{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:900px){.hd__quote{display:none}}

/* Etiqueta "Ejemplo" en las reseñas de muestra (desaparece al cargar reseñas reales desde el panel) */
.rev__card{position:relative}
.rev__demo{position:absolute;top:10px;right:10px;background:var(--cream);color:var(--stone);border:1px solid var(--line);
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:99px;opacity:.85}

/* Respuestas del FAQ con lista (ej. zonas de entrega) — mismo look que las de párrafo */
.faq__a ul{padding:0 0 24px 20px;margin:0;color:var(--stone);list-style:disc}
.faq__a ul li{margin:0 0 8px;line-height:1.6}
.faq__a ul li:last-child{margin-bottom:0}

/* Ubicación sin mapa: la tarjeta de contacto va sola y centrada */
.loc--solo{grid-template-columns:1fr;max-width:560px;margin:0 auto}

/* ===== Cobertura / contacto (bento premium) ===== */
.locx{max-width:1000px;margin:0 auto}
.locx__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:16px}
.locx__card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  box-shadow:0 14px 34px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
.locx__card::after{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),#d9a184);opacity:0;transition:opacity .3s ease}
.locx__card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.09);border-color:#dcd3c6}
.locx__card:hover::after{opacity:1}
.locx__ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:14px;
  background:linear-gradient(140deg,rgba(176,103,76,.13),rgba(176,103,76,.05));color:var(--accent)}
.locx__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.locx__card b{display:block;font-size:1.02rem;color:var(--ink);margin-bottom:5px}
.locx__card p{color:var(--stone);line-height:1.65;margin:0}
.locx__card p strong{color:var(--ink);font-weight:600}
.locx__pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.locx__pill{font-size:.74rem;font-weight:600;padding:6px 12px;border-radius:99px;background:var(--cream);color:var(--stone);border:1px solid var(--line)}
.locx__pill--free{background:rgba(176,103,76,.1);color:var(--accent);border-color:rgba(176,103,76,.25)}
.locx__pill--more{background:transparent;border-style:dashed}
.locx__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
@media(max-width:900px){
  .locx__grid{grid-template-columns:1fr 1fr}
  .locx__card--wide{grid-column:1/-1}
}
@media(max-width:560px){
  .locx__grid{grid-template-columns:1fr;gap:12px}
  .locx__card{padding:22px 20px}
  .locx__cta .btn{width:100%;justify-content:center}
}
