/* ═══════════ mph club · sistema base (páginas interiores) ═══════════ */
:root{
  --bg:#05050A; --bg2:#0A0A12; --ink:#F2F2F5; --dim:#8B8B98;
  --gold:#E8A33D; --cyan:#2ADFC7; --line:rgba(255,255,255,.09);
  --dsp:'Sora',system-ui,sans-serif; --txt:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1); --pad:clamp(20px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--txt);
  font-size:clamp(15px,1.05vw,17px);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden;height:100vh}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--cyan);color:#000}

.eyebrow{font-family:var(--dsp);font-size:clamp(9px,.72vw,11px);letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);opacity:.7}
h2.hd{font-family:var(--dsp);font-weight:800;line-height:.94;letter-spacing:-.035em;
  font-size:clamp(34px,6.4vw,92px)}
.lede{color:var(--dim);font-weight:300;font-size:clamp(15px,1.25vw,19px);max-width:56ch;line-height:1.65}
.wrap{max-width:1560px;margin:0 auto;padding-inline:var(--pad)}
.gold{color:var(--gold)}.cy{color:var(--cyan)}

/* reveal — OJO: el flag es .is-in, nunca .in (colisiona con contenedores) */
.rv{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ease),transform 1.15s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.09s}.rv[data-d="2"]{transition-delay:.18s}
.rv[data-d="3"]{transition-delay:.27s}.rv[data-d="4"]{transition-delay:.36s}
.rv[data-d="5"]{transition-delay:.45s}

/* preloader */
#pre{position:fixed;inset:0;z-index:9999;background:#05050A;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:26px;transition:opacity .7s ease,visibility .7s}
#pre.gone{opacity:0;visibility:hidden}
#pre .spd{font-family:var(--dsp);font-weight:800;letter-spacing:-.05em;line-height:1;
  font-size:clamp(64px,15vw,190px);display:flex;align-items:baseline;gap:14px}
#pre .spd b{font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fff 30%,#585866);-webkit-background-clip:text;background-clip:text;color:transparent}
#pre .spd i{font-style:normal;font-size:clamp(13px,1.6vw,20px);letter-spacing:.4em;color:var(--gold);font-weight:600}
#pre .bar{width:min(340px,62vw);height:1px;background:rgba(255,255,255,.12);overflow:hidden}
#pre .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--cyan));transition:width .25s linear}
#pre .lb{font-family:var(--dsp);font-size:9.5px;letter-spacing:.46em;color:#5A5A68;text-transform:uppercase}

/* cursor */
#cur{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.55);
  border-radius:50%;pointer-events:none;z-index:9000;mix-blend-mode:difference;
  transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s,border-color .3s;will-change:transform}
#cur.big{width:74px;height:74px;background:rgba(255,255,255,.9);border-color:transparent}
#cur.txt::after{content:attr(data-l);position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--dsp);font-size:9px;letter-spacing:.14em;color:#000;font-weight:700}
@media (pointer:coarse),(max-width:900px){#cur{display:none}}

/* nav */
header{position:fixed;top:0;left:0;right:0;z-index:900;padding:22px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:transform .55s var(--ease),background .4s,padding .4s,backdrop-filter .4s}
header.hide{transform:translateY(-104%)}
header.solid{background:rgba(5,5,10,.82);backdrop-filter:blur(18px) saturate(1.4);
  padding-block:15px;border-bottom:1px solid var(--line)}
header .lg img{height:19px;width:auto;filter:brightness(0) invert(1)}
header nav{display:flex;gap:30px;font-family:var(--dsp);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:#B9B9C4;font-weight:500;align-items:center}
header nav a{position:relative;padding-block:4px;transition:color .3s}
header nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .45s var(--ease)}
header nav a:hover{color:#fff}header nav a:hover::after{width:100%}
header nav a.on{color:#fff}header nav a.on::after{width:100%}
header nav a.hot{color:var(--cyan)}
header nav a.hot::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--cyan);margin-right:8px;vertical-align:middle;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
header .rt{display:flex;align-items:center;gap:20px}
header .tel{font-family:var(--dsp);font-size:11px;letter-spacing:.14em;color:#B9B9C4}
header .cta{font-family:var(--dsp);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:#05050A;background:var(--gold);padding:12px 22px;border-radius:100px;
  transition:transform .4s var(--ease),box-shadow .4s}
header .cta:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(232,163,61,.4)}
@media(max-width:1180px){header nav,header .tel{display:none}}

/* botones */
.btn{position:relative;width:fit-content;display:inline-flex;align-items:center;justify-content:center;
  gap:14px;overflow:hidden;font-family:var(--dsp);font-size:clamp(11px,1vw,13px);letter-spacing:.22em;
  text-transform:uppercase;font-weight:700;color:#05050A;background:var(--gold);padding:20px 40px;
  border-radius:100px;line-height:1;transition:transform .45s var(--ease),box-shadow .45s;will-change:transform}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cyan),#7BE8D8);
  transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(232,163,61,.34)}
.btn:hover::before{transform:none}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.26)}
.btn.ghost::before{background:#fff}
.btn.ghost:hover{color:#05050A;box-shadow:none}

/* hero de página interior */
.phero{position:relative;padding:clamp(150px,17vh,210px) 0 clamp(50px,7vw,80px);overflow:hidden}
.phero .glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:120vw;height:90vh;
  background:radial-gradient(50% 50% at 50% 50%,rgba(232,163,61,.1),transparent 70%);pointer-events:none}
.phero h1{font-family:var(--dsp);font-weight:800;letter-spacing:-.042em;line-height:.93;
  font-size:clamp(38px,7vw,104px);margin:22px 0 24px}
.phero h1 em{font-style:normal;color:var(--gold)}

/* footer */
footer{border-top:1px solid var(--line);padding:clamp(52px,6vw,76px) 0 40px;background:#040408}
footer .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
@media(max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
footer img.lg{height:22px;filter:brightness(0) invert(1);opacity:.85;margin-bottom:18px}
footer .cols p{color:var(--dim);font-size:13px;font-weight:300;max-width:34ch}
footer h5{font-family:var(--dsp);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;font-weight:600}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer li a{font-size:13px;color:#9C9CA8;transition:color .3s}
footer li a:hover{color:#fff}
footer .bot{margin-top:48px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11.5px;color:#4E4E5A}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}
