*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--blush:#fef3f2;--pink:#f472b6;--rose:#ec4899;--lilac:#c084fc;--lavender:#ede9fe;--gold:#fcd34d;--white:#fff;--text:#3f3f46;--heading:#18181b;--muted:#71717a;--font:"Inter",sans-serif;--serif:"Instrument Serif",serif}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--white);overflow-x:hidden;cursor:none}a{color:inherit;text-decoration:none;cursor:none}.serif-accent{font-family:var(--serif);font-style:italic;font-weight:400}.cursor-dot{width:6px;height:6px;background:var(--pink);border-radius:50%;position:fixed;top:-10px;left:-10px;pointer-events:none;z-index:9999;transition:transform .15s}.cursor-ring{width:36px;height:36px;border:1.5px solid var(--lilac);border-radius:50%;position:fixed;top:-20px;left:-20px;pointer-events:none;z-index:9998;transition:width .3s,height .3s,border-color .3s}.header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:1.5rem 3rem;transition:background .4s,backdrop-filter .4s,padding .4s}.header.scrolled{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 3rem;box-shadow:0 1px #0000000a}.nav{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto}.brand{font-size:.85rem;font-weight:700;letter-spacing:.25em;color:var(--rose)}.nav-links{display:flex;gap:2rem}.nav-links a{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);transition:color .3s}.nav-links a:hover{color:var(--rose)}.nav-cta{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.6rem 1.5rem;background:var(--pink);color:var(--white);border-radius:100px;transition:background .3s,transform .2s}.nav-cta:hover{background:var(--rose);transform:translateY(-1px)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 4rem;background:linear-gradient(180deg,var(--blush) 0%,var(--white) 100%)}.hero__tag{font-size:.7rem;letter-spacing:.3em;font-weight:600;color:var(--pink);margin-bottom:1.5rem}.hero__title{font-size:clamp(2.8rem,7vw,5rem);font-weight:300;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.5rem;color:var(--heading)}.hero__sub{font-size:1.1rem;color:var(--muted);line-height:1.7;max-width:460px;margin-bottom:2.5rem}.hero__btn{display:inline-block;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;padding:.9rem 2.5rem;background:var(--pink);color:var(--white);border-radius:100px;transition:background .3s,transform .2s}.hero__btn:hover{background:var(--rose);transform:translateY(-2px)}.services{padding:8rem 2rem;max-width:1100px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-tag{font-size:.7rem;letter-spacing:.3em;font-weight:600;color:var(--pink);display:block;margin-bottom:1rem}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:300;letter-spacing:-.02em;color:var(--heading)}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{background:var(--blush);border-radius:20px;padding:2.5rem 2rem;text-align:center;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #f472b61f}.service-card__icon{font-size:2rem;display:block;margin-bottom:1rem;color:var(--pink)}.service-card h3{font-size:1.15rem;font-weight:500;color:var(--heading);margin-bottom:.6rem}.service-card p{font-size:.88rem;color:var(--muted);line-height:1.6}.about{padding:8rem 2rem;background:var(--lavender)}.about__content{max-width:680px;margin:0 auto 4rem;text-align:center}.about__content p{font-size:1.05rem;color:var(--muted);line-height:1.8;margin-top:1.5rem}.about__values{display:flex;justify-content:center;gap:4rem}.value{text-align:center}.value__num{font-size:2.8rem;font-weight:300;color:var(--rose);display:inline}.value__suffix{font-size:1.5rem;font-weight:300;color:var(--pink);display:inline}.value__label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-top:.25rem;display:block}.rituals{padding:8rem 2rem;max-width:1000px;margin:0 auto}.rituals__list{display:flex;flex-direction:column;gap:2rem}.ritual{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:center;padding:1.5rem;border-radius:16px;transition:background .3s}.ritual:hover{background:var(--blush)}.ritual__visual{aspect-ratio:1;border-radius:12px}.ritual__info h3{font-size:1.3rem;font-weight:500;color:var(--heading);margin-bottom:.5rem}.ritual__info p{font-size:.9rem;color:var(--muted);line-height:1.6;margin-bottom:.5rem}.ritual__price{font-size:.9rem;font-weight:600;color:var(--rose)}.testimonial{padding:6rem 2rem;text-align:center;background:linear-gradient(135deg,var(--blush),var(--lavender))}.testimonial blockquote{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);font-style:italic;line-height:1.5;color:var(--heading);max-width:680px;margin:0 auto 1.5rem}.testimonial__author{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pink)}.contact{padding:8rem 2rem;text-align:center}.contact__title{font-size:clamp(2rem,4vw,3.2rem);font-weight:300;letter-spacing:-.02em;color:var(--heading);margin-bottom:2rem}.contact__email{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:300;color:var(--pink);border-bottom:1.5px solid transparent;padding-bottom:.25rem;transition:border-color .3s}.contact__email:hover{border-color:var(--pink)}.footer{display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem;font-size:.75rem;color:var(--muted);letter-spacing:.1em;border-top:1px solid #f4f4f5}.footer__brand{font-weight:700;letter-spacing:.25em;color:var(--rose)}@media(max-width:768px){.nav-links{display:none}.hero{padding:7rem 1.5rem 3rem}.services__grid{grid-template-columns:1fr 1fr}.ritual{grid-template-columns:1fr;gap:1rem}.about__values{gap:2rem}.header{padding:1rem 1.5rem}.footer{padding:1.5rem}}@media(max-width:480px){.services__grid{grid-template-columns:1fr}.about__values{flex-direction:column;gap:1.5rem}}
