*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#2c3e50;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;padding:1rem}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:1rem;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}.header{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);padding:2rem;text-align:center}.logo{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;text-decoration:none;transition:opacity .3s ease}.logo:hover{opacity:.9}.logo-icon{width:60px;height:60px;color:#fff}.logo-text{font-size:2rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.main-content{padding:2rem}.hero-section{text-align:center;padding:3rem 1rem;background:linear-gradient(to bottom,#f8f9fa,white);border-radius:.5rem;margin-bottom:3rem}.status-badge{display:inline-block;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;padding:.5rem 1.5rem;border-radius:2rem;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;box-shadow:0 4px 12px rgba(245,87,108,.3);text-decoration:none;cursor:pointer;transition:all .3s ease}.status-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(245,87,108,.4)}.status-badge:active{transform:translateY(0)}.hero-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;color:#6c757d;max-width:600px;margin:0 auto}.about-section{margin-bottom:3rem}.profile-card{background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:2rem;text-align:center}.profile-image-placeholder{width:240px;height:240px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#667eea;overflow:hidden}.profile-image-placeholder svg{width:60px;height:60px}.profile-image-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:50%}.section-title{font-size:1.75rem;font-weight:600;color:#2c3e50;margin-bottom:1rem}.instructor-description{font-size:1rem;color:#6c757d;line-height:1.8;max-width:700px;margin:0 auto}.features-section{margin-bottom:3rem}.features-section .section-title{text-align:center;margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.feature-card{background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:2rem;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1);border-color:#4facfe}.feature-icon{width:50px;height:50px;margin:0 auto 1rem;color:#4facfe}.feature-icon svg{width:100%;height:100%}.feature-title{font-size:1.125rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.feature-description{font-size:.9375rem;color:#6c757d;line-height:1.6;text-align:left}.cta-section{margin-bottom:2rem}.cta-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:.5rem;padding:3rem 2rem;text-align:center;color:#fff}.cta-title{font-size:2rem;font-weight:700;margin-bottom:1rem}.cta-description{font-size:1.125rem;margin-bottom:2rem;opacity:.95;max-width:600px;margin-left:auto;margin-right:auto}.coming-soon-notice{display:inline-flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.2);padding:1rem 2rem;border-radius:2rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.notice-icon{width:24px;height:24px;color:#fff}.coming-soon-notice span{font-size:1rem;font-weight:500}.notification-form-container{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.2)}.form-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#fff}.form-subtitle{font-size:1rem;margin-bottom:2rem;opacity:.9}.notification-form{max-width:500px;margin:0 auto}.hidden{display:none}.form-group{margin-bottom:1.5rem;text-align:left}.form-label{display:block;font-size:.9375rem;font-weight:500;margin-bottom:.5rem;color:#fff}.form-input{width:100%;padding:.875rem 1rem;font-size:1rem;border:2px solid rgba(255,255,255,.3);border-radius:.5rem;background:rgba(255,255,255,.9);color:#2c3e50;transition:all .3s ease}.form-input:focus{outline:none;border-color:#fff;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}.form-input::placeholder{color:#6c757d;opacity:.7}.form-submit{width:100%;padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#667eea;background:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}.form-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)}.form-submit:active{transform:translateY(0)}.submit-icon{width:20px;height:20px}.footer{background:#f8f9fa;padding:2rem;text-align:center;border-top:1px solid #e9ecef}.footer-text{color:#6c757d;font-size:.9375rem}@media(max-width:768px){body{padding:.5rem}.container{border-radius:.5rem}.header{padding:1.5rem 1rem}.logo-icon{width:50px;height:50px}.logo-text{font-size:1.5rem}.main-content{padding:1rem}.hero-section{padding:2rem 1rem;margin-bottom:2rem}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:1rem}.profile-card{padding:1.5rem}.profile-image-placeholder{width:200px;height:200px}.section-title{font-size:1.5rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.5rem}.cta-card{padding:2rem 1.5rem}.cta-title{font-size:1.5rem}.cta-description{font-size:1rem}.coming-soon-notice{padding:.75rem 1.5rem;flex-wrap:wrap;justify-content:center}.notification-form-container{margin-top:2rem;padding-top:2rem}.form-title{font-size:1.25rem}.form-subtitle{font-size:.9375rem}.form-input{padding:.75rem .875rem;font-size:.9375rem}.form-submit{padding:.875rem 1.5rem;font-size:1rem}.footer{padding:1.5rem 1rem}}@media(max-width:480px){.logo{flex-direction:column;gap:.5rem}.hero-title{font-size:1.5rem}.features-grid{grid-template-columns:1fr}.coming-soon-notice span{font-size:.9375rem}}@media(min-width:769px) and (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media print{body{background:#fff;padding:0}.container{box-shadow:none}.cta-card{background:#667eea;color:#fff}}.confirmation-section{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 0}.confirmation-card{text-align:center;max-width:600px;margin:0 auto}.success-icon{width:100px;height:100px;margin:0 auto 2rem;color:#10b981}.success-icon svg{width:100%;height:100%}.confirmation-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:1rem}.confirmation-message{font-size:1.25rem;color:#6c757d;margin-bottom:2rem;line-height:1.6}.confirmation-card .profile-image-placeholder{margin:2rem auto}.confirmation-note{font-size:1.125rem;color:#2c3e50;margin-bottom:2rem;font-weight:500}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:.5rem;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.back-button:active{transform:translateY(0)}.back-icon{width:20px;height:20px}.booking-confirmation-details{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#e7f3ff 0%,#f0f9ff 100%);border-radius:.5rem;margin:2rem auto;max-width:500px;border:2px solid #4facfe}.detail-icon{width:32px;height:32px;color:#4facfe;flex-shrink:0}.booking-confirmation-details .confirmation-note{margin:0;font-size:1rem;color:#2c3e50;font-weight:500}@media(max-width:768px){.confirmation-section{min-height:50vh}.success-icon{width:80px;height:80px;margin-bottom:1.5rem}.confirmation-title{font-size:2rem}.confirmation-message{font-size:1.125rem}.confirmation-note{font-size:1rem}.back-button{padding:.875rem 1.5rem;font-size:1rem}.booking-confirmation-details{flex-direction:column;padding:1.25rem;text-align:center}.detail-icon{width:28px;height:28px}.booking-confirmation-details .confirmation-note{font-size:.9375rem}}.schedule-section{margin-bottom:3rem}.schedule-section .section-title{text-align:center;margin-bottom:2rem}.term-container{background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:2rem;margin-bottom:2rem;transition:all .3s ease}.term-container:hover{border-color:#4facfe;box-shadow:0 4px 12px rgba(79,172,254,.1)}.term-name{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.term-notes{background:#fff3cd;border-left:4px solid #ffc107;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:.375rem;color:#856404;font-size:.9375rem;line-height:1.6}.term-notes strong{color:#664d03}.term-location{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;margin-bottom:1.5rem;background:#e7f3ff;border-left:4px solid #4facfe;border-radius:.375rem}.location-icon{width:20px;height:20px;color:#4facfe;flex-shrink:0}.location-text{font-size:.9375rem;color:#2c3e50;font-weight:500}.location-link{margin-left:auto;font-size:.875rem;font-weight:600;color:#4facfe;text-decoration:none;white-space:nowrap;transition:color .2s ease}.location-link:hover{color:#667eea;text-decoration:underline}.term-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.column-title{font-size:1.125rem;font-weight:600;color:#667eea;margin-bottom:1rem}.dates-column{padding-right:1.5rem;border-right:1px solid #e9ecef}.dates-list{list-style:none;padding:0;margin:0 0 1rem}.date-item{padding:.625rem 1rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:.375rem;font-size:.9375rem;color:#2c3e50;border-left:3px solid #4facfe}.session-count{font-size:.875rem;color:#6c757d;font-weight:500;margin-top:1rem;padding:.5rem 1rem;background:#e9ecef;border-radius:.375rem;text-align:center}.timeslots-column{padding-left:1.5rem}.time-slots{display:flex;flex-direction:column;gap:1rem}.time-slot{padding:1rem;background:#f8f9fa;border-radius:.375rem;border-left:3px solid #667eea;transition:all .2s ease}.time-slot:hover{background:#e9ecef;transform:translateX(3px)}.time-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.time-range{font-size:1rem;font-weight:600;color:#2c3e50}.duration{font-size:.8125rem;color:#6c757d}.slot-details{display:flex;justify-content:space-between;align-items:center;gap:1rem}.level-badge{display:inline-block;font-size:.875rem;color:#667eea;font-weight:600;padding:.25rem .75rem;background:#fff;border-radius:1rem;border:1px solid #667eea}.spots{font-size:.8125rem;color:#6c757d;font-weight:500}.slot-info{display:flex;flex-direction:column;gap:.25rem}.book-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:.375rem;text-decoration:none;cursor:pointer;transition:all .3s ease;white-space:nowrap}.book-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.book-button:active{transform:translateY(0)}.waitlist-button,.waitlist-button-noscript{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#6c757d;background:linear-gradient(135deg,#e9ecef 0%,#dee2e6 100%);border:1px solid #adb5bd;border-radius:.375rem;text-decoration:none;cursor:pointer;transition:all .3s ease;white-space:nowrap}.waitlist-button:hover,.waitlist-button-noscript:hover{background:linear-gradient(135deg,#dee2e6 0%,#ced4da 100%);border-color:#868e96;color:#495057}.waitlist-button:active{transform:translateY(0)}.spots-full{color:#dc3545;font-weight:600}.js-only{display:inline-flex}.booking-section{margin-bottom:3rem}.booking-section .section-title{text-align:center;margin-bottom:2rem}.booking-form-container{max-width:600px;margin:0 auto;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:2px solid #e9ecef;border-radius:.5rem;padding:2rem}.booking-details-banner{background:linear-gradient(135deg,#000099 0%,#000099 100%);color:#fff;padding:1rem 1.5rem;border-radius:.375rem;margin-bottom:1.5rem;text-align:center}.booking-details-banner strong{display:block;margin-bottom:.25rem;font-size:.875rem;opacity:.9}.booking-form .form-textarea{resize:vertical;min-height:100px}.no-js-notice{background:#fff3cd;border:1px solid #ffc107;padding:1rem;border-radius:.375rem;margin-bottom:1.5rem;color:#856404}.contact-section{margin-bottom:3rem}.contact-section .section-title{text-align:center;margin-bottom:2rem}.contact-form-container{max-width:600px;margin:0 auto;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:2px solid #e9ecef;border-radius:.5rem;padding:2rem}.contact-form .form-textarea{resize:vertical;min-height:120px}.single-page{max-width:800px;margin:0 auto;padding:2rem 0}.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:#667eea;text-decoration:none;margin-bottom:1.5rem;transition:all .2s ease}.back-link:hover{color:#4facfe;transform:translateX(-3px)}.back-icon{width:18px;height:18px}.page-header{margin-bottom:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:2rem;text-align:center}.page-content{font-size:1.0625rem;line-height:1.8;color:#2c3e50}.page-content h2{font-size:1.75rem;font-weight:600;color:#2c3e50;margin-top:2rem;margin-bottom:1rem}.page-content h3{font-size:1.375rem;font-weight:600;color:#2c3e50;margin-top:1.5rem;margin-bottom:.75rem}.page-content p{margin-bottom:1rem}.page-content ul{margin-bottom:1rem;padding-left:1.5rem}.page-content li{margin-bottom:.5rem}@media(max-width:768px){.term-container{padding:1.5rem}.term-name{font-size:1.25rem}.term-notes{padding:.875rem 1rem;font-size:.875rem}.term-details{grid-template-columns:1fr;gap:1.5rem}.term-location{flex-wrap:wrap;padding:.75rem 1rem}.location-link{margin-left:0;flex-basis:100%}.dates-column{padding-right:0;border-right:none;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.timeslots-column{padding-left:0}.time-slot{padding:.875rem}.slot-details{flex-direction:column;align-items:stretch;gap:.75rem}.book-button,.waitlist-button{width:100%;padding:.625rem 1rem}.booking-form-container{padding:1.5rem}.contact-form-container{padding:1.5rem}.page-header{margin-bottom:1.5rem}.back-link{font-size:.875rem;margin-bottom:1rem}.page-title{font-size:2rem}.single-page{padding:1rem 0}}.articles-section{margin-bottom:3rem}.articles-section .section-title{text-align:center;margin-bottom:.5rem}.articles-intro{text-align:center;color:#6c757d;font-size:1.0625rem;margin-bottom:2rem}.articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.article-card{background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column}.article-card:hover{border-color:#4facfe;box-shadow:0 4px 12px rgba(79,172,254,.1);transform:translateY(-2px)}.article-card-header{margin-bottom:.75rem}.article-card-date{font-size:.8125rem;color:#6c757d;font-weight:500}.article-card-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;line-height:1.3}.article-card-title a{color:#2c3e50;text-decoration:none;transition:color .2s ease}.article-card-title a:hover{color:#4facfe}.article-card-description{font-size:.9375rem;color:#6c757d;line-height:1.6;margin-bottom:1rem;flex-grow:1}.article-read-more{font-size:.9375rem;font-weight:600;color:#4facfe;text-decoration:none;transition:color .2s ease}.article-read-more:hover{color:#667eea}.articles-view-all{text-align:center;margin-top:2rem}.view-all-button{display:inline-flex;align-items:center;padding:.875rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:.5rem;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}.view-all-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.article-page{max-width:800px;margin:0 auto;padding:2rem 0}.article-header{margin-bottom:2rem}.article-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:1rem;line-height:1.2}.article-meta{display:flex;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef}.article-date{font-size:.9375rem;color:#6c757d}.article-content{font-size:1.0625rem;line-height:1.8;color:#2c3e50}.article-content h2{font-size:1.75rem;font-weight:600;color:#2c3e50;margin-top:2rem;margin-bottom:1rem}.article-content h3{font-size:1.375rem;font-weight:600;color:#2c3e50;margin-top:1.5rem;margin-bottom:.75rem}.article-content p{margin-bottom:1rem}.article-content ul,.article-content ol{margin-bottom:1rem;padding-left:1.5rem}.article-content li{margin-bottom:.5rem}.related-articles{margin-top:3rem;padding:2rem;background:#f8f9fa;border-radius:.5rem;border:2px solid #e9ecef}.related-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin-bottom:1.5rem;text-align:center}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.related-card{background:#fff;padding:1.25rem;border-radius:.375rem;border:1px solid #e9ecef;transition:all .3s ease}.related-card:hover{border-color:#4facfe;box-shadow:0 2px 8px rgba(79,172,254,.1)}.related-date{display:block;font-size:.8125rem;color:#6c757d;margin-bottom:.5rem}.related-card-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;line-height:1.3}.related-card-title a{color:#2c3e50;text-decoration:none;transition:color .2s ease}.related-card-title a:hover{color:#4facfe}.related-description{font-size:.875rem;color:#6c757d;line-height:1.5;margin:0}.articles-list-page{max-width:900px;margin:0 auto;padding:2rem 0}.page-intro{text-align:center;font-size:1.0625rem;color:#6c757d;max-width:600px;margin:1rem auto 3rem;line-height:1.6}.articles-list{display:flex;flex-direction:column;gap:2rem}.article-list-item{background:#fff;border:2px solid #e9ecef;border-radius:.5rem;padding:2rem;transition:all .3s ease}.article-list-item:hover{border-color:#4facfe;box-shadow:0 4px 12px rgba(79,172,254,.1);transform:translateY(-2px)}.article-list-meta{margin-bottom:.75rem}.article-list-date{font-size:.875rem;color:#6c757d;font-weight:500}.article-list-title{font-size:1.75rem;font-weight:600;margin-bottom:.75rem;line-height:1.3}.article-list-title a{color:#2c3e50;text-decoration:none;transition:color .2s ease}.article-list-title a:hover{color:#4facfe}.article-list-description{font-size:1rem;color:#6c757d;line-height:1.6;margin-bottom:1rem}.article-list-read-more{display:inline-flex;align-items:center;font-size:.9375rem;font-weight:600;color:#4facfe;text-decoration:none;transition:color .2s ease}.article-list-read-more:hover{color:#667eea}.article-footer{margin-top:3rem;padding-top:2rem;border-top:2px solid #e9ecef}.back-to-articles{display:inline-flex;align-items:center;font-size:.9375rem;font-weight:600;color:#667eea;text-decoration:none;transition:color .2s ease}.back-to-articles:hover{color:#4facfe}@media(max-width:768px){.articles-grid{grid-template-columns:1fr}.article-page{padding:1rem 0}.article-title{font-size:2rem}.article-content{font-size:1rem}.related-articles{padding:1.5rem}.related-title{font-size:1.25rem}.related-grid{grid-template-columns:1fr}.articles-list-page{padding:1rem 0}.article-list-item{padding:1.5rem}.article-list-title{font-size:1.5rem}}.not-found-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.not-found-content{text-align:center;max-width:500px}.not-found-title{font-size:6rem;font-weight:700;color:#667eea;margin-bottom:1rem;line-height:1}.not-found-subtitle{font-size:2rem;font-weight:600;color:#2c3e50;margin-bottom:1rem}.not-found-message{font-size:1.125rem;color:#6c757d;margin-bottom:2rem}.not-found-home-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:.5rem;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}.not-found-home-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.not-found-home-link:active{transform:translateY(0)}.home-icon{width:20px;height:20px}@media(max-width:768px){.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.5rem}.not-found-message{font-size:1rem}.not-found-home-link{padding:.875rem 1.5rem;font-size:1rem}}