:root{font-family:Times New Roman,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}@media (max-width: 768px){body{overflow-x:hidden;width:100%}}@media (max-width: 768px){.bg-text{font-size:1.5rem;line-height:2rem;max-width:100%;word-wrap:break-word}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.landing-section{transition:transform .3s ease-in-out;width:100%;overflow-x:hidden}@media (max-width: 768px){.scale-bg{transform:scale(1);transform-origin:center top;width:100%;max-width:100vw}}@media (max-width: 768px){.landing-section h1,.landing-section .specialty-text{font-size:1.5rem;line-height:2rem;max-width:100%;word-wrap:break-word}.landing-section .profile-name{font-size:1.25rem}.landing-section .profile-location{font-size:.875rem}.bg-text{font-size:1.5rem;line-height:2rem}.mobile-scale{width:100%;overflow-x:hidden;transition:transform .3s ease-in-out}.mobile-scale.scale-bg{transform:scale(1);transform-origin:center top}.mobile-scale h1{font-size:1.5rem;line-height:2rem;max-width:100%;word-wrap:break-word}.experience-section{width:100%;overflow-x:hidden;transition:transform .3s ease-in-out}.experience-section.scale-bg{transform:scale(.9);transform-origin:center top}.experience-section h2{font-size:1.5rem;line-height:2rem}.vertical-timeline-element-title{font-size:1.25rem!important}.vertical-timeline-element-subtitle{font-size:1rem!important}}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.cascading-cards-container{display:none}@media (max-width: 768px){.cascading-cards-container{display:block;width:100%;margin:15px 0 0;padding:0;display:flex;flex-direction:column;align-items:center}.cards-wrapper{width:100%;max-width:500px;margin:0 auto}.card{width:100%;background:#fff;border-radius:8px;margin-bottom:15px;overflow:hidden;transition:all .4s ease;box-shadow:0 2px 10px #0000001a;cursor:pointer;border:1px solid rgba(0,0,0,.1)}.card.active{box-shadow:0 5px 15px #00000026}.card-header{display:flex;align-items:center;padding:15px}.icon-circle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:#0000000d;border-radius:50%;margin-right:15px}.card h3{font-size:18px;margin:0;color:#333;font-weight:600;text-align:left;font-family:var(--heading-font)}.card-content{max-height:0;opacity:0;padding:0 15px;transition:all .4s ease;overflow:hidden}.card.active .card-content{max-height:1000px;opacity:1;padding:0 15px 15px}.card.closing .card-content{max-height:0;opacity:0;padding:0 15px}.card p{margin:0 0 15px;color:#555;line-height:1.5}.card p:last-child{margin-bottom:0}.card-content p{font-family:var(--body-font);line-height:1.7;margin-bottom:15px}}.about-container{width:100%;max-width:1200px;margin:0 auto;padding:40px 20px;box-sizing:border-box}.about-header{text-align:center;margin-bottom:40px}.about-header h1{font-family:var(--heading-font);font-weight:700;letter-spacing:.7px;margin-bottom:30px}.about-content{display:grid;grid-template-columns:1fr;gap:30px}.bio-section,.experience-section{background:#ffffffb3;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.profile-image{float:left;margin:0 30px 20px 0;width:400px}.profile-image img{width:100%;height:500px;object-fit:cover;border-radius:8px;box-shadow:0 4px 8px #0000001a}.bio-section{overflow:hidden}.section-title{color:#333;margin-bottom:20px;font-size:24px;font-family:var(--heading-font);font-weight:600;letter-spacing:.3px;margin-top:30px}.contact-info{text-align:center;margin-top:40px;padding:20px;background:#ffffffb3;border-radius:8px}.gallery-section{grid-column:span 2;margin:40px 0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.gallery-image{width:100%;height:300px;object-fit:cover;border-radius:8px;box-shadow:0 4px 8px #0000001a;transition:transform .3s ease}.gallery-image:hover{transform:scale(1.05)}.gallery-item{position:relative;display:flex;flex-direction:column;align-items:center}.photo-credit{font-size:.8rem;color:#666;margin-top:4px;text-align:center;font-family:var(--heading-font);font-weight:400;font-size:12px;opacity:.8}@media (min-width: 768px){.about-content{grid-template-columns:repeat(2,1fr)}.bio-section{grid-column:span 2}}@media (max-width: 768px){.desktop-bio{display:none}.bio-section{margin-bottom:20px;padding:20px;display:flex;flex-direction:column;align-items:center}.profile-image{float:none;margin:0 auto 30px;width:calc(100% - 40px);max-width:300px;display:block}.profile-image img{width:100%;height:auto;max-height:350px;object-fit:cover;border-radius:8px}.cascading-cards-container{margin-top:20px;clear:both}.gallery-section .section-title{text-align:center;width:100%}.gallery-grid{justify-content:center}.gallery-section{padding:20px}.gallery-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:center}.gallery-item{width:100%;max-width:300px;margin:0 auto}.about-container{width:100%;max-width:100%;padding:20px;margin:0 auto;box-sizing:border-box}.about-container{width:100%;max-width:100%;padding-left:20px;padding-right:20px;margin-left:auto;margin-right:auto;box-sizing:border-box;position:relative;left:0;transform:none}.about-content{width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0;left:0;position:relative}.bio-section{width:100%;margin-left:0;margin-right:0;left:0;position:relative}.gallery-grid{margin-left:0;margin-right:0;padding-left:0;padding-right:0;width:100%}}@media (min-width: 769px){.cascading-cards-container{display:none}}.card{margin-bottom:12px}.card-header{padding:12px 15px}.icon-circle{width:32px;height:32px;min-width:32px}.card-content{padding:0 15px}.card.active .card-content{padding:0 15px 15px}.desktop-bio p{font-family:var(--body-font);line-height:1.7;margin-bottom:20px}.form-container{max-width:800px;margin:0 auto;padding:2rem}h1{text-align:center;margin-bottom:3rem;font-size:2.5rem;color:#333}form{background-color:#ffffffe6;padding:2rem;border-radius:10px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:700;color:#333;font-size:1.1rem}input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;background-color:#fff;color:#333}input:focus{outline:none;border-color:#4d3c77;box-shadow:0 0 5px #4d3c7733}input::placeholder{color:#666}:root{--brand-gradient: linear-gradient(#A2678A 0%, #4D3C77 100%);--brand-gradient-hover: linear-gradient(#B37EA0 0%, #5a6a72 100%)}button[type=submit]{background:var(--brand-gradient);color:#fff;width:100%;padding:12px;border:none;border-radius:6px;font-size:1.1rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 6px 18px #4d3c7726}button[type=submit]:hover:not(:disabled){transform:translateY(-2px);background:var(--brand-gradient-hover);box-shadow:0 10px 30px #4d3c7738}button.signup-button,button.secondary-button{background:var(--brand-gradient);color:#fff;border:none;border-radius:6px;padding:10px 14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button.signup-button:hover:not(:disabled),button.secondary-button:hover:not(:disabled){transform:translateY(-2px);background:var(--brand-gradient-hover)}.form-group select,.form-group select.class-select{background:var(--brand-gradient)!important;color:#fff;padding:12px 42px 12px 12px;border:none;border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E"),linear-gradient(#0000,#0000);background-repeat:no-repeat;background-position:right 12px center;box-shadow:0 6px 18px #4d3c771f;cursor:pointer;transition:box-shadow .12s ease,background .12s ease;font-family:var(--heading-font);font-weight:600;letter-spacing:.4px}.form-group select:hover:not(:disabled){box-shadow:0 10px 30px #4d3c772e}.form-group select:focus{outline:none;box-shadow:0 0 0 3px #a2678a1f;background:var(--brand-gradient)!important}button:disabled,select:disabled,input:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(8%)}.form-container h1{text-align:center;width:100%;margin-bottom:25px}@media (max-width: 600px){.form-container{padding:1rem}form{padding:1.5rem}}@media (max-width: 768px){.form-container{width:90%;max-width:500px;margin:20px auto;padding:25px;border-radius:8px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px;display:block}.form-group input,.form-group select{width:100%;padding:12px 15px;font-size:16px;border-radius:4px;box-sizing:border-box}button[type=submit]{width:100%;padding:14px;font-size:16px;margin-top:10px}}@media (max-width: 768px){.form-container{width:100%;max-width:100%;padding:20px;margin:0 auto;box-sizing:border-box}.form-container form{width:100%;padding:15px;box-sizing:border-box}}@media (max-width: 768px){.form-container{width:90%;margin:20px auto;padding:25px;border-radius:10px}.form-group{margin-bottom:25px}.form-group label{margin-bottom:10px;display:block;font-size:16px}.form-group input,.form-group select{width:100%;padding:12px 15px;font-size:16px;border-radius:6px;border:1px solid rgba(0,0,0,.2)}button[type=submit]{margin-top:30px;padding:14px;border-radius:6px;font-size:16px}h1{margin-bottom:30px;font-size:24px}}.form-container h1{font-family:var(--heading-font);font-weight:700;letter-spacing:.7px;margin-bottom:30px}.form-group label{font-family:var(--heading-font);font-weight:500;margin-bottom:8px}.form-group input,.form-group select{font-family:var(--body-font);font-size:16px}button[type=submit]{font-family:var(--heading-font);font-weight:600;letter-spacing:.4px}.form-group select{width:100%;padding:12px 30px 12px 12px;border:1px solid #4D3C77;border-radius:6px;background-color:#4d3c77;color:#fff;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 4px #4d3c7733;font-family:var(--heading-font);font-weight:600;letter-spacing:.4px}.form-group select option{background-color:#fff;color:#333;font-family:var(--heading-font);font-weight:500}.form-group select:hover{background-color:#5d4c87}.form-group select:focus{outline:none;box-shadow:0 0 0 2px #4d3c774d;background-color:#42345f}.form-group select.class-select{background-color:#4d3c77;color:#fff;border:1px solid #4D3C77;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");font-family:var(--heading-font);font-weight:600;letter-spacing:.4px}.loading-message{text-align:center;color:#4d3c77;margin:10px 0;font-family:var(--heading-font);font-weight:500}.message{padding:15px;margin-bottom:20px;border-radius:6px;font-family:var(--heading-font);font-weight:500;text-align:center}button:disabled,select:disabled,input:disabled{opacity:.7;cursor:not-allowed}option:disabled{color:#999;font-style:italic}.message{padding:15px;margin-bottom:20px;border-radius:6px;font-family:var(--heading-font);font-weight:500;text-align:center;opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message.fade-out{opacity:0;transform:translateY(-10px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message{animation:fadeIn .5s ease}.loading-message{text-align:center;color:#4d3c77;margin:15px 0;font-family:var(--heading-font);font-weight:500;animation:fadeIn .5s ease}.login-container{max-width:400px;margin:100px auto;padding:20px;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 5px #0000001a}.login-container h1{text-align:center;margin-bottom:20px;font-family:var(--heading-font);font-weight:700;letter-spacing:.7px}.login-form{display:flex;flex-direction:column;gap:15px}.login-form label{font-family:var(--heading-font);font-weight:500}.login-form input{padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;font-family:var(--body-font)}.login-form button{padding:10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.login-form button:hover{background-color:#0056b3}.error-message{color:red;text-align:center;margin-top:10px}@media (max-width: 768px){.login-container{width:100%;max-width:100%;padding:20px;margin:20px auto;box-sizing:border-box}}.login-button{font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}.back-link{display:inline-block;margin-bottom:20px;color:#a2678a;text-decoration:none;font-weight:700}.back-link:hover{color:#a2678a}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{padding:12px;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}th{background-color:#ac87c533;font-weight:600}tr:hover{background-color:#ffffff1a}@media (max-width: 768px){table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tr{margin-bottom:15px;border:1px solid rgba(0,0,0,.1)}td{border:none;border-bottom:1px solid rgba(0,0,0,.1);position:relative;padding-left:50%}td:before{position:absolute;top:12px;left:12px;width:45%;padding-right:10px;white-space:nowrap;font-weight:600}td:nth-of-type(1):before{content:"Name"}td:nth-of-type(2):before{content:"Phone"}td:nth-of-type(3):before{content:"Email"}td:nth-of-type(4):before{content:"Class Date"}td:nth-of-type(5):before{content:"Timestamp"}td:nth-of-type(6):before{content:"Paid"}td:nth-of-type(7):before{content:"Actions"}}.edit-btn,.delete-btn{padding:6px 12px;margin-right:5px;font-size:14px}.edit-btn{background-color:#4d3c77;color:#fff}.delete-btn{background-color:#a2678a;color:#fff}@media (max-width: 768px){.admin-container{width:100%;max-width:100%;padding:20px;margin:0 auto;box-sizing:border-box}.admin-header{margin-bottom:25px}.table-container{width:100%;padding:0 0 15px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -5px}td,th{padding:12px 15px}table{min-width:600px;max-width:none}}.admin-container h1{font-family:var(--heading-font);font-weight:700;letter-spacing:.7px}table th{font-family:var(--heading-font);font-weight:600}table td{font-family:var(--body-font)}.admin-buttons button{font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}@media (max-width: 768px){.table-container{overflow-x:visible;margin:0;padding:0}tr{margin-bottom:25px;border-radius:8px;box-shadow:0 2px 6px #0000001a;background:#fff;display:block;padding:15px}td{display:flex;padding:12px 10px;text-align:left;border-bottom:1px solid #eee;align-items:center;min-height:24px}td:before{content:attr(data-label);font-weight:600;flex:0 0 40%;margin-right:10px}td:nth-of-type(1):before,td:nth-of-type(2):before,td:nth-of-type(3):before,td:nth-of-type(4):before,td:nth-of-type(5):before,td:nth-of-type(6):before,td:nth-of-type(7):before,td:nth-of-type(8):before{content:attr(data-label);position:static;width:auto;padding:0}td:last-child{padding-top:15px;justify-content:flex-start;gap:10px}.edit-btn,.delete-btn{padding:8px 16px;margin:0}thead{display:none}table{min-width:auto;width:100%}}.future-class{background-color:#a2678a0d}.past-class{opacity:.8}@media (max-width: 768px){tr.future-class{border-left:3px solid #A2678A}tr.past-class{border-left:3px solid #ccc}}.date-groups{width:100%;max-width:1200px;margin:0 auto}.date-group{margin-bottom:25px;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;background-color:#fff}.date-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#f7f7f7;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #e1e1e1}.date-header:hover{background-color:#f0f0f0}.date-header h2{margin:0;font-size:18px;display:flex;align-items:center;gap:12px}.attendee-count{font-size:14px;font-weight:500;color:#666;margin-left:8px}.future-label,.past-label{font-size:12px;font-weight:500;padding:4px 8px;border-radius:12px;margin-left:10px}.future-label{background-color:#e8f4f8;color:#2a7da2}.past-label{background-color:#f0f0f0;color:#666}.group-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.future-class .date-header{background-color:#f0f5fa;border-left:4px solid #A2678A}.past-class .date-header{opacity:.9;border-left:4px solid #ccc}@media (max-width: 768px){.date-header h2{font-size:16px;flex-direction:column;align-items:flex-start;gap:5px}.future-label,.past-label{display:inline-block;margin-top:5px;margin-left:0}.attendee-count{margin-left:0}}.classes-container{max-width:1200px;margin:0 auto;padding:40px 20px}.classes-header{text-align:center;margin-bottom:30px;width:100%}.classes-header h1{font-family:var(--heading-font);font-weight:700;letter-spacing:.7px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:20px}.class-card{background:#fffc;padding:25px;border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column}.class-image-container{width:100%;height:260px;overflow:hidden;border-radius:8px;margin-bottom:15px;position:relative}.class-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:8px}.class-card h3{margin-top:20px;margin-bottom:20px;color:#333;text-align:center;font-family:var(--heading-font);font-weight:600;letter-spacing:.3px}.signup-button{background:linear-gradient(#a2678a,#4d3c77);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px;transition:transform .12s ease,box-shadow .12s ease;margin-top:20px;font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}.signup-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #a2678a2e}.class-info-cards{width:100%;margin:20px 0;display:block}.info-card{width:100%;background:#fff;border-radius:8px;margin-bottom:15px;overflow:hidden;transition:all .4s ease;box-shadow:0 2px 8px #0000001a;cursor:pointer;border:1px solid rgba(0,0,0,.05)}.info-card.active{box-shadow:0 4px 12px #00000026}.card-header{display:flex;align-items:center;padding:15px}.icon-circle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:#0000000d;border-radius:50%;margin-right:15px;color:#333}.info-card h4{font-size:18px;margin:0;color:#333;font-weight:600;font-family:var(--heading-font);letter-spacing:.2px}.card-content{max-height:0;opacity:0;padding:0 15px;transition:all .4s ease;overflow:hidden}.info-card.active .card-content{max-height:3000px;opacity:1;padding:0 15px 20px}.info-card.closing .card-content{max-height:0;opacity:0;padding:0 15px}.card-content p{margin:0 0 10px;color:#555;line-height:1.7;font-family:var(--body-font)}.card-content p:last-child{margin-bottom:0}.card-content p strong{color:#333;font-weight:600}.notice-card{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #f39c12;box-shadow:0 4px 15px #f39c1233;margin-bottom:20px}.notice-card .card-header{background:#f39c120f;border-bottom:1px solid rgba(243,156,18,.12);padding:8px 12px}.notice-card .icon-circle{background:#f39c12;color:#fff;width:28px;height:28px}.notice-card .card-content{padding:8px 12px!important;max-height:80px!important}.notice-card .card-content p{color:#8b5a00;margin:0!important;font-size:16px!important;font-weight:600;line-height:1.3;text-align:center}.notice-card h4{font-size:15px;margin:0}.notice-card:hover{transform:none;box-shadow:0 4px 15px #f39c1233}.address-link{color:#4d3c77;text-decoration:none;display:inline-flex;align-items:center;gap:5px;border-bottom:1px dotted #4d3c77;transition:all .2s ease;font-family:var(--heading-font);font-weight:500}.address-link:hover{color:#6b568e;border-bottom:1px solid #6b568e}.address-link svg{margin-left:4px;opacity:.7}.card-content a{pointer-events:auto}.card-content a:focus,.card-content a:active{pointer-events:auto}@media (min-width: 769px){.class-info-cards{display:block;width:100%}.info-card{margin-bottom:20px}.card-header{padding:15px}}@media (max-width: 768px){.classes-grid{grid-template-columns:1fr;gap:20px}.classes-container{padding:20px 15px;max-width:100%;box-sizing:border-box}.class-card{width:92%;margin:0 auto;padding:20px;box-sizing:border-box;border-radius:10px}.class-image-container{width:100%;height:240px;margin-bottom:20px}.class-image{width:100%;height:190%;object-fit:contain;object-position:center;position:absolute;top:-60%;left:0;border-radius:8px}.class-card h3{width:90%;margin:20px auto;text-align:center;line-height:1.3}.class-info-cards{width:94%;margin:25px auto;padding:0}.info-card{margin-bottom:15px;width:100%;padding:0;box-shadow:0 2px 6px #0000001a}.card-header{padding:15px 20px}.info-card.active .card-content{padding:0 20px}.card-content p{font-size:15px;line-height:1.6;margin-bottom:15px;padding:0}.card-content p strong{display:block;margin-top:15px;margin-bottom:5px}.icon-circle{min-width:32px;width:32px;height:32px;margin-right:12px}.signup-button{width:94%;margin:25px auto 5px;display:block}.info-card.closing .card-content{padding:0 20px}}.nav-menu{position:fixed;top:20px;left:50%;transform:translate(-50%);transition:transform .3s ease-in-out;width:100%;max-width:1200px;background-color:#ffffffd9;padding:15px 30px;box-shadow:0 4px 15px #00000026;margin-bottom:30px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.nav-menu ul{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:30px;flex-wrap:nowrap;white-space:nowrap}.nav-menu a{text-decoration:none;color:#333;font-size:18px;transition:color .3s ease;font-family:var(--heading-font);font-weight:500;letter-spacing:.3px;white-space:nowrap}.nav-menu a:hover{color:#666;transform:translateY(-1px)}@media (max-width: 600px){.nav-menu ul{gap:15px}.nav-menu a{font-size:16px}}.contacts-container{max-width:800px;margin:0 auto;padding:2rem}.contacts-header{text-align:center;margin-bottom:3rem}.contacts-header h1{font-size:2.5rem;color:#333}.contacts-content{display:flex;flex-direction:column;gap:3rem}.contact-info,.social-media{background-color:#f8f8f8;padding:2rem;text-align:center;border-radius:10px;box-shadow:0 2px 4px #0000001a}.contact-info h2,.social-media h2{color:#333;margin-bottom:1.5rem;font-size:1.8rem}.contact-info p{margin:1rem 0;font-size:1.1rem;color:#555}.social-icons{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem}.social-icon{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#4d3c77;font-family:var(--heading-font);font-weight:500;transition:color .2s ease;gap:10px}.social-icon:hover{transform:scale(1.1);color:#8570b2}.social-icon svg{font-size:3.5rem;margin-bottom:.5rem}.social-icon span{font-size:.9rem}.social-icon:hover svg[class*=Instagram]{color:#e1306c}.social-icon:hover svg[class*=Whatsapp]{color:#25d366}.social-icon:hover svg[class*=Viber]{color:#665cac}.contact-links{display:flex;flex-direction:column;gap:16px;margin-top:15px}.contact-link{display:flex;align-items:center;text-decoration:none;color:#4d3c77;font-family:var(--heading-font);font-weight:500;transition:color .2s ease;gap:10px}.contact-link svg{font-size:20px}.contact-link:hover{color:#8570b2}@media (max-width: 600px){.contacts-container{padding:1rem}.social-icons{flex-direction:column;align-items:center;gap:1.5rem}}.calendar-root{max-width:1200px;margin:20px auto;padding:18px}.calendar-title{font-family:var(--heading-font);font-size:28px;margin-bottom:12px;text-align:center}.schedule-image-wrapper{max-width:1200px;margin:0 auto;padding:12px;box-sizing:border-box}.schedule-image-large{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 30px #00000026;object-fit:contain}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.weekday{text-align:center;font-weight:700;color:#6b4f6b}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-cell{min-height:100px;background:#ffffffe6;border-radius:8px;padding:8px;box-shadow:0 6px 18px #0000000f;position:relative;box-sizing:border-box}.calendar-cell.empty{background:transparent;box-shadow:none}.date-number{position:absolute;top:8px;right:10px;font-weight:700;color:#b66a9a}.events{display:flex;flex-direction:column;gap:8px;margin-top:24px}.event-badge{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border-radius:6px;border:none;cursor:pointer;color:#fff;text-align:left;transition:transform .12s ease,box-shadow .12s ease}.event-badge:focus,.event-badge:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0000001f}.event-badge.ballet{background:linear-gradient(135deg,#f4c542,#d99a0b);color:#33233a}.event-badge.preg{background:linear-gradient(135deg,#5fd2d6,#33bfbf);color:#082a2a}.event-title{font-weight:700;font-size:13px}.event-time{font-size:12px;opacity:.95}@media (max-width: 1200px){.calendar-title{font-size:22px}.schedule-image-wrapper{padding:8px}.schedule-image-large{border-radius:8px}}@media (max-width: 900px){.calendar-weekdays{display:none}.calendar-grid{gap:8px}.calendar-cell{min-height:110px;padding:10px}.date-number{top:6px;right:8px;font-size:14px}.event-title{font-size:12px}.event-time{font-size:11px}}:root{--heading-font: "Baskerville", serif;--body-font: "Lora", serif;--title-font: "Shrikhand", cursive;--title-color: #de9d0a;--title-shadow-color: #33233a}h1{font-family:var(--title-font),var(--heading-font)!important;color:var(--title-color)!important;text-shadow:4px 4px var(--title-shadow-color);display:block;transform:none;line-height:1;margin:0 0 12px}@media (max-width: 768px){.h1,.classes-header h1,.about-header h1,.form-container h1,.admin-container h1{transform:none;display:block;text-shadow:3px 3px var(--title-shadow-color)}}body{margin:0;padding:0;font-family:var(--body-font);line-height:1.65;color:#333;background:linear-gradient(to bottom,#af8ba6,#535);scroll-behavior:smooth}#root{max-width:100vw;margin:auto}.nav-menu{position:fixed;top:20px;left:50%;transform:translate(-50%);transition:transform .3s ease-in-out;width:90%;max-width:450px;background-color:#ffffffd9;padding:15px 30px;box-shadow:0 4px 15px #00000026;margin-bottom:30px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.nav-menu.hidden{transform:translate(-50%,-100px)}.nav-menu ul{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:30px}.nav-menu a{text-decoration:none;color:#333;font-size:18px;transition:color .3s ease;font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}.nav-menu a:hover{color:#666}.app{min-height:100vh;width:100%;padding:90px 20px 20px}.form-container,.admin-container{max-width:800px;margin:0 auto;background-color:#ffffff1a;padding:30px;border-radius:8px;box-shadow:0 4px 6px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}h1{color:#333;margin-bottom:30px;font-weight:700;letter-spacing:.5px}h1,h2.section-title{text-align:center;width:100%;margin-bottom:20px}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);font-weight:600;line-height:1.2}.classes-header h1,.about-header h1,.form-container h1{text-align:center;width:100%}button{cursor:pointer;font-size:16px;padding:10px 20px;border:none;border-radius:4px;transition:all .3s ease;font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.content{padding:0;margin-top:80px;width:100vw}.nav-menu{width:100%;top:0;left:0;transform:none;max-width:none;border-radius:0;padding:10px 15px}.nav-menu.hidden{transform:translateY(-100%)}.nav-menu ul{gap:15px}.nav-menu a{font-size:16px}.form-container,.admin-container{width:90%;padding:20px;margin:20px auto;border-radius:8px}button{padding:12px 20px;min-height:44px}}@media (max-width: 768px){.nav-menu{position:fixed;top:15px;left:50%;transform:translate(-50%);width:90%;max-width:450px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-menu.hidden{transform:translate(-50%,-100px)}.content{padding-top:80px;padding-left:15px;padding-right:15px;width:100%;box-sizing:border-box}}@media (max-width: 400px){.nav-menu ul{gap:10px}.nav-menu a{font-size:14px}}@media (max-width: 400px){.nav-menu ul{gap:15px}}.about-container,.classes-container,.form-container,.admin-container,.contacts-container,.login-container{max-width:1200px;margin:0 auto;padding:40px 20px;box-sizing:border-box}@media (max-width: 768px){.about-container,.classes-container,.form-container,.admin-container,.contacts-container,.login-container{width:100%;padding:20px;margin:0 auto;box-sizing:border-box}.class-card,.admin-header,.form-group,.gallery-grid,.table-container,.nav-menu{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.classes-grid,.class-card,form,.admin-container h1,.form-container h1,.table-container{width:100%;padding-left:0;padding-right:0;box-sizing:border-box}.content{width:100%;padding:80px 0 0;box-sizing:border-box}.app{width:100%;padding:0;overflow-x:hidden}}@media (max-width: 768px){.about-container,.classes-container,.form-container,.admin-container,.contacts-container,.login-container{padding-top:0;margin-top:0}.about-header h1,.classes-header h1,.form-container h1{margin-top:0;margin-bottom:10px}.content{padding-top:40px}.nav-menu{top:20px}}button,.signup-button{font-family:var(--heading-font);font-weight:500;letter-spacing:.3px}input,select,textarea{font-family:var(--body-font);font-size:16px}p{font-family:var(--body-font);font-size:16px;line-height:1.7}a{font-family:var(--heading-font);font-weight:500}.card-header h4,.info-card h4,.section-title{font-family:var(--heading-font);font-weight:600}
