:root{--lavender:#f6f1f9;--lavender-soft:#f8f4fb;--purple:#8b5fbf;--purple-dark:#5c3a85;--near-black:#1a1614;--gold:#c9a961;--text-gray:#6b6b6b;--text-dark:#262223;--pink-wave:#e9b8cd;--border-soft:#e8e1ee;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Poppins", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-dark);background:#fff;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 40px}@media (width<=640px){.container{padding:0 20px}}.status-screen{background:var(--lavender);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:40px;display:flex;position:relative;overflow:hidden}.status-logo{z-index:1;width:72px;height:auto;position:relative}.status-logo-pulse{animation:1.6s ease-in-out infinite status-pulse}.status-label{z-index:1;letter-spacing:2px;text-transform:uppercase;color:var(--text-gray);font-size:12px;font-weight:500;position:relative}.status-label-error{letter-spacing:.3px;text-transform:none;color:#b3524a;max-width:320px;font-size:14px}@keyframes status-pulse{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.status-logo-pulse{animation:none}}.maintenance{background:var(--lavender);justify-content:center;align-items:center;min-height:100vh;padding:40px;display:flex;position:relative;overflow:hidden}.maintenance-blob{filter:blur(70px);pointer-events:none;border-radius:50%;position:absolute}.maintenance-blob-1{opacity:.5;background:radial-gradient(circle,#f5a9c0,#0000 70%);width:400px;height:400px;animation:20s ease-in-out infinite blob-float-a;top:-120px;left:-100px}.maintenance-blob-2{opacity:.4;background:radial-gradient(circle,#f7c99b,#0000 70%);width:360px;height:360px;animation:24s ease-in-out infinite blob-float-b;top:30%;right:-130px}.maintenance-blob-3{opacity:.4;background:radial-gradient(circle,#a9d8c6,#0000 70%);width:380px;height:380px;animation:22s ease-in-out infinite blob-float-c;bottom:-140px;left:6%}.maintenance-blob-4{opacity:.35;background:radial-gradient(circle,#9fc2e8,#0000 70%);width:340px;height:340px;animation:26s ease-in-out infinite reverse blob-float-a;bottom:-100px;right:2%}.maintenance-blob-5{opacity:.3;background:radial-gradient(circle,#b7a6dc,#0000 70%);width:420px;height:420px;animation:18s ease-in-out infinite reverse blob-float-b;top:-160px;right:22%}@keyframes blob-float-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(26px,18px)scale(1.08)}}@keyframes blob-float-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-22px,22px)scale(1.05)}}@keyframes blob-float-c{0%,to{transform:translate(0)scale(1)}50%{transform:translate(18px,-22px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.maintenance-blob{animation:none}}.maintenance-card{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:440px;animation:.7s both maintenance-fade-in;display:flex;position:relative}.maintenance-logo-ring{place-items:center;width:196px;height:196px;margin-bottom:28px;display:grid;position:relative}.brand-anim-svg{width:128px;height:auto;overflow:visible}.brand-piece{stroke:url(#brandRainbow);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len,4000);fill-opacity:0;stroke-opacity:1;opacity:0}.brand-piece-light{fill:#c09ac4;animation:6s ease-in-out infinite brand-draw-light}.brand-piece-dark{fill:#5c2b54;animation:6s ease-in-out .15s infinite brand-draw-dark}@keyframes brand-draw-light{0%{opacity:0;stroke-dashoffset:var(--len,4000);fill-opacity:0;stroke-opacity:1;transform:translateY(-18px)}16%{opacity:1;stroke-dashoffset:var(--len,4000);fill-opacity:0;stroke-opacity:1;transform:translateY(0)}41%{stroke-dashoffset:0;fill-opacity:0;stroke-opacity:1}55%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}90%{opacity:1;fill-opacity:1;stroke-opacity:0}to{opacity:0;fill-opacity:1;stroke-opacity:0}}@keyframes brand-draw-dark{0%{opacity:0;stroke-dashoffset:var(--len,4000);fill-opacity:0;stroke-opacity:1;transform:translateY(18px)}16%{opacity:1;stroke-dashoffset:var(--len,4000);fill-opacity:0;stroke-opacity:1;transform:translateY(0)}41%{stroke-dashoffset:0;fill-opacity:0;stroke-opacity:1}55%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}90%{opacity:1;fill-opacity:1;stroke-opacity:0}to{opacity:0;fill-opacity:1;stroke-opacity:0}}.brand-ripple{fill:none;stroke:#d4af6a;stroke-width:4px;opacity:0;animation:6s ease-out infinite brand-ripple-anim}@keyframes brand-ripple-anim{0%,54%{opacity:0;r:40}58%{opacity:.85;r:70}80%{opacity:0;r:260}to{opacity:0;r:260}}.brand-sparkle{opacity:0;animation:6s ease-out infinite brand-sparkle-anim}.brand-sparkle-1{fill:#f5a9c0;animation-delay:0s}.brand-sparkle-2{fill:#f7c99b;animation-delay:80ms}.brand-sparkle-3{fill:#a9d8c6;animation-delay:.16s}.brand-sparkle-4{fill:#9fc2e8;animation-delay:.24s}.brand-sparkle-5{fill:#b7a6dc;animation-delay:.32s}@keyframes brand-sparkle-anim{0%,54%{opacity:0;transform:translateY(0)}60%{opacity:1;transform:translateY(-10px)}80%{opacity:0;transform:translateY(-50px)}to{opacity:0;transform:translateY(-50px)}}@media (prefers-reduced-motion:reduce){.brand-piece,.brand-ripple,.brand-sparkle{opacity:1;fill-opacity:1;stroke-opacity:0;animation:none;transform:none}}.maintenance-eyebrow{color:#b8862f}.maintenance-rule{opacity:.5;background:#b8862f;width:44px;height:2px;margin:14px 0 18px}.maintenance-text{font-family:var(--font-serif);color:var(--text-dark);max-width:340px;font-size:23px;font-weight:400;line-height:1.5}.maintenance-link{letter-spacing:.6px;text-transform:uppercase;color:var(--purple);border-bottom:1px solid #0000;margin-top:22px;padding-bottom:2px;font-size:12.5px;font-weight:600;text-decoration:none;transition:border-color .25s,color .25s}.maintenance-link:hover{border-color:var(--purple);color:var(--purple-dark)}.maintenance-footer{z-index:1;text-align:center;letter-spacing:.3px;color:var(--text-gray);font-size:12px;position:absolute;bottom:28px;left:0;right:0}@keyframes maintenance-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.maintenance-card{animation:none}}@media (width<=480px){.maintenance-logo-ring{width:150px;height:150px;margin-bottom:20px}.brand-anim-svg{width:88px}.maintenance-text{font-size:19px}.maintenance-footer{bottom:16px}}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--purple);margin-bottom:12px;font-size:12px;font-weight:500;display:block}.section-title{font-family:var(--font-serif);color:var(--text-dark);font-size:42px;font-weight:400}.rainbow-divider{background:linear-gradient(90deg,#f7d9a0,#f2b4c4,#d8b4e8,#b4c8ec,#b4e8d4,#f7d9a0);width:100%;height:4px}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.header{z-index:100;background:#fff;transition:box-shadow .3s;position:sticky;top:0;box-shadow:0 1px #1a161400}.header-scrolled{box-shadow:0 4px 24px #5a3c6e14}.nav{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.logo-group{align-items:center;gap:12px;display:flex}.logo-mark{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:36px;height:36px}.logo-text{font-family:var(--font-serif);color:var(--text-dark);font-size:22px}.nav-links{gap:36px;list-style:none;display:flex}.nav-links a{color:var(--text-dark);letter-spacing:1.2px;text-transform:uppercase;font-size:13px;font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--purple)}.nav-links a{position:relative}.nav-links a:after{content:"";background:var(--purple);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.menu-toggle{width:36px;height:36px;color:var(--text-dark);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:none}.menu-toggle svg{width:24px;height:24px}.mobile-menu{border-top:1px solid var(--border-soft);background:#fff;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.mobile-menu>*{min-height:0}.mobile-menu-open{grid-template-rows:1fr}.mobile-nav-links{flex-direction:column;padding:8px 40px 0;list-style:none;display:flex}.mobile-nav-links a{border-bottom:1px solid var(--border-soft);color:var(--text-dark);font-family:var(--font-serif);padding:14px 0;font-size:20px;text-decoration:none;display:block}.mobile-menu-cta{margin:20px 40px 28px}@media (width<=780px){.nav-links,.nav-cta{display:none}.menu-toggle{display:flex}}@media (width>=781px){.mobile-menu{display:none}}.btn{letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:8px;padding:13px 26px;transition:all .3s;display:inline-flex}.btn-arrow{transition:transform .25s;display:inline-block}.btn:hover .btn-arrow{transform:translate(4px)}.btn-dark{background:var(--near-black);color:#fff}.btn-dark:hover{background:#000;transform:translateY(-2px);box-shadow:0 10px 24px #1a161440}.btn-purple{background:var(--purple);color:#fff}.btn-purple:hover{background:var(--purple-dark);transform:translateY(-2px);box-shadow:0 10px 24px #8b5fbf59}.btn-gold{background:var(--gold);color:var(--near-black)}.btn-gold:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 24px #c9a96166}.btn-outline{color:var(--purple);border:1.5px solid var(--purple);background:0 0}.btn-outline:hover{background:var(--purple);color:#fff;transform:translateY(-2px)}.hero{background:var(--lavender);position:relative;overflow:hidden}.hero-grid{grid-template-columns:1fr 1fr;min-height:640px;display:grid}@media (width<=900px){.hero-grid{grid-template-columns:1fr;min-height:auto}}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 40px 100px 60px;display:flex}@media (width<=900px){.hero-copy{padding:50px 24px 60px}}.hero-logo{-o-object-fit:contain;object-fit:contain;width:130px;height:130px;margin-bottom:20px}.hero-tagline{letter-spacing:2px;text-transform:uppercase;color:var(--text-gray);align-items:center;gap:8px;margin-bottom:20px;font-size:13px;font-weight:500;display:flex}.hero h1{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:4px;font-size:58px;font-weight:400;line-height:1.1}.hero h1 .script{font-style:italic;font-weight:400;display:block}@media (width<=900px){.hero h1{font-size:40px}}.hero p{color:var(--text-gray);max-width:420px;margin:24px 0 32px;font-size:16px;line-height:1.7}.hero-blob{filter:blur(60px);opacity:.5;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero-blob-1{background:radial-gradient(circle, var(--pink-wave), transparent 70%);width:360px;height:360px;top:-80px;right:8%}.hero-blob-2{background:radial-gradient(circle, var(--purple), transparent 70%);opacity:.25;width:260px;height:260px;bottom:10%;left:2%}.hero-grid{z-index:1;position:relative}.hero-image-wrap{border-radius:24px;margin:24px 40px 24px 0;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #5a3c6e4d}@media (width<=900px){.hero-image-wrap{margin:0 24px 40px}}.hero-image-wrap img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:400px;transition:transform .6s;display:block}.hero-image-wrap:hover img{transform:scale(1.04)}.hero-image-wrap.placeholder{background:linear-gradient(135deg,#ded0ea,#f0e4f5)}.hero-wave{z-index:2;width:100%;line-height:0;position:absolute;bottom:-1px;left:0}.services{text-align:center;background:#fff;padding:100px 0 80px}.services .section-title{margin-bottom:50px}.service-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:56px;display:grid}.service-card{aspect-ratio:3/4;background:linear-gradient(135deg, var(--purple), #c9a4e0);text-align:left;border-radius:10px;align-items:flex-end;transition:transform .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #5a3c6e14}.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #5a3c6e33}.service-card img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.service-card:hover img{transform:scale(1.08)}.service-card:after{content:"";background:linear-gradient(#0000 0%,#0000001a 45%,#000000a6 100%);position:absolute;inset:0}.service-card-content{z-index:1;color:#fff;padding:18px;position:relative}.service-card-content h3{font-family:var(--font-serif);margin-bottom:4px;font-size:22px;font-weight:500}.service-card-content p{opacity:.9;font-size:12px;line-height:1.4}.service-list-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:0 40px;max-width:900px;margin:0 auto;display:grid}@media (width<=700px){.service-list-grid{grid-template-columns:1fr}}.service-list-grid ul{list-style:none}.service-list-grid li{border-bottom:1px solid var(--border-soft);color:var(--text-dark);align-items:center;gap:10px;padding:14px 0;font-size:14px;display:flex}.service-list-grid li:before{content:"";background:var(--purple);border-radius:50%;flex-shrink:0;width:5px;height:5px}.space{background:#fff}.space-grid{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}@media (width<=900px){.space-grid{grid-template-columns:1fr}}.space-image{background-position:50%;background-size:cover;background-color:var(--lavender);min-height:420px}.space-copy{flex-direction:column;justify-content:center;padding:60px;display:flex}@media (width<=900px){.space-copy{padding:40px 24px}}.space-copy h2{font-family:var(--font-serif);margin-bottom:20px;font-size:36px;font-weight:400}.space-copy p{color:var(--text-gray);max-width:440px;font-size:15px;line-height:1.8}.values-band{background:var(--lavender);text-align:center;padding:60px 0}.values{grid-template-columns:repeat(4,1fr);gap:30px;max-width:700px;margin:24px auto 0;display:grid}@media (width<=640px){.values{grid-template-columns:repeat(2,1fr)}}.value{flex-direction:column;align-items:center;gap:12px;display:flex}.value-icon{width:32px;height:32px;color:var(--purple)}.value span{color:var(--text-dark);font-size:14px}.lab{background:var(--lavender);text-align:center;padding:100px 0}.lab-subtitle{color:var(--text-gray);max-width:480px;margin:0 auto 50px;font-size:15px}.events{text-align:left;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-bottom:44px;display:grid}.event-card{background:#fff;border-radius:10px;transition:transform .3s;overflow:hidden;box-shadow:0 4px 20px #5a3c6e14}.event-card:hover{transform:translateY(-4px)}.event-image{background-position:50%;background-size:cover;background-color:var(--purple);height:220px}.event-body{padding:22px}.event-type{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:600}.event-card h3{font-family:var(--font-serif);color:var(--text-dark);margin:8px 0 10px;font-size:24px;font-weight:500}.event-card p{color:var(--text-gray);font-size:14px;line-height:1.6}.testimonials{text-align:center;background:#fff;padding:100px 0}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1000px;margin:44px auto 50px;display:grid}.testimonial{background:var(--lavender-soft);text-align:left;border-radius:12px;padding:34px 28px;transition:transform .3s,box-shadow .3s;position:relative}.testimonial:hover{transform:translateY(-4px);box-shadow:0 16px 32px #5a3c6e1f}.testimonial-mark{font-family:var(--font-serif);color:var(--purple);opacity:.35;margin-bottom:4px;font-size:48px;line-height:1}.testimonial-quote{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:20px;font-size:18px;font-style:italic;line-height:1.6}.testimonial-author{color:var(--text-gray);font-size:13px}.instagram-handle{letter-spacing:1px;color:var(--text-gray);text-transform:uppercase;font-size:13px}.gallery{background:#fff}.gallery-strip{grid-template-columns:repeat(6,1fr);display:grid}@media (width<=900px){.gallery-strip{grid-template-columns:repeat(3,1fr)}}.gallery-item{aspect-ratio:1;overflow:hidden}.gallery-strip img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-item:hover img{transform:scale(1.1)}.gallery-more{text-align:center;padding:44px 0}.contact-footer{background:var(--near-black);color:#fff}.contact-top{padding:90px 0 60px}.contact-top .eyebrow{color:var(--purple);opacity:.9}.contact-top h2{font-family:var(--font-serif);max-width:500px;margin-bottom:16px;font-size:42px;font-weight:400}.contact-top p{color:#cfc7d1;margin-bottom:32px;font-size:15px}.map-wrap{filter:grayscale(.3)contrast(1.05);border-radius:12px;margin-top:50px;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:260px;display:block}.footer-links{border-top:1px solid #ffffff1a;padding:50px 0 40px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;display:grid}@media (width<=700px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-grid h4{letter-spacing:1.2px;text-transform:uppercase;color:#9d939f;margin-bottom:16px;font-size:12px}.footer-grid p{color:#cfc7d1;font-size:14px}.footer-grid a{color:#cfc7d1;margin-bottom:10px;font-size:14px;text-decoration:none;transition:color .3s;display:block}.footer-grid a:hover{color:#fff}.footer-brand-logo{font-family:var(--font-serif);margin-bottom:6px;font-size:20px}.footer-bottom{text-align:center;color:#8a818c;border-top:1px solid #ffffff14;padding:24px 0;font-size:12px}.scroll-top{background:var(--purple);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .2s,opacity .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #8b5fbf66}.scroll-top:hover{transform:translateY(-2px)}@media (width<=640px){.section-title{font-size:30px}.services,.lab,.testimonials{padding:60px 0}.contact-top{padding:60px 0 40px}}
