:root{--ivory:#fbf7f2;--ivory-deep:#f4ede4;--blush:#e7c7c3;--blush-deep:#d9a9a6;--lavender:#cbb9da;--lavender-deep:#ae94c4;--sage:#aab89e;--plum:#4a3b4a;--plum-soft:#7a6478;--gold:#c9a876;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--plum);font-family:Helvetica,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}h1{font-family:serif}h2,h3,.display{font-family:var(--font-cormorant), serif;color:var(--plum);font-weight:500}a{color:inherit;text-decoration:none}ul{list-style:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aura-bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.aura-bg span{filter:blur(60px);opacity:.35;border-radius:50%;animation:22s ease-in-out infinite drift;position:absolute}.aura-bg span:first-child{background:var(--blush);width:420px;height:420px;animation-delay:0s;top:-120px;left:-100px}.aura-bg span:nth-child(2){background:var(--lavender);width:380px;height:380px;animation-delay:6s;top:30%;right:-140px}.aura-bg span:nth-child(3){background:var(--sage);width:320px;height:320px;animation-delay:12s;bottom:-100px;left:20%}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-40px)scale(1.08)}}@media (prefers-reduced-motion:reduce){.aura-bg span{animation:none}html{scroll-behavior:auto}}header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbf7f2d9;border-bottom:1px solid #4a3b4a14;justify-content:space-between;align-items:center;padding:22px 6vw;display:flex;position:sticky;top:0}.brand{font-family:var(--font-cormorant), serif;letter-spacing:.04em;align-items:center;gap:10px;font-size:1.5rem;display:flex}.brand .ring{border:1.5px solid var(--gold);border-radius:50%;width:20px;height:20px;position:relative}.brand .ring:before{content:"";border:1.5px solid var(--blush-deep);border-radius:50%;position:absolute;inset:4px}nav ul{letter-spacing:.03em;gap:2.4rem;font-size:.92rem;display:flex}nav a{cursor:pointer;padding-bottom:4px;transition:color .3s;position:relative}nav a:after{content:"";background:var(--gold);width:0%;height:1px;transition:width .35s;position:absolute;bottom:0;left:0}nav a:hover:after,nav a.active:after{width:100%}.nav-toggle{color:var(--plum);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}@media (max-width:760px){nav ul{background:var(--ivory);flex-direction:column;gap:1.8rem;width:70%;height:100vh;padding:3rem 2rem;transition:right .4s;position:fixed;top:70px;right:-100%;box-shadow:-4px 0 20px #0000000f}nav ul.open{right:0}.nav-toggle{display:block}}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:78vh;display:flex;position:relative}.hero .eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem;font-size:.8rem}.hero h1{max-width:15ch;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:400;line-height:1.1}.hero p.sub{max-width:46ch;color:var(--plum-soft);margin-top:1.6rem;font-size:1.05rem}.hero-rings{width:120px;height:120px;margin-top:3rem;position:relative}.hero-rings .r{border:1px solid var(--gold);opacity:.5;border-radius:50%;animation:4s ease-in-out infinite pulse;position:absolute;inset:0}.hero-rings .r:nth-child(2){border-color:var(--blush-deep);animation-delay:1.3s;inset:15px}.hero-rings .r:nth-child(3){border-color:var(--lavender-deep);animation-delay:2.6s;inset:30px}@keyframes pulse{0%{opacity:.15;transform:scale(.85)}50%{opacity:.55;transform:scale(1.05)}to{opacity:.15;transform:scale(.85)}}.cta-btn{border:1px solid var(--plum);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-top:2.2rem;padding:.9rem 2.4rem;font-size:.85rem;transition:all .35s;display:inline-block}.cta-btn:hover{background:var(--plum);color:var(--ivory)}.cta-btn-sm{margin-top:1.2rem;padding:.6rem 1.6rem;font-size:.75rem}section{max-width:1100px;margin:0 auto;padding:5vh 8vw}.section-label{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;font-size:.78rem;display:block}section h2{margin-bottom:1.6rem;font-size:clamp(1.8rem,3.4vw,2.6rem);font-style:italic;font-weight:400}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (max-width:820px){.two-col{grid-template-columns:1fr;gap:2rem}}.portrait-frame{aspect-ratio:4/5;background:linear-gradient(145deg, var(--blush), var(--lavender));border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portrait-frame:before{content:"";border:1px solid #ffffff80;border-radius:4px;position:absolute;inset:14px}.portrait-frame span{font-family:var(--font-cormorant), serif;color:#ffffffd9;font-size:1rem;font-style:italic}.divider{background:var(--gold);width:60px;height:1px;margin:1rem auto}.training{font-weight:500;list-style-type:disc}.training li a{color:var(--plum-soft);cursor:pointer;padding-bottom:4px;transition:color .3s;position:relative}.training li a:after{content:"";background:var(--gold);width:0%;height:1px;transition:width .35s;position:absolute;bottom:0;left:0}.training li a:hover:after,.training li a.active:after{width:100%}.service-hero{text-align:center;padding-top:8vh;padding-bottom:3vh}.service-hero .eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-size:.8rem}.service-hero h1{margin-top:1rem;font-size:clamp(2.2rem,5vw,3.4rem);font-style:italic;font-weight:400}.service-hero p{max-width:52ch;color:var(--plum-soft);margin:1.4rem auto 0}.approach-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}@media (max-width:820px){.approach-grid{grid-template-columns:1fr}}.approach-card{background:var(--white);border-radius:10px;padding:2.4rem;box-shadow:0 12px 40px #4a3b4a0f}.approach-card h3{align-items:center;gap:10px;margin-bottom:.9rem;font-size:1.4rem;font-weight:400;display:flex}.approach-card h3 .dot{background:var(--gold);border-radius:50%;width:8px;height:8px}.approach-card p{color:var(--plum-soft);font-size:.98rem}.testimonial{max-width:1100px;margin:0 auto;padding:2vh 8vw}.testimonial-grid{grid-template-columns:1fr;gap:3rem;display:grid}@media (max-width:820px){.testimonial-grid{grid-template-columns:1fr}}.testimonial-card{background:var(--white);border-radius:10px;padding:2.4rem;box-shadow:1px 12px 40px #4a3b4a0f}.pricing-table{border-top:1px solid #4a3b4a1f;margin-top:2rem}.price-row{border-bottom:1px solid #4a3b4a1f;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.5rem 0;display:flex}.price-row .name{font-size:1.2rem;font-family:var(--font-cormorant), serif;font-style:italic}.price-row .desc{color:var(--plum-soft);max-width:44ch;margin-top:.3rem;font-size:.9rem}.price-row .amount{font-family:var(--font-cormorant), serif;color:var(--gold);white-space:nowrap;font-size:1.5rem}.price-row .amount p{font-family:var(--font-cormorant), serif;color:var(--gold);white-space:nowrap;text-align:end;font-size:1rem}.bg-block{background:var(--ivory-deep);border-radius:10px;margin-top:1rem;padding:3rem}.bg-block p{color:var(--plum-soft);margin-bottom:1rem}.bg-block p:last-child{margin-bottom:0}.value-list{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;display:grid}@media (max-width:760px){.value-list{grid-template-columns:1fr}}.value-item{text-align:center;padding:1.5rem}.value-item .ring-icon{border:1px solid var(--gold);border-radius:50%;width:44px;height:44px;margin:0 auto 1rem;position:relative}.value-item .ring-icon:before{content:"";border:1px solid var(--blush-deep);border-radius:50%;position:absolute;inset:8px}.value-item h3{margin-bottom:.5rem;font-size:1.15rem;font-weight:400}.value-item p{color:var(--plum-soft);font-size:.9rem}.hours{font-family:var(--font-cormorant), serif;margin-top:2rem;font-size:1.1rem}.hours span{font-weight:500}.booking-card{background:var(--white);text-align:center;border-radius:12px;max-width:640px;margin:2rem auto 0;padding:3.5rem;box-shadow:0 12px 40px #4a3b4a14}.booking-card .ring-icon-lg{border:1px solid var(--gold);border-radius:50%;width:70px;height:70px;margin:0 auto 1.6rem;position:relative}.booking-card .ring-icon-lg:before{content:"";border:1px solid var(--blush-deep);border-radius:50%;position:absolute;inset:12px}.booking-card .ring-icon-lg:after{content:"";border:1px solid var(--lavender-deep);border-radius:50%;position:absolute;inset:24px}.contact-line{font-family:var(--font-cormorant), serif;margin-top:2rem;font-size:1.3rem}.contact-line span{color:var(--plum-soft);font-family:var(--font-jost), sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem;font-size:.85rem;display:block}.contact-line+.contact-line{margin-top:1.4rem}.hours-note{color:var(--plum-soft);margin-top:2.4rem;font-size:.9rem}footer{text-align:center;color:var(--plum-soft);letter-spacing:.03em;padding:3rem 6vw 2.5rem;font-size:.85rem}footer .ring{border:1px solid var(--gold);border-radius:50%;width:16px;height:16px;margin:0 auto 1rem}
