@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Space+Grotesk:wght@500;700;800&display=swap";:root{--primary-pink:#a855f7;--primary-pink-hover:#9333ea;--primary-pink-light:#faf5ff;--primary-blue:#3b82f6;--primary-blue-hover:#2563eb;--primary-blue-light:#eff6ff;--text-main:#1f2937;--text-muted:#6b7280;--bg-main:#fff;--bg-secondary:#f9fafb;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--transition:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--primary-pink);outline-offset:2px}body{color:var(--text-main);background-color:var(--bg-main);-webkit-font-smoothing:antialiased;font-family:Outfit,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-family:Playfair Display,serif;line-height:1.2}h1{margin-bottom:1rem;font-family:Playfair Display,serif;font-size:3rem;font-weight:700}h2{margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:2.25rem;font-weight:600}h3{margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}p{color:var(--text-muted);margin-bottom:1rem}.logo{letter-spacing:-1px;color:var(--text-main);align-items:center;gap:12px;font-family:Space Grotesk,sans-serif;font-weight:800;display:flex}.logo span{background:linear-gradient(135deg,#a855f7,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.icon-animated{transition:var(--transition);justify-content:center;align-items:center;display:flex}.icon-animated:hover{color:var(--primary-pink-hover);transform:scale(1.08)}.site-header{padding-top:1.25rem;padding-bottom:1.25rem}.site-footer{background:linear-gradient(180deg, #fff, var(--primary-pink-light));border-top:1px solid var(--border-color);color:var(--text-muted);margin-top:4rem}.site-footer-inner{grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding:3.5rem 2rem 2.5rem;display:grid}.site-footer-brand p{color:var(--text-muted);max-width:320px;margin-bottom:0;font-size:.9rem}.site-footer-col h4{color:var(--text-main);margin-bottom:1.1rem;font-family:Space Grotesk,sans-serif;font-size:1rem}.site-footer-col a,.site-footer-col span{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:.85rem;font-size:.9rem;text-decoration:none;transition:color .2s;display:flex}.site-footer-col a:hover{color:var(--primary-pink)}.site-footer-bottom{border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);padding:1.25rem 1rem;font-size:.8rem}@media (width<=768px){.site-footer-inner{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem 2rem}}.animated-gradient-text{background:linear-gradient(135deg,#a855f7,#f472b6,#3b82f6);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.infinite-carousel{width:max-content;height:100%;animation:35s linear infinite scrollMarquee;display:flex}@keyframes scrollMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animated-gradient-btn{background:linear-gradient(135deg, var(--primary-pink), var(--primary-blue));border:none;transition:transform .3s,box-shadow .3s;color:#fff!important}.animated-gradient-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #a855f74d}.floating-whatsapp{z-index:1000;color:#a855f7;background:#fff;border-radius:50px;justify-content:center;align-items:center;padding:1rem;text-decoration:none;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 25px #00000026}@keyframes slideText{0%,25%{opacity:0;max-width:0;margin-left:0}35%,75%{opacity:1;max-width:150px;margin-left:8px}85%,to{opacity:0;max-width:0;margin-left:0}}.floating-whatsapp-text{white-space:nowrap;color:#1a1a2e;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;animation:5s cubic-bezier(.65,0,.35,1) infinite slideText;overflow:hidden}@media (width<=768px){.floating-whatsapp{padding:.8rem;bottom:1.5rem;right:1.5rem}}.drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer-menu{z-index:2001;background:#fff;flex-direction:column;width:85%;max-width:380px;height:100vh;padding:3rem 2rem;transition:right .4s cubic-bezier(.65,0,.35,1);display:flex;position:fixed;top:0;right:-100%;box-shadow:-10px 0 30px #0000001a}.drawer-menu.open{right:0}.drawer-close{color:#1a1a2e;cursor:pointer;background:0 0;border:none;padding:.5rem;position:absolute;top:1.5rem;right:1.5rem}.drawer-nav{flex-direction:column;gap:2rem;margin-top:3rem;display:flex}.drawer-nav a{color:#1a1a2e;cursor:pointer;align-items:center;gap:.5rem;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s;display:flex}.drawer-nav a:hover{color:var(--primary-pink)}.drawer-nav a.courses-link{background:linear-gradient(135deg,#a855f7,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.badge-nuevo{color:#fff;letter-spacing:1px;-webkit-text-fill-color:white;background:#f472b6;border-radius:50px;padding:.2rem .5rem;font-family:Outfit,sans-serif;font-size:.7rem}.course-card{border:1px solid var(--border-color);background:#fff;border-radius:1.5rem;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 10px 30px #0000000d}.course-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #a855f726}.course-card img{object-fit:cover;width:100%;height:220px}.course-card-content{padding:2rem}.course-card-featured{grid-template-columns:1fr 1.1fr;display:grid}.course-card-featured img{height:100%;min-height:260px}@media (width<=768px){.course-card-featured{grid-template-columns:1fr}.course-card-featured img{height:220px}}.btn{cursor:pointer;transition:var(--transition);border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-pink), var(--primary-blue));color:#fff}.btn-primary:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline{color:var(--text-main);border:2px solid var(--border-color);background:0 0}.btn-outline:hover{border-color:var(--primary-pink);color:var(--primary-pink)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.card{box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition);background:#fff;border-radius:1rem;padding:2rem}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-pink-light);transform:translateY(-4px)}.input-group{margin-bottom:1.5rem}.input-label{color:var(--text-main);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input-field{border:1px solid var(--border-color);width:100%;transition:var(--transition);background-color:var(--bg-secondary);border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.input-field:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px var(--primary-pink-light);background-color:#fff;outline:none}.text-gradient{background:linear-gradient(135deg, var(--primary-pink), var(--primary-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.container{padding:0 1rem}.card{padding:1.25rem}h1{font-size:2.25rem}h2{font-size:1.75rem}}.hero-carousel-container{height:300px}@media (width<=768px){.hero-carousel-container{height:180px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.portfolio-grid{column-count:2;column-gap:12px;width:100%;max-width:900px;margin:0 auto}@media (width>=640px){.portfolio-grid{column-count:3;column-gap:16px}}.portfolio-item{break-inside:avoid;opacity:0;border-radius:12px;margin-bottom:12px;animation:.6s forwards slideUpFade;position:relative;overflow:hidden;transform:translateY(20px);box-shadow:0 4px 12px #0000000d}@media (width>=640px){.portfolio-item{margin-bottom:16px}}.portfolio-item img{width:100%;height:auto;transition:transform .4s;display:block}.portfolio-item:hover img{transform:scale(1.03)}.portfolio-item:first-child{animation-delay:.1s}.portfolio-item:nth-child(2){animation-delay:.2s}.portfolio-item:nth-child(3){animation-delay:.3s}.portfolio-item:nth-child(4){animation-delay:.4s}.portfolio-item:nth-child(5){animation-delay:.5s}.portfolio-item:nth-child(6){animation-delay:.6s}.portfolio-item:nth-child(7){animation-delay:.7s}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.staff-image-clickable{cursor:pointer;transition:transform .3s,box-shadow .3s}.staff-image-clickable:hover{transform:scale(1.05);box-shadow:0 10px 20px #0000001a}.syllabus-day{grid-template-columns:90px 1fr;align-items:start;gap:1.25rem;padding:1.5rem;display:grid}.syllabus-day-num{flex-direction:column;display:flex}.syllabus-day-num span{color:var(--primary-pink);font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;line-height:1}.syllabus-day-num small{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-top:.25rem;font-family:Outfit,sans-serif;font-size:.7rem}@media (width<=640px){.syllabus-day{grid-template-columns:1fr;gap:.5rem}.syllabus-day-num{flex-direction:row;align-items:baseline;gap:.5rem}}.service-card{cursor:pointer;background:linear-gradient(135deg,#faf5ffe6 0%,#eff6ffe6 100%);border:1px solid #a855f726;border-radius:1rem;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #a855f70f}.service-card:hover{border-color:#a855f74d;transform:translateY(-2px);box-shadow:0 8px 16px #0000000f}.service-card.selected{background:linear-gradient(#dbeafe 0%,#fbcfe8 100%);border:none;transform:translateY(-2px);box-shadow:0 10px 25px #f472b640}.service-card-action{justify-content:center;align-items:center;transition:transform .3s;display:flex}.service-card:hover .service-card-action{transform:translate(4px)}.service-card.selected:hover .service-card-action{transform:scale(1.1)}.hover-link{padding-bottom:2px;text-decoration:none;transition:color .2s;position:relative}.hover-link:hover{color:var(--primary-pink)!important}.hover-link:after{content:"";background-color:var(--primary-pink);transform-origin:100% 100%;width:100%;height:2px;transition:transform .25s ease-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.hover-link:hover:after{transform-origin:0 100%;transform:scaleX(1)}.desktop-menu{align-items:center;gap:1.5rem;display:flex}.mobile-menu-btn{display:none}@media (width<=768px){.desktop-menu{display:none!important}.mobile-menu-btn{display:block!important}}.rotating-light-wrapper{z-index:1;border-radius:50%;padding:4px;display:inline-block;position:relative}.rotating-light-wrapper:before{content:"";background:linear-gradient(135deg, var(--primary-pink), var(--primary-blue));z-index:-1;opacity:0;border-radius:50%;transition:opacity .3s;position:absolute;inset:0}.card[style*="border-width: 2px"] .rotating-light-wrapper:before,.card[style*="borderWidth: 2px"] .rotating-light-wrapper:before{opacity:1}.btn-agendar{cursor:pointer;color:#fff;letter-spacing:.3px;background:linear-gradient(135deg, var(--primary-pink), var(--primary-blue));border:none;border-radius:20px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:.7rem 1rem;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 15px #a855f74d}.btn-agendar:hover{transform:translateY(-2px);box-shadow:0 6px 20px #a855f780}.btn-agendar:active{transform:translateY(0);box-shadow:0 2px 8px #a855f74d}
