*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{font-family:ui-sans-serif,-apple-system,system-ui,'Segoe UI',Roboto,Inter,'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.6;color:#2a2a2a;background:#fff;min-height:100vh;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer}a{color:#c75b7a;text-decoration:none;transition:color .2s ease}a:hover,a:focus{color:#a04560}a:focus-visible{outline:2px solid #c75b7a;outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:#c75b7a;color:#fff;padding:8px 16px;z-index:100;font-weight:600}.skip-link:focus{top:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@media(min-width:768px){.container{padding:0 40px}}.site-header{background:#fff;border-bottom:1px solid #f5e1e8;position:sticky;top:0;z-index:50;box-shadow:0 1px 3px rgba(0,0,0,.05)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:72px}.logo-link img{height:42px;width:auto}.mobile-menu-toggle{display:none;background:none;border:none;padding:8px;z-index:60}@media(max-width:767px){.mobile-menu-toggle{display:block}.hamburger{display:block;width:24px;height:2px;background:#2a2a2a;position:relative;transition:background .3s}.hamburger::before,.hamburger::after{content:'';position:absolute;width:24px;height:2px;background:#2a2a2a;transition:transform .3s}.hamburger::before{top:-7px}.hamburger::after{bottom:-7px}.mobile-menu-toggle[aria-expanded="true"] .hamburger{background:transparent}.mobile-menu-toggle[aria-expanded="true"] .hamburger::before{transform:rotate(45deg);top:0}.mobile-menu-toggle[aria-expanded="true"] .hamburger::after{transform:rotate(-45deg);bottom:0}}.nav-menu{display:flex;list-style:none;gap:32px;align-items:center}@media(max-width:767px){.nav-menu{position:fixed;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:24px;border-bottom:1px solid #f5e1e8;box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-120%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.nav-menu.is-open{transform:translateY(0);opacity:1;pointer-events:all}.nav-menu li{width:100%;text-align:center;padding:12px 0}}.nav-menu a{font-weight:500;color:#2a2a2a;display:block;padding:8px 16px;border-radius:6px;transition:background .2s}.nav-menu a:hover,.nav-menu a:focus{background:#fdf8fa;color:#c75b7a}.nav-cta{background:#c75b7a;color:#fff!important;padding:10px 24px!important;border-radius:8px}.nav-cta:hover,.nav-cta:focus{background:#a04560}.hero{padding:80px 0;background:linear-gradient(135deg,#fdf8fa 0%,#fff 100%)}.hero-container{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}@media(min-width:768px){.hero-container{grid-template-columns:1fr 1fr}}.hero-content h1{font-size:clamp(32px,5vw,56px);line-height:1.2;font-weight:700;color:#2a2a2a;margin-bottom:24px}.hero-subtitle{font-size:clamp(18px,2.5vw,22px);line-height:1.5;color:#5a5a5a;margin-bottom:32px}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.hero-image{border-radius:16px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.1)}.hero-image img{aspect-ratio:3/2}.btn{display:inline-block;padding:14px 32px;border-radius:8px;font-weight:600;font-size:16px;text-align:center;transition:all .2s ease;border:2px solid transparent;text-decoration:none}.btn-primary{background:#c75b7a;color:#fff;border-color:#c75b7a}.btn-primary:hover,.btn-primary:focus{background:#a04560;border-color:#a04560;transform:translateY(-2px);box-shadow:0 4px 12px rgba(199,91,122,.3)}.btn-secondary{background:#fff;color:#c75b7a;border-color:#c75b7a}.btn-secondary:hover,.btn-secondary:focus{background:#c75b7a;color:#fff;transform:translateY(-2px)}.btn-large{padding:18px 40px;font-size:18px}.classes-section,.learn-section,.students-section,.faq-section,.contact-section{padding:80px 0}.section-header{text-align:center;margin-bottom:64px}.section-header h2{font-size:clamp(32px,4vw,48px);line-height:1.2;font-weight:700;color:#2a2a2a;margin-bottom:16px}.section-header p{font-size:clamp(16px,2vw,20px);color:#5a5a5a}.classes-grid,.learn-grid{display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:640px){.classes-grid,.learn-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.classes-grid{grid-template-columns:repeat(3,1fr)}}.class-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}.class-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(0,0,0,.12)}.class-image img{aspect-ratio:3/2;width:100%}.class-content{padding:24px}.class-content h3{font-size:22px;font-weight:700;color:#2a2a2a;margin-bottom:12px}.class-content p{color:#5a5a5a;margin-bottom:16px;line-height:1.6}.class-link{color:#c75b7a;font-weight:600;display:inline-flex;align-items:center;gap:8px}.class-link:hover{text-decoration:underline}.learn-section{background:#fdf8fa}.learn-card{text-align:center;padding:32px 24px}.learn-icon{width:64px;height:64px;margin:0 auto 24px;color:#c75b7a}.learn-card h3{font-size:20px;font-weight:700;color:#2a2a2a;margin-bottom:12px}.learn-card p{color:#5a5a5a;line-height:1.6}.students-grid{display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:768px){.students-grid{grid-template-columns:repeat(3,1fr)}}.student-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:box-shadow .3s}.student-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12)}.student-content{margin-bottom:24px}.student-content p{font-size:16px;line-height:1.6;color:#2a2a2a;font-style:italic}.student-author{display:flex;align-items:center;gap:16px}.student-author img{width:60px;height:60px;flex-shrink:0}.author-info{display:flex;flex-direction:column}.author-info strong{font-weight:600;color:#2a2a2a;font-size:16px}.author-info span{font-size:14px;color:#7a7a7a}.cta-section{background:linear-gradient(135deg,#c75b7a 0%,#a04560 100%);padding:80px 0;text-align:center;color:#fff}.cta-container h2{font-size:clamp(32px,4vw,48px);color:#fff;margin-bottom:16px}.cta-container p{font-size:clamp(16px,2vw,20px);margin-bottom:32px;color:#fce8ef}.cta-section .btn-primary{background:#fff;color:#c75b7a;border-color:#fff}.cta-section .btn-primary:hover{background:#fdf8fa;transform:translateY(-2px)}.faq-section{background:#fdf8fa}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:#fff;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.faq-item summary{padding:20px 24px;font-weight:600;font-size:18px;color:#2a2a2a;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';font-size:24px;color:#c75b7a;transition:transform .3s}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item p{padding:0 24px 20px;color:#5a5a5a;line-height:1.6}.contact-section{background:#fff}.contact-content{display:grid;grid-template-columns:1fr;gap:48px}@media(min-width:768px){.contact-content{grid-template-columns:1fr 1.5fr}}.contact-info h2{font-size:32px;font-weight:700;margin-bottom:16px}.contact-info p{color:#5a5a5a;line-height:1.6;margin-bottom:24px}.contact-details{padding:24px;background:#fdf8fa;border-radius:8px;border-left:4px solid #c75b7a}.contact-form{background:#fdf8fa;padding:32px;border-radius:12px}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:#2a2a2a;margin-bottom:8px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #f5e1e8;border-radius:8px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#c75b7a}.form-group textarea{resize:vertical;min-height:120px}.form-status{margin-top:16px;padding:12px;border-radius:6px;display:none}.form-status.success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9;display:block}.form-status.error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2;display:block}.site-footer{background:#2a2a2a;color:#f5e1e8;padding:64px 0 24px}.footer-container{display:grid;grid-template-columns:1fr;gap:48px;margin-bottom:48px}@media(min-width:768px){.footer-container{grid-template-columns:1.5fr 1fr}}.footer-brand img{height:36px;width:auto;margin-bottom:16px;filter:brightness(0)invert(1)}.footer-brand p{color:#d5b8c3;line-height:1.6;margin-bottom:12px}.disclaimer-text{font-size:14px;font-style:italic;color:#b89aa5;margin-top:16px}.footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px}.footer-column h3{font-size:16px;font-weight:700;color:#fff;margin-bottom:16px}.footer-column ul{list-style:none}.footer-column ul li{margin-bottom:12px}.footer-column ul li a{color:#d5b8c3;transition:color .2s}.footer-column ul li a:hover,.footer-column ul li a:focus{color:#f5e1e8}.footer-bottom{border-top:1px solid #3a3a3a;padding-top:24px;text-align:center;color:#b89aa5;font-size:14px}.cookie-notice{position:fixed;bottom:0;left:0;right:0;background:#2a2a2a;color:#fff;padding:20px;box-shadow:0 -4px 12px rgba(0,0,0,.2);z-index:100;display:none}.cookie-notice.is-visible{display:block}.cookie-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cookie-content p{margin:0;flex:1;min-width:250px}.cookie-content a{color:#f5e1e8;text-decoration:underline}.btn-accept-cookies{background:#c75b7a;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:600;transition:background .2s}.btn-accept-cookies:hover{background:#a04560}@media(max-width:640px){.cookie-content{flex-direction:column;text-align:center}.cookie-content p{min-width:100%}}.legal-page{padding:80px 0;background:#fff}.legal-content{max-width:800px;margin:0 auto}.legal-content h1{font-size:clamp(32px,4vw,48px);font-weight:700;color:#2a2a2a;margin-bottom:16px}.legal-date{font-size:14px;color:#7a7a7a;margin-bottom:48px;font-style:italic}.legal-content h2{font-size:28px;font-weight:700;color:#2a2a2a;margin-top:48px;margin-bottom:16px}.legal-content h3{font-size:22px;font-weight:600;color:#2a2a2a;margin-top:32px;margin-bottom:12px}.legal-content p{color:#5a5a5a;line-height:1.7;margin-bottom:20px}.legal-content ul{margin:16px 0 24px 24px;color:#5a5a5a;line-height:1.7}.legal-content ul li{margin-bottom:8px}.legal-content a{color:#c75b7a;text-decoration:underline}.legal-content a:hover{color:#a04560}