:root{--color-primary: hsl(345, 65%, 35%);--color-primary-light: hsl(345, 60%, 45%);--color-primary-dark: hsl(345, 70%, 20%);--color-accent: hsl(42, 85%, 55%);--color-accent-light: hsl(42, 90%, 68%);--color-accent-dark: hsl(42, 80%, 42%);--grey-50: hsl(345, 8%, 98%);--grey-100: hsl(345, 8%, 94%);--grey-200: hsl(345, 6%, 85%);--grey-300: hsl(345, 6%, 70%);--grey-400: hsl(345, 5%, 55%);--grey-500: hsl(345, 5%, 40%);--grey-600: hsl(345, 6%, 28%);--grey-700: hsl(345, 8%, 18%);--grey-800: hsl(345, 10%, 10%);--grey-900: hsl(345, 12%, 5%);--color-background: var(--grey-900);--color-surface: hsl(345, 12%, 8%);--color-surface-elevated: hsl(345, 10%, 12%);--color-border: hsl(345, 10%, 18%);--color-text: var(--grey-100);--color-text-muted: var(--grey-400);--color-text-strong: var(--grey-50);--font-display: "Playfair Display", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 10rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;overflow-x:clip}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);line-height:1.6;overflow-x:clip}#root{width:100%}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.1;color:var(--color-text-strong)}a{color:var(--color-accent);text-decoration:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spotlightMove{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.15}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.25}}@keyframes curtainReveal{0%{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}@keyframes textReveal{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes borderGlow{0%,to{box-shadow:0 0 20px #eeb32b4d}50%{box-shadow:0 0 40px #eeb32b80}}.animate-fade-up{animation:fadeInUp .8s var(--ease-out-expo) forwards}.animate-scale{animation:fadeInScale .6s var(--ease-out-back) forwards}.animate-slide-left{animation:slideInLeft .8s var(--ease-out-expo) forwards}.animate-slide-right{animation:slideInRight .8s var(--ease-out-expo) forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.delay-5{animation-delay:.5s;opacity:0}.delay-6{animation-delay:.6s;opacity:0}.page{width:100%;position:relative;overflow-x:hidden}.page:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,hsl(345,50%,12%) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 80%,hsl(42,40%,8%) 0%,transparent 40%),radial-gradient(ellipse 100% 80% at 50% 100%,hsl(345,40%,8%) 0%,transparent 60%);pointer-events:none;z-index:-2}.page:after{content:"";position:fixed;width:600px;height:600px;top:30%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,hsl(42,60%,50%,.08) 0%,transparent 70%);animation:spotlightMove 8s ease-in-out infinite;pointer-events:none;z-index:-1}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:var(--space-2xl) 0;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;top:0;width:120px;height:100%;background:linear-gradient(90deg,hsl(345,70%,15%) 0%,transparent 100%);z-index:1;pointer-events:none}.hero:before{left:0}.hero:after{right:0;transform:scaleX(-1)}.hero__container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-xl);display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-3xl);align-items:center;position:relative;z-index:2}.hero__content{animation:slideInLeft 1s var(--ease-out-expo) forwards}.hero__eyebrow{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg);opacity:0;animation:fadeInUp .6s var(--ease-out-expo) .3s forwards}.hero__title{font-size:clamp(3rem,10vw,5.5rem);letter-spacing:-.03em;margin-bottom:var(--space-lg);line-height:1}.hero__title-line{display:block;overflow:hidden}.hero__title-text{display:inline-block;animation:fadeInUp .8s var(--ease-out-expo) forwards}.hero__title-text--delay{animation-delay:.15s;opacity:0}.hero__title-accent{background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-accent) 50%,var(--color-accent-dark) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}.hero__subtitle{font-size:1.35rem;color:var(--color-text-muted);margin-bottom:var(--space-xl);max-width:45ch;line-height:1.5;opacity:0;animation:fadeInUp .8s var(--ease-out-expo) .4s forwards}.hero__tags{display:flex;gap:var(--space-md);margin-bottom:var(--space-xl);opacity:0;animation:fadeInUp .8s var(--ease-out-expo) .5s forwards}.hero__tag{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#25181c;border:1px solid var(--color-border);border-radius:100px;font-size:.9rem}.hero__tag-icon{font-size:1.1rem}.hero__cta{opacity:0;animation:fadeInUp .8s var(--ease-out-expo) .6s forwards}.hero__image-wrapper{position:relative;animation:slideInRight 1s var(--ease-out-expo) .2s forwards;opacity:0;overflow:hidden}.hero__image-frame{position:relative;padding:8px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-primary) 100%);border-radius:12px;animation:borderGlow 4s ease-in-out infinite}.hero__image{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;display:block}.hero__image--placeholder{background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.875rem;text-align:center;padding:var(--space-md)}.hero__decor{display:none}@media(max-width:900px){.hero{min-height:auto;padding:var(--space-3xl) 0}.hero:before,.hero:after{width:40px}.hero__container{grid-template-columns:1fr;text-align:center;gap:var(--space-2xl);padding:0 var(--space-lg)}.hero__subtitle{margin-left:auto;margin-right:auto}.hero__tags{justify-content:center}.hero__image-wrapper{order:-1;max-width:320px;margin:0 auto}.hero__decor{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xl);font-family:var(--font-body);font-size:1.1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .4s var(--ease-out-expo);text-decoration:none;position:relative;overflow:hidden}.btn--primary{background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent),var(--color-accent-dark));background-size:200% 200%;color:var(--grey-900);box-shadow:0 4px 15px #ecab134d,0 0 40px #ecab1326}.btn--primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,hsl(0,0%,100%,.2),transparent);transform:translate(-100%);transition:transform .6s var(--ease-out-expo)}.btn--primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #ecab1366,0 0 60px #ecab1333;background-position:100% 100%}.btn--primary:hover:before{transform:translate(100%)}.btn--primary:active{transform:translateY(-1px) scale(1)}.btn--large{padding:var(--space-lg) var(--space-3xl);font-size:1.2rem}.btn--full{width:100%}.btn--disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--outline{background:transparent;border:2px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:#eeb32b1a}.sticky-cta{display:none;position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);padding:var(--space-md) var(--space-2xl);background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));color:var(--grey-900);font-family:var(--font-body);font-size:1rem;font-weight:700;text-decoration:none;border-radius:100px;box-shadow:0 4px 20px #ecab1366,0 0 40px #ecab1333;z-index:100;transition:all .3s var(--ease-out-expo)}.sticky-cta:hover{transform:translate(-50%) scale(1.05);box-shadow:0 6px 30px #ecab1380,0 0 60px #ecab134d}@media(max-width:768px){.sticky-cta{display:block}}.benefits{padding:var(--space-4xl) 0;position:relative}.benefits__container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.benefits__header{text-align:center;margin-bottom:var(--space-3xl)}.benefits__title{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-md)}.benefits__subtitle{font-size:1.15rem;color:var(--color-text-muted)}.benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.benefits__item{position:relative;padding:var(--space-2xl);background:linear-gradient(135deg,var(--color-surface) 0%,hsl(345,12%,10%) 100%);border:1px solid var(--color-border);border-radius:16px;text-align:center;transition:all .5s var(--ease-out-expo);overflow:hidden}.benefits__item:before{content:"";position:absolute;top:0;left:50%;width:100px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);transform:translate(-50%);opacity:0;transition:opacity .3s ease}.benefits__item:hover{transform:translateY(-12px) scale(1.02);border-color:var(--color-accent);box-shadow:0 25px 50px #0f0a0b99,0 0 80px #cc9e3326,inset 0 1px #d6b15c1a}.benefits__item:hover .benefits__icon{animation:none;transform:scale(1.2);transition:transform .3s var(--ease-out-back)}.benefits__item:hover:before{opacity:1;width:150px}.benefits__icon{width:4rem;height:4rem;margin-bottom:var(--space-lg);display:block;animation:float 4s ease-in-out infinite;color:var(--color-accent)}.benefits__icon svg{width:100%;height:100%}.benefits__item:nth-child(2) .benefits__icon{animation-delay:-1.5s}.benefits__item:nth-child(3) .benefits__icon{animation-delay:-3s}.benefits__item:nth-child(4) .benefits__icon{animation-delay:-4.5s}.benefits__item-title{font-size:1.4rem;margin-bottom:var(--space-sm);color:var(--color-text-strong)}.benefits__item-text{color:var(--color-text-muted);font-size:1rem;line-height:1.6}@media(max-width:1100px){.benefits__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.benefits__grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.benefits__container{padding:0 var(--space-lg)}}.pricing{padding:var(--space-4xl) 0;position:relative}.pricing:before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(to bottom right,transparent 49.5%,var(--color-surface) 50%);pointer-events:none}.pricing__container{width:100%;max-width:1000px;margin:0 auto;padding:0 var(--space-xl);position:relative;z-index:1}.pricing__header{text-align:center;margin-bottom:var(--space-3xl)}.pricing__title{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-md)}.pricing__subtitle{font-size:1.15rem;color:var(--color-text-muted)}.pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);align-items:stretch}.pricing__card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:var(--space-2xl) var(--space-xl);text-align:center;transition:all .5s var(--ease-out-expo);overflow:visible}.pricing__card:hover{transform:translateY(-8px);box-shadow:0 25px 50px #0f0a0b80;border-color:var(--color-accent)}.pricing__card--featured{background:linear-gradient(135deg,#25181c,#171113);border:2px solid var(--color-accent);transform:scale(1.05);z-index:2;box-shadow:0 0 60px #d9a32626,0 20px 40px #0f0a0b66}.pricing__card--featured:hover{transform:scale(1.05) translateY(-5px)}.pricing__badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));color:var(--grey-900);padding:var(--space-xs) var(--space-lg);border-radius:100px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 15px #ecab134d}.pricing__lessons{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.pricing__price{font-family:var(--font-display);font-size:4rem;font-weight:600;color:var(--color-text-strong);line-height:1;margin-bottom:var(--space-md)}.pricing__currency{font-size:1.8rem;vertical-align:top;margin-right:4px;opacity:.7}.pricing__per-lesson{font-size:.9rem;color:var(--color-text-muted);padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-md)}@media(max-width:900px){.pricing__grid{grid-template-columns:1fr;max-width:350px;margin:0 auto}.pricing__card--featured{transform:none}.pricing__card--featured:hover{transform:translateY(-5px)}.pricing:before{display:none}.pricing__container{padding:0 var(--space-lg)}}.testimonials{padding:var(--space-4xl) 0;position:relative;overflow:hidden}.testimonials__container{width:100%;max-width:500px;margin:0 auto;padding:0 var(--space-xl)}.testimonials__header{text-align:center;margin-bottom:var(--space-2xl)}.testimonials__title{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-md)}.testimonials__subtitle{font-size:1.15rem;color:var(--color-text-muted)}.testimonials__carousel{position:relative;overflow:hidden;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border)}.testimonials__track{display:flex;transition:transform .5s var(--ease-out-expo)}.testimonials__slide{flex:0 0 100%;min-width:100%}.testimonials__image{width:100%;height:auto;display:block}.testimonials__dots{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-lg)}.testimonials__dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--color-border);cursor:pointer;transition:all .3s ease;padding:0}.testimonials__dot:hover{background:var(--color-text-muted)}.testimonials__dot--active{background:var(--color-accent);transform:scale(1.2)}@media(max-width:768px){.testimonials__container{padding:0 var(--space-lg);max-width:350px}}.booking{padding:var(--space-4xl) 0;position:relative;overflow:hidden}.booking:before{content:"";position:absolute;top:50%;left:50%;width:800px;height:800px;background:radial-gradient(circle,hsl(42,50%,50%,.08) 0%,transparent 60%);transform:translate(-50%,-50%);pointer-events:none}.booking__container{width:100%;max-width:600px;margin:0 auto;padding:0 var(--space-lg);position:relative;z-index:1}.booking__header{text-align:center;margin-bottom:var(--space-2xl)}.booking__title{font-size:clamp(2rem,5vw,2.5rem);margin-bottom:var(--space-md)}.booking__subtitle{font-size:1.1rem;color:var(--color-text-muted)}.booking__form{background:linear-gradient(135deg,var(--color-surface-elevated) 0%,var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:20px;padding:var(--space-2xl);box-shadow:0 20px 60px #0f0a0b80,inset 0 1px #46393d}.booking__trust{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-xl);background:#1d1618;border-radius:10px;font-size:.9rem;color:var(--color-text-muted)}.booking__trust-icon{font-size:1.2rem}.booking__trust-text{color:var(--color-text)}.booking__trust-count{color:var(--color-accent);font-weight:600}.booking__field{margin-bottom:var(--space-lg)}.booking__label{display:block;margin-bottom:var(--space-sm);font-weight:600;color:var(--color-text);font-size:.95rem}.booking__input{width:100%;padding:var(--space-md) var(--space-lg);font-family:var(--font-body);font-size:1.05rem;background:var(--color-background);border:2px solid var(--color-border);border-radius:10px;color:var(--color-text);transition:all .3s var(--ease-out-expo)}.booking__input::placeholder{color:var(--color-text-muted)}.booking__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px #eeb32b26,0 4px 15px #eeb32b1a}.booking__input--error{border-color:var(--color-primary-light);box-shadow:0 0 0 4px #b82e5026}.booking__error{margin-top:var(--space-sm);font-size:.85rem;color:var(--color-primary-light);display:flex;align-items:center;gap:var(--space-xs)}.booking__next-steps{margin-top:var(--space-xl);padding:var(--space-lg);background:#1d1618;border-radius:10px;border-left:3px solid var(--color-accent)}.booking__next-steps-title{font-size:.85rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.booking__next-steps-list{list-style:none;font-size:.9rem;color:var(--color-text-muted)}.booking__next-steps-item{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xs)}.booking__next-steps-item:last-child{margin-bottom:0}.booking__next-steps-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-border);border-radius:50%;font-size:.7rem;font-weight:600;color:var(--color-text);flex-shrink:0}.booking__success{text-align:center;padding:var(--space-2xl)}.booking__success-icon{width:80px;height:80px;margin:0 auto var(--space-lg);background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;animation:fadeInScale .5s var(--ease-out-back) forwards}.booking__success-title{font-size:1.75rem;margin-bottom:var(--space-sm)}.booking__success-text{color:var(--color-text-muted);font-size:1.05rem}.footer{padding:var(--space-2xl) 0;border-top:1px solid var(--color-border);background:linear-gradient(to top,hsl(345,15%,6%) 0%,transparent 100%)}.footer__container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-xl);display:flex;justify-content:center;align-items:center;gap:var(--space-xl)}.footer__link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-size:1rem;border-radius:8px;transition:all .3s ease}.footer__link:hover{color:var(--color-accent);background:#bf99401a}.footer__link-icon{font-size:1.2rem}@media(max-width:768px){.footer__container{flex-direction:column;gap:var(--space-md);padding:0 var(--space-lg)}}
