:root{--t-bg:#f6f3ee;--t-surface:#fffdf9;--t-ink:#14110f;--t-muted:#5b544c;--t-accent:#3d3bff;--t-accent-ink:#fff;--t-pop:#ffc93c;--t-line:#14110f24;--r:18px;--r-lg:28px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--t-bg);color:var(--t-ink);font-family:var(--sf-font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.55}h1,h2,h3{font-family:var(--sf-font-display);letter-spacing:-.03em;margin:0;line-height:1.02}h2{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:700}h3{letter-spacing:-.015em;font-size:1.25rem}a{color:inherit;text-underline-offset:3px}p{margin:0 0 1em}.muted{color:var(--t-muted)}.container{width:min(1200px,100% - clamp(32px,8vw,80px));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--t-ink);color:var(--t-bg);z-index:100;border-radius:999px;align-items:center;min-height:44px;padding:0 16px;display:inline-flex;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}:focus-visible{outline:3px solid var(--t-accent);outline-offset:3px;border-radius:6px}.btn{--bg:transparent;--fg:var(--t-ink);border:1.5px solid var(--t-ink);background:var(--bg);min-height:44px;color:var(--fg);font:600 1rem/1 var(--sf-font-ui);cursor:pointer;transition:transform .25s var(--sf-ease), box-shadow .25s var(--sf-ease), background .2s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:0 8px 0 -4px var(--t-ink);transform:translateY(-2px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn:disabled{opacity:.6;cursor:progress}.btn--primary{--bg:var(--t-accent);--fg:var(--t-accent-ink);border-color:var(--t-accent)}.btn--primary:hover{box-shadow:0 8px 0 -4px var(--t-ink)}.btn--ghost{border-color:var(--t-line);background:var(--t-surface)}.btn--lg{min-height:54px;padding:0 28px;font-size:1.05rem}.btn--small{min-height:36px;padding:0 16px;font-size:.9rem}.link{color:var(--t-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.icon-btn{border:1px solid var(--t-line);background:var(--t-surface);width:40px;height:40px;color:var(--t-ink);cursor:pointer;border-radius:50%;place-items:center;font-size:1rem;display:grid}.site-header{z-index:40;-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);background:color-mix(in srgb, var(--t-bg) 82%, transparent);border-bottom:1px solid var(--t-line);position:sticky;top:0}.bar{align-items:center;gap:24px;min-height:68px;display:flex}.brand{min-height:44px;font:700 1.15rem/1 var(--sf-font-display);letter-spacing:-.02em;align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.brand-mark{background:var(--t-accent);width:36px;height:36px;color:var(--t-accent-ink);border-radius:11px;flex:none;place-items:center;margin-right:2px;display:inline-grid;position:relative}.brand-mark svg{width:24px;height:24px;display:block}.brand-mark:after{content:"";background:var(--t-pop);border:2px solid var(--t-bg);border-radius:50%;width:11px;height:11px;position:absolute;top:-3px;right:-3px}.nav{gap:26px;font-weight:500;display:flex}.nav a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.nav a:hover{text-decoration:underline}@media (width<=760px){.nav{display:none}.brand span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(24px,5vw,72px);padding-block:clamp(36px,7vw,96px);display:grid}.eyebrow{font:600 .8rem/1 var(--sf-font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-muted);align-items:center;gap:10px;margin:0 0 18px;display:flex}.open-chip{background:var(--t-surface);border:1px solid var(--t-line);color:var(--t-ink);letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.open-chip[hidden]{visibility:hidden;display:inline-flex}.open-chip:before{content:"";background:#999;border-radius:50%;width:8px;height:8px}.open-chip[data-open=true]:before{background:#1fa971;box-shadow:0 0 0 4px #1fa97133}.hero h1{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.7rem,7.4vw,6rem);font-weight:800;line-height:.95}.hero mark{color:inherit;background:linear-gradient(transparent 62%, var(--t-pop) 62% 92%, transparent 92%);padding:0 .04em}.lead{max-width:34ch;color:var(--t-muted);margin:26px 0 30px;font-size:clamp(1.1rem,2vw,1.35rem)}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:30px 0 0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--t-line);background:var(--t-surface);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:500}.hero-art>svg:first-child{filter:drop-shadow(0 30px 40px #00000029);width:100%;height:auto;display:block}@media (width<=860px){.hero{grid-template-columns:1fr}.hero-art{max-width:380px;margin-inline:auto}}.marquee{border-block:1.5px solid var(--t-ink);background:var(--t-pop);color:#14110f;overflow:hidden}.marquee-track{width:max-content;font:700 1.15rem/1 var(--sf-font-display);letter-spacing:-.01em;white-space:nowrap;gap:40px;padding:14px 0;animation:60s linear infinite slide;display:flex}.marquee-track span:after{content:"✦";margin-left:40px}@keyframes slide{to{transform:translate(-50%)}}.section{padding-block:clamp(56px,9vw,120px)}.section-head{max-width:62ch;margin-bottom:clamp(28px,4vw,48px)}.section-head .muted{margin-top:16px}.band{background:var(--t-surface);border-block:1px solid var(--t-line)}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.card{background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--r-lg);padding:28px;box-shadow:0 1px #00000008,0 14px 30px -20px #00000040}.band .card{background:var(--t-bg)}.menu{gap:40px;display:grid}.menu-group h3{letter-spacing:.14em;text-transform:uppercase;color:var(--t-muted);font-size:.85rem;font-family:var(--sf-font-ui);border-bottom:1.5px solid var(--t-ink);padding-bottom:12px;font-weight:600}.menu-group ul{margin:0;padding:0;list-style:none}.menu-row{border-bottom:1px solid var(--t-line);grid-template-columns:1fr auto auto auto;align-items:center;gap:20px;padding:18px 0;display:grid}.menu-main{gap:2px;display:grid}.menu-main strong{font:700 1.25rem/1.2 var(--sf-font-display);letter-spacing:-.02em}.menu-main .muted{max-width:56ch;font-size:.95rem}.menu-dur{color:var(--t-muted);white-space:nowrap;font-size:.95rem}.menu-price{font:700 1.2rem/1 var(--sf-font-display);text-align:right;white-space:nowrap;min-width:5.5em}@media (width<=680px){.menu-row{grid-template-columns:1fr auto;row-gap:6px}.menu-main{grid-column:1/-1}.menu-dur{grid-column:1}.menu-price{grid-area:2/2}.menu-row .btn{grid-column:1/-1}}.person .avatar{width:84px;height:84px;font:800 1.8rem/1 var(--sf-font-display);color:var(--t-accent-ink);background:var(--t-accent);border-radius:42px 42px 14px 14px;place-items:center;margin-bottom:20px;display:grid}.person[data-tone="1"] .avatar{background:var(--t-ink);color:var(--t-bg)}.person[data-tone="2"] .avatar{background:var(--t-pop);color:#14110f}.role{color:var(--t-accent);margin:4px 0 12px;font-size:.95rem;font-weight:600}.quote{flex-direction:column;gap:18px;margin:0;display:flex}.quote blockquote{font:500 1.2rem/1.4 var(--sf-font-display);letter-spacing:-.015em;margin:0}.quote blockquote:before{content:"“";color:var(--t-accent);font-size:4rem;line-height:.6;display:block}.split{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(28px,6vw,80px);display:grid}@media (width<=860px){.split{grid-template-columns:1fr}}.policies{color:var(--t-muted);margin-top:28px;padding-left:1.1em;font-size:.95rem}.policies li{margin-bottom:8px}.faq details{border-bottom:1px solid var(--t-line)}.faq details:first-child{border-top:1.5px solid var(--t-ink)}.faq summary{cursor:pointer;font:600 1.15rem/1.3 var(--sf-font-display);letter-spacing:-.015em;padding:20px 40px 20px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";transition:rotate .25s var(--sf-ease);font-size:1.6rem;position:absolute;top:50%;right:4px;translate:0 -50%}.faq details[open] summary:after{rotate:45deg}.faq details p{color:var(--t-muted);max-width:56ch;margin:0 0 22px}.visit{background:var(--t-ink);color:var(--t-bg);border-color:var(--t-ink);grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);padding:clamp(28px,5vw,56px);display:grid}.visit .eyebrow{color:color-mix(in srgb, var(--t-bg) 70%, transparent)}.visit .btn--ghost{color:var(--t-bg);border-color:color-mix(in srgb, var(--t-bg) 40%, transparent);background:0 0}.visit .btn:hover{box-shadow:0 8px 0 -4px var(--t-pop)}.visit address{margin:18px 0;font-size:1.25rem;font-style:normal}.visit h2{margin-bottom:4px}.hours{margin:14px 0 0}.hours div{border-bottom:1px solid color-mix(in srgb, var(--t-bg) 22%, transparent);justify-content:space-between;padding:9px 0;display:flex}.hours dt{font-weight:600}.hours dd{margin:0}.tz{color:color-mix(in srgb, var(--t-bg) 65%, transparent);margin-top:12px;font-size:.85rem}@media (width<=760px){.visit{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--t-line);padding:32px 0 96px;font-size:.92rem}.foot{flex-wrap:wrap;justify-content:space-between;gap:12px 32px;display:flex}.palette a{margin-left:12px}.palette a[aria-current=true]{font-weight:700;text-decoration-thickness:2px}.modal{border:1.5px solid var(--t-ink);border-radius:var(--r-lg);background:var(--t-bg);width:min(680px,100% - 24px);max-height:min(92dvh,860px);color:var(--t-ink);padding:0;overflow:hidden;box-shadow:0 40px 80px -20px #00000073}.modal[open]{animation:pop .35s var(--sf-ease);flex-direction:column;display:flex}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14110f8c}@keyframes pop{0%{opacity:0;transform:translateY(16px)scale(.98)}}.modal-close-form{z-index:2;position:absolute;top:14px;right:14px}.modal-body{padding:clamp(20px,4vw,36px);overflow-y:auto}.modal h2{margin-bottom:18px;font-size:clamp(1.7rem,4vw,2.3rem)}.steps{letter-spacing:.08em;text-transform:uppercase;gap:8px;margin:0 44px 22px 0;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:flex}.steps li{border-top:3px solid var(--t-line);color:var(--t-muted);flex:1;padding-top:8px}.steps li[data-state=current]{border-color:var(--t-accent);color:var(--t-ink)}.steps li[data-state=done]{border-color:var(--t-ink);color:var(--t-ink)}.link-back{color:var(--t-muted);font:600 .92rem var(--sf-font-ui);cursor:pointer;background:0 0;border:0;margin-bottom:12px;padding:0}.pick-list h3{font:600 .78rem var(--sf-font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-muted);margin:22px 0 8px}.pick{text-align:left;border:1px solid var(--t-line);border-radius:var(--r);background:var(--t-surface);width:100%;color:inherit;font:inherit;cursor:pointer;transition:border-color .2s, transform .2s var(--sf-ease);grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin-bottom:8px;padding:14px 16px;display:grid}.pick:hover{border-color:var(--t-accent);transform:translate(3px)}.pick-name{font-weight:600}.pick-price{text-align:right;min-width:4.5em;font-weight:700}.chips-row{border:0;margin:0 0 20px;padding:0}.chips-row legend{font:600 .78rem var(--sf-font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-muted);margin-bottom:10px;padding:0}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--t-line);background:var(--t-surface);min-height:40px;color:inherit;font:500 .95rem var(--sf-font-ui);cursor:pointer;border-radius:999px;padding:0 16px}.pill:hover,.pill[aria-pressed=true]{border-color:var(--t-ink)}.pill[aria-pressed=true]{background:var(--t-ink);color:var(--t-bg)}.day-strip{scroll-snap-type:x proximity;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.day{border:1px solid var(--t-line);border-radius:var(--r);background:var(--t-surface);width:64px;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start;flex:none;justify-items:center;gap:2px;padding:10px 0;display:grid}.day-dow,.day-mon{color:var(--t-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.day-num{font:700 1.4rem/1 var(--sf-font-display)}.day[aria-pressed=true]{background:var(--t-accent);border-color:var(--t-accent);color:var(--t-accent-ink)}.day[aria-pressed=true] .day-dow,.day[aria-pressed=true] .day-mon{color:inherit;opacity:.85}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:48px;display:grid}.slot{border:1px solid var(--t-line);background:var(--t-surface);min-height:44px;color:inherit;font:600 .98rem var(--sf-font-ui);cursor:pointer;transition:transform .2s var(--sf-ease), border-color .2s;border-radius:12px}.slot:hover{border-color:var(--t-accent);transform:translateY(-2px)}.summary{border-radius:var(--r);background:var(--t-surface);border:1px solid var(--t-line);padding:14px 16px;font-weight:500}#book-form{gap:14px;display:grid}#book-form label{gap:6px;font-size:.95rem;font-weight:600;display:grid}#book-form input,#book-form textarea{border:1px solid var(--t-line);background:var(--t-surface);color:var(--t-ink);font:400 1rem var(--sf-font-ui);border-radius:12px;padding:12px 14px}#book-form input:focus,#book-form textarea:focus{outline:3px solid color-mix(in srgb, var(--t-accent) 40%, transparent);border-color:var(--t-accent)}.fine{text-align:center;margin:0;font-size:.85rem}.form-error{color:#c0362c;margin:0;font-weight:600}.done{text-align:center;padding:24px 0}.done-mark{background:var(--t-pop);color:#14110f;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 18px;font-size:2rem;display:grid}.done .cta-row{justify-content:center;margin-top:20px}.chat-fab{z-index:50;border:1.5px solid var(--t-ink);background:var(--t-surface);min-height:52px;color:var(--t-ink);font:700 1rem var(--sf-font-ui);cursor:pointer;transition:transform .25s var(--sf-ease);border-radius:999px;align-items:center;gap:10px;padding:0 22px 0 18px;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 30px -12px #0006}.chat-fab:hover{transform:translateY(-3px)}.chat-fab-dot{background:var(--t-accent);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--t-accent) 25%, transparent);border-radius:50%}.chat{z-index:60;border:1.5px solid var(--t-ink);border-radius:var(--r-lg);background:var(--t-bg);width:min(390px,100vw - 24px);height:min(600px,100dvh - 36px);animation:pop .35s var(--sf-ease);flex-direction:column;display:flex;position:fixed;bottom:18px;right:18px;overflow:hidden;box-shadow:0 40px 80px -20px #00000073}.chat[hidden]{display:none}.chat-head{background:var(--t-accent);color:var(--t-accent-ink);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-head div{display:grid}.chat-head .muted{color:inherit;opacity:1;font-size:.82rem}.chat-head .icon-btn{color:inherit;border-color:color-mix(in srgb, var(--t-accent-ink) 40%, transparent);background:0 0}.chat-log{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;max-width:88%;padding:10px 14px;font-size:.98rem;line-height:1.45}.bubble--assistant{background:var(--t-surface);border:1px solid var(--t-line);border-bottom-left-radius:6px;align-self:flex-start}.bubble--user{background:var(--t-ink);color:var(--t-bg);border-bottom-right-radius:6px;align-self:flex-end}.bubble--note{background:var(--t-pop);color:#14110f;align-self:center;font-size:.9rem;font-weight:600}.typing{animation:1s infinite blink}@keyframes blink{50%{opacity:.35}}.chat-suggestions{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.chat-suggestions[hidden]{display:none}.chat-form{border-top:1px solid var(--t-line);gap:8px;padding:12px 16px;display:flex}.chat-form input{border:1px solid var(--t-line);background:var(--t-surface);min-width:0;color:var(--t-ink);font:400 1rem var(--sf-font-ui);border-radius:999px;flex:1;padding:10px 14px}.chat-foot{margin:0;padding:0 16px 12px;font-size:.78rem}.hero-art{position:relative}.hero-art .hero-badge{filter:none;width:31%;height:auto;display:block;position:absolute;bottom:6%;right:4%;overflow:visible}.hero-photo{margin:0}.hero-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--r-lg) var(--r-lg);background:var(--t-surface);width:100%;max-height:640px;display:block;box-shadow:0 30px 40px -24px #00000059}@media (width<=860px){.hero-photo{max-width:380px;margin-inline:auto}}.about[data-has-image=true]{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,5vw,72px);display:grid}@media (width<=860px){.about[data-has-image=true]{grid-template-columns:1fr}}.about-p{max-width:62ch;color:var(--t-ink);font-size:1.15rem}.about-photo{margin:0}.about-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);background:var(--t-surface);width:100%;display:block}.gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--t-surface);border:1px solid var(--t-line);width:100%;display:block}.providers{flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.providers li{border:1px solid var(--t-line);background:var(--t-surface);border-radius:999px;padding:10px 18px;font-weight:600}.insurance-note{max-width:62ch}.emergency-wrap{padding-top:8px}.emergency{border-radius:var(--r-lg);background:var(--t-surface);border:1.5px solid var(--t-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:22px 28px;display:flex}.emergency h2{letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem}.emergency p{max-width:62ch;color:var(--t-muted);margin:0}.emergency-call{--bg:var(--t-ink);--fg:var(--t-bg);border-color:var(--t-ink)}.preview-bar{z-index:90;text-align:center;background:var(--t-ink);color:var(--t-bg);padding:9px 16px;font-size:.92rem;position:sticky;top:0}body[data-preview=true] .site-header{top:38px}body[data-preview=true]{scroll-padding-top:130px}.intake{gap:14px;display:grid}.intake:empty{display:none}.intake-q{border:0;gap:8px;margin:0;padding:0;display:grid}.intake-q legend{margin-bottom:4px;padding:0;font-size:.95rem;font-weight:600}#book-form .radio{border:1px solid var(--t-line);background:var(--t-surface);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-weight:500;display:flex}#book-form .radio input{width:auto;accent-color:var(--t-accent);padding:0}.notice{border:1px solid var(--t-line);border-left:6px solid var(--t-pop);background:var(--t-surface);border-radius:18px;max-width:72ch;padding:20px 24px}.notice h2{margin:0 0 8px;font-size:1.15rem}.notice p{margin:0 0 8px}.notice p:last-child{margin-bottom:0}
