/* =========================================================
   VARIABLES
   ========================================================= */
:root{
  --cream:#F5F0E8; --cream2:#EDE8DE;
  --ink:#1C1810; --ink2:#252018; --ink3:#2E2820;
  --white:#FFFFFF;
  --silver:#6B5C48; --silver2:#9A8878;
  --border:#DDD5C8;
  --gold:#8B6E3C; --gold-lt:#C4A054;
  --serif:'Playfair Display',serif;
  --sans:'Inter',sans-serif;
  --mono:'DM Mono',monospace;
  --ease:cubic-bezier(.4,0,.2,1);
  --slow:cubic-bezier(.16,1,.3,1);
}

/* =========================================================
   BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:17px}
body{font-family:var(--sans);background:var(--white);color:var(--ink);overflow-x:hidden;line-height:1.7}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--white)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}

/* =========================================================
   NAVBAR
   ========================================================= */
.adl-nav{background:#FFFFFF;border-bottom:1.5px solid #E0D8CE;position:sticky;top:0;z-index:1050;transition:box-shadow .3s;padding:0}
.adl-nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.09)}
.adl-nav .navbar-brand{font-family:var(--serif);font-size:1.05rem;color:var(--ink);letter-spacing:.04em;padding:18px 0}
.adl-nav .navbar-brand em{font-style:italic;color:var(--silver)}
.adl-nav .navbar-brand:hover{color:var(--ink)}
.adl-nav .nav-link{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);padding:18px 10px!important;transition:color .3s;position:relative}
.adl-nav .nav-link::after{content:'';position:absolute;bottom:12px;left:10px;width:0;height:1px;background:var(--gold);transition:width .3s}
.adl-nav .nav-link:hover{color:var(--ink)}
.adl-nav .nav-link:hover::after{width:calc(100% - 20px)}
.adl-nav .nav-cta{border:1.5px solid var(--border)!important;border-radius:2px;padding:8px 18px!important;transition:all .3s!important;color:var(--ink)!important;margin-left:6px}
.adl-nav .nav-cta:hover{background:var(--ink)!important;color:#F3EDE3!important;border-color:var(--ink)!important}
.adl-nav .nav-cta::after{display:none!important}
.adl-nav .navbar-toggler{border:none;padding:4px 8px}
.adl-nav .navbar-toggler:focus{box-shadow:none}
.adl-nav .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231C1810' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}

/* =========================================================
   HERO CAROUSEL
   ========================================================= */
.adl-hero{position:relative;overflow:hidden}
.adl-hero .carousel-item{
  height:65vh;
  min-height:350px;
  background:no-repeat center center scroll;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
}
.slide-1{background-color:#1C1810}
.slide-2{background-color:#1a1612}
.slide-3{background-color:#252018}
.adl-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:60px 80px 60px;
  background:linear-gradient(to top,rgba(0,0,0,.72),transparent);
  text-align:left;
  width:100%;max-width:100%;
}
.slide-eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.slide-dot{width:5px;height:5px;border-radius:50%;background:var(--gold-lt);display:inline-block;flex-shrink:0;animation:sdot 2s ease-in-out infinite}
@keyframes sdot{0%,100%{opacity:1}50%{opacity:.15}}
.adl-caption h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.8rem);font-weight:400;color:#FFFFFF;line-height:1.1;margin-bottom:12px}
.adl-caption h2 em{font-style:italic;color:var(--gold-lt)}
.adl-caption p{font-size:.95rem;color:rgba(255,255,255,.78);max-width:520px;line-height:1.8;margin-bottom:28px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-hp{display:inline-block;background:#F3EDE3;color:#1C1810;padding:12px 32px;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:all .3s}
.btn-hp:hover{opacity:.88;transform:translateY(-2px);color:#1C1810}
.btn-hs{display:inline-block;border:1.5px solid rgba(255,255,255,.3);color:rgba(255,255,255,.82);padding:12px 32px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:all .3s}
.btn-hs:hover{border-color:#fff;color:#fff;transform:translateY(-2px)}
.adl-hero .carousel-indicators [data-bs-target]{width:24px;height:2px;border-radius:0;background:rgba(255,255,255,.4);border:none;opacity:1;transition:background .3s,width .3s}
.adl-hero .carousel-indicators .active{background:var(--gold-lt);width:40px}
.adl-hero .carousel-control-prev,.adl-hero .carousel-control-next{width:52px;opacity:1}
.ctrl-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#fff;transition:all .3s}
.adl-hero .carousel-control-prev:hover .ctrl-icon,.adl-hero .carousel-control-next:hover .ctrl-icon{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
.hero-scroll-ind{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3}
.hero-scroll-ind span{font-family:var(--mono);font-size:.58rem;letter-spacing:.28em;color:rgba(255,255,255,.35);text-transform:uppercase}
.hero-scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.25),transparent)}

/* =========================================================
   UTILIDADES
   ========================================================= */
.sw{max-width:1300px;margin:0 auto;padding:0 48px}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.26em;color:var(--silver2);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.section-h{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.2rem);font-weight:400;line-height:1.1;color:var(--ink);margin-bottom:52px}
.section-h em{font-style:italic;color:var(--silver)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s var(--slow),transform .8s var(--slow)}
.reveal.in{opacity:1;transform:translateY(0)}
.rl{opacity:0;transform:translateX(-36px);transition:opacity .8s var(--slow),transform .8s var(--slow)}
.rl.in{opacity:1;transform:translateX(0)}
.rr{opacity:0;transform:translateX(36px);transition:opacity .8s var(--slow),transform .8s var(--slow)}
.rr.in{opacity:1;transform:translateX(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* =========================================================
   CATÁLOGO
   ========================================================= */
#catalogo{padding:72px 0 100px;background:var(--cream)}
.cat-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:32px}
.cat-title{font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--ink)}
.cat-title em{font-style:italic;color:var(--silver)}
.cat-count{font-size:.82rem;color:var(--silver)}
.filters-bar{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);margin-bottom:40px}
.filter-btn{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--silver);padding:8px 18px;border-radius:100px;cursor:pointer;transition:all .3s}
.filter-btn:hover{border-color:var(--silver);color:var(--ink)}
.filter-btn.active{background:var(--ink);color:#FFFFFF;border-color:var(--ink)}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.product-card{cursor:pointer;position:relative;transition:transform .3s var(--ease);animation:cardIn .4s var(--ease) both}
.product-card:hover{transform:translateY(-4px)}
@keyframes cardIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.card-img-wrap{position:relative;width:100%;padding-bottom:100%;border-radius:16px;overflow:hidden;z-index:1}
.card-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;transition:transform .5s var(--ease)}
.product-card:hover .card-bg-img{transform:scale(1.04)}
.card-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:16px}
.card-ph-icon{font-size:2.2rem;opacity:.3;color:#fff}
.card-ph-text{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.card-shadow-wrap{position:absolute;width:88%;left:50%;transform:translateX(-50%);bottom:-14px;z-index:0;border-radius:16px;overflow:hidden;filter:blur(16px);opacity:.65;height:100%}
.card-shadow-img{width:100%;height:100%;object-fit:cover;margin-top:24px}
.card-overlay{position:absolute;inset:0;background:rgba(28,24,16,.4);border-radius:16px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;z-index:2}
.product-card:hover .card-overlay{opacity:1}
.card-overlay-btn{background:#fff;color:var(--ink);border:none;padding:10px 22px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:100px;cursor:pointer}
.card-info{padding:14px 4px 0;background:transparent}
.card-cat-badge{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#6B4E1C;font-weight:700;margin-bottom:6px;display:block}
.card-name{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:#1C1810;line-height:1.3;margin-bottom:4px}
.card-detalle{font-size:.8rem;color:#4A3F32}
.empty-state{grid-column:1/-1;text-align:center;padding:80px 20px}
.empty-state p{font-family:var(--serif);font-size:1.3rem;color:var(--silver);font-style:italic}

/* =========================================================
   PROCESO
   ========================================================= */
#proceso{padding:120px 0;background:var(--cream2)}
.proceso-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border)}
.proceso-item{background:var(--cream2);padding:44px 32px;position:relative;overflow:hidden;transition:background .4s}
.proceso-item::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gold);transition:width .5s var(--ease)}
.proceso-item:hover{background:var(--cream)}
.proceso-item:hover::after{width:100%}
.proceso-n{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;color:var(--silver2);margin-bottom:24px;display:block}
.proceso-icon-wrap{width:44px;height:44px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:border-color .3s}
.proceso-item:hover .proceso-icon-wrap{border-color:var(--gold)}
.proceso-icon{font-size:1.2rem}
.proceso-h{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--ink);margin-bottom:10px}
.proceso-p{font-size:.92rem;color:var(--silver);line-height:1.8}

/* =========================================================
   SERVICIOS
   ========================================================= */
#servicios{padding:120px 0;background:var(--white);position:relative;overflow:hidden}
#servicios::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px);background-size:28px 28px;z-index:0}
.servicios-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;z-index:1}
.servicio-card{background:var(--cream);border:1.5px solid var(--border);border-radius:4px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.servicio-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.1)}
.servicio-img{width:100%;height:240px;background:var(--ink3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}
.servicio-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.servicio-card:hover .servicio-img img{transform:scale(1.06)}
.img-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1}
.img-ph-icon{font-size:2rem;opacity:.28;color:rgba(255,255,255,.6)}
.img-ph-text{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.servicio-body{padding:32px}
.servicio-tag{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;display:block}
.servicio-h{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:10px}
.servicio-p{font-size:.92rem;color:var(--silver);line-height:1.8;margin-bottom:18px}
.servicio-meta{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border)}
.servicio-time{font-size:.82rem;color:var(--silver)}
.servicio-time strong{color:var(--ink)}
.servicio-badge{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;border:1px solid var(--border);color:var(--silver);padding:4px 10px;border-radius:100px}

/* =========================================================
   GALERÍA
   ========================================================= */
#galeria{padding:120px 0;background:#EDE8DE;overflow:hidden}
.galeria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.galeria-masonry{columns:3;gap:16px}
.gal-item{break-inside:avoid;margin-bottom:16px;border-radius:4px;overflow:hidden;position:relative;cursor:pointer;background:#D8D1C4}
.gal-inner{position:relative;overflow:hidden}
.gal-inner img{width:100%;display:block;transition:transform .6s var(--ease)}
.gal-item:hover .gal-inner img{transform:scale(1.06)}
.gal-ph{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.gal-ph-icon{font-size:1.8rem;opacity:.2;color:var(--silver)}
.gal-ph-text{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver2);opacity:.7}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%);display:flex;align-items:flex-end;padding:16px;opacity:0;transition:opacity .3s}
.gal-item:hover .gal-overlay{opacity:1}
.gal-overlay span{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}

/* =========================================================
   PRECIOS
   ========================================================= */
#precios{padding:120px 0;background:var(--ink);position:relative;overflow:hidden}
.ps{position:absolute;pointer-events:none}
.ps1{width:3px;height:3px;box-shadow:120px 80px rgba(196,160,84,.4),340px 200px rgba(255,255,255,.12),560px 140px rgba(196,160,84,.3),780px 320px rgba(255,255,255,.15),980px 60px rgba(196,160,84,.35),1200px 280px rgba(255,255,255,.12),1420px 160px rgba(196,160,84,.25),200px 400px rgba(255,255,255,.15),440px 520px rgba(196,160,84,.3),660px 440px rgba(255,255,255,.12),880px 500px rgba(196,160,84,.2),1100px 380px rgba(255,255,255,.18),1320px 480px rgba(196,160,84,.3);animation:stF 120s linear infinite;top:0;left:0;background:transparent}
.ps2{width:2px;height:2px;box-shadow:80px 180px rgba(255,255,255,.08),260px 100px rgba(196,160,84,.18),480px 260px rgba(255,255,255,.1),700px 180px rgba(196,160,84,.22),920px 300px rgba(255,255,255,.1),1140px 140px rgba(196,160,84,.15),200px 480px rgba(255,255,255,.12),380px 580px rgba(196,160,84,.15),600px 500px rgba(255,255,255,.1),820px 560px rgba(196,160,84,.18);animation:stF 80s linear infinite reverse;top:0;left:0;background:transparent}
@keyframes stF{0%{transform:translateY(0)}100%{transform:translateY(-700px)}}
.precios-sw{position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:0 48px}
#precios .eyebrow{color:rgba(196,160,84,.9)}
#precios .eyebrow::before{background:var(--gold-lt)}
#precios .section-h{color:#FFFFFF;margin-bottom:52px}
#precios .section-h em{color:var(--gold-lt)}
.pc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}
.pc-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;display:flex;flex-direction:column}
.pc-card:hover{transform:translateY(-8px);box-shadow:0 32px 80px rgba(0,0,0,.4)}
.pc-header{padding:36px 20px 28px;text-align:center;background:rgba(0,0,0,.2)}
.pc-circle{width:140px;height:140px;border-radius:50%;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .35s}
.pc-card:hover .pc-circle{box-shadow:0 0 0 14px rgba(255,255,255,.06)!important}
.pc-desde{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);display:block;margin-bottom:2px}
.pc-main-price{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:#fff;line-height:1}
.pc-cat-name{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-top:18px;font-weight:600}
.pc-circle-gold{background:#C4A054;box-shadow:0 0 0 10px rgba(196,160,84,.25)}
.pc-circle-blue{background:#5B8DB8;box-shadow:0 0 0 10px rgba(91,141,184,.25)}
.pc-circle-rose{background:#B87B5B;box-shadow:0 0 0 10px rgba(184,123,91,.25)}
.pc-circle-green{background:#6B9B6B;box-shadow:0 0 0 10px rgba(107,155,107,.25)}
.pc-list{list-style:none;padding:0;margin:0;flex:1;background:rgba(0,0,0,.15)}
.pc-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.83rem;color:rgba(255,255,255,.92);transition:background .2s}
.pc-list li:last-child{border-bottom:none}
.pc-list li:hover{background:rgba(255,255,255,.05)}
.pc-list li span:last-child{font-family:var(--serif);font-size:1rem;color:#fff;white-space:nowrap;margin-left:8px;font-weight:500}
.pc-btn{display:block;text-align:center;padding:14px 20px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:all .3s;text-decoration:none;background:rgba(0,0,0,.25);color:rgba(255,255,255,.7)}
.pc-btn:hover{color:#fff}
.pc-btn-gold:hover{background:rgba(196,160,84,.2);color:#C4A054}
.pc-btn-blue:hover{background:rgba(91,141,184,.2);color:#7EB3D8}
.pc-btn-rose:hover{background:rgba(184,123,91,.2);color:#D4A080}
.pc-btn-green:hover{background:rgba(107,155,107,.2);color:#8FBF8F}
.precios-footer{margin-top:48px;text-align:center}
.btn-a{display:inline-block;background:#F3EDE3;color:var(--ink);padding:14px 36px;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:all .3s}
.btn-a:hover{opacity:.88;transform:translateY(-2px);color:var(--ink)}

/* =========================================================
   RESEÑAS
   ========================================================= */
#resenas{padding:120px 0;background:var(--ink2);overflow:hidden}
#resenas .eyebrow{color:rgba(196,160,84,.9)}
#resenas .eyebrow::before{background:var(--gold-lt)}
#resenas .section-h{color:#FFFFFF}
#resenas .section-h em{color:var(--gold-lt)}
.resenas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.07)}
.resena-card{background:var(--ink2);padding:36px 32px;transition:background .3s}
.resena-card:hover{background:var(--ink3)}
.stars{display:flex;gap:4px;margin-bottom:20px}
.star{width:10px;height:10px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:var(--gold-lt)}
.resena-q{font-family:var(--serif);font-size:1rem;font-style:italic;color:rgba(255,255,255,.9);line-height:1.75;margin-bottom:24px}
.resena-author{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
.resena-name{font-size:.92rem;font-weight:500;color:#FFFFFF}
.resena-clinic{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:rgba(255,255,255,.55);text-transform:uppercase;margin-top:3px}

/* =========================================================
   CONTACTO
   ========================================================= */
#contacto{padding:120px 0;background:var(--ink3);overflow:hidden}
#contacto .eyebrow{color:rgba(196,160,84,.9)}
#contacto .eyebrow::before{background:var(--gold-lt)}
#contacto .section-h{color:#FFFFFF}
#contacto .section-h em{color:var(--gold-lt)}
.contacto-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.contacto-desc{font-size:.95rem;color:rgba(255,255,255,.8);line-height:1.9;margin-bottom:40px}
.contacto-rows{display:flex;flex-direction:column}
.c-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.c-row:first-child{border-top:1px solid rgba(255,255,255,.1)}
.c-key{font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;color:rgba(255,255,255,.55);text-transform:uppercase}
.c-val{font-size:.9rem;color:rgba(255,255,255,.88);text-align:right;transition:color .3s}
.c-val:hover{color:#fff}
.contacto-btn-wrap{margin-top:40px}
.contacto-right{display:flex;flex-direction:column;gap:20px}
.mapa-box{border:1px solid rgba(255,255,255,.12);overflow:hidden;border-radius:4px}
.mapa-box iframe{display:block;width:100%;height:300px;filter:sepia(.15) contrast(.95);border:0}
.mapa-foot{padding:14px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.03)}
.mapa-addr{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:rgba(255,255,255,.6)}
.mapa-link{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--gold-lt);text-transform:uppercase;transition:color .3s}
.mapa-link:hover{color:#fff}
.ig-box{border:1px solid rgba(255,255,255,.12);padding:28px;display:flex;justify-content:space-between;align-items:center;border-radius:4px;transition:border-color .3s}
.ig-box:hover{border-color:rgba(255,255,255,.3)}
.ig-handle{font-family:var(--serif);font-size:1.5rem;color:#FFFFFF;font-style:italic;transition:color .3s}
.ig-box:hover .ig-handle{color:var(--gold-lt)}
.ig-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:4px}
.ig-arrow{font-size:1.3rem;color:rgba(255,255,255,.5);transition:transform .3s,color .3s}
.ig-box:hover .ig-arrow{transform:translate(4px,-4px);color:#fff}

/* =========================================================
   FOOTER
   ========================================================= */
footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.07);padding:36px 48px}
.footer-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-brand{font-family:var(--serif);font-size:.95rem;color:rgba(255,255,255,.65);letter-spacing:.05em}
.footer-brand span{font-style:italic}
.footer-copy{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:rgba(255,255,255,.5);text-align:center}
.footer-links{display:flex;gap:24px}
.footer-links a{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .3s}
.footer-links a:hover{color:rgba(255,255,255,.9)}

/* =========================================================
   WHATSAPP
   ========================================================= */
.wa-btn{position:fixed;bottom:32px;right:32px;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:200;transition:transform .3s,box-shadow .3s}
.wa-btn:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(37,211,102,.45)}
.wa-btn::before{content:'';position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.3);animation:waPulse 2.5s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.2);opacity:0}}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1100px){.pc-grid{grid-template-columns:1fr 1fr}.products-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.contacto-layout{grid-template-columns:1fr;gap:48px}.proceso-grid{grid-template-columns:1fr 1fr}.servicios-grid{grid-template-columns:1fr}.resenas-grid{grid-template-columns:1fr}.galeria-masonry{columns:2}}
@media(max-width:768px){
  .adl-hero .carousel-item{height:55vh}
  .adl-caption{padding:40px 24px 44px}
  .hero-scroll-ind{display:none}
  .sw{padding:0 24px}
  .precios-sw{padding:0 24px}
  footer{padding:36px 24px}
  .footer-inner{flex-direction:column;align-items:center;text-align:center}
  .wa-btn{bottom:20px;right:20px;width:52px;height:52px}
  .pc-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr 1fr;gap:16px}
}
@media(max-width:480px){.products-grid{grid-template-columns:1fr 1fr;gap:12px}}
/* =========================================================
   DETALLE — estilos para detalle.html
   ========================================================= */
.adl-breadcrumb{background:var(--white);border-bottom:1px solid var(--border);padding:12px 0}
.adl-breadcrumb .container{max-width:1300px}
.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--silver)}
.breadcrumb-nav a{color:var(--gold);transition:color .2s}
.breadcrumb-nav a:hover{color:var(--ink)}
.bc-sep{opacity:.4}

.detalle-section{padding:60px 0 80px;background:var(--cream)}
.detalle-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;max-width:1300px;margin:0 auto;padding:0 48px}
.detalle-img-col{position:sticky;top:90px}
.detalle-img-wrap{width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}
.detalle-img-wrap img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.detalle-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:20px}
.det-ph-icon{font-size:4rem;opacity:.25;color:#fff}
.det-ph-text{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.detalle-img-shadow{width:86%;margin:0 auto;height:60px;margin-top:-8px;overflow:hidden;filter:blur(20px);opacity:.55;position:relative;z-index:0}
.detalle-img-shadow img{width:100%;height:100%;object-fit:cover}
.detalle-img-nota{text-align:center;margin-top:14px;font-size:.7rem;color:var(--silver2);letter-spacing:.08em;opacity:.7}

.detalle-cat{display:block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.detalle-nombre{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:6px}
.detalle-detalle{font-size:.85rem;color:var(--silver);margin-bottom:20px;font-style:italic}
.detalle-precio{font-family:var(--serif);font-size:2.8rem;font-weight:400;color:var(--ink);margin-bottom:0;letter-spacing:-.01em}
.detalle-divider{border:none;border-top:1px solid var(--border);margin:28px 0}
.detalle-desc{font-size:.95rem;color:var(--silver);line-height:1.85;margin-bottom:28px}

.detalle-specs{display:flex;flex-direction:column;gap:0}
.spec-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.spec-row:first-child{border-top:1px solid var(--border)}
.spec-key{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}
.spec-val{font-size:.9rem;color:var(--ink);font-weight:500}

.detalle-cta{display:flex;flex-direction:column;gap:12px;margin-top:0}
.btn-whatsapp{display:flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:#fff;border:none;border-radius:4px;padding:15px 28px;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s;text-decoration:none}
.btn-whatsapp:hover{background:#1ea855;color:#fff}
.btn-call{display:flex;align-items:center;justify-content:center;gap:8px;background:none;color:var(--silver);border:1.5px solid var(--border);border-radius:4px;padding:13px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .3s;text-decoration:none}
.btn-call:hover{border-color:var(--ink);color:var(--ink)}
.btn-back{display:block;text-align:center;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);transition:color .3s;padding:8px 0}
.btn-back:hover{color:var(--ink)}

.relacionados-section{padding:60px 0 100px;background:var(--cream2);border-top:1px solid var(--border)}
.relacionados-inner{max-width:1300px;margin:0 auto;padding:0 48px}
.relacionados-title{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--ink);margin-bottom:36px}
.relacionados-title em{font-style:italic;color:var(--silver)}

@media(max-width:900px){
  .detalle-layout{grid-template-columns:1fr;gap:40px;padding:0 24px}
  .detalle-img-col{position:static}
}
@media(max-width:600px){
  .detalle-section{padding:32px 0 60px}
  .detalle-precio{font-size:2.2rem}
  .relacionados-inner{padding:0 24px}
}
