:root{
  --black:#050506;
  --black-2:#090708;
  --black-3:#100a0d;
  --surface:#151014;
  --surface-2:#1c1117;
  --surface-3:#24131b;
  --wine-900:#3e0d22;
  --wine-800:#52112c;
  --wine-700:#681637;
  --wine-600:#7f2147;
  --wine-500:#98345b;
  --wine-400:#ae5778;
  --silver:#ddd6da;
  --silver-2:#c8bec3;
  --muted:#9e9298;
  --line:#3f2632;
  --line-strong:#6b334b;
  --shadow:0 26px 70px rgba(0,0,0,.52);
  --shadow-soft:0 14px 36px rgba(0,0,0,.36);
  --radius:26px;
  --container:1180px;
  --display:"Bodoni MT",Didot,"Didot LT STD","Times New Roman",serif;
  --body:Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  color:var(--silver);
  font-family:var(--body);
  line-height:1.55;
  background:
    radial-gradient(circle at 82% 7%,rgba(127,33,71,.22),transparent 25%),
    radial-gradient(circle at 11% 36%,rgba(82,17,44,.14),transparent 29%),
    linear-gradient(180deg,var(--black) 0%,var(--black-2) 48%,#080607 100%);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
body.menu-open{overflow:hidden}
.container{width:min(calc(100% - 42px),var(--container));margin-inline:auto}
.section-pad{padding:104px 0}
h1,h2,h3,p{margin-top:0}

/* Encabezado */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:linear-gradient(105deg,rgba(5,5,6,.98),rgba(26,8,16,.98) 56%,rgba(67,15,37,.98));
  border-bottom:1px solid rgba(152,52,91,.38);
  box-shadow:0 10px 34px rgba(0,0,0,.55);
  backdrop-filter:blur(16px);
}
.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo-frame{
  width:88px;
  height:66px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:var(--black);
  border:1px solid var(--line-strong);
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.brand-logo{width:100%;height:100%;object-fit:contain;object-position:center;padding:0;filter:none}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-family:var(--display);font-size:1.05rem;font-weight:600;letter-spacing:.035em;color:var(--silver)}
.brand-copy small{color:#a89ba2;font-size:.72rem;text-transform:uppercase;letter-spacing:.17em}
.main-nav{display:flex;align-items:center;gap:25px}
.main-nav a{position:relative;color:#d3ccd0;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;padding:9px 0}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--wine-500);transition:right .25s ease}
.main-nav a:hover:after{right:0}
.menu-toggle{display:none;background:none;border:0;padding:9px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:#c6bcc1;margin:5px 0;transition:.25s ease}

/* Portada */
.hero{
  padding-top:86px;
  min-height:calc(100vh - 84px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 80% 17%,rgba(152,52,91,.27),transparent 29%),
    radial-gradient(circle at 15% 78%,rgba(82,17,44,.18),transparent 31%),
    linear-gradient(135deg,#060607 0%,#0d080b 52%,#190a12 100%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:68px}
.eyebrow,.kicker{color:var(--wine-400);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}
.eyebrow:before{content:"";width:40px;height:1px;background:var(--wine-500)}
h1{font-family:var(--display);font-size:clamp(3.65rem,6.7vw,7rem);font-weight:500;line-height:.91;letter-spacing:-.035em;margin-bottom:28px;color:var(--silver)}
h1 span{display:block;background:linear-gradient(100deg,#d8d0d4 0%,#ad5577 36%,#c6b8bf 67%,#7e2b4b 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-family:var(--display);font-size:clamp(2.35rem,4.5vw,4.7rem);font-weight:500;line-height:.98;margin-bottom:0;color:var(--silver)}
.hero-lead{color:#b9afb4;font-size:1rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:24px}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.hero-pills span{border:1px solid #4c2939;border-radius:999px;padding:10px 14px;color:#bdb3b8;background:#120e11;font-size:.78rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{min-height:50px;padding:13px 18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:700;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.btn-primary{background:linear-gradient(105deg,var(--wine-800),var(--wine-600) 58%,#4a1028);color:#ded7da;border:1px solid #883052;box-shadow:0 14px 30px rgba(0,0,0,.42)}
.btn-primary:hover{transform:translateY(-2px);background:linear-gradient(105deg,#601433,#8c2b51);box-shadow:0 18px 36px rgba(0,0,0,.52)}
.btn-secondary{border:1px solid #5c3043;color:#c7bdc2;background:#100d0f}
.btn-secondary:hover{transform:translateY(-2px);border-color:var(--wine-500);box-shadow:var(--shadow-soft)}
.hero-visual{position:relative;min-height:560px;display:grid;place-items:center}
.logo-showcase{
  position:relative;
  width:min(100%,540px);
  aspect-ratio:613/550;
  overflow:hidden;
  background:var(--black);
  border:1px solid #6d2d49;
  border-radius:12px;
  box-shadow:0 0 0 1px rgba(116,31,66,.18),0 28px 74px rgba(0,0,0,.58),0 0 46px rgba(101,27,59,.18);
}
.logo-crop{position:absolute;inset:0;overflow:hidden;background:var(--black)}
.logo-crop img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none}
.logo-accent{position:absolute;right:-20%;bottom:8%;width:55%;height:1px;background:linear-gradient(90deg,transparent,var(--wine-500),transparent)}
.experience-orbit{position:absolute;right:-16px;bottom:5px;width:145px;height:145px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 35% 25%,#391523,#180c12 54%,#090708 100%);color:#d1c9cd;border:7px solid #5e2940;box-shadow:0 10px 34px rgba(0,0,0,.58)}
.experience-orbit strong{font-family:var(--display);font-size:3.2rem;line-height:.85}
.experience-orbit span{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:6px}
.hero-strip{margin-top:58px;padding-top:23px;border-top:1px solid #39232d;display:flex;justify-content:center;align-items:center;gap:26px;color:#a99da3;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem}
.hero-strip i{width:4px;height:4px;border-radius:50%;background:#873052}

/* Encabezados de sección */
.section-heading{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;margin-bottom:46px}
.section-index{width:46px;height:46px;border:1px solid #5c3043;display:grid;place-items:center;color:#b25578;font-size:.7rem;letter-spacing:.08em;background:#151014}
.section-heading .kicker{margin:3px 0 12px}

/* Perfil */
.intro,.modalities{background:linear-gradient(180deg,#090809,#10090d)}
.intro-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:54px;align-items:start}
.profile-presentation{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);gap:30px;align-items:center}
.profile-photo-frame{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:360px;
  aspect-ratio:3/4;
  margin:0;
  border-radius:26px;
  overflow:hidden;
  background:#111013;
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 22px 7px rgba(255,255,255,.52),0 0 52px 15px rgba(255,255,255,.22),0 24px 56px rgba(0,0,0,.58);
}
.profile-photo-frame:before{content:"";position:absolute;inset:-5px;z-index:2;pointer-events:none;border-radius:30px;box-shadow:inset 0 0 24px rgba(255,255,255,.42),inset 0 0 54px rgba(255,255,255,.14)}
.profile-photo-frame:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:25px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 7%,transparent 93%,rgba(255,255,255,.12)),linear-gradient(180deg,rgba(255,255,255,.10),transparent 8%,transparent 92%,rgba(255,255,255,.10));mix-blend-mode:screen}
.profile-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.intro-panel{border:1px solid #402734;background:linear-gradient(150deg,#151216,#1c1117);padding:44px;border-radius:var(--radius);box-shadow:var(--shadow)}
.intro-name{font-family:var(--display);font-size:clamp(2rem,3vw,3.2rem);color:#d8d1d4;line-height:1.06;margin-bottom:32px}
.intro-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #402734}
.intro-facts>div{padding:23px 20px 0 0}
.fact-label{display:block;color:#9e9298;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;margin-bottom:7px}
.intro-facts strong{display:block;color:#d1c9cd;font-size:.95rem}

/* Áreas */
.areas{background:linear-gradient(180deg,#080708,#0b080a)}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.area-card{position:relative;min-height:310px;padding:28px;border:1px solid #3c2631;background:linear-gradient(160deg,#151216,#21131a);overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;box-shadow:0 12px 34px rgba(0,0,0,.32)}
.area-card:hover{transform:translateY(-6px);border-color:#7d3653;box-shadow:0 22px 46px rgba(0,0,0,.48)}
.area-no{position:absolute;right:20px;top:19px;color:#8f7983;font-size:.68rem;letter-spacing:.12em}
.area-icon{font-family:var(--display);font-size:6.5rem;line-height:1;margin-top:55px;background:linear-gradient(145deg,#c0afb7,#8e365a 55%,#552039);-webkit-background-clip:text;background-clip:text;color:transparent}
.area-card h3{font-family:var(--display);font-size:2rem;font-weight:500;margin:20px 0 15px;color:#d8d1d4}
.area-line{display:block;width:58px;height:1px;background:#843151}

/* Experiencia */
.experience{background:#080708}
.experience-box{position:relative;min-height:340px;padding:54px;border:1px solid #71324c;background:linear-gradient(118deg,#13080e 0%,#451126 52%,#6d1c3e 100%);display:grid;grid-template-columns:.7fr 1.3fr .6fr;gap:40px;align-items:center;overflow:hidden;box-shadow:var(--shadow)}
.experience-box:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(164,70,107,.23);border-radius:50%;right:-120px;top:-120px}
.experience-number{font-family:var(--display);font-size:clamp(7rem,12vw,12rem);line-height:.75;background:linear-gradient(135deg,#d1c8cc,#9b4c6b 50%,#dbcfd4);-webkit-background-clip:text;background-clip:text;color:transparent}
.experience-copy{position:relative;z-index:2}
.experience-copy .kicker{margin-bottom:14px}
.experience-copy h2,.experience-copy p:last-child,.experience-side{color:#dcd5d8}
.experience-copy p:last-child{margin:20px 0 0;color:#c1b5bb}
.experience-side{position:relative;z-index:2;border-left:1px solid rgba(172,86,120,.38);padding-left:28px;text-transform:uppercase;letter-spacing:.15em;font-size:.76rem;line-height:1.9}

/* Modalidades */
.modality-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.modality-card{padding:36px;min-height:210px;border:1px solid #3d2732;background:linear-gradient(145deg,#151216,#20131a);display:flex;align-items:center;gap:28px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;box-shadow:0 12px 32px rgba(0,0,0,.32)}
.modality-card:hover{transform:translateY(-4px);border-color:#78354f;box-shadow:0 18px 38px rgba(0,0,0,.46)}
.modality-mark{width:86px;height:86px;flex:0 0 auto;border:1px solid #623248;display:grid;place-items:center;font-family:var(--display);font-size:3.2rem;color:#d8d1d4;background:radial-gradient(circle,#24141c,#100c0f)}
.modality-card p{margin-bottom:6px;color:#a99ea3;text-transform:uppercase;letter-spacing:.13em;font-size:.67rem}
.modality-card h3{font-family:var(--display);font-size:2.1rem;font-weight:500;color:#d8d1d4;margin-bottom:7px}
.modality-card div>span{color:#a99ea3;font-size:.88rem}

/* Horario */
.schedule{background:linear-gradient(180deg,#080708,#0d080b)}
.schedule-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.schedule-visual{display:grid;place-items:center}
.clock-face{width:min(78vw,330px);aspect-ratio:1;border-radius:50%;border:1px solid #653349;position:relative;background:#131014;box-shadow:inset 0 0 0 20px #0b090b,0 18px 54px rgba(0,0,0,.50)}
.clock-face:before,.clock-face:after{content:"";position:absolute;background:#4d2b3a;left:50%;top:14px;bottom:14px;width:1px}
.clock-face:after{transform:rotate(90deg)}
.clock-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#9a355d;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3}
.clock-hand{position:absolute;left:50%;top:50%;transform-origin:0 50%;height:2px;background:#b1587a;box-shadow:0 0 9px rgba(154,53,93,.35)}
.hand-one{width:90px;transform:rotate(-90deg)}
.hand-two{width:72px;transform:rotate(25deg)}
.schedule-copy .kicker{margin-bottom:14px}
.schedule-time{font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;color:#ddd6da;margin:28px 0 0}
.schedule-time span{color:#8e6c7a}

/* Contacto */
.contact{background:#080708}
.contact-box{padding:58px;border:1px solid #71324d;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:40px;background:linear-gradient(135deg,#0d090b 0%,#3c0e22 54%,#6b1b3d 100%);box-shadow:var(--shadow)}
.contact-copy .kicker{margin-bottom:14px}
.contact-copy h2,.contact-action>span{color:#d8d1d4}
.contact-details{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}
.contact-details span{color:#c7bec2;border:1px solid #65374a;background:#1a1116;border-radius:999px;padding:9px 12px;font-size:.75rem}
.contact-action{border-left:1px solid #603046;padding-left:36px;display:flex;flex-direction:column;align-items:flex-start}
.contact-action>span{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;margin-bottom:9px}
.contact-action .phone{font-family:var(--display);font-size:clamp(1.8rem,2.8vw,3rem);line-height:1;color:#dedadd;margin-bottom:24px}
.contact-action .btn-primary{width:100%}

/* Pie y WhatsApp */
.site-footer{padding:34px 0 44px;border-top:1px solid #4b2637;background:linear-gradient(100deg,#060607,#180b11 58%,#3c0e22)}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;color:#d2cbce}
.footer-grid>div:first-child,.footer-right{display:flex;flex-direction:column}
.footer-grid strong,.footer-right a{font-family:var(--display);font-weight:500;color:#d2cbce}
.footer-grid span,.footer-center{color:#9f9399;font-size:.74rem;letter-spacing:.07em}
.footer-center{text-align:center;text-transform:uppercase}
.footer-right{text-align:right;align-items:flex-end}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;padding:14px;background:linear-gradient(145deg,#5a1330,#8a2a52);color:#dcd7d9;box-shadow:0 12px 35px rgba(0,0,0,.52);transition:transform .25s ease,background .25s ease}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);background:linear-gradient(145deg,#6b1738,#9a355d)}
.whatsapp-float svg{width:100%;height:100%;fill:currentColor}

/* Animación progresiva: el contenido es visible si JS no carga */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .section-pad{padding:84px 0}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero{padding-top:70px}
  .hero-copy{max-width:780px}
  .hero-visual{min-height:auto;padding:8px 0 30px}
  .logo-showcase{width:min(100%,560px)}
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .profile-presentation{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr)}
  .area-grid{grid-template-columns:repeat(2,1fr)}
  .experience-box{grid-template-columns:.75fr 1.25fr;padding:46px}
  .experience-side{grid-column:2}
  .schedule-grid{gap:42px}
  .contact-box{grid-template-columns:1fr}
  .contact-action{border-left:0;border-top:1px solid #603046;padding:28px 0 0}
  .contact-action .btn-primary{width:auto}
}

@media(max-width:760px){
  .container{width:min(calc(100% - 30px),var(--container))}
  .section-pad{padding:70px 0}
  .nav-wrap{min-height:76px}
  .brand-logo-frame{width:72px;height:56px}
  .brand-copy strong{font-size:.93rem}
  .brand-copy small{font-size:.63rem}
  .menu-toggle{display:block;position:relative;z-index:92}
  .js .main-nav{display:none;position:absolute;left:0;right:0;top:76px;padding:14px 22px 24px;background:rgba(8,7,8,.995);border-top:1px solid #472433;box-shadow:0 22px 45px rgba(0,0,0,.62)}
  .js .main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .js .main-nav a{color:#d9d3d6;border-bottom:1px solid #37232c;padding:15px 0}
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  h1{font-size:clamp(3rem,15vw,5rem)}
  .hero{min-height:auto;padding-top:58px}
  .hero-grid{gap:34px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .hero-visual{padding-right:10px}
  .experience-orbit{width:112px;height:112px;right:-6px;bottom:-6px;border-width:5px}
  .experience-orbit strong{font-size:2.5rem}
  .experience-orbit span{font-size:.56rem}
  .hero-strip{gap:13px;flex-wrap:wrap}
  .section-heading{grid-template-columns:48px 1fr;gap:14px;margin-bottom:34px}
  .section-index{width:40px;height:40px}
  .profile-presentation{grid-template-columns:1fr;gap:34px}
  .profile-photo-frame{max-width:420px;margin-inline:auto}
  .intro-panel{padding:30px 24px}
  .intro-facts{grid-template-columns:1fr}
  .intro-facts>div{padding:17px 0;border-bottom:1px solid #35232c}
  .intro-facts>div:last-child{border-bottom:0}
  .area-grid{grid-template-columns:1fr}
  .area-card{min-height:235px}
  .area-icon{margin-top:30px}
  .experience-box{grid-template-columns:1fr;padding:36px 28px;gap:28px}
  .experience-number{font-size:8rem}
  .experience-side{grid-column:auto;border-left:0;border-top:1px solid rgba(172,86,120,.38);padding:20px 0 0}
  .modality-grid{grid-template-columns:1fr}
  .modality-card{padding:28px 24px;min-height:170px}
  .modality-mark{width:72px;height:72px;font-size:2.6rem}
  .schedule-grid{grid-template-columns:1fr;gap:38px}
  .clock-face{width:min(82vw,280px)}
  .contact-box{padding:36px 25px}
  .contact-details{flex-direction:column;align-items:flex-start}
  .contact-action .btn-primary{width:100%}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-right{align-items:center;text-align:center}
  .footer-center{order:3}
}

@media(max-width:420px){
  .brand-copy strong{font-size:.84rem}
  .brand-copy small{display:none}
  .brand-logo-frame{width:64px;height:51px}
  .hero-pills{flex-direction:column}
  .hero-pills span{text-align:center}
  .logo-showcase{border-radius:8px}
  .experience-orbit{width:96px;height:96px}
  .experience-orbit strong{font-size:2.1rem}
  .experience-orbit span{font-size:.49rem}
  .section-pad{padding:60px 0}
  .contact-action .phone{font-size:1.85rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
  .js .reveal{opacity:1;transform:none}
}
