:root{--white: #FEFEFE;--platinum: #ECF0EE;--champagne-mist: #F2E5CB;--dark-spruce: #375035;--soft-linen: #ECE8DB;--champagne: var(--champagne-mist);--spruce: var(--dark-spruce);--linen: var(--soft-linen);--champagne-deep: color-mix(in oklab, var(--champagne-mist) 72%, var(--dark-spruce));--spruce-deep: color-mix(in oklab, var(--dark-spruce) 68%, #0a100a);--spruce-ink: color-mix(in oklab, var(--dark-spruce) 36%, #030503);--linen-deep: color-mix(in oklab, var(--soft-linen) 70%, var(--dark-spruce));--ink: color-mix(in oklab, var(--dark-spruce) 44%, #000);--ink-soft: color-mix(in oklab, var(--dark-spruce) 52%, var(--soft-linen));--muted: color-mix(in oklab, var(--dark-spruce) 38%, var(--platinum));--rule: color-mix(in oklab, var(--dark-spruce) 14%, transparent);--rule-strong: color-mix(in oklab, var(--dark-spruce) 30%, transparent);--gradient-top: linear-gradient(0deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-right: linear-gradient(90deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-bottom: linear-gradient(180deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-left: linear-gradient(270deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-top-right: linear-gradient(45deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-bottom-right: linear-gradient(135deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-top-left: linear-gradient(225deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-bottom-left: linear-gradient(315deg, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--gradient-radial: radial-gradient(ellipse at center, var(--white), var(--platinum), var(--champagne-mist), var(--dark-spruce), var(--soft-linen));--bg: var(--soft-linen);--fg: var(--ink);--primary: var(--dark-spruce);--accent: var(--champagne-mist);--serif: "Fraunces", Georgia, serif;--body: "EB Garamond", "Fraunces", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace;--text-hero: clamp(26px, 4.2vw, 54px);--text-hero-accent: .75em;--text-section: clamp(22px, 2.4vw, 30px);--text-lead: clamp(17px, 1.65vw, 20px);--text-card-title: clamp(18px, 1.55vw, 22px);--text-panel-title: clamp(20px, 1.9vw, 24px);--text-quote: clamp(18px, 1.55vw, 22px);--text-contact: clamp(22px, 2.6vw, 32px);--text-body: 18px;--text-body-secondary: 16px;--text-caption: 12px;--text-ui: 11px;--text-label: 10px;--text-label-fine: 9px;--lh-tight: 1.2;--lh-snug: 1.35;--lh-body: 1.55;--track-mono: .2em;--track-mono-wide: .22em;--track-mono-chip: .18em;--site-max: 1320px;--site-pad: 40px;--nav-h: 84px;--hero-grad-angle: 100deg;--hero-ink-deep: color-mix(in oklab, var(--spruce-ink) 84%, #000);--hero-ink-panel: color-mix(in oklab, var(--spruce-ink) 70%, #000);--hero-ink-glow: color-mix(in oklab, var(--champagne-mist) 14%, color-mix(in oklab, var(--spruce-ink) 44%, #000));--hero-ink-mist: color-mix(in oklab, var(--spruce-ink) 17%, transparent);--hero-spruce-veil: color-mix(in oklab, var(--dark-spruce) 12%, transparent);--hero-champagne-edge: color-mix(in oklab, var(--champagne-mist) 22%, color-mix(in oklab, var(--dark-spruce) 32%, transparent));--hero-vignette-top: color-mix(in oklab, var(--spruce-ink) 32%, #000);--hero-vignette-top-fade: color-mix(in oklab, var(--spruce-ink) 6%, transparent);--hero-vignette-bottom: color-mix(in oklab, var(--spruce-ink) 42%, color-mix(in oklab, var(--champagne-mist) 5%, #000));--hero-vignette-bottom-mid: color-mix(in oklab, var(--spruce-ink) 10%, transparent);--hero-radial-platinum: color-mix(in oklab, var(--platinum) 15%, transparent);--hero-radial-champagne-a: color-mix(in oklab, var(--champagne-mist) 26%, transparent);--hero-radial-champagne-b: color-mix(in oklab, var(--champagne-mist) 9%, transparent);--section-pad-top: 104px;--section-pad-after-title: 64px;--cursor-site: url(/hour_hand_cursor.png) 10 1;--cursor-site-light: url(/hour_hand_cursor_light.png) 10 1}[data-theme=spruce]{--bg: var(--soft-linen);--fg: var(--ink);--primary: var(--dark-spruce);--accent: var(--champagne-mist)}[data-theme=ivory]{--bg: var(--white);--fg: var(--ink);--primary: var(--spruce-ink);--accent: var(--champagne-deep)}[data-theme=noir]{--bg: var(--spruce-ink);--fg: var(--soft-linen);--primary: var(--champagne-mist);--accent: var(--champagne-mist);--rule: color-mix(in oklab, var(--champagne-mist) 14%, transparent);--rule-strong: color-mix(in oklab, var(--champagne-mist) 34%, transparent);--muted: color-mix(in oklab, var(--platinum) 45%, var(--dark-spruce))}[data-theme=mist]{--bg: var(--platinum);--fg: var(--spruce-ink);--primary: var(--dark-spruce);--accent: var(--champagne-deep)}@media (max-width: 720px){:root{--site-pad: 24px;--section-pad-top: 72px;--section-pad-after-title: 48px}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--soft-linen)}@media (hover: hover) and (pointer: fine){html{cursor:var(--cursor-site),auto}body[data-theme=noir]{cursor:var(--cursor-site-light),auto}[data-theme=noir] .services,[data-theme=noir] .gallery.gallery--sign,[data-theme=noir] .intake-faq.intake-faq--light,.contact{cursor:var(--cursor-site),auto}.modal-backdrop{cursor:var(--cursor-site-light),auto}.modal-panel{cursor:var(--cursor-site),auto}[data-theme=noir] .modal-panel,.hero{cursor:var(--cursor-site-light),auto}@media (prefers-reduced-motion: reduce){.hero{cursor:inherit}}}body{font-family:var(--body);font-size:var(--text-body);line-height:var(--lh-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","onum"}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.11  0 0 0 0 0.16  0 0 0 0 0.11  0 0 0 0.45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}body[data-grain=false]:before{display:none}body[data-theme=noir]:before{mix-blend-mode:screen;opacity:.18}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;color:var(--fg);text-wrap:balance}h1{font-size:clamp(56px,9vw,148px);line-height:.92;letter-spacing:-.035em}h2{font-size:var(--text-section);line-height:var(--lh-tight);letter-spacing:-.02em}h3{font-size:var(--text-card-title);line-height:1.15;letter-spacing:-.01em}p{margin:0;text-wrap:pretty}.eyebrow{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:500}.container,.container-wide{max-width:var(--site-max);margin:0 auto;padding:0 var(--site-pad)}section{position:relative}.nav{position:fixed;top:0;left:0;right:0;z-index:110;width:100%;background:transparent;border-bottom:1px solid transparent;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transform:translateY(0);transition:transform .4s cubic-bezier(.33,1,.68,1),background .4s ease,border-color .35s ease,backdrop-filter .45s ease,-webkit-backdrop-filter .45s ease,box-shadow .35s ease}.nav--hidden{transform:translateY(-100%);pointer-events:none}.nav--solid{backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 90%,transparent),color-mix(in oklab,var(--bg) 78%,transparent));border-bottom-color:var(--rule);box-shadow:0 1px color-mix(in oklab,var(--fg) 4%,transparent)}.nav-inner{display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:16px;padding:18px var(--site-pad);max-width:var(--site-max);margin:0 auto;min-height:52px}.nav-inner__start{position:relative;justify-self:start;display:flex;align-items:center;min-width:0}.nav-menu{position:relative}.nav-menu__btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border:none;border-radius:6px;background:transparent;color:var(--fg);cursor:pointer;transition:background .25s,color .25s}.nav-menu__btn:hover,.nav-menu__btn[aria-expanded=true]{background:var(--fg);color:var(--bg)}.nav-menu__btn-bars{display:flex;flex-direction:column;justify-content:center;gap:5px;width:18px}.nav-menu__btn-bars span{display:block;height:1.5px;border-radius:1px;background:currentColor}.nav-menu__panel{position:absolute;top:calc(100% + 10px);left:0;z-index:115;min-width:220px;padding:6px;border:1px solid var(--rule);border-radius:12px;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 16px 48px color-mix(in oklab,var(--spruce-ink) 32%,transparent),0 1px color-mix(in oklab,var(--fg) 6%,transparent)}.nav-menu__link{display:block;padding:11px 14px;font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--fg);text-decoration:none;border-radius:8px;opacity:.88;transition:opacity .18s ease,background .18s ease}.nav-menu__link:hover{opacity:1;background:color-mix(in oklab,var(--fg) 10%,transparent)}.nav-inner__actions{display:flex;justify-content:flex-end;align-items:center;min-width:0}.nav-brand{justify-self:center;display:flex;align-items:center;gap:14px;min-width:0;max-width:100%;text-decoration:none;color:inherit}.brand-mark-img{display:block;flex:none;width:44px;height:44px;object-fit:contain}.brand-wordmark{display:block;height:44px;width:auto;max-width:min(280px,50vw);object-fit:contain;object-position:left center}@media (min-width: 640px){.nav-brand{gap:16px}.brand-mark-img{width:48px;height:48px}.brand-wordmark{height:48px;max-width:min(320px,42vw)}}.nav-cta{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono);text-transform:uppercase;padding:10px 18px;border:1px solid var(--fg);border-radius:999px;text-decoration:none;color:var(--fg);background:transparent;cursor:pointer;transition:background .25s,color .25s}.nav-cta:hover{background:var(--fg);color:var(--bg)}.nav-cta--header{position:relative;z-index:1;flex:none}@media (max-width: 860px){.nav-inner{display:flex;justify-content:center}.nav-inner__start,.nav-inner__actions{display:none}.nav-brand{justify-self:unset}.nav-cta--header{display:none}}.nav-fab{display:none;position:fixed;z-index:120;bottom:max(20px,env(safe-area-inset-bottom,0px));right:max(20px,env(safe-area-inset-right,0px));align-items:center;justify-content:center;min-height:52px;padding:0 22px;white-space:nowrap;border-radius:999px;border:1px solid var(--fg);font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--bg);background:var(--fg);cursor:pointer;box-shadow:0 4px 24px color-mix(in oklab,var(--spruce-ink) 35%,transparent),0 1px color-mix(in oklab,var(--fg) 25%,transparent);transition:transform .2s ease,filter .2s ease}.nav-fab:hover{filter:brightness(1.06)}.nav-fab:active{transform:scale(.98)}@media (max-width: 860px){.nav-fab{display:inline-flex}}@media (prefers-reduced-motion: reduce){.nav-fab{transition:none}.nav{transition:transform .01ms,background .4s ease,border-color .35s ease,backdrop-filter .45s ease,-webkit-backdrop-filter .45s ease,box-shadow .35s ease}}.hero{position:relative;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;padding:0;isolation:isolate}@media (max-width: 720px){.hero{min-height:650px;height:650px}}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(var(--hero-grad-angle),var(--hero-ink-deep) 0%,var(--hero-ink-panel) 14%,var(--hero-ink-glow) 30%,var(--hero-ink-mist) 46%,var(--hero-spruce-veil) 72%,var(--hero-champagne-edge) 100%),linear-gradient(to bottom,var(--hero-vignette-top) 0%,var(--hero-vignette-top-fade) 38%,transparent 44%,transparent 56%,var(--hero-vignette-bottom-mid) 72%,var(--hero-vignette-bottom) 100%),radial-gradient(ellipse 88% 50% at 64% 5%,var(--hero-radial-platinum) 0%,transparent 46%),radial-gradient(ellipse 105% 88% at 91% 87%,var(--hero-radial-champagne-a) 0%,var(--hero-radial-champagne-b) 36%,transparent 56%)}@media (min-width: 721px){.hero-overlay{background:radial-gradient(ellipse 58% 52% at 50% 48%,color-mix(in oklab,var(--spruce-deep) 58%,transparent) 0%,color-mix(in oklab,var(--dark-spruce) 22%,transparent) 52%,transparent 78%),linear-gradient(var(--hero-grad-angle),var(--hero-ink-deep) 0%,var(--hero-ink-panel) 14%,var(--hero-ink-glow) 30%,var(--hero-ink-mist) 46%,var(--hero-spruce-veil) 72%,var(--hero-champagne-edge) 100%),linear-gradient(to bottom,var(--hero-vignette-top) 0%,var(--hero-vignette-top-fade) 38%,color-mix(in oklab,var(--spruce-deep) 16%,transparent) 40%,color-mix(in oklab,var(--dark-spruce) 11%,transparent) 50%,color-mix(in oklab,var(--spruce-deep) 16%,transparent) 60%,var(--hero-vignette-bottom-mid) 72%,var(--hero-vignette-bottom) 100%),radial-gradient(ellipse 88% 50% at 64% 5%,var(--hero-radial-platinum) 0%,transparent 46%),radial-gradient(ellipse 105% 88% at 91% 87%,color-mix(in oklab,var(--hero-radial-champagne-a) 62%,transparent) 0%,color-mix(in oklab,var(--hero-radial-champagne-b) 62%,transparent) 36%,transparent 56%)}}.hero-overlay-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.08;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.92  0 0 0 0 0.88  0 0 0 0.35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:240px 240px}@media (max-width: 720px){.hero-video{object-position:center center}.hero-overlay{background:color-mix(in oklab,var(--spruce-deep) 44%,#000);opacity:.85}.hero-overlay-grain{opacity:.06}}.hero-content{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;align-self:stretch;width:100%;min-height:0;padding-top:calc(var(--nav-h) + 28px);padding-bottom:clamp(40px,8vh,72px)}.hero-block{max-width:min(46rem,100%);text-align:left}@media (max-width: 720px){.hero-content{align-items:center}.hero-block{width:100%;text-align:center;margin-inline:auto}.hero-lead{margin-left:auto;margin-right:auto}}@media (prefers-reduced-motion: reduce){.hero-video{opacity:0}.hero-media{background:var(--bg)}}.hero-kicker{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.35em .5em;font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-wide);text-transform:uppercase;color:var(--muted);margin:0 0 28px}@media (max-width: 720px){.hero-kicker{justify-content:center}}.hero-kicker-dot{opacity:.55;-webkit-user-select:none;user-select:none}.hero-title{margin:0;font-family:var(--serif);font-weight:300;letter-spacing:-.03em;line-height:1.02;font-size:var(--text-hero)}.hero-title-line{display:block;font-size:var(--text-hero);color:var(--fg)}.hero-title-line--accent{margin-top:.06em;font-size:var(--text-hero-accent);font-weight:300;letter-spacing:-.025em;color:color-mix(in oklab,var(--fg) 88%,transparent)}.hero-title-line em,.hero-title-line--accent em{font-style:italic;font-weight:300;color:color-mix(in oklab,var(--champagne-mist) 92%,var(--fg));margin-right:.12em}.hero-lead{margin:32px 0 0;max-width:48ch;font-family:var(--body);font-size:var(--text-lead);line-height:var(--lh-body);font-weight:400;color:color-mix(in oklab,var(--fg) 82%,transparent)}[data-theme=noir] .hero-lead{color:color-mix(in oklab,var(--fg) 76%,transparent)}@media (max-width: 560px){.hero-kicker{gap:.25em .35em}}.section-head{padding:var(--section-pad-top) 0 var(--section-pad-after-title);border:none;text-align:center;max-width:36rem;margin-left:auto;margin-right:auto}.section-head h2{margin:0;font-size:var(--text-section);font-weight:400;letter-spacing:-.02em;line-height:var(--lh-tight);max-width:none}.services{padding:0 0 96px;background:var(--platinum);color:var(--ink);--fg: var(--ink);--bg: var(--platinum);--muted: color-mix(in oklab, var(--dark-spruce) 50%, var(--platinum));--ink-soft: color-mix(in oklab, var(--dark-spruce) 55%, var(--platinum));--rule: color-mix(in oklab, var(--dark-spruce) 14%, transparent);--rule-strong: color-mix(in oklab, var(--dark-spruce) 26%, transparent);--accent: var(--champagne-mist)}.services .section-head{padding-top:var(--section-pad-top);padding-bottom:var(--section-pad-after-title)}.services-hscroll{position:relative;margin-top:0;padding:0}.services-hscroll:before,.services-hscroll:after{content:"";position:absolute;top:0;bottom:28px;width:min(72px,10vw);z-index:2;pointer-events:none}.services-hscroll:before{left:0;background:linear-gradient(90deg,var(--platinum) 20%,transparent 100%)}.services-hscroll:after{right:0;background:linear-gradient(270deg,var(--platinum) 20%,transparent 100%)}.services-scroll{display:flex;gap:40px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--site-pad);padding:8px var(--site-pad) 32px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--dark-spruce) 22%,var(--platinum)) transparent}.services-scroll::-webkit-scrollbar{height:4px}.services-scroll::-webkit-scrollbar-track{background:transparent}.services-scroll::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--dark-spruce) 28%,var(--platinum));border-radius:0}.service-card{flex:0 0 min(320px,78vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:24px;min-height:0;padding:40px 36px 36px;border:1px solid color-mix(in oklab,var(--dark-spruce) 18%,var(--platinum));border-radius:0;background:transparent;box-shadow:none;transition:border-color .4s ease}.service-card:hover{border-color:color-mix(in oklab,var(--dark-spruce) 32%,var(--platinum))}@media (prefers-reduced-motion: reduce){.service-card{transition:none}}.service-card-idx{font-family:var(--mono);font-size:var(--text-label-fine);letter-spacing:.24em;color:var(--muted)}.service-card-name{font-family:var(--serif);font-size:var(--text-card-title);font-weight:300;letter-spacing:-.015em;line-height:1.25;margin:0;color:var(--ink)}.service-card-desc{flex:1;margin:0;font-size:var(--text-body-secondary);line-height:var(--lh-body);font-weight:400;color:var(--ink-soft)}.service-card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-top:32px;margin-top:auto;border-top:1px solid color-mix(in oklab,var(--dark-spruce) 12%,var(--platinum))}.service-card-turn{font-family:var(--mono);font-size:var(--text-label-fine);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted)}.service-card-price{font-family:var(--serif);font-size:var(--text-panel-title);font-weight:300;font-variant-numeric:lining-nums;color:var(--ink);letter-spacing:-.02em}.gallery{padding:0 0 160px}.gallery.gallery--sign{--fg: var(--spruce-ink);--bg: var(--platinum);--muted: color-mix(in oklab, var(--dark-spruce) 42%, var(--platinum));--rule: color-mix(in oklab, var(--dark-spruce) 14%, transparent);--rule-strong: color-mix(in oklab, var(--dark-spruce) 24%, transparent);--ink-soft: color-mix(in oklab, var(--dark-spruce) 52%, var(--soft-linen));--primary: var(--dark-spruce);--accent: var(--champagne-mist);color:var(--fg);background:linear-gradient(180deg,color-mix(in oklab,var(--white) 55%,var(--platinum)) 0%,var(--platinum) 42%,var(--soft-linen) 100%);border-top:1px solid color-mix(in oklab,var(--white) 70%,var(--platinum));border-bottom:1px solid color-mix(in oklab,var(--dark-spruce) 14%,transparent);box-shadow:inset 0 1px #ffffffa6,inset 0 -1px color-mix(in oklab,var(--dark-spruce) 10%,transparent)}.gallery.gallery--sign>.container{padding-top:var(--section-pad-top)}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:32px}.chip{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono-chip);text-transform:uppercase;padding:8px 16px;border:1px solid var(--rule-strong);border-radius:999px;background:transparent;color:var(--fg);cursor:pointer;transition:all .2s}.chip:hover{border-color:var(--fg)}.chip.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media (max-width: 1000px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.masonry{grid-template-columns:1fr}}.piece{position:relative;cursor:pointer;transition:transform .4s cubic-bezier(.2,.6,.2,1)}button.piece{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.piece:hover{transform:translateY(-4px)}.piece:focus-visible{outline:2px solid color-mix(in oklab,var(--dark-spruce) 45%,var(--platinum));outline-offset:4px}.piece-media{border:1px solid var(--rule-strong);position:relative;overflow:hidden;aspect-ratio:4 / 5;background-color:color-mix(in oklab,var(--accent) 18%,var(--bg))}.piece-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;vertical-align:top}.piece-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,transparent 30%);pointer-events:none}.piece-media .piece-label{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-wide);text-transform:uppercase;color:#fff;z-index:2;opacity:.92}.piece-meta{padding:14px 4px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.piece-meta .t{font-family:var(--serif);font-size:var(--text-card-title);font-weight:400;letter-spacing:-.01em}.piece-meta .d{font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-chip);text-transform:uppercase;color:var(--muted)}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;box-sizing:border-box;background:#0a0a0a;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);animation:galleryLightboxIn .32s cubic-bezier(.22,1,.36,1) forwards}@keyframes galleryLightboxIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.gallery-lightbox{animation:none}}.gallery-lightbox__close{position:fixed;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));z-index:2;width:44px;height:44px;border:none;border-radius:50%;background:#ffffff14;color:#ffffffd1;cursor:pointer;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease}.gallery-lightbox__close:hover{color:#fff;background:#ffffff24}.gallery-lightbox__close:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.gallery-lightbox__stage{box-sizing:border-box;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:56px max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left))}.gallery-lightbox__img{display:block;max-width:100%;max-height:min(100dvh,100vh);width:auto;height:auto;object-fit:contain;object-position:center}@media (max-width: 640px){.gallery-lightbox__stage{padding:52px 0 0;max-width:100vw}.gallery-lightbox__img{max-height:100dvh;max-width:100vw}}.instagram-callout{width:100%;margin-top:clamp(40px,7vw,72px);padding:0 var(--site-pad)}.instagram-callout__link{display:flex;align-items:center;gap:1rem 1.35rem;width:100%;max-width:520px;margin:0 auto;padding:1.15rem 1.35rem;border:1px solid var(--rule-strong);border-radius:0;background:transparent;text-decoration:none;color:var(--fg);transition:border-color .22s ease}.instagram-callout__link:hover{border-color:color-mix(in oklab,var(--dark-spruce) 38%,var(--platinum))}.instagram-callout__link:focus-visible{outline:1px solid color-mix(in oklab,var(--dark-spruce) 45%,var(--platinum));outline-offset:3px}.instagram-callout__logo{flex:none;display:block;width:26px;height:26px;color:var(--fg)}.instagram-callout__copy{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;text-align:left}.instagram-callout__label{font-family:var(--serif);font-size:var(--text-card-title);font-weight:400;letter-spacing:-.02em;line-height:1.2}.instagram-callout__handle{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono-chip);text-transform:uppercase;color:var(--ink-soft)}.about{padding:0 0 160px}.about-prose{max-width:40rem;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;padding:40px 32px;background:var(--bg);border:1px solid var(--rule)}.about-prose p{margin:0;font-family:var(--serif);font-size:var(--text-body);font-weight:400;line-height:var(--lh-body);color:var(--fg)}.about-prose p.about-prose__foot{font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-wide);text-transform:uppercase;color:var(--muted);margin-top:.5rem;border-top:1px solid var(--rule);padding-top:1.25rem}.intake-faq{padding:0 0 160px}.intake-faq .container{padding-top:var(--section-pad-top)}.intake-faq.intake-faq--light{--fg: var(--spruce-ink);--bg: var(--platinum);--muted: color-mix(in oklab, var(--dark-spruce) 42%, var(--platinum));--rule: color-mix(in oklab, var(--dark-spruce) 14%, transparent);--rule-strong: color-mix(in oklab, var(--dark-spruce) 24%, transparent);--ink-soft: color-mix(in oklab, var(--dark-spruce) 52%, var(--soft-linen));--primary: var(--dark-spruce);--accent: var(--champagne-mist);color:var(--fg);background:linear-gradient(180deg,color-mix(in oklab,var(--white) 50%,var(--platinum)) 0%,var(--platinum) 38%,var(--soft-linen) 100%);border-top:1px solid color-mix(in oklab,var(--white) 70%,var(--platinum));border-bottom:none;box-shadow:inset 0 1px #ffffff8c,inset 0 -1px color-mix(in oklab,var(--dark-spruce) 8%,transparent)}.intake-faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,5vw,72px);align-items:start}.intake-faq-book,.intake-faq-faq{align-self:start}.intake-faq-book{display:flex;flex-direction:column;min-height:0}.intake-faq-faq{min-width:0}.intake-faq-book .book-cta{max-width:none;margin:0;display:flex;flex-direction:column;align-items:flex-start;padding:0}@media (max-width: 900px){.intake-faq-layout{grid-template-columns:1fr;gap:40px}.intake-faq-book{display:block}.intake-faq-book .book-cta{flex:none;min-height:auto}}.intake-faq .faq-ledger{margin:0;padding:0;border-top:none;max-width:none}.intake-faq .faq-item{border-bottom:1px solid var(--rule)}.intake-faq .faq-item:first-child .faq-summary{padding-top:0}.intake-faq .faq-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem 1.5rem;width:100%;margin:0;padding:18px 0 16px;border:none;background:transparent;font:inherit;font-family:var(--serif);font-size:var(--text-panel-title);font-weight:400;letter-spacing:-.015em;line-height:1.35;color:var(--fg);text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.intake-faq .faq-q-text{flex:1;min-width:0}.intake-faq .faq-summary:after{content:"+";flex:none;font-family:var(--mono);font-size:var(--text-ui);font-weight:500;letter-spacing:0;color:var(--muted);line-height:1;transition:color .2s ease}.intake-faq .faq-item--open .faq-summary:after{content:"−";color:var(--fg)}.intake-faq .faq-summary:hover:after{color:var(--fg)}.intake-faq .faq-summary:focus{outline:none}.intake-faq .faq-summary:focus-visible{outline:1px solid var(--rule-strong);outline-offset:3px}.intake-faq .faq-answer{padding:0}.intake-faq .faq-a{margin:0;padding:0 1.75rem 20px 0;font-size:var(--text-body-secondary);line-height:var(--lh-body);color:var(--ink-soft);max-width:48rem}[data-theme=noir] .intake-faq .faq-a{color:color-mix(in oklab,var(--fg) 80%,transparent)}@media (max-width: 560px){.intake-faq .faq-summary{padding-top:16px;padding-bottom:14px}.intake-faq .faq-a{padding-right:0;padding-bottom:18px}}.book-cta{max-width:min(30rem,100%);margin:0;padding:0;border:none;background:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}.book-cta-title{margin:0;max-width:22ch;font-family:var(--serif);font-size:var(--text-section);font-weight:400;letter-spacing:-.02em;line-height:var(--lh-tight);text-wrap:balance;color:var(--fg)}.book-cta-hours{margin:-.35rem 0 0;font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted);line-height:1.45}.book-cta-lede{margin:0;font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink-soft)}[data-theme=noir] .book-cta-lede{color:color-mix(in oklab,var(--fg) 84%,transparent)}.book-cta-detail{margin:0;font-size:var(--text-body-secondary);line-height:var(--lh-body);color:var(--ink-soft);max-width:40ch}[data-theme=noir] .book-cta-detail{color:color-mix(in oklab,var(--fg) 78%,transparent)}.book-cta-action{align-self:flex-start}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:color-mix(in oklab,#0a0c0a 65%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:stretch;justify-content:center;animation:modalBackdropIn .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}.modal-panel{position:relative;box-sizing:border-box;background:var(--bg);flex:1 1 auto;align-self:stretch;width:100%;min-width:0;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;max-width:none;display:flex;flex-direction:column;overflow-y:auto;animation:modalPanelIn .55s cubic-bezier(.22,1,.36,1) forwards}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal-panel{animation:none;opacity:1;transform:none}}.modal-header{position:sticky;top:0;z-index:10;display:flex;justify-content:center;align-items:center;min-height:56px;padding:16px var(--site-pad) 14px;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.modal-title{margin:0;padding:0 52px;font-family:var(--serif);font-size:var(--text-panel-title);font-weight:400;letter-spacing:-.02em;line-height:var(--lh-tight);color:var(--fg);text-align:center}.modal-close{position:absolute;right:var(--site-pad);top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .25s ease,background .25s ease}.modal-close:hover{color:var(--fg);background:color-mix(in oklab,var(--fg) 6%,transparent)}.modal-close:focus-visible{outline:1px solid var(--rule-strong);outline-offset:2px}.modal-body{display:flex;flex-direction:column;flex:1;width:100%;min-width:min(500px,100%);min-height:0;height:100%;max-width:520px;margin:0 auto;padding:8px var(--site-pad) 48px;align-items:center;justify-content:center}@media (max-width: 520px){.modal-body{padding:4px var(--site-pad) 40px}.modal-header{padding:14px var(--site-pad) 12px;min-height:52px}.modal-title{padding:0 48px}}.modal-body .booking-wrap,.modal-body .booking-done{width:100%;max-width:100%}.booking-wrap{border:none;background:transparent}.booking-stepper{display:flex;justify-content:center;align-items:center;gap:10px;padding:8px 0 28px}.booking-step{width:36px;height:36px;border:none;border-radius:50%;background:transparent;font-family:var(--mono);font-size:var(--text-ui);letter-spacing:.06em;color:color-mix(in oklab,var(--muted) 85%,var(--fg));cursor:default;transition:color .25s ease,background .25s ease,transform .25s ease}.booking-step.active{background:color-mix(in oklab,var(--fg) 10%,transparent);color:var(--fg);transform:scale(1.06)}.booking-step.past{cursor:pointer;color:var(--fg)}.booking-step.past:hover{background:color-mix(in oklab,var(--fg) 6%,transparent)}.booking-step:disabled:not(.active){opacity:.35;cursor:default}.booking-body{padding:8px 0;animation:bookingStepFade .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes bookingStepFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.booking-body{animation:none}}.booking-footer{display:flex;justify-content:space-between;align-items:center;padding:32px 0 0;gap:16px;flex-wrap:wrap;border-top:none}.booking-counter{font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-chip);color:var(--muted)}.booking-actions{display:flex;gap:12px;margin-left:auto}.btn-ghost{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono-chip);text-transform:uppercase;padding:14px 20px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:0;transition:color .2s ease}.btn-ghost:hover{color:var(--fg)}.btn-primary{font-family:var(--mono);font-size:var(--text-ui);letter-spacing:var(--track-mono-chip);text-transform:uppercase;padding:14px 24px;border:none;background:var(--fg);color:var(--bg);cursor:pointer;border-radius:0;transition:opacity .2s ease,transform .2s ease}.btn-primary:hover:not(:disabled){opacity:.92}.btn-primary:disabled{background:transparent;color:var(--muted);cursor:not-allowed;opacity:.5}[data-theme=noir] .btn-primary{color:var(--spruce-ink)}[data-theme=noir] .btn-primary:disabled{color:var(--muted)}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}.field-label{font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-chip);text-transform:uppercase;color:var(--muted)}.field-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:10px 2px 12px;font-family:var(--serif);font-weight:400;font-size:var(--text-panel-title);color:var(--fg);outline:none;letter-spacing:-.015em;transition:border-color .2s ease}.field-input:focus{border-bottom-color:color-mix(in oklab,var(--fg) 35%,var(--rule))}.field-input::placeholder{color:var(--muted);opacity:.55}.field-textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:10px 2px 12px;font-family:var(--serif);font-weight:400;font-size:var(--text-body);line-height:var(--lh-body);color:var(--fg);outline:none;resize:vertical;min-height:100px;transition:border-color .2s ease}.field-textarea:focus{border-bottom-color:color-mix(in oklab,var(--fg) 35%,var(--rule))}.field-textarea::placeholder{color:var(--muted);opacity:.55}.booking-submit-error{font-family:var(--serif);font-size:var(--text-body-secondary);line-height:var(--lh-snug);color:color-mix(in oklab,#7a2b3a 65%,var(--fg));margin:4px 0 0}.radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:22px}@media (max-width: 440px){.radio-grid{grid-template-columns:1fr}}.radio-option{display:flex;align-items:center;gap:10px;text-align:left;padding:14px 0 12px;border:none;border-bottom:1px solid var(--rule);background:transparent;color:var(--fg);cursor:pointer;font-family:var(--serif);font-size:var(--text-body);font-weight:400;letter-spacing:-.01em;transition:color .2s ease,border-color .2s ease}.radio-option:hover{border-bottom-color:color-mix(in oklab,var(--fg) 22%,var(--rule))}.radio-option__mark{flex:0 0 14px;width:14px;height:14px;position:relative;box-sizing:border-box}.radio-option.selected .radio-option__mark:after{content:"";position:absolute;left:1px;top:1px;width:5px;height:9px;border:solid currentColor;border-width:0 1.25px 1.25px 0;transform:rotate(45deg);opacity:.92}.radio-option.selected{border-bottom-color:color-mix(in oklab,var(--fg) 22%,var(--rule));color:var(--fg)}.radio-option__label{flex:1;min-width:0}.booking-done{border:none;padding:12px 0 24px;background:transparent;text-align:left}.booking-done-meta{margin:0 0 16px;font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-chip);color:var(--muted);text-transform:uppercase}.booking-done-title{margin:0 0 12px;font-family:var(--serif);font-size:var(--text-contact);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--fg)}.booking-done-text{margin:0 0 28px;font-size:var(--text-body-secondary);line-height:var(--lh-body);color:var(--ink-soft);max-width:36ch}[data-theme=noir] .booking-done-text{color:color-mix(in oklab,var(--fg) 78%,transparent)}.booking-done-btn{margin-top:0}.contact{margin-top:0;padding:40px 0 48px;background:var(--soft-linen);color:var(--spruce-ink);border-top:none}.contact-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-family:var(--body);font-size:var(--text-body);line-height:var(--lh-body)}.contact-links a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--spruce-ink) 28%,transparent);transition:color .2s ease,border-color .2s ease}.contact-links a:hover{color:var(--dark-spruce);border-bottom-color:color-mix(in oklab,var(--dark-spruce) 40%,transparent)}.contact-copy{margin:0;font-family:var(--mono);font-size:var(--text-label);letter-spacing:var(--track-mono-chip);text-transform:uppercase;line-height:1.5;color:color-mix(in oklab,var(--spruce-ink) 52%,transparent)}@media (max-width: 720px){.contact{padding:32px 0 40px;text-align:center}.contact-bar{flex-direction:column;align-items:center}.contact-links,.gallery-filters{justify-content:center}.piece-meta{flex-direction:column;align-items:center;text-align:center;gap:.35rem}button.piece{text-align:center}.instagram-callout__link{flex-direction:column;align-items:center;text-align:center}.instagram-callout__copy{align-items:center;text-align:center}.about-prose{text-align:left}.service-card{align-items:center;text-align:center}.service-card-foot{flex-direction:column;align-items:center;text-align:center;gap:.5rem}.booking-done{text-align:center}.booking-done-text{margin-left:auto;margin-right:auto}.booking-footer{flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.booking-actions{margin-left:0;justify-content:center}}
