*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--g:#C9A23A;--gl:#E4B75C;--bk:#080808;--dk:#0F0F0E;--d2:#171613;--d3:#211F1A;--wh:#F4F0E8;--gr:#A79E90;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bk);color:var(--wh);font-family:'Barlow',sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--g)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all .4s;}
nav.on{background:rgba(8,8,8,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(196,152,40,.13);}
.nl{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.nl img{width:36px;mix-blend-mode:screen;filter:brightness(1.2);}
.nb{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(244,240,232,.87);line-height:1.4;white-space:nowrap;}
.nm{display:flex;flex:1;justify-content:center;min-width:0;background:rgba(0,0,0,.55);border:1px solid rgba(244,240,232,.12);gap:0;}
.nm a{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(244,240,232,.8);transition:all .2s;padding:8px 18px;white-space:nowrap;position:relative;border-right:1px solid rgba(244,240,232,.1);}

.nm a:last-child{border-right:none}.nm a:hover{color:var(--wh);background:rgba(196,152,40,.18);}
.ncta{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:9px 18px;background:var(--g);color:var(--bk);transition:background .2s;white-space:nowrap;flex-shrink:0;}
.ncta:hover{background:var(--gl)}
.bur{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;flex-shrink:0;}
.bur span{width:22px;height:1.5px;background:var(--wh);display:block;}
.mob{display:none;position:fixed;inset:0;z-index:101;background:rgba(8,8,8,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:40px;}
.mob.on{display:flex}
.mob a{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:rgba(244,240,232,.77);}
.mob a:hover{color:var(--g)}
.mxc{position:absolute;top:22px;right:26px;font-size:34px;color:var(--gr);cursor:pointer;line-height:1}
@media(max-width:1080px){.nb{display:none}}


/* HERO */
#hero{position:relative;height:62vh;min-height:420px;max-height:680px;overflow:hidden;}
.hi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.3) 0%,rgba(8,8,8,.1) 30%,rgba(8,8,8,.6) 70%,rgba(8,8,8,1) 100%)}
.hb{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:2;padding:0 5vw;width:45%;}
@keyframes ru{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.ey{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ey-b{width:24px;height:1px;background:var(--g)}
.ey-t{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:4px;color:var(--g);text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.8)}
h1{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.5vw,64px);font-weight:300;line-height:1;letter-spacing:-.5px;margin-bottom:14px;text-shadow:0 2px 20px rgba(0,0,0,.9),0 0 40px rgba(0,0,0,.7)}
h1 em{font-style:italic;color:var(--gl)}
.hl{font-size:clamp(13px,1.5vw,15px);font-weight:300;color:rgba(244,240,232,.87);line-height:1.7;max-width:440px;margin-bottom:32px;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hbs{display:flex;gap:12px;flex-wrap:wrap}
.bg{display:inline-flex;align-items:center;gap:9px;background:var(--g);color:var(--bk);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:13px 28px;transition:background .2s}
.bg:hover{background:var(--gl)}
.bo{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(244,240,232,.2);color:rgba(244,240,232,.77);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:13px 22px;transition:border-color .2s,color .2s}
.bo:hover{border-color:var(--g);color:var(--wh)}
.sc{position:absolute;bottom:24px;right:5vw;display:flex;flex-direction:column;align-items:center;gap:8px;animation:ru 1s .8s both}
.sl-ln{width:1px;height:44px;background:rgba(244,240,232,.1);position:relative;overflow:hidden}
.sl-ln::after{content:'';position:absolute;top:-100%;inset-x:0;bottom:0;background:var(--g);animation:dr 2s 1.5s infinite}
@keyframes dr{0%{transform:translateY(-100%)}100%{transform:translateY(400%)}}
.sc-w{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:rgba(244,240,232,.22);writing-mode:vertical-lr}

/* REVEAL */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}
.rv.on{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* SECTIONS */
.sec{padding:80px 0}
.wrap{max-width:1240px;margin:0 auto;padding:0 6vw}
.stag{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.stag span{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--g)}
.stag::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(196,152,40,.35),transparent)}
h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,60px);font-weight:300;line-height:.92;letter-spacing:-.5px}
h2 em{font-style:italic;color:var(--gl)}

/* STATS */
#stats{background:var(--d2);border-top:1px solid rgba(196,152,40,.1);border-bottom:1px solid rgba(196,152,40,.1);padding:44px 0}
.sg{display:grid;grid-template-columns:repeat(4,1fr)}
.st{text-align:center;padding:12px 20px;border-right:1px solid rgba(196,152,40,.12)}
.st:last-child{border-right:none}
.sn{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--gl);line-height:1;margin-bottom:6px}
.sn sup{font-size:.5em;vertical-align:super}
.sl2{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gr);line-height:1.5}

/* SERVICIOS */
#servicios{background:var(--dk)}
.sh{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:44px}
.sld{font-size:14px;font-weight:300;color:rgba(244,240,232,.63);line-height:1.8}
.svg{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(196,152,40,.1)}
.sv{background:var(--d2);padding:20px 22px;display:flex;align-items:flex-start;gap:14px;transition:background .2s}
.sv:hover{background:var(--d3)}
.sv-n{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:900;color:rgba(196,152,40,.16);line-height:1;flex-shrink:0;min-width:32px;transition:color .2s}
.sv:hover .sv-n{color:rgba(196,152,40,.38)}
.sv-t{font-size:13px;font-weight:400;color:rgba(244,240,232,.83);line-height:1.45;padding-top:3px}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:16px}
.lb.on{opacity:1;pointer-events:all}
.lb img{max-width:92vw;max-height:92vh;object-fit:contain}
#lbX{position:absolute;top:16px;right:20px;font-size:34px;line-height:1;color:rgba(244,240,232,.69);cursor:pointer;background:none;border:none;font-weight:300}
.lbn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(244,240,232,.08);border:none;width:44px;height:72px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(244,240,232,.69);transition:background .2s}
.lbn:hover{background:rgba(196,152,40,.3);color:var(--wh)}
.lbn svg{width:20px;height:20px;stroke-width:1.2}
#lbP{left:0;border-radius:0 4px 4px 0}
#lbN{right:0;border-radius:4px 0 0 4px}

/* TARIFAS */
#tarifas{background:var(--dk)}
.ti{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:36px}
.tn{font-size:13px;font-weight:300;color:var(--gr);line-height:1.7;max-width:320px}
.tc{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.tgh{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--g);padding:12px 18px;background:rgba(196,152,40,.07);border-left:3px solid var(--g);margin-bottom:3px}
.tr{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px 18px;background:var(--d2);margin-bottom:3px;transition:background .2s}
.tr:hover{background:var(--d3)}
.tr.pop{background:#0f0c00!important}
.tn2{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;color:var(--wh);line-height:1;width:24px;text-align:center}
.tm{font-size:12px;font-weight:400;color:rgba(244,240,232,.83)}
.ts{font-size:10.5px;color:var(--gr);font-weight:300;margin-top:2px}
.tbg{display:inline-block;background:var(--g);color:var(--bk);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;vertical-align:middle;margin-left:6px}
.tp{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;color:var(--gl);line-height:1;text-align:right}
.tps{font-size:10px;color:var(--gr);font-weight:300;margin-top:3px;text-align:right}
.grp{background:linear-gradient(135deg,rgba(196,152,40,.08),rgba(196,152,40,.02));border:1px solid rgba(196,152,40,.22);padding:24px 28px;margin-top:8px;display:flex;flex-direction:column;gap:0;}
.gi2 h3{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--wh);margin-bottom:7px}
.gi2 p{font-size:13px;color:var(--gr);font-weight:300;line-height:1.6}
.gp{text-align:right}
.gnum{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5vw,68px);font-weight:300;color:var(--gl);line-height:1}
.gunit{font-size:11px;color:var(--gr);font-weight:300;margin-top:3px}
.ib{background:var(--d2);border:1px solid rgba(196,152,40,.12);border-top:3px solid rgba(196,152,40,.28);display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
.ic{padding:20px 26px}
.ic:first-child{border-right:1px solid rgba(196,152,40,.14)}
.il{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--g);display:block;margin-bottom:12px}
.is{display:flex;flex-wrap:wrap;gap:7px 18px}
.ii{font-size:12.5px;color:rgba(244,240,232,.75);font-weight:300;display:flex;align-items:center;gap:5px}
.ii::before{content:'✓';color:var(--g);font-weight:700;font-size:11px}

/* CONTACTO */
#contacto{background:var(--bk);overflow:hidden;position:relative}
#contacto::after{content:'202';position:absolute;right:-2vw;bottom:-4vh;font-family:'Barlow Condensed',sans-serif;font-size:clamp(140px,22vw,360px);font-weight:900;line-height:1;color:rgba(244,240,232,.02);pointer-events:none;letter-spacing:-10px}
.ctg{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.cts{font-size:14px;font-weight:300;color:rgba(244,240,232,.58);line-height:1.8;margin:16px 0 36px}
.ci-w{display:flex;flex-direction:column}
.ci{display:flex;gap:15px;align-items:flex-start;padding:17px 0;border-bottom:1px solid rgba(244,240,232,.05)}
.ci:last-child{border-bottom:none}
.ci-ic{width:36px;height:36px;flex-shrink:0;background:rgba(196,152,40,.07);border:1px solid rgba(196,152,40,.16);display:flex;align-items:center;justify-content:center;font-size:14px}
.ci-l{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g);margin-bottom:4px}
.ci-v{font-size:13px;font-weight:400;color:rgba(244,240,232,.85);line-height:1.5}
.ci-v small{display:block;font-size:11px;color:var(--gr);margin-top:3px}
.ctb{display:flex;flex-direction:column;gap:9px;margin-top:28px}
.bwa{display:flex;align-items:center;justify-content:center;gap:11px;background:#22c55e;color:var(--wh);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:15px;transition:background .2s}
.bwa:hover{background:#16a34a}
.big{display:flex;align-items:center;justify-content:center;gap:11px;background:linear-gradient(135deg,#6d28d9,#db2777,#f59e0b);color:var(--wh);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:15px;transition:opacity .2s}
.big:hover{opacity:.85}
.ctm{display:flex;flex-direction:column;gap:8px}
.fimg{width:100%;height:auto;display:block;filter:brightness(.92);border:1px solid rgba(196,152,40,.13)}
.mb{overflow:hidden;border:1px solid rgba(196,152,40,.13)}
.mb iframe{width:100%;height:300px;border:none;display:block;filter:grayscale(75%) invert(92%) contrast(88%)}
.mf{padding:11px 15px;background:var(--d2);border-top:1px solid rgba(196,152,40,.12);font-size:11px;color:rgba(244,240,232,.62);display:flex;align-items:center;gap:8px}

/* FOOTER */
footer{background:var(--d2);border-top:1px solid rgba(196,152,40,.1);padding:30px 6vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.fll{display:flex;align-items:center;gap:10px}
.fll img{width:24px;mix-blend-mode:screen;filter:brightness(1.15)}
.flb{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gr)}
.fls{display:flex;gap:22px;flex-wrap:wrap}
.fls a{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gr);transition:color .2s}
.fls a:hover{color:var(--g)}
.flc{font-size:10px;color:#444}

/* FWA */
.fwa{position:fixed;bottom:22px;right:22px;z-index:99;width:52px;height:52px;border-radius:50%;background:#22c55e;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(34,197,94,.28);transition:transform .2s}
.fwa:hover{transform:scale(1.08)}
.fwr{position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(34,197,94,.3);animation:rg 2.5s infinite}
@keyframes rg{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}

/* RESPONSIVE */
@media(max-width:760px){
  .nm,.ncta{display:none}
  .bur{display:flex}
  .sg{grid-template-columns:repeat(2,1fr)}
  .st{border-bottom:1px solid rgba(196,152,40,.1);padding:20px}
  .st:nth-child(2){border-right:none}
  .st:nth-child(3),.st:last-child{border-bottom:none}
  .sh{grid-template-columns:1fr;gap:16px}
  .tc{grid-template-columns:1fr}
  .ctg{grid-template-columns:1fr;gap:36px}
  .grp{padding:24px 20px}
  .gs{height:400px}
  .sec{padding:64px 0}
}
@media(max-width:768px){
  .svg{grid-template-columns:1fr}
  .ib{grid-template-columns:1fr}
  .ic:first-child{border-right:none;border-bottom:1px solid rgba(196,152,40,.13)}
  .gt{display:none}
  .gd{display:flex}
  .gs{height:340px}
  .gi{flex-direction:column;gap:10px}
}
@media(max-width:600px){
  nav{height:62px;padding:0 4vw}
  .nl img{width:38px}
  h1{font-size:clamp(34px,9vw,48px)}
  .hl{font-size:13px}
  .hbs{flex-direction:column;align-items:flex-start;gap:9px}
  .hb{padding:0 5vw 5vh}
  #hero{height:72vh}
  .sn{font-size:32px}
  .sv{padding:16px 14px;gap:12px}
  .gs{height:280px}
  .tr{padding:11px 12px}
  .tn2{font-size:24px;width:20px}
  .tm{font-size:11.5px}
  .tp{font-size:19px}
  .grp{flex-direction:column}
  .gp{text-align:left}
  .ci-v{font-size:13px}
  .bwa,.big{padding:13px;font-size:11px}
  footer{flex-direction:column;align-items:flex-start}
  .wrap{padding:0 4vw}
  .sec{padding:52px 0}
  .fwa{width:48px;height:48px;bottom:18px;right:18px}
}

/* MODALES LEGALES */
.modal-bg{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.modal-bg.on{display:flex;}
.modal{background:var(--d2);max-width:760px;width:100%;padding:48px;position:relative;margin:auto;}
.modal-x{position:absolute;top:16px;right:20px;font-size:28px;line-height:1;color:var(--gr);cursor:pointer;background:none;border:none;font-weight:300;}
.modal-x:hover{color:var(--wh)}
.modal h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--wh);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(196,152,40,.2);}
.modal h4{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g);margin:24px 0 8px;}
.modal p,.modal li{font-size:13px;font-weight:300;color:rgba(244,240,232,.77);line-height:1.8;margin-bottom:8px;}
.modal ul{padding-left:20px;}
.modal a{color:var(--gl);}
@media(max-width:600px){.modal{padding:28px 20px;}}

.hi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;}

/* GALLERY STRIP */
#instalaciones{background:var(--bk)}
.gal-intro{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.gn{font-size:13px;font-weight:300;color:var(--gr);line-height:1.6}
.sp-wrap{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:default;}
.sp-wrap::-webkit-scrollbar{display:none;}
.sp-track{display:flex;gap:5px;user-select:none;-webkit-user-select:none;}
.sp-item{flex:0 0 26vw;min-width:200px;max-width:360px;position:relative;overflow:hidden;background:var(--d2);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;}
.sp-item img{width:100%;height:340px;object-fit:cover;display:block;filter:brightness(.88);transition:filter .4s,transform .4s;pointer-events:none;-webkit-user-drag:none;user-drag:none;draggable:false;}
.sp-item:hover img{filter:brightness(1);transform:scale(1.03);}
.sp-cap{
  position:absolute;bottom:0;left:0;right:0;
  padding:28px 14px 10px;
  background:linear-gradient(to top,rgba(8,8,8,.75),transparent);
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:3px;
  text-transform:uppercase;color:rgba(244,240,232,.77);
  display:flex;align-items:center;gap:7px;
  opacity:0;transition:opacity .3s;
}
.sp-cap::before{content:'';width:12px;height:1px;background:var(--g);flex-shrink:0}
.sp-item:hover .sp-cap{opacity:1}
@media(max-width:768px){
  .sp-item{flex:0 0 72vw;min-width:0;}
  .sp-item img{height:260px;}
  #hero{height:115vw !important;min-height:420px;max-height:640px;display:block;}
  .hi-mob{
    position:absolute !important;inset:0;
    width:100%;height:100%;
    object-fit:cover;object-position:center 20%;
    display:block !important;
  }
  .hi-desk{display:none !important;}
  .hv{
    display:block !important;
    background:linear-gradient(to bottom,
      rgba(8,8,8,0) 0%,
      rgba(8,8,8,0) 62%,
      rgba(8,8,8,.85) 78%,
      rgba(8,8,8,1) 100%) !important;
  }
  .sc{display:none;}
  .hb{
    position:absolute !important;
    bottom:0 !important;top:auto !important;
    left:0;right:0;
    width:100% !important;
    padding:90px 5vw 26px !important;
    background:linear-gradient(to top,
      rgba(8,8,8,.98) 0%,
      rgba(8,8,8,.94) 48%,
      rgba(8,8,8,.72) 74%,
      rgba(8,8,8,0) 100%) !important;
    transform:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }
  .hb h1{
    font-size:clamp(26px,7.5vw,40px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
    letter-spacing:-.4px;
    margin-bottom:0 !important;
    width:100% !important;
    max-width:340px;
    text-align:center !important;
  }
  .hb h1 br{display:none !important;}
  .hb .ey{
    justify-content:center !important;
    margin:8px 0 14px !important;
  }
  .hbs{
    flex-direction:row !important;
    gap:10px;
    justify-content:center !important;
    flex-wrap:wrap;
  }
  .bg,.bo{font-size:10px !important;padding:10px 18px !important;}
  .ey-t{font-size:9px;}
}
@media(max-width:480px){
  .sp-item{flex:0 0 82vw;}
  .sp-item img{height:220px;}
}


/* Hero — desktop vs mobile image */
.hi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hi-desk{position:absolute;top:0;left:40%;right:0;width:60%;height:100%;object-fit:cover;object-position:center 55%;display:block;}
.hi-mob{object-position:center 30%;display:none;}
@media(max-width:768px){
  .hi-desk{display:none;}
  .hi-mob{display:block;}
}

@media(max-width:600px){
  footer{flex-direction:column;align-items:center;text-align:center;padding:24px 5vw;}
  .fll{justify-content:center;}
  .fls{justify-content:center;}
  .flc{text-align:center;}
}

@media(max-width:600px){
  .grp[style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
    text-align:center;
  }
  .grp [style*="border-right"]{
    border-right:none !important;
    border-bottom:1px solid rgba(196,152,40,.2);
    padding-right:0 !important;
    padding-bottom:20px;
  }
}

/* ═══════════════ MEJORAS DE DISEÑO v2 ═══════════════ */

/* Grano cinematográfico sutil sobre el hero */
#hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.hb{z-index:3;}

/* Sello de valoración Google en el hero */
.grate{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:8px 14px;background:rgba(244,240,232,.05);border:1px solid rgba(196,152,40,.25);border-radius:2px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .25s,background .25s;}
.grate:hover{border-color:rgba(196,152,40,.55);background:rgba(196,152,40,.08);}
.grate-stars{display:flex;gap:1px;color:var(--gl);font-size:13px;letter-spacing:1px;line-height:1;}
.grate-txt{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(244,240,232,.85);white-space:nowrap;}
.grate-txt b{color:var(--gl);font-weight:700;}
.grate-g{width:14px;height:14px;flex-shrink:0;}

/* ── Sección MÉTODO / SOBRE ── */
#metodo{background:var(--dk);position:relative;overflow:hidden;}
.mt-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.mt-lead{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,26px);font-weight:300;line-height:1.5;color:rgba(244,240,232,.82);margin:22px 0 20px;}
.mt-lead em{font-style:italic;color:var(--gl);}
.mt-p{font-size:14px;font-weight:300;line-height:1.9;color:rgba(244,240,232,.69);margin-bottom:16px;}
.mt-sign{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(196,152,40,.14);}
.mt-sign b{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--wh);}
.mt-sign span{font-size:12px;color:var(--gr);}
.mt-pillars{display:flex;flex-direction:column;gap:1px;background:rgba(196,152,40,.1);border:1px solid rgba(196,152,40,.12);}
.mt-pill{background:var(--d2);padding:22px 24px;transition:background .25s;}
.mt-pill:hover{background:var(--d3);}
.mt-pill h4{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gl);margin-bottom:7px;display:flex;align-items:center;gap:10px;}
.mt-pill h4 i{font-style:normal;font-family:'Cormorant Garamond',serif;font-size:22px;color:rgba(196,152,40,.4);}
.mt-pill p{font-size:12.5px;font-weight:300;line-height:1.65;color:rgba(244,240,232,.69);}

/* ── Sección RESEÑAS ── */
#resenas{background:var(--bk);position:relative;overflow:hidden;}
.rv-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:40px;}
.rv-score{display:flex;align-items:center;gap:18px;}
.rv-num{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,7vw,88px);font-weight:300;color:var(--gl);line-height:.85;}
.rv-meta .rv-st{color:var(--gl);font-size:16px;letter-spacing:2px;}
.rv-meta .rv-c{font-size:12px;font-weight:400;letter-spacing:1px;color:rgba(244,240,232,.73);margin-top:5px;}
.rv-meta .rv-c a{color:var(--g);border-bottom:1px solid rgba(196,152,40,.35);}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rv-card{background:linear-gradient(160deg,var(--d2),#111);border:1px solid rgba(196,152,40,.12);padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .3s,border-color .3s;position:relative;}
.rv-card:hover{transform:translateY(-4px);border-color:rgba(196,152,40,.3);}
.rv-card::before{content:'\201C';position:absolute;top:8px;right:18px;font-family:'Cormorant Garamond',serif;font-size:64px;color:rgba(196,152,40,.12);line-height:1;}
.rv-cst{color:var(--gl);font-size:12px;letter-spacing:2px;}
.rv-txt{font-size:13.5px;font-weight:300;line-height:1.75;color:rgba(244,240,232,.85);flex:1;}
.rv-auth{display:flex;align-items:center;gap:11px;margin-top:4px;}
.rv-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--g),var(--gl));display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;color:var(--bk);flex-shrink:0;}
.rv-an{font-size:12.5px;font-weight:500;color:rgba(244,240,232,.85);}
.rv-src{font-size:10px;letter-spacing:1px;color:var(--gr);text-transform:uppercase;margin-top:1px;}
.rv-cta{text-align:center;margin-top:34px;}
.rv-gbtn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(196,152,40,.3);color:rgba(244,240,232,.8);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:13px 26px;transition:border-color .2s,color .2s,background .2s;}
.rv-gbtn:hover{border-color:var(--g);background:rgba(196,152,40,.08);color:var(--wh);}

/* ── Sección FAQ ── */
#faq{background:var(--dk);}
.fq-wrap{max-width:860px;}
.fq-item{border-bottom:1px solid rgba(196,152,40,.14);}
.fq-q{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--wh);font-family:'Barlow',sans-serif;font-size:clamp(15px,1.7vw,18px);font-weight:400;transition:color .2s;}
.fq-q:hover{color:var(--gl);}
.fq-ic{flex-shrink:0;width:22px;height:22px;position:relative;transition:transform .3s;}
.fq-ic::before,.fq-ic::after{content:'';position:absolute;background:var(--g);top:50%;left:50%;transform:translate(-50%,-50%);}
.fq-ic::before{width:14px;height:1.5px;}
.fq-ic::after{width:1.5px;height:14px;transition:transform .3s;}
.fq-item.on .fq-ic{transform:rotate(180deg);}
.fq-item.on .fq-ic::after{transform:translate(-50%,-50%) scaleY(0);}
.fq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.fq-a p{font-size:14px;font-weight:300;line-height:1.85;color:rgba(244,240,232,.73);padding:0 40px 24px 0;}
.fq-a a{color:var(--gl);border-bottom:1px solid rgba(222,173,82,.35);}

@media(max-width:900px){
  .mt-grid{grid-template-columns:1fr;gap:34px;}
  .rv-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .rv-grid{grid-template-columns:1fr;}
  .rv-head{flex-direction:column;align-items:flex-start;}
  .grate{margin-top:14px;}
}

/* ═══════════ ELEVACIÓN EDITORIAL v3 ═══════════ */

/* Más aire y ritmo de revista */
.sec{padding:112px 0;}
.wrap{max-width:1280px;}
h2{font-size:clamp(34px,5.4vw,66px);letter-spacing:-1px;}
.stag span{letter-spacing:5px;}
.stag{margin-bottom:22px;}

/* Reveal más suave y con matiz */
.rv{transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1);}

/* Divisor editorial entre secciones */
.sec + .sec::before{content:'';display:block;width:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(196,152,40,.55),transparent);margin:0 auto 70px;}

/* STATS — más elegante */
#stats{padding:52px 0;}
.sn{letter-spacing:-1px;}
.sl2{letter-spacing:2.5px;}

/* SERVICIOS — tarjetas premium con acento dorado */
.svg{gap:1px;}
.sv{padding:26px 26px;transition:background .3s,transform .3s;position:relative;}
.sv::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g);transform:scaleY(0);transform-origin:top;transition:transform .35s;}
.sv:hover::after{transform:scaleY(1);}
.sv:hover{background:var(--d3);}
.sv-n{font-size:30px;min-width:40px;}
.sv-t{font-size:14px;line-height:1.5;color:rgba(244,240,232,.78);}
.sh{margin-bottom:54px;}

/* INSTALACIONES — galería cinematográfica, fotos protagonistas */
#instalaciones .gal-intro{margin-bottom:38px;}
.sp-item{flex:0 0 30vw;min-width:270px;max-width:440px;}
.sp-item img{height:460px;filter:brightness(.82);transition:filter .5s,transform .6s;}
.sp-item:hover img{filter:brightness(1.02);transform:scale(1.04);}
.sp-cap{opacity:1;padding:40px 18px 16px;font-size:11px;letter-spacing:3.5px;background:linear-gradient(to top,rgba(8,8,8,.85),rgba(8,8,8,.15) 65%,transparent);color:rgba(244,240,232,.82);}
.sp-track{gap:8px;}

/* TARIFAS — más refinado */
.tr{padding:15px 20px;}
.tp{font-size:24px;}
.tgh{padding:14px 20px;letter-spacing:3.5px;}

/* CONTACTO — número marca más presente */
#contacto::after{color:rgba(244,240,232,.025);}

/* Nav un punto más fino y con más caché */
nav.on{border-bottom:1px solid rgba(196,152,40,.18);}

@media(max-width:900px){
  .sec{padding:84px 0;}
  .sp-item img{height:380px;}
}
@media(max-width:600px){
  .sec{padding:64px 0;}
  .sec + .sec::before{margin-bottom:48px;}
  .sp-item img{height:300px;}
  .sp-cap{opacity:1;}
  .sv{padding:18px 16px;}
}

/* ═══════════ HÍBRIDO · secciones claras cálidas (texto oscuro) ═══════════ */
#metodo{background:#F2EADB !important;}
#tarifas{background:#F6F0E4 !important;}
#resenas{background:#EFE7D6 !important;}

/* Títulos y epígrafes de las secciones claras */
#metodo .stag span,#tarifas .stag span,#resenas .stag span{color:#8A6A16 !important;}
#metodo h2,#tarifas h2,#resenas h2{color:#241E15 !important;}
#metodo h2 em,#tarifas h2 em,#resenas h2 em{color:#977519 !important;}

/* MÉTODO claro */
#metodo .mt-lead{color:#372F24 !important;}
#metodo .mt-lead em{color:#977519 !important;}
#metodo .mt-p{color:#5A5247 !important;}
#metodo .mt-p strong{color:#241E15 !important;}
#metodo .mt-sign{border-top-color:rgba(150,112,30,.25) !important;}
#metodo .mt-sign b{color:#241E15 !important;}
#metodo .mt-sign span{color:#7A7062 !important;}
#metodo .mt-pillars{background:rgba(150,112,30,.18) !important;border-color:rgba(150,112,30,.16) !important;}
#metodo .mt-pill{background:#FFFFFF !important;}
#metodo .mt-pill:hover{background:#FBF6EA !important;}
#metodo .mt-pill h4{color:#8A6A16 !important;}
#metodo .mt-pill h4 i{color:rgba(150,112,30,.5) !important;}
#metodo .mt-pill p{color:#5A5247 !important;}

/* TARIFAS claro */
#tarifas .tn{color:#6A6154 !important;}
#tarifas .tgh{color:#8A6A16 !important;background:rgba(150,112,30,.08) !important;border-left-color:#B0862A !important;}
#tarifas .tr{background:#FFFFFF !important;}
#tarifas .tr:hover{background:#FBF5E8 !important;}
#tarifas .tr.pop{background:#FBF2D6 !important;}
#tarifas .tn2{color:#241E15 !important;}
#tarifas .tm{color:#3A342A !important;}
#tarifas .ts{color:#8A8072 !important;}
#tarifas .tp{color:#977519 !important;}
#tarifas .tp small{color:rgba(150,112,30,.55) !important;}
#tarifas .tps{color:#8A8072 !important;}
#tarifas .grp{background:linear-gradient(135deg,rgba(150,112,30,.12),rgba(150,112,30,.03)) !important;border-color:rgba(150,112,30,.28) !important;}
#tarifas .grp h3{color:#241E15 !important;}
#tarifas .grp p{color:#6A6154 !important;}
#tarifas .grp span[style*="Cormorant"],#tarifas .gnum{color:#977519 !important;}
#tarifas .ib{background:#FFFFFF !important;border-color:rgba(150,112,30,.16) !important;border-top-color:rgba(150,112,30,.4) !important;}
#tarifas .ic:first-child{border-right-color:rgba(150,112,30,.16) !important;}
#tarifas .il{color:#8A6A16 !important;}
#tarifas .ii{color:#4A4339 !important;}
#tarifas .ii::before{color:#B0862A !important;}

/* RESEÑAS claro */
#resenas .rv-num{color:#977519 !important;}
#resenas .rv-st,#resenas .rv-cst{color:#C29A2E !important;}
#resenas .rv-c{color:#6A6154 !important;}
#resenas .rv-c a{color:#8A6A16 !important;border-bottom-color:rgba(150,112,30,.4) !important;}
#resenas .rv-card{background:#FFFFFF !important;border-color:rgba(150,112,30,.18) !important;box-shadow:0 10px 32px rgba(70,52,12,.07) !important;}
#resenas .rv-card::before{color:rgba(150,112,30,.16) !important;}
#resenas .rv-txt{color:#3E382E !important;}
#resenas .rv-an{color:#241E15 !important;}
#resenas .rv-src{color:#8A8072 !important;}
#resenas .rv-gbtn{border-color:rgba(150,112,30,.35) !important;color:#3E382E !important;}
#resenas .rv-gbtn:hover{border-color:#B0862A !important;background:rgba(150,112,30,.08) !important;color:#241E15 !important;}

/* Divisor dorado sobre crema: que se vea */
#metodo.sec::before,#tarifas.sec::before,#resenas.sec::before,#empleo.sec::before{background:linear-gradient(90deg,transparent,rgba(150,112,30,.6),transparent) !important;}

/* ── TRABAJA CON NOSOTROS (crema) ── */
#empleo{background:#EFE7D6 !important;}
#empleo .stag span{color:#8A6A16 !important;}
#empleo h2{color:#241E15 !important;}
#empleo h2 em{color:#977519 !important;}
.emp-box{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.emp-p{font-size:15px;font-weight:300;line-height:1.9;color:#5A5247;margin:22px 0 24px;}
.emp-tags{display:flex;flex-wrap:wrap;gap:10px;}
.emp-tags span{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#8A6A16;border:1px solid rgba(150,112,30,.35);padding:8px 14px;border-radius:2px;}
.emp-r{background:#171613;border:1px solid rgba(201,162,58,.24);padding:38px 34px;display:flex;flex-direction:column;gap:13px;}
.emp-r h3{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:300;color:#F4F0E8;line-height:1.1;}
.emp-r p{font-size:13px;font-weight:300;color:rgba(244,240,232,.62);line-height:1.6;margin-bottom:8px;}
.emp-cta{display:flex;align-items:center;justify-content:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:15px;transition:background .2s,opacity .2s;}
.emp-cta.emp-mail{background:var(--g);color:#141310;}
.emp-cta.emp-mail:hover{background:var(--gl);}
.emp-wa{background:#22c55e;color:#fff;}
.emp-wa:hover{background:#16a34a;}
@media(max-width:820px){.emp-box{grid-template-columns:1fr;gap:32px;}}
