/* Lilianys Parra Studio Group LLC — lila + dorado */
:root{
  --lila-50:#faf7ff;
  --lila-100:#f1eafd;
  --lila-200:#e0d2f7;
  --lila-300:#c9aef0;
  --lila-500:#9b7ed9;
  --lila-700:#6d4fa1;
  --lila-900:#3d2b57;
  --gold:#c9a227;
  --gold-light:#e6c860;
  --ink:#2e2438;
  --muted:#7a6f8a;
  --white:#ffffff;
  --wa:#25d366;
  --shadow:0 18px 40px rgba(61,43,87,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,sans-serif;color:var(--ink);background:var(--lila-50);line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--lila-700)}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.section{padding:84px 0}
.section-alt{background:linear-gradient(180deg,#fff, var(--lila-100))}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--lila-900)}

/* ---------- botones ---------- */
.btn{display:inline-block;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:1rem;font-weight:500;letter-spacing:.04em;padding:13px 28px;border-radius:999px;text-decoration:none;transition:transform .25s ease, box-shadow .25s ease, background .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#fff;box-shadow:0 10px 24px rgba(201,162,39,.35)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(4px)}
.btn-outline{background:transparent;color:var(--lila-700);border:1.5px solid var(--lila-300)}
.btn-whatsapp{background:var(--wa);color:#fff;box-shadow:0 10px 24px rgba(37,211,102,.35)}
.btn-plain{background:transparent;color:var(--muted);box-shadow:none}
.btn-sm{padding:9px 20px;font-size:.92rem}
.btn-block{display:block;width:100%;text-align:center;margin-top:10px}

/* ---------- encabezado ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(250,247,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--lila-200)}
.header-inner{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:26px}
.brand{text-decoration:none;line-height:1.05;margin-right:auto}
.brand-name{display:block;font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;letter-spacing:.14em;color:var(--lila-900)}
.brand-sub{display:block;font-size:.72rem;letter-spacing:.42em;color:var(--gold);font-weight:600}
.main-nav{display:flex;gap:26px}
.main-nav a{text-decoration:none;color:var(--ink);font-size:.98rem;letter-spacing:.03em}
.main-nav a:hover{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--lila-900);cursor:pointer}

/* ---------- hero ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--lila-900)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,29,66,.88) 0%,rgba(61,43,87,.62) 42%,rgba(61,43,87,.08) 75%)}
.hero-content{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:110px 22px;width:100%;color:#fff}
.hero-eyebrow{letter-spacing:.34em;text-transform:uppercase;font-size:.8rem;color:var(--gold-light);margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(2.7rem,6.2vw,4.6rem);line-height:1.04;max-width:11em}
.hero-sub{margin:22px 0 34px;font-size:1.16rem;font-weight:300;max-width:34em;color:#efe9fa}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- banda Instagram ---------- */
.ig-band{background:#fff;border-bottom:1px solid var(--lila-200);padding:26px 0 30px;overflow:hidden}
.ig-band-head{max-width:1120px;margin:0 auto;padding:0 22px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.ig-band-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--lila-900)}
.ig-band-handle{color:var(--gold);font-weight:600;text-decoration:none;letter-spacing:.03em}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marquee-track{display:flex;gap:14px;width:max-content;animation:marquee 55s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track a{flex:0 0 auto}
.marquee-track img{width:190px;height:238px;object-fit:cover;border-radius:14px;box-shadow:0 8px 20px rgba(61,43,87,.14)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- divisiones ---------- */
.divisions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;padding:30px 18px 4px;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lila-700)}
.divisions i{color:var(--gold);font-style:normal}

/* ---------- secciones ---------- */
.section-eyebrow{letter-spacing:.34em;text-transform:uppercase;font-size:.78rem;color:var(--gold);font-weight:600;text-align:center}
.section-title{font-size:clamp(2rem,4vw,2.9rem);text-align:center;margin:8px 0 14px}
.section-title.left,.section-lead.left{text-align:left}
.section-lead{text-align:center;color:var(--muted);max-width:44em;margin:0 auto 40px;font-weight:300;font-size:1.06rem}
.courses-title{font-size:1.7rem;text-align:center;margin:44px 0 10px}

/* ---------- servicios ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.svc-cat{background:#fff;border:1px solid var(--lila-200);border-radius:20px;padding:28px 26px;box-shadow:0 10px 26px rgba(61,43,87,.06)}
.svc-cat h3{font-size:1.5rem;margin-bottom:14px;color:var(--lila-700)}
.svc-cat h3.svc-sub{margin-top:26px}
.svc-list{list-style:none}
.svc-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dashed var(--lila-200)}
.svc-list li:last-child{border-bottom:none}
.svc-list strong{display:block;font-weight:500;font-size:1rem}
.svc-list span{display:block;color:var(--muted);font-size:.86rem;font-weight:300}
.svc-list em{font-style:normal;color:var(--gold);font-weight:600;white-space:nowrap}
.svc-note{margin-top:22px;background:var(--lila-100);border-radius:14px;padding:16px}
.svc-note p{font-size:.94rem;color:var(--lila-900);margin-bottom:12px;font-weight:300}

/* ---------- galería ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.gallery img{width:100%;height:300px;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(61,43,87,.12);transition:transform .35s ease}
.gallery img:hover{transform:scale(1.03)}

/* ---------- academia ---------- */
.academy-badge{text-align:center;background:linear-gradient(135deg,var(--lila-900),var(--lila-700));color:#fff;border-radius:22px;padding:34px 26px;box-shadow:var(--shadow)}
.badge-title{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3.4vw,2.2rem);color:var(--gold-light)}
.badge-sub{display:block;margin-top:8px;font-weight:300;color:#efe9fa}
.courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-top:8px}
.course-card{background:#fff;border:1px solid var(--lila-200);border-radius:18px;overflow:hidden;cursor:pointer;padding:0;font-family:'Jost',sans-serif;box-shadow:0 10px 24px rgba(61,43,87,.08);transition:transform .3s ease, box-shadow .3s ease;text-align:center}
.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.course-card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.course-card span{display:block;padding:13px 10px;font-weight:500;color:var(--lila-900);font-size:.98rem}

/* ---------- alquiler ---------- */
.rental-points{list-style:none;margin:6px 0 26px}
.rental{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center}
.rental-photo{position:relative;margin:0}
.rental-photo img{width:100%;height:100%;max-height:540px;object-fit:cover;border-radius:22px;box-shadow:0 18px 40px rgba(61,43,87,.18);display:block}
.rental-badge{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);color:var(--lila-900);font-weight:600;padding:9px 16px;border-radius:999px;box-shadow:0 8px 20px rgba(61,43,87,.18)}
.rental-actions{display:flex;gap:12px;flex-wrap:wrap}
.rental-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.rental-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(61,43,87,.12);display:block}
.rental-strip video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(61,43,87,.12);display:block;background:#241a38}
.rental-caption{text-align:center;color:var(--muted);margin-top:16px;font-size:.98rem}
.tour-caption{font-family:"Cormorant Garamond",serif;font-size:1.7rem;text-align:center;margin:44px 0 18px;color:var(--ink)}
@media (max-width:820px){.rental-strip{grid-template-columns:repeat(2,1fr)}}
@media (min-width:821px){.rental-strip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.rental{grid-template-columns:1fr}.rental-photo img{max-height:380px}}
.rental-points li{padding:7px 0;font-size:1.08rem;font-weight:300}
.rental-points strong{color:var(--gold);font-weight:600}

/* ---------- reseña ---------- */
.review{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--lila-200);border-radius:22px;padding:38px 36px;box-shadow:0 12px 30px rgba(61,43,87,.08);text-align:center}
.review .stars{color:var(--gold);font-size:1.3rem;letter-spacing:.3em;margin-bottom:16px}
.review p{font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-style:italic;color:var(--lila-900)}
.review footer{margin-top:18px;color:var(--muted);font-size:.92rem}

/* ---------- horario / faq ---------- */
.open-pill{display:inline-block;vertical-align:middle;font-family:'Jost',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.05em;padding:5px 14px;border-radius:999px;background:var(--lila-200);color:var(--lila-900);margin-left:10px}
.open-pill.open{background:#dff7e8;color:#157347}
.open-pill.closed{background:#fbe3e3;color:#b02a2a}
.hours{max-width:720px;margin:0 auto 10px;background:#fff;border:1px solid var(--lila-200);border-radius:18px;padding:12px 28px}
.hours-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed var(--lila-200);flex-wrap:wrap}
.hours-row:last-child{border-bottom:none}
.hours-row span{color:var(--muted)}
.hours-row strong{font-weight:500}
.faq{max-width:720px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--lila-200);border-radius:14px;padding:16px 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:500;color:var(--lila-900)}
.faq p{margin-top:8px;color:var(--muted);font-weight:300}

/* ---------- visítanos ---------- */
.visit{text-align:left;max-width:720px}
.visit-addr{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--lila-900);margin:10px 0 14px}
.visit-note{font-size:1.05rem;color:var(--muted)}
.visit-tel,.visit-mail{font-size:1.1rem;margin:6px 0}
.visit-tel a{font-weight:600;color:var(--gold);text-decoration:none;font-size:1.25rem}
.visit-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 20px}
.socials{display:flex;gap:20px}
.socials a{color:var(--lila-700);font-weight:500;text-decoration:none}
.socials a:hover{color:var(--gold)}

/* ---------- pie ---------- */
.site-footer{background:var(--lila-900);color:#cfc2e6;text-align:center;padding:44px 22px}
.footer-brand{font-family:'Cormorant Garamond',serif;letter-spacing:.2em;color:#fff;font-size:1.15rem;margin-bottom:8px}
.footer-small{margin-top:10px;font-size:.85rem;color:#a894c9}

/* ---------- modales ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(43,29,66,.62);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:18px}
.modal-backdrop[hidden]{display:none}
.modal{background:#fff;border-radius:22px;max-width:440px;width:100%;padding:32px 28px;position:relative;box-shadow:var(--shadow);max-height:92vh;overflow-y:auto}
.modal h3{font-size:1.8rem;margin-bottom:14px;padding-right:30px}
.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.8rem;color:var(--muted);cursor:pointer;line-height:1}
.modal-list{list-style:none;margin:6px 0 14px}
.modal-list li{padding:8px 0 8px 24px;position:relative;font-weight:300;border-bottom:1px dashed var(--lila-200)}
.modal-list li:last-child{border-bottom:none}
.modal-list li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
.modal-list strong{font-weight:600}
.modal-course{max-width:480px}
.course-modal-img{width:100%;border-radius:14px;margin-bottom:16px}
.course-modal-sub{letter-spacing:.26em;text-transform:uppercase;font-size:.75rem;color:var(--gold);font-weight:600;margin-bottom:6px}

/* ---------- animaciones ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}
.hero .reveal{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:16px 22px;gap:14px;border-bottom:1px solid var(--lila-200);box-shadow:var(--shadow)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .site-header{position:sticky}
  .header-inner{position:relative}
  .hero{min-height:86vh}
  .hero-shade{background:linear-gradient(180deg,rgba(43,29,66,.55),rgba(43,29,66,.88))}
  .marquee-track img{width:150px;height:188px}
  .section{padding:60px 0}
}

/* ---------- conoce el estudio / academia ---------- */
.tour-wrap{display:flex;justify-content:center}
.tour-video{width:min(340px,84vw);aspect-ratio:9/16;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);background:#241a38;display:block}
.academy-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 6px}
.academy-photos img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;box-shadow:0 10px 24px rgba(61,43,87,.12);display:block}
@media (max-width:640px){.academy-photos{grid-template-columns:1fr}}
