:root{
--bg:#fff;
--panel:#ffffff;
--soft:#fff6fb;
--accent1:#ffd9ea;
--accent2:#e0c3ff;
--accent3:#ffb3d6;
--fg:#231b2b;
--muted:#7a6f82;
--glass:rgba(255,255,255,0.7);
--shadow-1:0 10px 30px rgba(17,12,20,0.08);
--shadow-2:0 20px 40px rgba(17,12,20,0.10);
--radius:16px;
--backdrop:rgba(255,255,255,0.6);
--accent-border:linear-gradient(90deg,var(--accent1),var(--accent2));
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--fg);background:linear-gradient(180deg,#fff 0%,#fff8fb 100%);-webkit-font-smoothing:antialiased}
.topbar{position:fixed;left:0;right:0;top:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(18,12,18,0.04);backdrop-filter:blur(6px);z-index:80;background:linear-gradient(180deg,rgba(255,255,255,0.7),rgba(255,255,255,0.5))}
.brand{display:flex;flex-direction:column}
.brand .logo{font-weight:700;font-size:18px;background:var(--accent-border);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .subtitle{font-size:12px;color:var(--muted);margin-top:4px}
.top-contacts{display:flex;gap:8px;align-items:center}
.tiny-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,0.85),rgba(255,255,255,0.6));box-shadow:var(--shadow-1);text-decoration:none;color:var(--fg);font-size:18px}
.sidebar{position:fixed;left:20px;top:96px;width:220px;height:calc(100vh - 116px);background:linear-gradient(180deg,rgba(255,255,255,0.85),rgba(255,246,250,0.9));backdrop-filter:blur(8px);border-radius:14px;padding:14px;box-shadow:var(--shadow-2);display:flex;flex-direction:column;justify-content:space-between;z-index:100;transition:transform .35s ease;}
.menu-toggle {  display:none;  background:none;  border:none;  cursor:pointer;  color:var(--fg);  font-size:28px; z-index: 10000; position: absolute;}
.logo-btn{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:6px;border-radius:10px;cursor:pointer}
.logo-mini{width:44px;height:44px;border-radius:10px;background:linear-gradient(90deg,var(--accent1),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;color:#3b2b3f}
.menu{list-style:none;padding:8px 0;margin:6px 0 0 0}
.menu li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;cursor:pointer;color:var(--fg);transition:all .28s cubic-bezier(.2,.9,.2,1)}
.menu li .material-symbols-outlined{font-size:20px}
.menu li .txt{font-weight:600;font-size:14px}
.menu li:hover{transform:translateX(6px);box-shadow:0 6px 20px rgba(57,35,80,0.06);background:linear-gradient(90deg,rgba(255,203,231,0.6),rgba(224,195,255,0.6))}
.menu li.active{background:linear-gradient(90deg,rgba(255,203,231,0.8),rgba(224,195,255,0.8));box-shadow:0 12px 30px rgba(224,195,255,0.12)}
.sidebar-bottom{display:flex;justify-content:center;padding-top:8px}
.setting{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;text-decoration:none;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.85));box-shadow:0 8px 22px rgba(17,12,20,0.06);color:var(--fg);font-weight:600}
.canvas{margin-left:260px;padding:110px 56px 90px;min-height:100vh;transition:all .32s ease}
.page{display:none;opacity:0;transform:translateY(12px);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.9,.2,1)}
.page.active{display:block;opacity:1;transform:none}
.container{max-width:1200px;margin:0 auto}
.hero-card{display:flex;gap:32px;background:linear-gradient(180deg,rgba(255,249,252,0.85),rgba(255,245,250,0.9));padding:28px;border-radius:18px;box-shadow:var(--shadow-2);align-items:center}
.hero-left{flex:1}
.hero-title{font-size:34px;margin:0 0 10px;background:linear-gradient(90deg,var(--accent2),var(--accent3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{color:var(--muted);margin-bottom:16px}
.hero-ctas{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.btn-primary{background:linear-gradient(90deg,var(--accent2),var(--accent3));border:none;padding:12px 16px;border-radius:12px;color:white;font-weight:700;cursor:pointer;box-shadow:0 12px 30px rgba(224,195,255,0.16)}
.btn-ghost{background:transparent;border:1px solid rgba(36,20,30,0.06);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600}
.features{display:flex;gap:12px;margin-top:10px}
.feature{display:flex;gap:12px;align-items:flex-start}
.f-icon{width:54px;height:54px;border-radius:12px;background:linear-gradient(180deg,rgba(255,210,234,0.9),rgba(224,195,255,0.9));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(195,150,220,0.08)}
.f-icon .material-symbols-outlined{font-size:22px;color:#41183b}
.f-txt h4{margin:0;font-size:15px}
.hero-right{width:360px}
.art-card{position:relative;border-radius:14px;height:260px;background:linear-gradient(180deg,#fff,#fff6fb);box-shadow:0 20px 50px rgba(224,195,255,0.14);overflow:hidden;display:flex;align-items:center;justify-content:center}
.art-glow{position:absolute;right:-40px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#ffd9ea,transparent 40%);filter:blur(36px);opacity:0.95}
.art-content{position:relative;z-index:2;border-radius:10%;}
.portrait{width:170px;border-radius:10%;display:block;box-shadow:0 12px 36px rgba(34,22,40,0.06)}
.section-card{padding:28px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,249,252,0.92));box-shadow:var(--shadow-1)}
.section-title{font-size:22px;margin-bottom:18px;color:var(--fg)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{padding:18px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.9));box-shadow:var(--shadow-1)}
.glass{border:1px solid rgba(255,203,231,0.6)}
.stacked .cards-row{display:flex;gap:10px;margin-top:12px}
.tiny-card{flex:1;padding:12px;border-radius:10px;background:linear-gradient(180deg,rgba(255,241,246,0.7),rgba(255,250,250,0.6));box-shadow:0 8px 20px rgba(224,195,255,0.06)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{padding:18px;border-radius:14px;background:linear-gradient(180deg,rgba(255,250,250,0.9),rgba(255,245,250,0.9));box-shadow:var(--shadow-1)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tag{font-size:12px;color:var(--muted);background:linear-gradient(90deg,rgba(224,195,255,0.18),rgba(255,203,231,0.12));padding:6px 8px;border-radius:10px}
.vlog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:12px}
.vlog-item{padding:12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(255,249,252,0.95));box-shadow:0 10px 30px rgba(34,22,40,0.04)}
.vlog-item video{width:100%;border-radius:8px;margin-top:10px}
.contact-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}
.contact-form input, .contact-form select, .contact-form textarea{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(34,22,40,0.06);margin-bottom:10px;background:transparent}
.lbl{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.form-row{display:flex;gap:10px;align-items:center}
.compact-socials{display:flex;flex-direction:column;gap:10px}
.social-pill{display:inline-flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;text-decoration:none;background:linear-gradient(90deg,rgba(255,203,231,0.6),rgba(224,195,255,0.6));color:var(--fg);font-weight:600}
.small-cta{margin-top:18px}
.muted{color:var(--muted);font-size:13px}
.site-footer{margin-top:30px;padding:20px 0;text-align:center;color:var(--muted)}
.propuesta {background-position: center; background-repeat: no-repeat; background-size: cover; background-image: linear-gradient(rgba(0, 0, 0, 0.6), transparent), url(../adultos.png); }
.propuesta h3, .propp {color: white; }
.login-page{display: flex; justify-content: center; align-items: center;}
.vlog-item img,
.vlog-item video {  max-width: 100%;  height: auto;  display: block;  border-radius: 12px;  object-fit: cover;  max-height: 400px; /* límite vertical: puedes ajustarlo */}
.services {background-position: center; background-repeat: no-repeat; background-size: cover; background-image: linear-gradient(rgba(0, 0, 0, 0.6), transparent), url(../jovenes.png);}
.toast{position:fixed;right:24px;bottom:24px;padding:12px 16px;border-radius:10px;background:#fff;color:var(--fg);box-shadow:0 10px 30px rgba(34,22,40,0.06);display:none}
@media (max-width:1100px){.canvas{margin-left:0;padding:110px 20px}.sidebar{position:fixed;left:12px;top:86px;width:68px;padding:10px}.menu li .txt{display:none}.menu li{justify-content:center;padding:12px;border-radius:12px}.logo-mini{width:44px;height:44px}.contact-layout{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.hero-right{display:none}}
@media (max-width:600px){.topbar{padding:8px}.canvas{padding:90px 14px}.tiny-icon{width:36px;height:36px}}
@media (max-width:1100px){.menu-toggle{display:block;}.sidebar{    left:0;    top:0;    width:240px;    height:100vh;    border-radius:0;    transform:translateX(-100%);}.sidebar.open{transform:translateX(0);}.canvas{margin-left:0;padding:110px 20px;}}
@media (max-width:1100px){
  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: 240px;
    height: 100vh;
    border-radius: 0;
    transform: translateX(-100%);
    transition: transform .35s ease;
    z-index: 9999;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .canvas {
    margin-left: 0;
    padding: 100px 20px;
  }
}
