@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --black:#050505; --ink:#171218; --pink:#f21f8e; --pink-bright:#ff3ca2; --pink-soft:#ff9dcb; --blush:#ffd6e9; --cream:#fff8fc; --muted:#8f808b; --line:rgba(255,255,255,.13); --display:'Playfair Display', Georgia, serif; --sans:'DM Sans', Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:#fff; font-family:var(--sans); font-size:16px; line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.announcement { min-height:36px; padding:8px 5.5vw; display:flex; align-items:center; justify-content:center; gap:10px; background:var(--pink); color:#fff; font-size:12px; letter-spacing:.01em; }
.announcement a { margin-left:16px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.announcement-dot { width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.15); }
.site-header { min-height:84px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:5; background:rgba(5,5,5,.88); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; width:160px; }
.brand-logo { display:block; width:185px; height:65px; object-fit:cover; object-position:center; border-radius:2px; background:#050505; }
.brand-symbol { width:44px; height:44px; border:1px solid var(--pink-soft); border-radius:50%; position:relative; display:grid; place-items:center; color:var(--pink); box-shadow:inset 0 0 0 3px rgba(242,31,142,.08); }
.brand-symbol:after { content:''; position:absolute; inset:4px; border:1px solid rgba(255,157,203,.4); border-radius:50%; }
.brand-spark { position:absolute; top:3px; left:8px; font-size:12px; }
.brand-dancer { font-size:28px; color:#fff; transform:rotate(-22deg); line-height:1; }
.brand-copy { display:grid; grid-template-columns:auto auto; column-gap:4px; align-items:baseline; line-height:1; }
.brand-copy strong { font-size:13px; letter-spacing:.02em; }
.brand-copy em { color:var(--pink); font-family:var(--display); font-style:italic; font-size:20px; }
.brand-copy small { grid-column:1 / -1; margin-top:4px; font-size:8px; letter-spacing:.22em; text-transform:uppercase; color:#c5b8c0; }
.desktop-nav { display:flex; align-items:center; gap:31px; color:#c4b9c0; font-size:13px; }
.desktop-nav a { padding:32px 0 29px; border-bottom:2px solid transparent; transition:.2s ease; }
.desktop-nav a:hover,.desktop-nav a.active { color:#fff; border-color:var(--pink); }
.header-cta { padding:11px 17px; border:1px solid rgba(255,255,255,.28); border-radius:999px; font-size:12px; font-weight:700; transition:.2s; }
.header-cta:hover { border-color:var(--pink); color:var(--pink-soft); }
.menu-toggle,.mobile-nav { display:none; }
.hero { min-height:calc(100vh - 120px); padding:82px 8vw 70px; display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,520px); gap:5vw; align-items:center; position:relative; overflow:hidden; background:radial-gradient(circle at 72% 41%, rgba(242,31,142,.19), transparent 31%),linear-gradient(124deg,#050505 0%,#0d070d 58%,#120610 100%); }
.hero:before { content:''; position:absolute; top:9%; left:-10%; width:60vw; height:60vw; border:1px solid rgba(242,31,142,.12); border-radius:50%; transform:rotate(-15deg); pointer-events:none; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }
.hero-glow-one { width:8px; height:8px; top:22%; right:30%; background:var(--pink-soft); box-shadow:0 0 18px 8px rgba(255,157,203,.35); }
.hero-glow-two { width:4px; height:4px; top:67%; right:14%; background:#fff; box-shadow:0 0 20px 8px rgba(255,255,255,.25); }
.hero-content { position:relative; z-index:1; max-width:690px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--pink-soft); font-size:11px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; }
.eyebrow span { display:inline-block; width:25px; height:1px; background:var(--pink); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:700px; margin:25px 0 24px; font-family:var(--display); font-size:clamp(54px,7vw,100px); line-height:.98; letter-spacing:-.055em; font-weight:500; }
h1 em,h2 em { color:var(--pink); font-style:italic; }
.hero-text { max-width:430px; color:#c9bec7; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:25px; margin:34px 0 58px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:14px 20px; border-radius:999px; font-size:13px; font-weight:700; transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--pink); box-shadow:0 12px 35px rgba(242,31,142,.25); }
.button-primary:hover { background:var(--pink-bright); box-shadow:0 16px 40px rgba(242,31,142,.4); }
.text-link { color:#f8eaf1; font-size:13px; border-bottom:1px solid var(--pink); padding-bottom:5px; }
.text-link span { margin-left:9px; color:var(--pink); }
.hero-proof { display:flex; gap:13px; align-items:center; color:#fff; }
.hero-proof strong,.hero-proof small { display:block; }
.hero-proof strong { font-size:13px; }
.hero-proof small { color:#988b94; font-size:11px; margin-top:2px; }
.avatar-stack { display:flex; }
.avatar-stack span { width:31px; height:31px; margin-left:-6px; display:grid; place-items:center; border:2px solid var(--black); border-radius:50%; background:var(--pink); color:#fff; font-size:13px; }
.avatar-stack span:first-child { margin-left:0; background:#ef76b0; }.avatar-stack span:nth-child(2) { background:#a83372; }.avatar-stack span:nth-child(3) { background:#5a173d; }
.hero-visual { width:min(100%,520px); aspect-ratio:.83; position:relative; justify-self:end; }
.hero-visual:after { content:''; position:absolute; width:57%; height:57%; right:-15%; top:20%; border:1px solid rgba(255,157,203,.24); border-radius:50%; z-index:0; }
.visual-frame { position:absolute; inset:24px -16px -18px 20px; border:1px solid rgba(255,157,203,.34); z-index:0; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center top; position:relative; z-index:1; filter:saturate(1.04); }
.visual-note { position:absolute; z-index:2; left:-34px; bottom:34px; padding:13px 15px; display:flex; align-items:center; gap:10px; background:#100810; border:1px solid rgba(255,157,203,.36); box-shadow:0 13px 34px rgba(0,0,0,.3); }
.visual-note strong,.visual-note small { display:block; }.visual-note strong { font-size:12px; }.visual-note small { color:#cbaabd; font-size:10px; margin-top:2px; }.note-star { color:var(--pink); font-size:22px; }
.visual-sticker { position:absolute; top:34px; right:-42px; z-index:2; width:115px; height:115px; display:grid; place-content:center; text-align:center; border-radius:50%; background:var(--pink); color:#fff; transform:rotate(11deg); font-family:var(--display); font-size:16px; line-height:1.05; box-shadow:0 12px 28px rgba(242,31,142,.3); }.visual-sticker span { font-family:var(--sans); font-size:9px; margin-top:5px; line-height:1.2; }
.scroll-cue { position:absolute; bottom:31px; left:8vw; display:flex; gap:11px; align-items:center; color:#81727c; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }.scroll-line { display:inline-block; width:52px; height:1px; background:var(--pink); }
.section { padding:120px 8vw; }.section-kicker { display:flex; align-items:center; gap:12px; color:var(--pink); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }.section-kicker span { width:34px; height:1px; background:rgba(242,31,142,.7); }
.intro { background:var(--cream); color:var(--ink); }.intro-grid { margin:27px 0 72px; display:grid; grid-template-columns:1.1fr .75fr; gap:14vw; align-items:end; }.intro h2,.section-heading h2,.testimonial-grid h2 { margin:0; max-width:600px; font-family:var(--display); font-size:clamp(43px,5.3vw,73px); line-height:1.04; letter-spacing:-.05em; font-weight:500; }.intro h2 em,.section-heading h2 em { color:var(--pink); }.intro-copy { max-width:420px; color:#665963; line-height:1.8; }.intro-copy p { margin-bottom:15px; }.arrow-link { display:inline-flex; align-items:center; gap:15px; color:var(--ink); font-size:13px; font-weight:700; border-bottom:1px solid var(--pink); padding:8px 0 7px; margin-top:10px; }.arrow-link span { color:var(--pink); font-size:18px; }.studio-strip { display:grid; grid-template-columns:1.18fr .8fr .72fr; min-height:298px; background:#f5e4ee; }.strip-image { overflow:hidden; }.strip-image img { width:100%; height:100%; object-fit:cover; }.strip-image.large img { object-position:center 37%; }.strip-quote { padding:34px 35px; display:flex; flex-direction:column; justify-content:center; color:var(--ink); }.quote-mark { color:var(--pink); font-family:var(--display); font-size:58px; line-height:.5; }.strip-quote blockquote { margin:18px 0 17px; font-family:var(--display); font-size:24px; line-height:1.25; font-style:italic; }.strip-quote cite { color:#8c7180; font-size:11px; font-style:normal; }
.modalities { background:#110910; }.section-heading { margin:29px 0 45px; display:flex; justify-content:space-between; gap:30px; align-items:end; }.section-heading h2 { color:#fff; }.section-heading p { max-width:300px; margin:0; color:#ab9ca7; font-size:14px; line-height:1.7; }.modality-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.modality-card { min-height:355px; padding:27px 25px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; color:var(--ink); background:#ffd5e8; }.modality-card:nth-child(2) { background:#f2f0ed; }.modality-card.dark-card { color:#fff; background:#351126; }.card-top { display:flex; justify-content:space-between; color:#8b526d; font-size:11px; font-weight:700; }.dark-card .card-top { color:#f38ab8; }.card-icon { font-size:23px; font-weight:400; }.modality-card h3 { position:relative; z-index:1; max-width:190px; margin:0 0 12px; font-family:var(--display); font-weight:500; font-size:32px; line-height:1.02; }.modality-card p { position:relative; z-index:1; max-width:245px; margin:0 0 25px; color:#775d69; font-size:13px; line-height:1.6; }.dark-card p { color:#c8aebd; }.modality-card a { position:relative; z-index:1; display:inline-flex; gap:13px; align-items:center; color:var(--ink); font-size:12px; font-weight:700; }.dark-card a { color:#fff; }.modality-card a span { color:var(--pink); font-size:18px; }.card-shape { position:absolute; right:-12px; bottom:-28px; font-size:180px; line-height:1; opacity:.15; transform:rotate(-18deg); color:var(--pink); }.shape-yoga { color:#8d7c75; }.shape-show { color:var(--pink); opacity:.22; }
.feature { display:grid; grid-template-columns:1.02fr .98fr; align-items:stretch; padding-top:0; padding-bottom:0; background:#050505; }.feature-image { min-height:545px; }.feature-image img { width:100%; height:100%; object-fit:cover; object-position:center; }.feature-copy { padding:80px 8vw 80px 6vw; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(140deg,#170b14,#080508); }.feature-label { margin:38px 0 8px; color:var(--pink-soft); font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }.feature h2 { margin:0 0 21px; font-family:var(--display); font-size:clamp(52px,6vw,78px); line-height:.92; font-weight:500; letter-spacing:-.05em; }.feature h2 em { color:var(--pink); }.feature-copy>p:not(.feature-label) { max-width:400px; color:#b6aab2; font-size:14px; line-height:1.8; }.event-meta { display:flex; gap:38px; margin:25px 0 32px; }.event-meta small,.event-meta strong { display:block; }.event-meta small { color:#8c7784; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }.event-meta strong { margin-top:3px; font-size:13px; }.button-outline { align-self:flex-start; border:1px solid rgba(255,157,203,.5); color:#fff; }.button-outline:hover { border-color:var(--pink); background:rgba(242,31,142,.1); }
.testimonials { background:#f5e9f0; color:var(--ink); }.testimonial-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; margin-top:31px; }.testimonial-grid h2 { font-size:clamp(44px,5vw,68px); }.testimonial-grid h2 em { color:var(--pink); }.rating { margin-top:46px; display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 13px; }.rating strong { font-family:var(--display); font-size:47px; font-weight:500; line-height:1; }.rating span { color:var(--pink); letter-spacing:3px; font-size:16px; }.rating small { grid-column:1 / -1; color:#8d7683; font-size:11px; margin-top:6px; }.testimonial-list { display:grid; grid-template-columns:1fr 1fr; gap:23px; }.testimonial-list blockquote { margin:0; padding:25px 21px; background:#fff; border:1px solid #ead7e3; }.testimonial-list blockquote>span { color:var(--pink); font-family:var(--display); font-size:48px; line-height:.4; }.testimonial-list p { min-height:130px; margin:18px 0 25px; font-family:var(--display); font-size:19px; line-height:1.35; font-style:italic; }.testimonial-list cite { color:#8b6d7d; font-size:11px; font-style:normal; }
.contact { background:#f5e9f0; padding-top:0; }.contact-card { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; padding:72px 7vw; overflow:hidden; background:var(--pink); }.contact-card:before,.contact-card:after { content:''; position:absolute; border:1px solid rgba(255,255,255,.21); border-radius:50%; pointer-events:none; }.contact-card:before { width:580px; height:580px; right:-205px; top:-350px; }.contact-card:after { width:430px; height:430px; left:-255px; bottom:-330px; }.contact-card .eyebrow { color:#ffe7f3; }.contact-card h2 { position:relative; z-index:1; margin:24px 0 23px; font-family:var(--display); font-size:clamp(43px,5.2vw,72px); line-height:1.03; font-weight:500; letter-spacing:-.05em; }.contact-card h2 em { color:#fff; }.contact-text { position:relative; z-index:1; max-width:410px; color:#ffe1ef; line-height:1.7; font-size:14px; }.button-light { position:relative; z-index:1; margin-top:14px; color:var(--pink); background:#fff; }.button-light:hover { background:#fff2f8; }.contact-details { position:relative; z-index:1; display:grid; align-content:center; gap:22px; }.contact-details>div { display:flex; gap:15px; align-items:flex-start; }.detail-icon { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:18px; }.contact-details p { margin:0; }.contact-details small,.contact-details strong { display:block; }.contact-details small { color:#ffd7e8; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }.contact-details strong { margin-top:4px; color:#fff; font-size:15px; line-height:1.5; }
.site-footer { padding:50px 8vw 34px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; align-items:end; background:#050505; border-top:1px solid var(--line); }.footer-brand { width:auto; }.site-footer>p { align-self:center; margin:0; color:#a4949e; font-size:12px; max-width:240px; }.footer-links { display:flex; justify-content:flex-end; gap:20px; color:#d1c3cb; font-size:12px; }.footer-links a:hover { color:var(--pink-soft); }.copyright { grid-column:1/-1; margin-top:17px; color:#675c65; font-size:10px; }
@media (max-width: 900px) { .desktop-nav,.header-cta { display:none; }.menu-toggle { display:block; padding:8px; border:0; background:none; color:#fff; font-size:22px; cursor:pointer; }.mobile-nav { display:none; position:absolute; z-index:4; right:5.5vw; top:120px; width:220px; padding:16px; background:#130a12; border:1px solid var(--line); box-shadow:0 20px 40px rgba(0,0,0,.35); }.mobile-nav.open { display:grid; gap:12px; }.mobile-nav a { padding:8px 4px; color:#ddd0d9; font-size:14px; }.mobile-nav a:hover { color:var(--pink-soft); }.hero { grid-template-columns:1fr; padding-top:58px; }.hero-content { max-width:680px; }.hero-visual { width:min(80vw,470px); justify-self:center; margin-top:10px; }.scroll-cue { display:none; }.intro-grid,.testimonial-grid { gap:45px; }.studio-strip { grid-template-columns:1fr 1fr; }.strip-image.large { grid-row:span 2; }.strip-quote { min-height:225px; }.modality-grid { grid-template-columns:1fr; }.modality-card { min-height:280px; }.feature { grid-template-columns:1fr; }.feature-image { min-height:420px; }.feature-copy { padding:75px 8vw; }.testimonial-list { grid-template-columns:1fr; }.testimonial-list p { min-height:auto; }.site-footer { grid-template-columns:1fr 1fr; }.footer-links { justify-content:flex-start; }.copyright { grid-column:1/-1; } }
@media (max-width: 580px) { .announcement { justify-content:flex-start; padding:8px 20px; font-size:10px; }.announcement a { display:none; }.site-header { min-height:74px; padding:0 20px; }.brand { width:160px; }.brand-logo { width:158px; height:56px; }.brand-symbol { width:39px; height:39px; }.brand-copy em { font-size:17px; }.brand-copy strong { font-size:12px; }.brand-copy small { font-size:7px; }.mobile-nav { top:110px; right:20px; }.hero { min-height:auto; padding:62px 20px 83px; }.hero:before { width:130vw; height:130vw; top:28%; left:-60%; }.hero h1 { margin-top:21px; font-size:clamp(52px,15vw,75px); }.hero-text { font-size:15px; }.hero-actions { margin:29px 0 42px; display:grid; justify-items:start; gap:18px; }.hero-visual { width:88vw; margin-top:14px; }.visual-note { left:-8px; bottom:21px; }.visual-sticker { right:-10px; width:91px; height:91px; font-size:13px; top:25px; }.section { padding:78px 20px; }.intro-grid,.testimonial-grid { grid-template-columns:1fr; margin-bottom:42px; }.intro h2,.section-heading h2,.testimonial-grid h2 { font-size:48px; }.intro-copy { font-size:15px; }.studio-strip { grid-template-columns:1fr; }.strip-image.large { grid-row:auto; min-height:260px; }.strip-image:not(.large) { min-height:190px; }.strip-quote { min-height:220px; padding:28px; }.section-heading { display:block; margin-bottom:29px; }.section-heading p { margin-top:22px; }.modality-card { min-height:295px; padding:23px 21px; }.feature { padding-left:0; padding-right:0; }.feature-image { min-height:310px; }.feature-copy { padding:67px 20px; }.feature h2 { font-size:59px; }.event-meta { gap:22px; }.contact { padding-left:20px; padding-right:20px; }.contact-card { display:block; padding:51px 25px 45px; }.contact-card h2 { font-size:49px; }.contact-details { margin-top:43px; }.site-footer { padding:39px 20px 29px; display:flex; flex-wrap:wrap; align-items:start; }.site-footer>p { order:3; flex-basis:100%; margin-top:5px; }.footer-links { order:2; margin-left:auto; display:grid; gap:7px; justify-items:end; }.copyright { order:4; flex-basis:100%; margin-top:15px; } }

.legal-body { min-height:100vh; background:var(--black); }
.legal-main { max-width:1020px; margin:0 auto; padding:105px 8vw 120px; }
.legal-kicker { display:flex; align-items:center; gap:12px; color:var(--pink-soft); font-size:11px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; }
.legal-kicker span { width:34px; height:1px; background:var(--pink); }
.legal-main h1 { max-width:800px; margin:25px 0 22px; font-size:clamp(54px,7vw,94px); }
.legal-main h1 em { color:var(--pink); }
.legal-lead { max-width:650px; color:#d4c8d1; font-size:19px; line-height:1.7; }
.legal-updated { margin:25px 0 0; color:#a18c9c; font-size:12px; letter-spacing:.04em; }
.legal-content { max-width:760px; margin-top:75px; padding-top:47px; border-top:1px solid var(--line); }
.legal-content h2 { margin:37px 0 12px; color:#fff; font-family:var(--display); font-size:28px; font-weight:500; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { color:#c0b3bd; font-size:16px; line-height:1.85; }
.legal-content a { color:var(--pink-soft); text-decoration:underline; text-underline-offset:3px; }
.legal-note { margin-top:45px; padding:18px 20px; border-left:2px solid var(--pink); background:#100910; color:#d9c3d0 !important; font-size:13px !important; }
.legal-footer { grid-template-columns:1fr 1fr; }
.legal-footer .footer-links { justify-content:flex-end; flex-wrap:wrap; }
@media (max-width:580px) { .legal-main { padding:72px 20px 82px; }.legal-main h1 { font-size:54px; }.legal-lead { font-size:17px; }.legal-content { margin-top:52px; padding-top:34px; }.legal-content h2 { font-size:25px; }.legal-content p { font-size:15px; }.legal-footer { display:flex; }.legal-footer .footer-links { justify-content:flex-end; } }

.floating-socials { position:fixed; right:22px; bottom:22px; z-index:20; display:flex; flex-direction:column; gap:10px; }
.floating-social { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; box-shadow:0 10px 25px rgba(0,0,0,.28); transition:transform .2s ease, box-shadow .2s ease; }
.floating-social:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 14px 30px rgba(0,0,0,.38); }
.floating-social svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; }
.floating-social.whatsapp { background:#20c769; border-color:#20c769; }
.floating-social.whatsapp svg { fill:currentColor; stroke:none; width:27px; height:27px; }
.floating-social.instagram { background:linear-gradient(145deg,#6e2cff 0%,#d52b91 48%,#ff9f2f 100%); border-color:rgba(255,255,255,.55); }
@media (max-width:580px) { .floating-socials { right:16px; bottom:16px; gap:8px; }.floating-social { width:47px; height:47px; }.floating-social svg { width:22px; height:22px; }.floating-social.whatsapp svg { width:24px; height:24px; } }
