:root{--night:#090e25;--ink:#24223d;--muted:#615c76;--line:#ddd8e9;--gradient:linear-gradient(115deg,#7a38a1,#3c438e);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 4% 5%,#30204470,transparent 33%),radial-gradient(ellipse at 95% 34%,#183d6455,transparent 35%),var(--night);color:#f8f4ff;font:16px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #79d8ff;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3.3rem,5.2vw,4.85rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:28px}h1 em{color:#e5caff;font-weight:400}h2{font-size:clamp(2rem,3.2vw,2.85rem);line-height:1.2;letter-spacing:-.03em;margin-bottom:22px}h3{font-size:1.9rem;line-height:1.2;letter-spacing:-.03em;margin-bottom:20px}.eyebrow{color:#cfb8e9;font-size:.69rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.header{max-width:1200px;margin:0 auto;padding:27px 6px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-name{font-family:Georgia,serif;font-size:1.65rem;line-height:1.3;letter-spacing:-.035em}.site-name:hover{text-decoration:none}.site-name span{display:block;font:.63rem/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:.4em;text-transform:uppercase;color:#cdb7e2;margin-top:4px}.header nav{display:flex;align-items:center;gap:31px;font-size:.85rem}.nav-book{border:1px solid #b5a1d480;padding:10px 23px;border-radius:99px;background:#c8acff0d}.nav-book:hover{background:#c8acff22;text-decoration:none}main{max-width:1200px;margin:0 auto}
.hero{min-height:650px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;border-radius:24px;border:1px solid #ad8de939;background:linear-gradient(90deg,#090e259c 0%,#090e254d 48%,#090e2500 82%),url('/assets/galaxy.webp') center/cover;box-shadow:0 24px 100px #00000026}.hero:after{content:'';position:absolute;inset:14px;border:1px solid #e2d3ff24;border-radius:14px;pointer-events:none;z-index:-1}.hero-copy{width:62%;padding:60px 62px}.hero .eyebrow{display:flex;align-items:center;gap:10px;color:#e4d5f9;letter-spacing:.12em}.hero .eyebrow:before{content:'';flex:0 0 5px;height:5px;border-radius:50%;background:#8edeff;box-shadow:0 0 13px #64c6ff}.intro{max-width:400px;color:#e1dcf1;font-size:1.04rem;line-height:1.8}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.hero .actions{margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 28px;border-radius:99px;border:1px solid transparent;background:var(--gradient);color:white;font-size:.82rem;font-weight:600;letter-spacing:.035em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{text-decoration:none;box-shadow:0 7px 28px #9b62ff38;transform:translateY(-2px)}.hero-button{color:#211a37;background:linear-gradient(120deg,#f7e4ff,#d6edff);box-shadow:0 6px 28px #a367ff40}.hero-services{font-size:.82rem;border-bottom:1px solid #c9bfeaa1;padding:5px 0}.hero-services:hover{text-decoration:none;border-color:white}.hero-note{font-size:.72rem;color:#c9c2df;margin:30px 0 0}.hero-signature{position:absolute;right:43px;bottom:35px;text-align:right;line-height:1.45;text-shadow:0 2px 18px #070b24}.hero-signature span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.2em}.hero-signature em{font:italic 1.45rem Georgia,serif;color:#f1ddff}
.service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:30px 25px;border-bottom:1px solid #aa99dc25;text-align:center;font-size:.73rem;letter-spacing:.13em;color:#d6caea}.service-strip>span{display:flex;align-items:center;justify-content:center;min-width:0;padding:4px 12px}.service-strip>span+span{border-left:1px solid #b2a1d340}.section{padding:80px 54px}.section-heading{max-width:630px;text-align:center;margin:0 auto 42px}.section-heading>p{color:#c5bfd9}.section-heading .eyebrow{color:#c7aaee}.services{background:radial-gradient(ellipse at 50% 100%,#2429576b,transparent 70%)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.service-card{color-scheme:light;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:29px;background:linear-gradient(155deg,#fbf9ff,#eeebf8);color:var(--ink);border:1px solid #e5d8ff;border-radius:16px;box-shadow:0 16px 35px #0000001f}.service-card:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ba88e0,#f1afdb,#77bddd)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:30px}.number{font:italic 1.45rem Georgia,serif;color:#73618c}.tag{font-size:.59rem;letter-spacing:.11em;color:#685675;padding:6px 0;border-bottom:1px solid #b7a3c64d}.service-card>p{font-size:.92rem;color:var(--muted);min-height:101px}dl{margin:0}.service-card dl{margin-bottom:28px}.service-card dl div,.extras dl div,.hours dl div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.87rem}dd{margin:0;white-space:nowrap}.service-card dt{min-width:0}.service-card dd{color:#4d3e70;font-weight:600}.text-link{font-size:.88rem;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link:hover{text-decoration:none}.service-card .text-link{display:flex;justify-content:center;align-items:center;margin-top:auto;min-height:47px;text-align:center;padding:12px;border:0;border-radius:99px;background:var(--gradient);color:white;font-size:.78rem}.service-card .text-link:hover{background:#4d3674}.price-note{text-align:center;color:#bab3cd;font-size:.77rem;margin:25px 0 32px}.extras{border-top:1px solid #c4b1e436;border-bottom:1px solid #c4b1e436}summary{cursor:pointer;padding:20px 0;font-size:.98rem}.extras dl{max-width:650px;margin:0 0 25px}.extras dl div{border-color:#c4b1e425}
.about{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;border:1px solid #b2a1dc2e;border-radius:20px;background:radial-gradient(ellipse at 0 0,#59336362,transparent 58%),radial-gradient(ellipse at 100% 100%,#20467555,transparent 65%),#11152e}.about-person img{width:155px;height:155px;object-fit:cover;object-position:center;border-radius:50%;padding:6px;border:1px solid #c7a6e475;margin-bottom:28px;box-shadow:0 0 38px #8160bf21}.about-person h2{margin-bottom:0}.about-copy>p:not(.large-copy){color:#c9c4dc;font-size:.96rem}.large-copy{font:italic 1.65rem/1.5 Georgia,serif;color:#e3cefb;margin-bottom:24px}.about .actions{gap:22px;margin-top:28px}.about .text-link{color:#dcccf8}.visit{color-scheme:light;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;color:var(--ink);border-radius:20px;margin-top:26px;background:radial-gradient(ellipse at 0 0,#e9ddff80,transparent 65%),#f6f3fc}.visit .eyebrow{color:#6f488a}address{font-style:normal;color:var(--muted);line-height:1.9;margin:26px 0}address strong{color:var(--ink);font-weight:600}.email{display:block;font-size:.85rem;color:var(--muted);margin-top:25px;overflow-wrap:anywhere}.hours{align-self:center;padding:30px;background:#ffffff85;border:1px solid #dcd1ed;border-radius:14px}.hours dl{margin-bottom:25px}.hours dl div{font-size:.92rem}.hours>p:not(.eyebrow){color:var(--muted);font-size:.88rem}.hours .text-link{color:#6c418b}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.faq details{border-bottom:1px solid #c4b1e433}.faq details p{color:#c8c1d9;font-size:.94rem;margin-bottom:24px}.closing{position:relative;overflow:hidden;text-align:center;padding:75px 24px;border:1px solid #b3a4dd40;border-radius:20px;background:linear-gradient(#13122e88,#10152da1),url('/assets/galaxy.webp') right 65%/cover}.closing .eyebrow{color:#eadcf8}.closing h2{font-size:clamp(2.7rem,4vw,3.7rem);margin-bottom:30px}.closing em{color:#ead0ff}.light{background:#f0e2ff;color:#2a2041;min-width:175px}
footer{max-width:1200px;margin:0 auto;padding:42px 8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;color:#b4aacb}.brand{font-size:.77rem;letter-spacing:.14em;line-height:1.5;color:#e0d6ee}.brand-mark{display:none}.brand-sub{display:block;font-size:.6rem;letter-spacing:.12em;margin-top:4px;color:#b4aacb}footer p,footer small{font-size:.69rem;margin:0}footer>div{display:flex;gap:22px;font-size:.77rem}.mobile-book{display:none}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:white;color:var(--night);padding:15px}.skip:focus{top:15px}
@media(min-width:950px){h1 em{color:#e4ccff;background:linear-gradient(105deg,#edccff,#c3e9ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}}
@media(max-width:1280px){.header,main,footer{margin-left:28px;margin-right:28px}.hero-copy{padding:60px 48px}.section{padding:70px 38px}.service-card{padding:25px}.service-card>p{min-height:112px}}
@media(max-width:950px){.header nav{gap:22px}.hero{min-height:590px}.hero-copy{width:76%;padding:52px 40px}.hero-signature{right:30px;bottom:26px}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:30px}.service-card>p{min-height:0}.card-top{margin-bottom:20px}.about,.visit,.faq{grid-template-columns:1fr;gap:35px}.about-person{display:flex;align-items:center;gap:30px}.about-person img{flex:0 0 120px;width:120px;height:120px;margin-bottom:0}.section{padding:55px 34px}.hours{width:100%}}
@media(max-width:600px){html{scroll-padding-top:12px}.header,main,footer{margin-left:14px;margin-right:14px}.header{flex-direction:column;gap:18px;padding:23px 8px 25px}.site-name{text-align:center;font-size:1.58rem}.site-name span{font-size:.6rem}.header nav{justify-content:center;width:100%;gap:21px;font-size:.74rem;white-space:nowrap}.nav-book{padding:8px 14px}.hero{min-height:610px;border-radius:18px;background:linear-gradient(180deg,#090e2559,#090e25a6),url('/assets/galaxy.webp') 57% center/cover;align-items:flex-start}.hero:after{inset:9px;border-radius:11px}.hero-copy{width:100%;padding:64px 25px 95px}.hero .eyebrow{font-size:.59rem;letter-spacing:.08em;gap:8px}h1{font-size:clamp(2.6rem,11vw,3.7rem);line-height:1.12}.intro{font-size:.97rem;line-height:1.8}.hero .actions{gap:21px;margin-top:29px}.hero-button{padding:14px 22px}.hero-services{font-size:.76rem}.hero-note{font-size:.68rem;line-height:1.8}.hero-signature{right:26px;bottom:25px}.hero-signature span{font-size:.53rem}.hero-signature em{font-size:1.2rem}.service-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 8px;font-size:.73rem;letter-spacing:.045em}.service-strip>span{padding:15px 7px}.service-strip>span:nth-child(odd){border-left:0}.service-strip>span:nth-child(-n+2){border-bottom:1px solid #b2a1d340}.section{padding:48px 22px}h2{font-size:2rem}h3{font-size:1.85rem}.eyebrow{font-size:.63rem;letter-spacing:.12em}.section-heading{margin-bottom:31px}.section-heading>p{font-size:.92rem}.service-card{padding:26px 23px;border-radius:14px}.service-card dl div{font-size:.84rem;gap:10px}.tag{font-size:.56rem}.about,.visit,.closing{border-radius:16px}.about-person{gap:20px}.about-person img{flex-basis:90px;width:90px;height:90px;padding:4px}.about-person .eyebrow{font-size:.56rem;letter-spacing:.06em;margin-bottom:12px}.about-person h2{font-size:1.8rem}.large-copy{font-size:1.5rem}.about .actions{gap:21px}.about .text-link{font-size:.8rem}.visit{gap:35px;margin-top:20px}.visit .actions{gap:24px}.visit .button{width:100%}.hours{padding:22px}.hours dl div{font-size:.84rem}.faq{gap:16px}.faq summary{font-size:.91rem}.closing{padding:57px 22px}.closing h2{font-size:2.7rem}footer{flex-direction:column;text-align:center;padding:35px 12px 115px;gap:21px}.mobile-book{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;left:0;bottom:0;width:100%;z-index:10;padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:10px;background:#090e25f7;border-top:1px solid #c8b1ff40;backdrop-filter:blur(12px)}.mobile-book a{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #b9a5d866;border-radius:99px;font-size:.79rem}.mobile-book a:last-child{background:linear-gradient(110deg,#f2d7ff,#cfe9ff);color:#29203f;border-color:transparent;font-weight:600}}
@media(max-width:360px){.header nav{gap:14px;font-size:.7rem}.nav-book{padding:8px 11px}.hero-copy{padding-left:22px;padding-right:22px}.hero .eyebrow{font-size:.54rem}.about-person{gap:14px}.about-person img{flex-basis:75px;width:75px;height:75px}.about-person h2{font-size:1.6rem}.section{padding-left:18px;padding-right:18px}.service-card{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
