@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=Sofia&display=swap";html,body,#root{min-height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--ink:#f6ecf7;--ink-dim:#d9c3e0;--gold:#ed8a11;--gold-bright:#ffa726;--violet-black:#1f0329;--violet-deep:#2d0742;--violet-mid:#5e077d;--violet-accent:#a230e1;--panel:#5e077d52;--border-soft:#ed8a1147}*{box-sizing:border-box}html,body{background:var(--violet-black);color:var(--ink);scroll-behavior:smooth;margin:0;font-family:Spectral,serif}.page{width:100%;position:relative}.canvas-layer{z-index:0;position:fixed;inset:0}.canvas-layer canvas{display:block;width:100%!important;height:100%!important}.site-nav{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0611b8;border-bottom:1px solid #e8c8791f;justify-content:space-between;align-items:center;padding:22px 64px;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-family:Cinzel,serif;font-size:18px;font-weight:700}.wordmark-logo{width:auto;height:44px;display:block}.nav-links{gap:36px;display:flex}.nav-links a{color:var(--ink-dim);letter-spacing:2px;text-transform:uppercase;font-size:13px;text-decoration:none;transition:color .25s}.nav-links a:hover{color:var(--gold)}.nav-links a{padding-bottom:4px;position:relative}.nav-links a:after{content:"";background:var(--gold);height:1px;transition:right .3s;position:absolute;bottom:0;left:0;right:100%}.nav-links a.active{color:var(--gold)}.nav-links a.active:after{right:0}.hero{z-index:2;flex-direction:column;justify-content:center;max-width:680px;min-height:100vh;padding:0 64px;display:flex;position:relative}.eyebrow{letter-spacing:3px;text-transform:uppercase;color:#a88ec4;margin-bottom:18px;font-size:13px;display:inline-block}h1{letter-spacing:.5px;color:var(--ink);text-shadow:0 2px 24px #0000008c;margin:0;font-family:Sofia,Cinzel,serif;font-size:clamp(38px,5.2vw,64px);font-weight:400;line-height:1.25}h1 em{color:var(--gold-bright);font-style:normal}.hero-sub{color:var(--ink-dim);max-width:520px;margin-top:28px;font-size:19px;line-height:1.7}.cta{border:1.5px solid var(--gold);color:var(--ink);letter-spacing:.5px;background:0 0;border-radius:2px;width:fit-content;margin-top:40px;padding:18px 38px;font-family:Spectral,serif;font-size:16px;text-decoration:none;transition:background .3s,color .3s;display:inline-block}.cta:hover{background:var(--gold);color:var(--violet-black)}.cta-ghost{color:var(--gold);letter-spacing:1px;border-bottom:1px solid var(--border-soft);margin-top:20px;padding-bottom:2px;font-size:14px;text-decoration:none;display:inline-block}.panel{z-index:2;max-width:1100px;margin:0 auto;padding:140px 64px;position:relative}.panel h2{letter-spacing:.5px;text-transform:uppercase;color:var(--ink);margin:10px 0 52px;font-family:Cinzel,serif;font-size:clamp(24px,2.6vw,34px);font-weight:500}.service-banner{border:1px solid var(--border-soft);border-radius:10px;width:100%;max-width:760px;margin:-12px 0 44px;box-shadow:0 24px 60px -24px #000000b3}.service-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;display:grid}.service-card{background:var(--panel);border:1px solid var(--border-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;padding:36px;transition:transform .35s,border-color .35s,box-shadow .35s}.service-card:hover{border-color:#e8c8798c;transform:translateY(-6px);box-shadow:0 18px 40px -16px #0009}.service-card h3{letter-spacing:.3px;text-transform:uppercase;color:var(--ink);margin:0 0 10px;font-family:Cinzel,serif;font-size:19px;font-weight:500}.service-card .price{color:var(--gold-bright);margin:0 0 16px;font-size:24px;font-weight:600}.service-card .desc{color:var(--ink-dim);font-size:15.5px;line-height:1.65}.review-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.review-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:6px;padding:32px;transition:transform .35s,border-color .35s,box-shadow .35s}.review-card:hover{border-color:#e8c8798c;transform:translateY(-6px);box-shadow:0 18px 40px -16px #0009}.stars{color:var(--gold-bright);letter-spacing:2px;margin-bottom:14px}.review-card h3{letter-spacing:.3px;text-transform:uppercase;margin:0 0 12px;font-family:Cinzel,serif;font-size:17px;font-weight:500}.review-card .quote{color:var(--ink-dim);font-size:15px;font-style:italic;line-height:1.6}.review-card .attribution{color:#8f76a8;margin-top:16px;font-size:13px}.about-copy,.contact-copy{color:var(--ink-dim);max-width:640px;font-size:18px;line-height:1.75}.about-copy-main{margin-bottom:40px}.about-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;display:grid}.about-image{border:1px solid var(--border-soft);border-radius:10px;width:100%;max-width:420px;margin-bottom:24px;box-shadow:0 24px 60px -24px #000000b3}.about-subhead{letter-spacing:.3px;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-family:Cinzel,serif;font-size:20px;font-weight:500}.contact-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:48px;display:grid}.hours-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:6px;margin-top:32px;padding:32px}.hours-card h3{letter-spacing:.5px;text-transform:uppercase;color:var(--ink);margin:0 0 20px;font-family:Cinzel,serif;font-size:18px;font-weight:500}.hours-card ul{margin:0;padding:0;list-style:none}.hours-card li{color:var(--ink-dim);border-bottom:1px solid #e8c8791a;justify-content:space-between;padding:8px 0;font-size:15px;display:flex}.hours-card li:last-child{border-bottom:none}.hours-day{color:var(--ink);font-weight:600}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.contact{text-align:left}.contact-form{flex-direction:column;gap:20px;max-width:480px;margin-top:32px;display:flex}.form-row{flex-direction:column;gap:8px;display:flex}.form-row label{letter-spacing:1px;text-transform:uppercase;color:var(--ink-dim);font-size:13px}.form-row input,.form-row textarea{border:1px solid var(--border-soft);color:var(--ink);resize:vertical;background:#140a1f99;border-radius:4px;padding:14px 16px;font-family:Spectral,serif;font-size:15.5px;transition:border-color .25s}.form-row input:focus,.form-row textarea:focus{border-color:var(--gold);outline:none}.form-error{color:#e8a0a0;margin:0;font-size:14px}.contact-form button.cta{cursor:pointer;align-self:flex-start;font-family:inherit}.contact-form-sent{border:1px solid var(--border-soft);background:var(--panel);border-radius:6px;max-width:480px;margin-top:32px;padding:28px}.contact-form-sent p{color:var(--ink-dim);margin:0 0 18px;line-height:1.6}.contact-form-sent button{cursor:pointer;background:0 0;border:none;font-family:inherit}.ambient-toggle{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-soft);color:var(--ink-dim);letter-spacing:.5px;cursor:pointer;background:#2d0742d1;border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-family:Spectral,serif;font-size:13px;transition:border-color .25s,color .25s;display:flex;position:fixed;bottom:28px;right:28px}.ambient-toggle:hover{color:var(--ink);border-color:var(--gold)}.ambient-dot{background:#6f5a87;border-radius:50%;width:8px;height:8px;transition:background .3s,box-shadow .3s}.ambient-dot.live{background:var(--gold-bright);animation:2.4s ease-in-out infinite ambient-pulse;box-shadow:0 0 10px 2px #ffa726b3}@keyframes ambient-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (width<=780px){.ambient-toggle{padding:10px 16px;font-size:12px;bottom:18px;right:18px}}.site-footer{z-index:2;text-align:center;color:#6f5a87;letter-spacing:.5px;padding:48px 24px 80px;font-size:13px;position:relative}@media (width<=780px){.site-nav{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 24px}.nav-links{flex-wrap:wrap;gap:14px;width:100%}.nav-links a{letter-spacing:1px;font-size:11px}.hero{padding:110px 24px 0}.panel{padding:96px 24px}}
