:root{--bg:#090611;--bg-soft:#130a22;--primary:#ff4fd8;--primary-deep:#b53cff;--accent:#7e4dff;--text:#f7eefe;--text-muted:#bea7cf;--white:#fff;--glass:rgba(22,12,40,.5);--glass-border:rgba(255,99,229,.32);--neon-glow:0 0 12px rgba(255,79,216,.55),0 0 26px rgba(181,60,255,.38);--shadow:0 16px 36px rgba(16,8,34,.55);--radius:22px;--ease-out:cubic-bezier(.22,.61,.36,1);--tb:0.35s cubic-bezier(.22,.61,.36,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100vw;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:"Manrope",sans-serif;background:radial-gradient(circle at 12% 18%,rgba(255,79,216,.18) 0,transparent 34%),radial-gradient(circle at 82% 10%,rgba(126,77,255,.18) 0,transparent 32%),radial-gradient(circle at 80% 88%,rgba(255,79,216,.13) 0,transparent 30%),var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;position:relative;min-height:100vh;max-width:100vw;opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}
body.page-ready{opacity:1;transform:none}
body::before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;background:conic-gradient(from 180deg at 50% 50%,rgba(255,79,216,.18),rgba(126,77,255,.08),rgba(255,79,216,.16));filter:blur(42px);opacity:.6}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,rgba(17,10,32,.86),rgba(7,5,16,.95)),radial-gradient(circle at 25% 30%,rgba(255,79,216,.09),transparent 45%),radial-gradient(circle at 72% 64%,rgba(141,80,255,.1),transparent 46%)}
.container{width:min(1120px,92%);margin:0 auto}
.top-nav{position:sticky;top:0;z-index:100;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:rgba(9,6,17,.72);border-bottom:1px solid rgba(255,79,216,.15);box-shadow:0 4px 24px rgba(6,4,15,.45);transition:background .4s ease,box-shadow .4s ease,border-color .4s ease}
.top-nav.scrolled{background:rgba(9,6,17,.92);box-shadow:0 8px 32px rgba(6,4,15,.7);border-bottom-color:rgba(255,79,216,.22)}
.top-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:16px}
.brand{font-family:"Playfair Display",serif;font-size:1.25rem;letter-spacing:.5px;color:#fbdfff;text-shadow:var(--neon-glow);text-decoration:none;transition:opacity .3s ease}
.brand:hover{opacity:.85}
.nav-links{display:flex;list-style:none;gap:32px}
.nav-links a{text-decoration:none;color:var(--text-muted);font-weight:600;font-size:.86rem;letter-spacing:.5px;text-transform:uppercase;position:relative;padding-bottom:4px;transition:color .3s ease}
.nav-links a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1.5px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px;transition:width .35s var(--ease-out)}
.nav-links a:hover{color:#ffd7f4}
.nav-links a:hover::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:110;-webkit-tap-highlight-color:transparent}
.burger span{display:block;width:24px;height:2px;background:#ffd7f4;border-radius:2px;transition:transform .35s var(--ease-out),opacity .25s ease}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
section{padding:110px 0;position:relative}
section+section::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:min(980px,88%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,109,235,.25),rgba(126,77,255,.28),transparent);opacity:.7}
.hero{min-height:92vh;display:flex;align-items:center;position:relative;padding-top:48px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url("nadia1.png");background-size:cover;background-position:52% 22%;background-repeat:no-repeat;transform:scale(1.008);filter:brightness(.45) contrast(1.1) saturate(.8);opacity:.5}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,rgba(8,5,18,.94),rgba(12,8,26,.78)),radial-gradient(circle at 18% 22%,rgba(255,79,216,.15),transparent 46%),radial-gradient(circle at 80% 70%,rgba(126,77,255,.15),transparent 46%),radial-gradient(circle at 52% 52%,rgba(126,77,255,.06),transparent 52%)}
.hero-grid{display:grid;gap:clamp(36px,4vw,70px);grid-template-columns:1.1fr .9fr;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:rgba(255,79,216,.1);border:1px solid rgba(255,79,216,.22);color:#ffc8f4;font-size:.78rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;margin-bottom:24px;backdrop-filter:blur(8px)}
.hero-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px var(--primary);animation:tp 2.5s ease-in-out infinite}
@keyframes tp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.hero-title{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,5.6vw,5.4rem);line-height:1.02;letter-spacing:-.5px;margin-bottom:28px;color:#ffe9ff;text-shadow:0 0 10px rgba(255,79,216,.45),0 0 30px rgba(126,77,255,.25)}
.hero-title em{font-style:italic;color:var(--primary);text-shadow:0 0 16px rgba(255,79,216,.5)}
.hero-subtitle{color:var(--text-muted);max-width:52ch;margin-bottom:40px;font-size:clamp(1.02rem,1.8vw,1.18rem);line-height:1.82}
.btn{border:none;cursor:pointer;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:.95rem;letter-spacing:.3px;font-family:inherit;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow var(--tb),background var(--tb),border-color var(--tb);position:relative;overflow:hidden;transform-style:preserve-3d}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.3) 48%,transparent 74%);transform:translateX(-115%);transition:transform .65s ease;pointer-events:none}
.btn:hover::before{transform:translateX(115%)}
.btn-primary{background:linear-gradient(140deg,var(--primary),var(--primary-deep));color:var(--white);padding:16px 36px;border:1px solid rgba(255,155,238,.45);box-shadow:0 0 0 1px rgba(255,79,216,.18),0 12px 28px rgba(36,14,62,.55)}
.btn-primary:hover{transform:scale(1.02);box-shadow:0 0 0 1px rgba(255,170,245,.45),0 18px 32px rgba(42,12,70,.65),0 0 18px rgba(255,79,216,.28);border-color:rgba(255,198,247,.85)}
.btn-primary:active{transform:scale(.99);transition-duration:.1s}
.btn-arrow{display:inline-block;transition:transform .3s var(--ease-out);font-size:1.1em}
.btn:hover .btn-arrow{transform:translateX(4px)}
.hero-visual{min-height:480px;border-radius:28px;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 20px 50px rgba(6,3,14,.7),0 0 0 1px rgba(255,112,233,.2),0 0 40px rgba(255,79,216,.12);border:1px solid rgba(255,112,233,.25);transform-style:preserve-3d}
.hero-photo{display:block;width:110%;height:110%;position:absolute;top:-5%;left:-5%;object-fit:cover;object-position:center 20%;filter:brightness(.78) saturate(1.1) contrast(1.05);transition:transform .4s ease-out,filter 1s ease;will-change:transform}
.hero-visual:hover .hero-photo{filter:brightness(.82) saturate(1.15) contrast(1.05)}
.hero-visual-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(9,6,17,.85) 0%,rgba(9,6,17,.3) 35%,rgba(9,6,17,.05) 55%,rgba(126,77,255,.08) 100%);pointer-events:none}
.hero-visual::before{content:"";position:absolute;inset:0;z-index:2;border-radius:28px;box-shadow:inset 0 0 60px rgba(9,6,17,.4);pointer-events:none}
.hero-visual::after{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;z-index:2;background:radial-gradient(circle,rgba(255,79,216,.08),transparent 60%);pointer-events:none}
.grace-text{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:28px 24px;font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.3;color:rgba(255,243,255,.92);text-shadow:0 2px 16px rgba(9,6,17,.8),0 0 30px rgba(255,79,216,.25)}
.floating-pill{position:absolute;top:26px;left:24px;background:rgba(26,13,45,.72);color:#ffd8f6;padding:9px 16px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.3px;border:1px solid rgba(255,112,233,.32);box-shadow:0 0 18px rgba(181,60,255,.25);max-width:240px;text-align:center;line-height:1.25;backdrop-filter:blur(8px)}
.scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,215,244,.45);font-size:.68rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;animation:shf 2.5s ease-in-out infinite;z-index:2}
.scroll-hint-line{width:1px;height:28px;background:linear-gradient(to bottom,rgba(255,79,216,.45),transparent);animation:sl 2s ease-in-out infinite}
@keyframes shf{0%,100%{opacity:.35}50%{opacity:.75}}
@keyframes sl{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.section-label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--primary);margin-bottom:14px;opacity:.8}
.section-title{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.2px;margin-bottom:20px;color:#ffeaff;text-shadow:0 0 8px rgba(255,79,216,.35),0 0 22px rgba(126,77,255,.25);position:relative;padding-bottom:18px}
.hero-title .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:10px;margin-bottom:-10px;padding-right:0.2em}
.hero-title .word span{display:inline-block;transform:translateY(100%);opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s ease}
body.page-ready .hero-title .word span{transform:translateY(0);opacity:1}
.section-title .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:10px;margin-bottom:-10px;padding-right:0.2em}
.section-title .word span{display:inline-block;transform:translateY(100%);opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s ease}
.reveal.visible .section-title .word span,.visible .section-title .word span{transform:translateY(0);opacity:1}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:2px;border-radius:99px;background:linear-gradient(90deg,rgba(255,114,238,.85),rgba(126,77,255,.85));box-shadow:0 0 10px rgba(255,79,216,.3);transition:width .6s var(--ease-out)}
.reveal.visible .section-title::after,.visible .section-title::after{width:88px}
.section-text{color:var(--text-muted);max-width:62ch;margin-bottom:40px;line-height:1.82;font-size:1.05rem}
.about-card{background:linear-gradient(155deg,rgba(31,16,53,.52),rgba(20,12,36,.4));border-radius:var(--radius);padding:clamp(32px,4vw,52px);box-shadow:var(--shadow);border:1px solid var(--glass-border);backdrop-filter:blur(10px);position:relative;overflow:hidden}
.about-card::after{content:"";position:absolute;right:-80px;top:-80px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,79,216,.12),transparent 66%);pointer-events:none}
.about-card .section-text{font-size:1.08rem;line-height:1.88;margin-bottom:0}
.classes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px;align-items:stretch}
.class-card{background:linear-gradient(170deg,rgba(33,17,57,.5),rgba(17,10,34,.4));border-radius:20px;padding:0;border:1px solid rgba(255,108,234,.28);box-shadow:0 14px 30px rgba(13,8,26,.55),inset 0 0 0 1px rgba(255,255,255,.03);backdrop-filter:blur(8px);transition:transform var(--tb),box-shadow var(--tb),border-color var(--tb);overflow:hidden;position:relative}
.class-card::after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,108,234,.12),transparent 40%);pointer-events:none;z-index:2;opacity:0;transition:opacity .4s ease}
.class-card:hover::after{opacity:1}
.class-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(10,4,20,.65),0 0 18px rgba(255,79,216,.18);border-color:rgba(255,157,242,.6)}
.class-card h3{font-family:"Playfair Display",serif;color:#ffe8ff;margin-bottom:10px;font-size:1.38rem;text-shadow:0 0 10px rgba(255,79,216,.3);line-height:1.2}
.class-card p{color:var(--text-muted);font-size:.96rem;line-height:1.68}
.class-image{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(165deg,#171028,#11081c 45%,#1c102e)}
.class-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%;filter:brightness(.65) saturate(1.08) contrast(1.06);transition:transform .5s var(--ease-out),filter .4s ease}
.class-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,6,20,.45),transparent 40%);pointer-events:none;z-index:1}
.class-content{padding:24px 22px 28px}
.class-card:hover .class-image img{transform:scale(1.06);filter:brightness(.72) saturate(1.12) contrast(1.08)}
.marquee-wrap{width:100%;overflow:hidden;padding:32px 0;background:linear-gradient(90deg,transparent,rgba(255,79,216,.08) 20%,rgba(126,77,255,.08) 80%,transparent);border-top:1px solid rgba(255,108,234,.15);border-bottom:1px solid rgba(255,108,234,.15);position:relative;margin:80px 0}
.marquee-content{display:flex;width:max-content;animation:marquee 30s linear infinite}
.marquee-content span{font-family:"Playfair Display",serif;font-style:italic;font-size:1.8rem;color:#ffe9ff;text-shadow:0 0 10px rgba(255,79,216,.3);margin:0 40px;white-space:nowrap}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.benefit-card{padding:24px 20px;border-radius:16px;border:1px solid rgba(255,145,240,.35);background:linear-gradient(150deg,rgba(29,14,51,.65),rgba(16,9,31,.6));box-shadow:0 12px 24px rgba(8,4,20,.55);text-align:center;transition:transform var(--tb),border-color var(--tb),box-shadow var(--tb);position:relative;overflow:hidden}
.benefit-card::before{content:"";position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,79,216,.12),transparent 70%);pointer-events:none}
.benefit-number{display:block;font-family:"Playfair Display",serif;font-size:1.9rem;color:#ffe9ff;text-shadow:0 0 12px rgba(255,79,216,.45);line-height:1.1;margin-bottom:10px}
.benefit-text{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.6}
.instructors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:8px}
.instructor-card{border-radius:18px;overflow:hidden;border:1px solid rgba(255,145,240,.35);background:linear-gradient(150deg,rgba(29,14,51,.65),rgba(16,9,31,.6));box-shadow:0 14px 28px rgba(8,4,20,.58);transition:transform .38s var(--ease-out),box-shadow .38s var(--ease-out),border-color .38s ease}
.instructor-photo{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden}
.instructor-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 28%;filter:brightness(.72) saturate(1.03);transition:transform .4s ease,filter .35s ease}
.instructor-card:hover .instructor-photo img{transform:scale(1.05);filter:brightness(.78) saturate(1.1)}
.instructor-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,6,20,.75),rgba(10,6,20,.08));pointer-events:none}
.instructor-content{padding:18px 16px 20px}
.instructor-content h3{margin:0 0 10px;font-family:"Playfair Display",serif;font-weight:700;color:#fff2ff;font-size:clamp(1.28rem,2.2vw,1.48rem);letter-spacing:.35px;line-height:1.2;text-shadow:0 0 12px rgba(255,79,216,.35),0 0 22px rgba(126,77,255,.18)}
.instructor-content p{margin:0;color:rgba(190,167,207,.95);font-size:.86rem;font-weight:500;line-height:1.58}
.instructor-card:hover{transform:translateY(-5px);border-color:rgba(255,198,248,.7);box-shadow:0 18px 34px rgba(8,4,20,.55),0 0 22px rgba(255,79,216,.2),0 0 40px rgba(126,77,255,.1)}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}
.review-card{border-radius:16px;border:1px solid rgba(255,148,241,.35);background:linear-gradient(150deg,rgba(29,14,51,.62),rgba(16,9,31,.56));box-shadow:0 12px 24px rgba(8,4,20,.55);padding:24px 22px 20px;transition:transform var(--tb),box-shadow var(--tb),border-color var(--tb);position:relative}
.review-card::before{content:"\201C";position:absolute;top:12px;left:18px;font-family:"Playfair Display",serif;font-size:3.5rem;line-height:1;color:rgba(255,79,216,.18);pointer-events:none}
.review-card:hover,.benefit-card:hover,.address-card:hover{transform:translateY(-4px);border-color:rgba(255,192,248,.75);box-shadow:0 14px 24px rgba(8,4,20,.52),0 0 12px rgba(255,79,216,.18)}
.review-text{margin:0 0 12px;color:#f6e7ff;line-height:1.72;font-style:italic;padding-left:8px}
.review-author{margin:0;color:var(--text-muted);font-size:.9rem;letter-spacing:.2px;font-weight:600}
.cta{padding-bottom:120px}
.cta-box{background:linear-gradient(135deg,rgba(255,79,216,.28),rgba(126,77,255,.3));border-radius:30px;color:var(--white);text-align:center;padding:clamp(38px,6vw,72px);border:1px solid rgba(255,143,241,.45);backdrop-filter:blur(10px);box-shadow:0 24px 46px rgba(6,4,16,.7),0 0 20px rgba(181,60,255,.2);position:relative;overflow:hidden}
.cta-box::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 10%,rgba(255,255,255,.08) 22%,transparent 36%);opacity:.5;pointer-events:none}
.cta-box h2{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4.2vw,3.4rem);line-height:1.1;margin-bottom:16px}
.cta-box p{opacity:.94;max-width:56ch;margin:0 auto 28px;line-height:1.76}
.btn-light{background:linear-gradient(135deg,rgba(255,252,255,.95),rgba(245,231,255,.95));color:#801f9f;padding:14px 30px;border:1px solid rgba(255,190,248,.85);box-shadow:0 10px 24px rgba(13,8,27,.6),0 0 14px rgba(255,79,216,.35)}
.btn-light:hover{transform:scale(1.02);box-shadow:0 16px 26px rgba(13,8,27,.58),0 0 14px rgba(255,79,216,.3)}
.btn-light:active{transform:scale(.99);transition-duration:.1s}
.map-section{padding-top:94px;padding-bottom:96px}
.map-wrap{background:linear-gradient(150deg,rgba(29,14,51,.65),rgba(14,8,30,.65));border:1px solid rgba(255,136,239,.35);border-radius:26px;padding:18px;box-shadow:0 18px 36px rgba(9,5,20,.6),0 0 20px rgba(181,60,255,.12);backdrop-filter:blur(8px)}
.map-frame{border-radius:18px;overflow:hidden;border:1px solid rgba(255,169,245,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 20px rgba(255,79,216,.12)}
.map-frame iframe{width:100%;height:430px;border:0;filter:grayscale(.2) saturate(.9) contrast(1.03) brightness(.86)}
.map-points{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.map-point{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fbe8ff;border:1px solid rgba(255,152,242,.4);border-radius:12px;background:rgba(19,11,34,.78);padding:12px 14px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.map-point:hover{transform:translateY(-2px);border-color:rgba(255,194,249,.75);box-shadow:0 8px 18px rgba(8,4,18,.5),0 0 10px rgba(255,79,216,.18)}
.map-pin{color:#ff7ae4;text-shadow:0 0 10px rgba(255,79,216,.45);font-size:1rem;line-height:1}
.write-us{padding-top:8px;padding-bottom:120px;position:relative}
.write-us-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:1100px;height:70%;background:radial-gradient(ellipse at center,rgba(255,79,216,.15) 0,rgba(126,77,255,.1) 40%,transparent 70%);pointer-events:none;z-index:-1;animation:wu-glow 6s ease-in-out infinite alternate}
@keyframes wu-glow{0%{opacity:.6;transform:translate(-50%,-50%) scale(.95)}100%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}
.write-us-wrapper{position:relative;background:linear-gradient(145deg,rgba(31,16,53,.65),rgba(17,9,34,.55));border:1px solid rgba(255,145,240,.35);box-shadow:0 20px 50px rgba(8,4,20,.65),0 0 0 1px rgba(255,255,255,.03),inset 0 0 30px rgba(255,79,216,.08),0 0 24px rgba(255,79,216,.15),0 0 40px rgba(126,77,255,.12);border-radius:32px;padding:clamp(32px,5vw,48px);backdrop-filter:blur(16px);max-width:1040px;margin:16px auto 0;animation:wu-float 8s ease-in-out infinite;overflow:hidden}
.write-us-wrapper::before{content:"";position:absolute;inset:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,79,216,.12),transparent 40%);pointer-events:none;z-index:0;transition:opacity .3s}
@keyframes wu-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.write-us-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,26px);position:relative;z-index:1}
.write-us-btn{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;min-height:165px;padding:32px 20px;border-radius:22px;text-decoration:none;text-align:center;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(8,4,18,.5);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,filter .4s ease,border-color .4s ease;position:relative;overflow:hidden;transform-style:preserve-3d}
.write-us-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.write-us-btn:hover::before{transform:translateX(120%)}
.write-us-btn:hover{transform:scale(1.02);filter:brightness(1.08)}
.write-us-icon{display:block;margin-bottom:4px;animation:wu-pulse 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}
@keyframes wu-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.write-us-title{font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700;letter-spacing:.3px;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.write-us-btn--telegram{background:linear-gradient(165deg,#6ec9ff,#3dadf0 40%,#229ED9);color:#fff;border-color:rgba(190,235,255,.5)}
.write-us-btn--telegram:hover{box-shadow:0 24px 44px rgba(8,60,100,.5),0 0 32px rgba(34,158,217,.4);border-color:rgba(220,248,255,.8)}
.write-us-btn--whatsapp{background:linear-gradient(165deg,#4ef0a0,#2fe078 35%,#25D366);color:#fff;border-color:rgba(180,255,210,.45)}
.write-us-btn--whatsapp:hover{box-shadow:0 24px 44px rgba(8,80,45,.45),0 0 32px rgba(37,211,102,.4);border-color:rgba(210,255,228,.8)}
.write-us-btn--vk{background:linear-gradient(165deg,#6fa8e8,#4680C2 50%,#3a6ba3);color:#fff;border-color:rgba(180,210,255,.4)}
.write-us-btn--vk:hover{box-shadow:0 24px 44px rgba(20,50,90,.5),0 0 32px rgba(70,128,194,.45);border-color:rgba(200,225,255,.8)}
.contact-meta{display:grid;gap:8px;justify-items:center;margin-bottom:18px}
.contact-phone{display:inline-block;color:#ffe8ff;text-decoration:none;font-weight:700;letter-spacing:.3px;font-size:clamp(1.05rem,2.2vw,1.35rem);text-shadow:0 0 10px rgba(255,79,216,.45),0 0 18px rgba(126,77,255,.4);transition:color .25s ease,text-shadow .25s ease}
.contact-phone:hover{color:#fff5ff;text-shadow:0 0 14px rgba(255,79,216,.65),0 0 26px rgba(126,77,255,.5)}
.studio-note{margin:0;color:rgba(246,219,255,.9);font-size:.96rem;letter-spacing:.2px}
.address-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 auto 24px;max-width:760px}
.address-card{padding:16px 14px;border-radius:14px;border:1px solid rgba(255,141,241,.45);background:linear-gradient(145deg,rgba(26,13,48,.72),rgba(17,9,33,.7));color:#fbe8ff;font-weight:600;letter-spacing:.2px;box-shadow:0 10px 22px rgba(11,6,22,.55),0 0 14px rgba(181,60,255,.2);text-align:center;transition:transform var(--tb),border-color var(--tb),box-shadow var(--tb);cursor:pointer;font-family:inherit;font-size:inherit;width:100%;-webkit-tap-highlight-color:transparent}
.address-card.selected,.address-card[aria-pressed="true"]{border-color:rgba(255,198,248,.95);background:linear-gradient(145deg,rgba(255,79,216,.22),rgba(126,77,255,.18));box-shadow:0 12px 26px rgba(11,6,22,.6),0 0 20px rgba(255,79,216,.35),inset 0 0 0 1px rgba(255,194,248,.35)}
.address-card:focus-visible{outline:none;border-color:rgba(255,194,248,.95);box-shadow:0 0 0 2px rgba(255,97,223,.25),0 0 18px rgba(126,77,255,.35)}
.booking-form{max-width:680px;margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr auto;grid-template-areas:"name phone submit" "message message message";gap:12px;align-items:start}
#bookingForm .field:nth-of-type(1){grid-area:name}
#bookingForm .field:nth-of-type(2){grid-area:phone}
#bookingForm .field--full{grid-area:message}
#bookingForm #submitBtn{grid-area:submit;align-self:start}
.field{display:flex;flex-direction:column;gap:6px;text-align:left}
.field label{font-size:.8rem;letter-spacing:.24px;text-transform:uppercase;color:rgba(255,235,251,.86)}
.field input,.field textarea{width:100%;border-radius:12px;border:1px solid rgba(255,151,242,.38);background:rgba(15,9,29,.66);color:#fff2ff;padding:12px 14px;font-family:inherit;font-size:.98rem;outline:none;transition:border-color .28s ease,box-shadow .28s ease,background .28s ease}
.field textarea{min-height:88px;resize:vertical;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:rgba(217,181,232,.65)}
.field input:focus,.field textarea:focus{border-color:rgba(255,194,248,.85);box-shadow:0 0 0 2px rgba(255,97,223,.18),0 0 16px rgba(126,77,255,.3);background:rgba(20,12,37,.82)}
.field.floating-label{position:relative}
.field.floating-label label{position:absolute;left:14px;top:14px;pointer-events:none;transition:transform .3s ease,font-size .3s ease,color .3s ease;color:rgba(217,181,232,.65);font-size:.98rem;text-transform:none}
.field.floating-label input,.field.floating-label textarea{padding:20px 14px 8px}
.field.floating-label input:focus~label,.field.floating-label input:not(:placeholder-shown)~label,.field.floating-label textarea:focus~label,.field.floating-label textarea:not(:placeholder-shown)~label{transform:translateY(-10px);font-size:.7rem;color:var(--primary)}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.field input.error-shake{animation:shake .4s ease-in-out;border-color:#ffb3e9}
.field input.success-glow{border-color:#d6ffd0;box-shadow:0 0 0 2px rgba(98,255,166,.18)}
.booking-form .btn{margin-top:22px;min-height:48px;min-width:172px}
#bookingForm .booking-form-privacy{grid-column:1/-1;justify-content:center;text-align:center;margin-top:4px;margin-bottom:0}
.booking-form .btn:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:0 10px 24px rgba(13,8,27,.55),0 0 10px rgba(255,79,216,.28)}
.form-message{margin-top:14px;font-size:.95rem;min-height:1.3em;text-align:center}
.form-message.error{color:#ffb3e9;text-shadow:0 0 10px rgba(255,79,216,.35)}
.form-message.success{color:#d6ffd0;text-shadow:0 0 10px rgba(98,255,166,.35)}
footer{padding:36px 0 42px;color:var(--text-muted);text-align:center;font-size:.88rem;letter-spacing:.3px;border-top:1px solid rgba(255,109,235,.12)}
footer .container{display:flex;flex-direction:column;align-items:center;gap:12px}
.footer-brand{font-family:"Playfair Display",serif;font-size:1.1rem;color:#fbdfff;text-shadow:0 0 8px rgba(255,79,216,.3);letter-spacing:.5px}
.footer-links{display:flex;gap:24px;list-style:none}
.footer-links a{color:var(--text-muted);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.3px;transition:color .3s ease}
.footer-links a:hover{color:#ffd7f4}
.footer-copy{opacity:.6;font-size:.8rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:translateY(0);will-change:auto}
.stagger-1{transition-delay:.05s}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.15s}.stagger-4{transition-delay:.2s}.stagger-5{transition-delay:.25s}.stagger-6{transition-delay:.3s}.stagger-7{transition-delay:.35s}.stagger-8{transition-delay:.4s}.stagger-9{transition-delay:.45s}
main{position:relative;isolation:isolate}
main::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(112deg,transparent 14%,rgba(255,79,216,.1) 22%,transparent 30%),linear-gradient(126deg,transparent 40%,rgba(126,77,255,.11) 48%,transparent 57%),linear-gradient(138deg,transparent 70%,rgba(255,129,236,.08) 77%,transparent 86%);background-size:240% 240%;opacity:.58;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){body{opacity:1;transform:none;transition:none}body::before,main::before,.hero::after,.hero-visual{animation:none}.btn::before,.reveal{transition:none;opacity:1;transform:none}.scroll-hint{display:none}}
@media(max-width:980px){section{padding:88px 0}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-visual{min-height:360px}.classes-grid{grid-template-columns:1fr}.address-grid{grid-template-columns:1fr;max-width:500px}.map-points{grid-template-columns:1fr}.write-us-wrapper{max-width:540px;margin-left:auto;margin-right:auto}.write-us-grid{grid-template-columns:1fr;max-width:100%;margin-left:auto;margin-right:auto}.benefits-grid{grid-template-columns:1fr}.instructors-grid{grid-template-columns:1fr}}
@media(max-width:1100px) and (min-width:981px){.instructors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:993px) and (max-width:1024px){section{padding:96px 0}.hero{min-height:min(86vh,800px);padding-top:40px}.hero-grid{grid-template-columns:1.05fr .95fr;gap:clamp(28px,3.2vw,42px)}.hero-visual{min-height:340px}.hero-title{font-size:clamp(2.35rem,4vw,3.4rem);margin-bottom:20px;line-height:1.05}.hero-subtitle{font-size:clamp(1.02rem,1.55vw,1.12rem);line-height:1.72;margin-bottom:28px;max-width:48ch}.section-title{font-size:clamp(2rem,3.3vw,2.8rem);margin-bottom:20px}.classes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.instructors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.address-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;gap:16px;margin-bottom:26px}.address-card:nth-child(3){grid-column:1/-1;justify-self:center;width:100%;max-width:400px}.cta-box{padding:clamp(34px,4.8vw,54px) clamp(26px,3.8vw,42px)}.cta-box h2{font-size:clamp(1.95rem,3.2vw,2.75rem)}.booking-form{max-width:720px;gap:14px;grid-template-columns:1fr 1fr;grid-template-areas:"name phone" "message message" "submit submit" "privacy privacy"}#bookingForm #submitBtn{grid-area:submit;width:100%;margin-top:0;min-width:0}#bookingForm .booking-form-privacy{grid-area:privacy}.map-wrap{padding:16px}.map-frame iframe{height:400px}.map-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-point:nth-child(3){grid-column:1/-1;max-width:520px;justify-self:center;width:100%}.write-us-wrapper{max-width:100%}.write-us-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;gap:16px}.write-us-btn{min-height:140px;padding:22px 16px}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:992px){.container{width:min(1120px,94vw)}.top-nav-inner{padding:14px 0}.burger{display:flex}.nav-links{position:fixed;top:0;right:0;width:min(320px,85vw);height:100vh;background:rgba(9,6,17,.96);backdrop-filter:blur(20px);flex-direction:column;gap:0;padding:80px 32px 40px;transform:translateX(100%);transition:transform .4s var(--ease-out);z-index:105;border-left:1px solid rgba(255,79,216,.15);box-shadow:-8px 0 32px rgba(6,4,15,.5)}.nav-links.open{transform:translateX(0)}.nav-links li{border-bottom:1px solid rgba(255,79,216,.1)}.nav-links a{display:block;padding:18px 0;font-size:.95rem;letter-spacing:.8px}.nav-links a::after{display:none}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:104;opacity:0;transition:opacity .3s ease}.mobile-overlay.show{display:block;opacity:1}section{padding:84px 0}.section-title{font-size:clamp(1.85rem,7.2vw,2.45rem);margin-bottom:26px;padding-bottom:14px;line-height:1.14}.section-text{font-size:1.04rem;line-height:1.72;margin-bottom:28px}.hero{min-height:auto;padding-top:28px;padding-bottom:20px}.hero-grid{gap:32px}.hero-title{font-size:clamp(2.2rem,9.2vw,3.15rem);line-height:1.06;margin-bottom:18px}.hero-subtitle{font-size:1.06rem;line-height:1.72;margin-bottom:26px;max-width:none}.hero .btn-primary{width:100%;max-width:100%;min-height:52px;padding:16px 22px}.hero-visual{max-width:100%;border-radius:22px}.grace-text{font-size:clamp(1.32rem,5.8vw,1.85rem);padding:18px 14px}.floating-pill{max-width:calc(100% - 32px);left:16px;right:16px;font-size:.78rem}.scroll-hint{display:none}.classes-grid{grid-template-columns:1fr;gap:26px;margin-top:12px}.class-card h3{font-size:1.32rem;line-height:1.22;margin-bottom:10px}.class-card p{font-size:1.02rem;line-height:1.68}.class-content{padding:20px 18px 24px}.class-card:hover{transform:translateY(-2px)}.class-card:hover .class-image img{transform:scale(1.02)}.instructors-grid{grid-template-columns:1fr;gap:24px;margin-top:12px}.instructor-content{padding:20px 18px 22px}.instructor-content h3{font-size:1.3rem;margin-bottom:8px}.instructor-content p{font-size:.95rem;line-height:1.62}.instructor-card:hover{transform:translateY(-2px)}.instructor-card:hover .instructor-photo img{transform:scale(1.02)}.cta{padding-bottom:96px}.cta-box{padding:28px 20px 32px;border-radius:22px}.cta-box h2{font-size:clamp(1.78rem,7vw,2.35rem);margin-bottom:18px;line-height:1.12}.cta-box p{font-size:1.03rem;line-height:1.74;margin-bottom:24px}.contact-meta{gap:14px;margin-bottom:22px;width:100%}.contact-phone{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 18px;border-radius:16px;border:1px solid rgba(255,155,238,.48);background:rgba(15,9,29,.55);font-size:clamp(1.08rem,3.8vw,1.28rem)}.studio-note{font-size:1rem;line-height:1.55}.address-grid{gap:16px;margin-bottom:28px;max-width:none;width:100%}.address-card{padding:18px 16px;font-size:.98rem;line-height:1.5}.map-section{padding-top:72px;padding-bottom:88px}.map-wrap{padding:14px;border-radius:20px}.map-frame iframe{height:min(48vh,360px);min-height:240px}.map-points{margin-top:18px;gap:12px}.map-point{min-height:48px;padding:14px 16px}.booking-form{grid-template-columns:1fr;grid-template-areas:"name" "phone" "message" "privacy" "submit";gap:16px;max-width:100%}.booking-form .btn{width:100%;min-width:0;min-height:52px;margin-top:0}#bookingForm .booking-form-privacy{grid-area:privacy;margin-top:0;margin-bottom:4px}#bookingForm #submitBtn{grid-area:submit}.field{gap:8px}.field input{min-height:48px;padding:14px;font-size:1rem}.field textarea{min-height:112px;padding:14px;font-size:1rem}.form-message{margin-top:18px;font-size:1rem}.write-us-grid{grid-template-columns:1fr;gap:16px;max-width:none;width:100%;margin-top:12px}.write-us-btn{width:100%;min-height:85px;padding:16px 12px;flex-direction:row;gap:16px}.write-us-icon{width:28px;height:28px;margin-bottom:0}.write-us-title{font-size:1.25rem}.write-us-btn:hover{transform:translateY(-4px)}.write-us-wrapper{padding:24px 20px;border-radius:24px}.benefits-grid,.reviews-grid{grid-template-columns:1fr;gap:18px}.benefit-card{padding:20px 18px}.benefit-number{font-size:1.65rem}.review-card{padding:20px 18px 18px}.about-card{padding:24px 20px 28px}.btn-primary:hover,.btn-light:hover{transform:translateY(-2px)}footer .footer-links{flex-wrap:wrap;justify-content:center;gap:16px}}
@media(max-width:992px){.hero::before{background-position:50% 14%;filter:brightness(.35) contrast(1.1) saturate(.7);opacity:.4}.hero-visual{min-height:min(65vw,380px);border-radius:22px}.hero-photo{width:100%;height:100%;left:0;top:0;object-position:center 15%}.grace-text{font-size:clamp(1.2rem,5vw,1.6rem);padding:20px 16px}.marquee-content span{font-size:clamp(1.2rem,4.5vw,1.6rem);margin:0 24px}.map-frame iframe{height:min(48vh,360px);min-height:240px}}

/* PRIVACY & COOKIES */
.privacy-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-top: 8px;
  margin-bottom: 12px;
  text-align: left;
  cursor: pointer;
}
.privacy-checkbox input[type="checkbox"] {
  margin-top: 3px;
  accent-color: var(--primary);
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.privacy-checkbox a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.3s;
}
.privacy-checkbox a:hover {
  color: var(--primary-deep);
}

.cookie-banner {
  position: fixed;
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  left: max(20px, env(safe-area-inset-left, 0px));
  max-width: 420px;
  background: linear-gradient(145deg, rgba(31, 16, 53, 0.95), rgba(17, 9, 34, 0.95));
  border: 1px solid rgba(255, 79, 216, 0.3);
  border-radius: 16px;
  padding: 24px;
  z-index: 10000;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 20px rgba(255, 79, 216, 0.15);
  backdrop-filter: blur(12px);
  transform: translateY(150%);
  transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cookie-banner.show {
  transform: translateY(0);
}
.cookie-banner p {
  font-size: 0.88rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.6;
}
.cookie-banner a {
  color: var(--primary);
  text-decoration: underline;
  transition: color 0.3s;
}
.cookie-banner a:hover {
  color: #fff;
}
.cookie-banner .btn {
  width: 100%;
  min-height: 44px;
  padding: 10px;
  font-size: 0.95rem;
}

@media(max-width: 480px) {
  .cookie-banner {
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    left: max(16px, env(safe-area-inset-left, 0px));
    right: max(16px, env(safe-area-inset-right, 0px));
    max-width: none;
    padding: 20px;
  }
}

/* Privacy Page Specific */
.privacy-page {
  padding: 140px 0 80px;
  min-height: 80vh;
}
.privacy-content {
  background: linear-gradient(155deg, rgba(31, 16, 53, 0.52), rgba(20, 12, 36, 0.4));
  border-radius: var(--radius);
  padding: clamp(32px, 4vw, 52px);
  box-shadow: var(--shadow);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(10px);
}
.privacy-content h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: #ffeaff;
  margin-bottom: 30px;
  text-shadow: 0 0 10px rgba(255, 79, 216, 0.3);
}
.privacy-content h2 {
  font-size: 1.4rem;
  color: #fff;
  margin: 40px 0 20px;
}
.privacy-content p, .privacy-content li {
  color: var(--text-muted);
  margin-bottom: 16px;
  font-size: 1.05rem;
  line-height: 1.8;
}
.privacy-content ul {
  margin-left: 24px;
  margin-bottom: 24px;
}
.privacy-content a {
  color: var(--primary);
  text-decoration: underline;
}
.wheel-modal-overlay {position: fixed;inset: 0;background: rgba(9, 6, 17, 0.85);backdrop-filter: blur(12px);z-index: 9999;display: flex;align-items: center;justify-content: center;opacity: 0;visibility: hidden;transition: opacity 0.4s ease, visibility 0.4s ease;}
.wheel-modal-overlay.active {opacity: 1;visibility: visible;}
.wheel-modal-content {background: linear-gradient(135deg, rgba(31, 16, 53, 0.95), rgba(17, 9, 33, 0.98));border: 1px solid rgba(255, 79, 216, 0.4);box-shadow: 0 0 30px rgba(255, 79, 216, 0.2), 0 0 60px rgba(126, 77, 255, 0.15);border-radius: 30px;padding: 40px;max-width: 440px;width: 90%;position: relative;text-align: center;transform: scale(0.9);transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);}
.wheel-modal-overlay.active .wheel-modal-content {transform: scale(1);}
.wheel-modal-close {position: absolute;top: 16px;right: 16px;background: none;border: none;color: rgba(255, 255, 255, 0.6);font-size: 28px;cursor: pointer;line-height: 1;transition: color 0.3s ease;}
.wheel-modal-close:hover {color: #fff;}
.wheel-title {font-family: "Playfair Display", serif;font-size: 2rem;color: #ffe9ff;text-shadow: 0 0 10px rgba(255, 79, 216, 0.45);margin-bottom: 10px;line-height: 1.1;}
.wheel-subtitle {color: var(--text-muted);font-size: 0.95rem;margin-bottom: 24px;}
.wheel-container {position: relative;width: 280px;height: 280px;margin: 0 auto 30px;}
.wheel-indicator {position: absolute;top: -15px;left: 50%;transform: translateX(-50%);width: 30px;height: 40px;background: var(--primary);clip-path: polygon(50% 100%, 0 0, 100% 0);z-index: 10;filter: drop-shadow(0 0 10px rgba(255,79,216,0.8));}
.wheel-spin-area {width: 100%;height: 100%;border-radius: 50%;overflow: hidden;border: 4px solid rgba(255, 255, 255, 0.1);box-shadow: 0 0 20px rgba(255, 79, 216, 0.4), inset 0 0 20px rgba(0,0,0,0.5);transition: transform 5s cubic-bezier(0.2, 0.8, 0.15, 1);position: relative;background: conic-gradient(from -36deg, #ff4fd8 0 72deg, #7e4dff 72deg 144deg, #ff4fd8 144deg 216deg, #7e4dff 216deg 288deg, #ff4fd8 288deg 360deg);}
.wheel-slice {position: absolute;top: 50%;left: 50%;width: 140px;height: 40px;margin-top: -20px;transform-origin: 0% 50%;display: flex;align-items: center;justify-content: flex-end;padding-right: 20px;box-sizing: border-box;color: #fff;font-size: 13px;font-weight: 700;text-shadow: 1px 1px 3px rgba(0,0,0,0.8);line-height: 1.2;text-align: right;}
.wheel-slice:nth-child(1) { transform: rotate(-90deg); }
.wheel-slice:nth-child(2) { transform: rotate(-18deg); }
.wheel-slice:nth-child(3) { transform: rotate(54deg); }
.wheel-slice:nth-child(4) { transform: rotate(126deg); }
.wheel-slice:nth-child(5) { transform: rotate(198deg); }
.wheel-form .field {margin-bottom: 12px;}
.wheel-form input {width: 100%;border-radius: 12px;border: 1px solid rgba(255, 151, 242, 0.38);background: rgba(15, 9, 29, 0.66);color: #fff2ff;padding: 12px 14px;font-family: inherit;font-size: 0.98rem;outline: none;text-align: center;transition: all 0.3s ease;}
.wheel-form input:focus {border-color: rgba(255, 194, 248, 0.85);box-shadow: 0 0 0 2px rgba(255, 97, 223, 0.18);background: rgba(20, 12, 37, 0.82);}
.wheel-spin-btn {width: 100%;margin-top: 10px;min-height: 48px;}
.wheel-spin-btn:disabled {opacity: 0.5;cursor: not-allowed;transform: none !important;box-shadow: none !important;}
.wheel-success-prize {font-family: "Playfair Display", serif;font-size: 1.8rem;color: #ff4fd8;text-shadow: 0 0 15px rgba(255, 79, 216, 0.5);margin: 20px 0;font-weight: 700;}
.wheel-success-btn {margin-top: 20px;min-height: 48px;width: 100%;}
@media(max-width: 480px) {.wheel-modal-content {padding: 30px 20px;}.wheel-container {width: 240px;height: 240px;}.wheel-slice {width: 120px;font-size: 12px;padding-right: 15px;}}