.editorial-template{background:var(--palette-ground);color:var(--palette-text);font-family:var(--type-body,"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;container-type:inline-size;container-name:editorial}.editorial-template .wrap{max-width:1120px;margin:0 auto;padding:0 32px}.ed-nav{position:sticky;top:0;z-index:40;padding:20px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:color-mix(in oklab,var(--palette-ground) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid color-mix(in oklab,var(--palette-hairline) 60%,transparent);max-width:unset}.editorial-template nav.ed-nav{max-width:100%;margin:0}.ed-nav .mark{text-transform:uppercase;letter-spacing:3px;font-weight:600}.ed-nav .mark,.ed-nav ul{color:var(--palette-ink);font-size:13px}.ed-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:32px;justify-content:center}.ed-nav ul a{color:inherit;text-decoration:none;letter-spacing:1.2px;text-transform:uppercase}.ed-nav ul a:hover{color:var(--palette-accent-ink)}.ed-nav .book{justify-self:end;background:var(--palette-ink);color:var(--palette-ground);padding:10px 20px;border-radius:999px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;text-decoration:none}.ed-nav .book:hover{opacity:.9}.ed-hero{padding:72px 0 112px;display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}.ed-hero .eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--palette-secondary);margin-bottom:24px}.ed-hero h1{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-weight:500;font-size:clamp(36px,9cqw,92px);line-height:1.02;letter-spacing:-1.5px;color:var(--palette-ink);margin:0 0 24px;text-wrap:balance}.ed-hero h1 em{font-style:italic;color:var(--palette-accent-ink);font-weight:500}.ed-hero p.lede{font-size:17px;color:var(--palette-text);max-width:42ch;margin:0 0 36px}.ed-hero .cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.ed-hero .cta-primary{background:var(--palette-ink);color:var(--palette-ground);padding:16px 28px;border-radius:999px;letter-spacing:1.4px;font-weight:600;display:inline-flex;align-items:center;gap:10px}.ed-hero .cta-primary,.ed-hero .cta-secondary{font-size:13px;text-transform:uppercase;text-decoration:none}.ed-hero .cta-secondary{color:var(--palette-ink);letter-spacing:1.2px;border-bottom:1px solid var(--palette-accent);padding-bottom:4px}.ed-hero .visual{width:100%;aspect-ratio:1/1.1;position:relative}.ed-hero .visual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px}.ed-hero.variant-centred{display:flex;flex-direction:column;text-align:center;padding:56px 0 112px}.ed-hero.variant-centred .visual{order:-1;max-width:420px;margin:0 auto 32px;aspect-ratio:16/9;overflow:hidden;border-radius:4px}.ed-hero.variant-centred .cta-row{justify-content:center}.ed-hero.variant-centred p.lede{margin-left:auto;margin-right:auto}.ed-services.variant-grid .cats{grid-template-columns:1fr;gap:48px}.ed-services.variant-grid .ed-cat .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}.ed-services.variant-grid .ed-cat .svc-card{background:var(--palette-ground-deep);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:8px}.ed-services.variant-grid .ed-cat .svc-card .svc-name{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:20px;font-weight:500;color:var(--palette-ink);line-height:1.2}.ed-services.variant-grid .ed-cat .svc-card .svc-desc{font-size:12px;color:var(--palette-smoke);line-height:1.45;min-height:32px}.ed-services.variant-grid .ed-cat .svc-card .svc-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--palette-hairline)}.ed-services.variant-grid .ed-cat .svc-card .svc-price{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:22px;font-weight:600;color:var(--palette-ink);font-variant-numeric:tabular-nums}.ed-services.variant-grid .ed-cat .svc-card .svc-duration{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--palette-smoke)}@container editorial (max-width: 860px){.ed-services.variant-grid .ed-cat .svc-grid{grid-template-columns:1fr 1fr}}@container editorial (max-width: 540px){.ed-services.variant-grid .ed-cat .svc-grid{grid-template-columns:1fr}}.ed-gallery.variant-even .grid{aspect-ratio:auto;grid-template-columns:repeat(3,1fr)}.ed-gallery.variant-even .tile{aspect-ratio:4/3;grid-column:span 1!important;grid-row:span 1!important}@container editorial (max-width: 860px){.ed-gallery.variant-even .grid{grid-template-columns:repeat(2,1fr)}}.ed-staff.variant-compact .roster{grid-template-columns:repeat(3,1fr);gap:24px}.ed-staff.variant-compact .person{grid-template-columns:1fr;text-align:center;padding:24px 16px;gap:12px}.ed-staff.variant-compact .person .avatar{width:84px;height:84px;margin:0 auto;font-size:32px}.ed-staff.variant-compact .person .name{font-size:20px}.ed-staff.variant-compact .person .role{font-size:10px}.ed-staff.variant-compact .person .does{font-size:12px}@container editorial (max-width: 860px){.ed-staff.variant-compact .roster{grid-template-columns:1fr 1fr}}.ed-reviews.variant-quote .grid{grid-template-columns:1fr;max-width:760px;margin:0 auto}.ed-reviews.variant-quote .card{background:transparent;padding:0;text-align:center}.ed-reviews.variant-quote .comment{font-size:28px;line-height:1.3}.ed-reviews.variant-quote .by{text-align:center}.ed-reviews.variant-quote .stars{justify-content:center;display:flex;gap:2px}.ed-info.variant-stacked .grid{grid-template-columns:1fr;max-width:640px;margin:0 auto;text-align:center}.ed-info.variant-stacked .hours .row{justify-items:center;grid-template-columns:1fr;gap:2px;padding:10px 0}.ed-info.variant-stacked .socials{justify-content:center}.ed-about{padding:96px 0;background:var(--palette-ground)}.ed-about .body{max-width:680px;margin:0 auto;text-align:center}.ed-about .body p{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-style:italic;font-size:clamp(18px,2.6cqw,26px);line-height:1.5;color:var(--palette-ink);margin:0;white-space:pre-wrap}.ed-faq{padding:96px 0;background:var(--palette-ground-deep)}.ed-faq .list{max-width:760px;margin:0 auto}.ed-faq details{border-bottom:1px solid var(--palette-hairline);padding:20px 0}.ed-faq details[open] summary{color:var(--palette-accent-ink)}.ed-faq summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:20px;font-weight:500;color:var(--palette-ink);transition:color .2s}.ed-faq summary::-webkit-details-marker{display:none}.ed-faq summary:after{content:"+";font-size:22px;color:var(--palette-accent-ink);flex-shrink:0}.ed-faq details[open] summary:after{content:"–"}.ed-faq details .answer{margin-top:12px;color:var(--palette-text);font-size:15px;line-height:1.6;white-space:pre-wrap}.ed-section-head{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:24px;margin-bottom:48px}.ed-section-head .num{font-style:italic;color:var(--palette-accent-ink);font-size:15px}.ed-section-head .num,.ed-section-head h2{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif)}.ed-section-head h2{font-weight:500;font-size:clamp(28px,5.5cqw,52px);line-height:1.1;letter-spacing:-.8px;color:var(--palette-ink);margin:0}.ed-section-head .rule{border-top:1px solid var(--palette-hairline);align-self:center}.ed-services{padding:48px 0 96px;background:var(--palette-ground)}.ed-services .cats{display:grid;grid-template-columns:1fr 1fr;gap:64px 72px}.ed-cat h3{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-weight:600;font-size:22px;letter-spacing:.5px;color:var(--palette-ink);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--palette-hairline)}.ed-cat .svc{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px dotted var(--palette-hairline)}.ed-cat .svc:last-child{border-bottom:none}.ed-cat .svc .name{font-weight:500;color:var(--palette-text)}.ed-cat .svc .desc{display:block;color:var(--palette-smoke);font-size:13px;margin-top:2px}.ed-cat .svc .price{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:20px;font-weight:600;color:var(--palette-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.ed-cat .svc .price small{display:block;font-family:Hanken Grotesk,sans-serif;font-size:11px;font-weight:500;color:var(--palette-smoke);text-align:right;letter-spacing:1px;text-transform:uppercase;margin-top:2px}.ed-see-all{margin-top:48px;text-align:center;font-size:13px;color:var(--palette-accent-ink);letter-spacing:1.3px;text-transform:uppercase}.ed-see-all a{color:inherit;text-decoration:none;border-bottom:1px solid var(--palette-accent);padding-bottom:2px}.ed-staff{padding:96px 0;background:var(--palette-ground-deep)}.ed-staff .roster{display:grid;grid-template-columns:1fr 1fr;gap:32px}.ed-staff .person{padding:40px;background:var(--palette-ground);border-radius:2px;display:grid;grid-template-columns:110px 1fr;gap:28px;align-items:center}.ed-staff .avatar{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:44px;font-weight:500;color:var(--palette-ground);letter-spacing:-1px;overflow:hidden}.ed-staff .avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ed-staff .person:nth-child(odd) .avatar{background:var(--palette-ink)}.ed-staff .person:nth-child(2n) .avatar{background:var(--palette-secondary)}.ed-staff .person .name{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-size:28px;font-weight:500;color:var(--palette-ink);margin:0 0 2px}.ed-staff .person .role{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--palette-secondary);margin-bottom:10px}.ed-staff .person .does{font-size:14px;color:var(--palette-text);line-height:1.5}.ed-gallery{padding:96px 0}.ed-gallery .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;aspect-ratio:6/3.4}.ed-gallery .tile{border-radius:2px;display:grid;place-items:center;color:rgba(45,30,45,.4);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-style:italic;text-align:center;padding:12px;overflow:hidden}.ed-gallery .tile img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ed-gallery .t1{grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg,var(--palette-accent) 0,var(--palette-accent) 100%)}.ed-gallery .t2{grid-column:span 2;background:linear-gradient(135deg,var(--palette-secondary) 0,var(--palette-secondary) 100%);color:rgba(255,255,255,.75)}.ed-gallery .t3{grid-column:span 2;background:var(--palette-ground-deep)}.ed-gallery .t4{grid-column:span 2;background:var(--palette-ink);color:rgba(255,255,255,.65)}.ed-gallery .t5{grid-column:span 2;background:var(--palette-accent)}.ed-reviews{padding:96px 0;background:var(--palette-ground)}.ed-reviews .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ed-reviews .card{padding:32px;background:var(--palette-ground-deep);border-radius:2px}.ed-reviews .stars{color:var(--palette-accent-ink);font-size:14px;letter-spacing:2px;margin-bottom:16px}.ed-reviews .comment{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-style:italic;color:var(--palette-ink);font-size:18px;line-height:1.4;margin:0 0 20px}.ed-reviews .by{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--palette-secondary)}.ed-info{padding:96px 0 72px;background:var(--palette-ground-deep)}.ed-info .grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.ed-info h3{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-weight:500;font-size:28px;letter-spacing:-.3px;color:var(--palette-ink);margin:0 0 24px}.ed-info .hours .row{display:grid;grid-template-columns:1fr auto;padding:12px 0;border-bottom:1px dotted var(--palette-hairline);font-size:15px;color:var(--palette-text);font-variant-numeric:tabular-nums}.ed-info .hours .row:last-child{border-bottom:none}.ed-info .hours .row.closed{color:var(--palette-smoke)}.ed-info .hours .row.closed span:last-child{font-style:italic;color:var(--palette-accent-ink)}.ed-info .hours .row .day{letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:500;color:var(--palette-secondary)}.ed-info .contact p{margin:0 0 20px}.ed-info .contact .label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--palette-secondary);display:block;margin-bottom:4px}.ed-info .contact a{color:var(--palette-ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--palette-accent);padding-bottom:2px}.ed-info .socials{display:flex;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--palette-hairline)}.ed-info .socials a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--palette-ink);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.ed-cta{padding:120px 0;background:var(--palette-ink);text-align:center}.ed-cta,.ed-cta h2{color:var(--palette-ground)}.ed-cta h2{font-family:var(--type-display,"Cormorant Garamond",Georgia,serif);font-weight:500;font-size:clamp(28px,6cqw,56px);line-height:1.1;letter-spacing:-1px;margin:0 auto 24px;max-width:20ch}.ed-cta h2 em{font-style:italic;color:var(--palette-accent)}.ed-cta p{color:color-mix(in oklab,var(--palette-ground) 72%,transparent);font-size:17px;margin:0 auto 36px;max-width:42ch}.ed-cta .book-big{display:inline-block;background:var(--palette-accent);color:var(--palette-ink);padding:18px 36px;border-radius:999px;text-decoration:none;letter-spacing:1.4px;text-transform:uppercase;font-size:13px;font-weight:700}.ed-cta .book-big:hover{opacity:.9}.ed-footer{padding:48px 0 56px;background:var(--palette-ink);color:color-mix(in oklab,var(--palette-ground) 50%,transparent);text-align:center;font-size:12px;letter-spacing:1.2px}.ed-footer .divider{width:40px;height:1px;background:color-mix(in oklab,var(--palette-accent) 40%,transparent);margin:0 auto 20px}.ed-footer a{color:var(--palette-accent);text-decoration:none}@container editorial (max-width: 860px){.editorial-template .wrap{padding:0 24px}.ed-nav{grid-template-columns:1fr auto}.ed-nav ul{display:none}.ed-hero{grid-template-columns:1fr;padding:48px 0 72px}.ed-hero .visual{max-width:220px;margin:0 auto}.ed-services .cats{gap:40px}.ed-services .cats,.ed-staff .roster{grid-template-columns:1fr}.ed-staff .person{padding:28px;grid-template-columns:80px 1fr;gap:20px}.ed-staff .avatar{width:80px;height:80px;font-size:32px}.ed-gallery .grid{grid-template-columns:repeat(2,1fr);aspect-ratio:2/2.5}.ed-gallery .t1,.ed-gallery .t2,.ed-gallery .t3,.ed-gallery .t4,.ed-gallery .t5{grid-column:span 1;grid-row:span 1}.ed-info .grid,.ed-reviews .grid{grid-template-columns:1fr}.ed-info .grid{gap:48px}.ed-cta{padding:72px 0}}.editorial-template a:focus-visible,.editorial-template button:focus-visible{outline:2px solid var(--palette-ink);outline-offset:3px}.clinical-template{background:var(--palette-ground);color:var(--palette-text);font-family:var(--type-body,"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;container-type:inline-size;container-name:clinical}.clinical-template .wrap{max-width:1120px;margin:0 auto;padding:0 32px}.cl-nav{position:sticky;top:0;z-index:40;padding:20px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:color-mix(in oklab,var(--palette-ground) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--palette-hairline)}.clinical-template nav.cl-nav{max-width:100%;margin:0}.cl-nav .mark{font-family:var(--type-display,"DM Serif Text",Georgia,serif);font-weight:400;font-size:20px;color:var(--palette-ink)}.cl-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:32px;justify-content:center;font-size:14px;color:var(--palette-ink)}.cl-nav ul a{color:inherit;text-decoration:none;font-weight:500;padding-bottom:3px;border-bottom:2px solid transparent;transition:border-color .2s}.cl-nav ul a:hover{border-bottom-color:var(--palette-accent)}.cl-nav .book{justify-self:end;background:var(--palette-accent);color:#fff;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none}.cl-nav .book:hover{background:var(--palette-accent-ink)}.cl-hero{padding:80px 0 96px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.cl-hero .eyebrow{display:inline-block;padding:4px 10px;border-radius:999px;background:color-mix(in oklab,var(--palette-accent) 15%,transparent);color:var(--palette-accent-ink);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px}.cl-hero h1{font-family:var(--type-display,"DM Serif Text",Georgia,serif);font-weight:400;font-size:clamp(32px,7cqw,68px);line-height:1.1;letter-spacing:-1px;color:var(--palette-ink);margin:0 0 20px;text-wrap:balance}.cl-hero p.lede{font-size:17px;color:var(--palette-text);max-width:48ch;margin:0 0 32px;line-height:1.5}.cl-hero .cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cl-hero .cta-primary{background:var(--palette-accent);color:#fff;padding:14px 24px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.cl-hero .cta-primary:hover{background:var(--palette-accent-ink)}.cl-hero .cta-secondary{font-size:14px;color:var(--palette-ink);text-decoration:none;font-weight:500;padding:14px 20px;border-radius:6px;border:1px solid var(--palette-hairline)}.cl-hero .cta-secondary:hover{border-color:var(--palette-accent);color:var(--palette-accent-ink)}.cl-hero .visual{aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:var(--palette-surface);display:grid;place-items:center}.cl-hero .visual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cl-hero .visual svg{max-width:60%;max-height:60%}.cl-hero.variant-centred{display:flex;flex-direction:column;text-align:center;padding:56px 0 96px}.cl-hero.variant-centred .visual{order:-1;max-width:420px;margin:0 auto 32px;aspect-ratio:16/9}.cl-hero.variant-centred .cta-row{justify-content:center}.cl-hero.variant-centred p.lede{margin-left:auto;margin-right:auto}.cl-section-head{margin-bottom:48px;max-width:640px}.cl-section-head .accent-bar{display:block;width:40px;height:3px;background:var(--palette-accent);margin-bottom:20px}.cl-section-head h2{font-family:var(--type-display,"DM Serif Text",Georgia,serif);font-weight:400;font-size:clamp(24px,5cqw,44px);line-height:1.1;letter-spacing:-.5px;color:var(--palette-ink);margin:0 0 8px}.cl-section-head p.sub{color:var(--palette-smoke);font-size:15px;margin:0}.cl-services{padding:80px 0;background:var(--palette-ground)}.cl-services .cats{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cl-cat{background:var(--palette-surface);border:1px solid var(--palette-hairline);border-radius:10px;padding:28px}.cl-cat h3{font-family:var(--type-display,"DM Serif Text",Georgia,serif);font-weight:400;font-size:22px;color:var(--palette-ink);margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--palette-hairline)}.cl-cat .svc{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;align-items:baseline}.cl-cat .svc+.svc{border-top:1px solid var(--palette-hairline);padding-top:14px}.cl-cat .svc .name{font-weight:500;color:var(--palette-ink);font-size:14px}.cl-cat .svc .desc{display:block;color:var(--palette-smoke);font-size:12px;margin-top:3px;line-height:1.4}.cl-cat .svc .price{font-weight:600;font-size:16px;color:var(--palette-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.cl-cat .svc .price small{display:block;font-weight:400;font-size:11px;color:var(--palette-smoke);text-align:right;margin-top:2px}.cl-services.variant-grid .cats{grid-template-columns:1fr;gap:32px}.cl-services.variant-grid .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}.cl-services.variant-grid .svc-card{padding:16px;background:var(--palette-ground);border:1px solid var(--palette-hairline);border-radius:8px}.cl-services.variant-grid .svc-card .svc-name{font-weight:600;font-size:14px;color:var(--palette-ink);margin-bottom:4px}.cl-services.variant-grid .svc-card .svc-desc{font-size:12px;color:var(--palette-smoke);margin-bottom:10px;min-height:32px}.cl-services.variant-grid .svc-card .svc-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--palette-smoke);border-top:1px solid var(--palette-hairline);padding-top:8px}.cl-services.variant-grid .svc-card .svc-price{font-weight:600;color:var(--palette-ink);font-size:14px}.cl-about{padding:80px 0;background:var(--palette-surface);border-top:1px solid var(--palette-hairline);border-bottom:1px solid var(--palette-hairline)}.cl-about .body{max-width:680px;margin:0 auto}.cl-about .body p{font-size:17px;line-height:1.65;color:var(--palette-text);margin:0;white-space:pre-wrap}.cl-staff{padding:80px 0;background:var(--palette-ground)}.cl-staff .roster{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cl-staff .person{background:var(--palette-surface);border:1px solid var(--palette-hairline);border-radius:10px;padding:28px;display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center}.cl-staff .avatar{width:72px;height:72px;border-radius:10px;background:var(--palette-ink);color:#fff;display:grid;place-items:center;font-family:var(--type-display,"DM Serif Text",Georgia,serif);font-size:28px;overflow:hidden}.cl-staff .avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cl-staff .name{font-weight:600;color:var(--palette-ink);margin:0;font-size:17px}.cl-staff .role-chip{display:inline-block;padding:2px 8px;background:color-mix(in oklab,var(--palette-accent) 12%,transparent);color:var(--palette-accent-ink);font-size:11px;font-weight:600;border-radius:999px;margin-top:4px}.cl-staff .person .does{font-size:13px;color:var(--palette-smoke);margin-top:8px}.cl-staff.variant-compact .roster{grid-template-columns:repeat(3,1fr);gap:16px}.cl-staff.variant-compact .person{grid-template-columns:1fr;text-align:center;padding:20px}.cl-staff.variant-compact .avatar{margin:0 auto;width:64px;height:64px;font-size:24px}.cl-gallery{padding:80px 0}.cl-gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cl-gallery .tile{aspect-ratio:4/3;background:var(--palette-surface);border:1px solid var(--palette-hairline);border-radius:8px;overflow:hidden;display:grid;place-items:center;color:var(--palette-smoke);font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.cl-gallery .tile img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cl-gallery.variant-even .grid{grid-template-columns:repeat(3,1fr)}@container clinical (max-width: 860px){.cl-gallery .grid{grid-template-columns:1fr 1fr}}.cl-reviews{padding:80px 0;background:var(--palette-surface);border-top:1px solid var(--palette-hairline);border-bottom:1px solid var(--palette-hairline)}.cl-reviews .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cl-reviews .card{padding:24px;border:1px solid var(--palette-hairline);border-radius:8px;background:var(--palette-ground)}.cl-reviews .stars{color:var(--palette-accent);letter-spacing:2px;margin-bottom:12px;font-size:14px}.cl-reviews .comment{font-size:15px;line-height:1.5;color:var(--palette-text);margin:0 0 16px}.cl-reviews .by{font-size:12px;color:var(--palette-smoke);font-weight:500}.cl-reviews.variant-quote .grid{grid-template-columns:1fr;max-width:760px;margin:0 auto}.cl-reviews.variant-quote .card{background:transparent;border:0;padding:0;text-align:center}.cl-reviews.variant-quote .comment{font-size:24px;line-height:1.4;font-family:var(--type-display,"DM Serif Text",serif);font-weight:400}.cl-reviews.variant-quote .stars{justify-content:center;display:flex}.cl-faq{padding:80px 0;background:var(--palette-ground)}.cl-faq .list{max-width:760px;margin:0 auto}.cl-faq details{border-bottom:1px solid var(--palette-hairline);padding:18px 0}.cl-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-weight:600;color:var(--palette-ink);font-size:16px}.cl-faq summary::-webkit-details-marker{display:none}.cl-faq summary:after{content:"+";color:var(--palette-accent);font-size:20px;font-weight:400;flex-shrink:0}.cl-faq details[open] summary:after{content:"–"}.cl-faq details .answer{margin-top:10px;font-size:14px;color:var(--palette-text);line-height:1.6;white-space:pre-wrap}.cl-info{padding:80px 0;background:var(--palette-surface);border-top:1px solid var(--palette-hairline)}.cl-info .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.cl-info h3{font-family:var(--type-display,"DM Serif Text",serif);font-weight:400;font-size:22px;color:var(--palette-ink);margin:0 0 16px}.cl-info .hours .row{display:grid;grid-template-columns:1fr auto;padding:10px 0;border-bottom:1px solid var(--palette-hairline);font-size:14px;font-variant-numeric:tabular-nums}.cl-info .hours .row.closed{color:var(--palette-smoke)}.cl-info .hours .row.closed span:last-child{font-style:italic}.cl-info .hours .row .day{font-weight:500;color:var(--palette-ink);font-size:13px}.cl-info .contact p{margin:0 0 16px}.cl-info .contact .label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--palette-smoke);font-weight:600;margin-bottom:2px}.cl-info .contact a{color:var(--palette-accent-ink);text-decoration:none;font-weight:500}.cl-info .contact a:hover{text-decoration:underline}.cl-info .socials{display:flex;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--palette-hairline)}.cl-info .socials a{font-size:12px;font-weight:600;color:var(--palette-accent-ink);text-decoration:none}.cl-info.variant-stacked .grid{grid-template-columns:1fr;max-width:640px;margin:0 auto}.cl-cta{padding:96px 0;background:var(--palette-ink);color:var(--palette-ground);text-align:center}.cl-cta h2{font-family:var(--type-display,"DM Serif Text",serif);font-weight:400;font-size:clamp(24px,5cqw,42px);line-height:1.1;margin:0 auto 16px;max-width:22ch;color:#fff}.cl-cta p{color:color-mix(in oklab,var(--palette-ground) 80%,transparent);margin:0 auto 28px;max-width:46ch;font-size:15px}.cl-cta .book-big{display:inline-block;background:var(--palette-accent);color:#fff;padding:14px 28px;border-radius:6px;font-weight:600;text-decoration:none;font-size:14px}.cl-cta .book-big:hover{background:var(--palette-accent-ink)}.cl-footer{padding:32px 0;background:var(--palette-surface);border-top:1px solid var(--palette-hairline);text-align:center;font-size:12px;color:var(--palette-smoke)}.cl-footer a{color:var(--palette-accent-ink);text-decoration:none}@container clinical (max-width: 860px){.clinical-template .wrap{padding:0 20px}.cl-nav{grid-template-columns:1fr auto}.cl-nav ul{display:none}.cl-hero{grid-template-columns:1fr;padding:56px 0 72px}.cl-hero .visual{max-width:320px;margin:0 auto}.cl-services .cats{grid-template-columns:1fr}.cl-services.variant-grid .svc-grid{grid-template-columns:1fr 1fr}.cl-staff .roster{grid-template-columns:1fr}.cl-staff.variant-compact .roster{grid-template-columns:1fr 1fr}.cl-info .grid,.cl-reviews .grid{grid-template-columns:1fr}.cl-info .grid{gap:40px}}.clinical-template a:focus-visible,.clinical-template button:focus-visible{outline:2px solid var(--palette-accent);outline-offset:3px}.playful-template{background:var(--palette-ground);color:var(--palette-text);font-family:var(--type-body,"Nunito",ui-sans-serif,system-ui,sans-serif);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;container-type:inline-size;container-name:playful}.playful-template .wrap{max-width:1120px;margin:0 auto;padding:0 32px}.pf-nav{position:sticky;top:0;z-index:40;padding:20px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:color-mix(in oklab,var(--palette-ground) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px)}.playful-template nav.pf-nav{max-width:100%;margin:0}.pf-nav .mark{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:24px;color:var(--palette-ink)}.pf-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;justify-content:center;font-size:15px;color:var(--palette-ink)}.pf-nav ul a{color:inherit;text-decoration:none;font-weight:600;padding:6px 12px;border-radius:999px;transition:background .2s}.pf-nav ul a:hover{background:color-mix(in oklab,var(--palette-accent) 15%,transparent)}.pf-nav .book{justify-self:end;background:var(--palette-accent);color:#fff;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 var(--palette-accent-ink);transition:transform .1s}.pf-nav .book:hover{transform:translateY(-1px)}.pf-nav .book:active{transform:translateY(2px);box-shadow:0 2px 0 var(--palette-accent-ink)}.pf-hero{padding:48px 0 96px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.pf-hero .eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--palette-secondary);color:#fff;font-size:12px;font-weight:700;margin-bottom:24px}.pf-hero h1{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:clamp(34px,8cqw,76px);line-height:1.05;letter-spacing:-1.5px;color:var(--palette-ink);margin:0 0 20px;text-wrap:balance}.pf-hero h1 em{font-style:normal;color:var(--palette-accent)}.pf-hero p.lede{font-size:18px;color:var(--palette-text);max-width:42ch;margin:0 0 32px;line-height:1.55}.pf-hero .cta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pf-hero .cta-primary{background:var(--palette-ink);color:var(--palette-ground);padding:16px 28px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 0 color-mix(in oklab,var(--palette-ink) 60%,black);transition:transform .1s}.pf-hero .cta-primary:hover{transform:translateY(-1px)}.pf-hero .cta-secondary{font-size:14px;color:var(--palette-ink);text-decoration:none;font-weight:600;padding:14px 20px;border-radius:999px;background:var(--palette-surface);border:2px solid var(--palette-hairline)}.pf-hero .cta-secondary:hover{border-color:var(--palette-accent)}.pf-hero .visual{aspect-ratio:1/1;border-radius:32px;overflow:hidden;background:var(--palette-accent);display:grid;place-items:center;box-shadow:0 20px 40px -20px color-mix(in oklab,var(--palette-accent) 70%,transparent)}.pf-hero .visual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pf-hero .visual svg{max-width:55%;max-height:55%}.pf-hero.variant-centred{display:flex;flex-direction:column;text-align:center;padding:32px 0 80px}.pf-hero.variant-centred .visual{order:-1;max-width:440px;margin:0 auto 32px;aspect-ratio:16/9;border-radius:24px}.pf-hero.variant-centred .cta-row{justify-content:center}.pf-hero.variant-centred p.lede{margin-left:auto;margin-right:auto}.pf-section-head{margin-bottom:48px;text-align:center}.pf-section-head h2{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:clamp(26px,5.5cqw,48px);line-height:1.1;letter-spacing:-.5px;color:var(--palette-ink);margin:0 0 8px}.pf-section-head p.sub{color:var(--palette-smoke);font-size:16px;margin:0}.pf-services{padding:80px 0}.pf-services .cats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pf-cat{background:var(--palette-surface);border-radius:20px;padding:28px;box-shadow:0 4px 0 var(--palette-hairline)}.pf-cat h3{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:22px;color:var(--palette-accent-ink);margin:0 0 16px}.pf-cat .svc{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;align-items:center}.pf-cat .svc+.svc{border-top:2px dotted var(--palette-hairline);padding-top:14px}.pf-cat .svc .name{font-weight:600;color:var(--palette-ink)}.pf-cat .svc .desc{display:block;color:var(--palette-smoke);font-size:13px;margin-top:3px}.pf-cat .svc .price{background:var(--palette-accent);color:#fff;padding:6px 12px;border-radius:999px;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.pf-cat .svc .price small{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;opacity:.75}.pf-services.variant-grid .cats{grid-template-columns:1fr;gap:32px}.pf-services.variant-grid .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}.pf-services.variant-grid .svc-card{background:var(--palette-ground);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}.pf-services.variant-grid .svc-card .svc-name{font-weight:700;color:var(--palette-ink);font-size:16px}.pf-services.variant-grid .svc-card .svc-desc{font-size:13px;color:var(--palette-smoke);min-height:32px}.pf-services.variant-grid .svc-card .svc-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:2px dotted var(--palette-hairline)}.pf-services.variant-grid .svc-card .svc-price{background:var(--palette-accent);color:#fff;padding:4px 10px;border-radius:999px;font-weight:700;font-size:14px}.pf-services.variant-grid .svc-card .svc-duration{font-size:12px;color:var(--palette-smoke);font-weight:600}.pf-about{padding:80px 0;background:var(--palette-surface)}.pf-about .body{max-width:680px;margin:0 auto;text-align:center}.pf-about .body p{font-size:18px;line-height:1.65;color:var(--palette-text);margin:0;white-space:pre-wrap}.pf-staff{padding:80px 0}.pf-staff .roster{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pf-staff .person{background:var(--palette-surface);border-radius:20px;padding:28px 20px;text-align:center;box-shadow:0 4px 0 var(--palette-hairline)}.pf-staff .avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 14px;background:var(--palette-accent);color:#fff;display:grid;place-items:center;font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:40px;overflow:hidden}.pf-staff .person:nth-child(3n+2) .avatar{background:var(--palette-secondary)}.pf-staff .person:nth-child(3n+3) .avatar{background:var(--palette-ink)}.pf-staff .avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pf-staff .name{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:20px;color:var(--palette-ink);margin:0}.pf-staff .role{color:var(--palette-accent-ink);font-weight:600;font-size:13px;margin-top:2px}.pf-staff .does{font-size:13px;color:var(--palette-smoke);margin-top:10px}.pf-staff.variant-cards .roster{grid-template-columns:1fr 1fr}.pf-staff.variant-cards .person{padding:32px;display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;text-align:left}.pf-staff.variant-cards .avatar{margin:0}.pf-gallery{padding:80px 0;background:var(--palette-surface)}.pf-gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pf-gallery .tile{aspect-ratio:4/3;border-radius:20px;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1.5px}.pf-gallery .tile img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pf-gallery .tile:nth-child(3n+1){background:var(--palette-accent)}.pf-gallery .tile:nth-child(3n+2){background:var(--palette-secondary)}.pf-gallery .tile:nth-child(3n+3){background:var(--palette-ink)}.pf-gallery.variant-asymmetric .grid{grid-template-columns:repeat(6,1fr)}.pf-gallery.variant-asymmetric .tile:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:1/1}.pf-gallery.variant-asymmetric .tile:nth-child(n+2){grid-column:span 2}.pf-reviews{padding:80px 0}.pf-reviews .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pf-reviews .card{background:var(--palette-surface);padding:24px;border-radius:20px;box-shadow:0 4px 0 var(--palette-hairline)}.pf-reviews .stars{color:var(--palette-accent);font-size:16px;margin-bottom:12px;letter-spacing:2px}.pf-reviews .comment{font-size:15px;line-height:1.55;color:var(--palette-text);margin:0 0 14px}.pf-reviews .by{font-size:12px;color:var(--palette-smoke);font-weight:700}.pf-reviews.variant-quote .grid{grid-template-columns:1fr;max-width:720px;margin:0 auto}.pf-reviews.variant-quote .card{text-align:center;background:var(--palette-accent);color:#fff}.pf-reviews.variant-quote .comment{font-family:var(--type-display,"Fredoka",sans-serif);font-size:24px;color:#fff;font-weight:500}.pf-reviews.variant-quote .stars{justify-content:center;display:flex;color:#fff}.pf-reviews.variant-quote .by{color:rgba(255,255,255,.85)}.pf-faq{padding:80px 0;background:var(--palette-surface)}.pf-faq .list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.pf-faq details{background:var(--palette-ground);border-radius:16px;padding:18px 22px}.pf-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:700;font-family:var(--type-display,"Fredoka",sans-serif);color:var(--palette-ink);font-size:17px}.pf-faq summary::-webkit-details-marker{display:none}.pf-faq summary:after{content:"+";color:var(--palette-accent);font-size:24px;font-weight:700;width:28px;height:28px;background:var(--palette-surface);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.pf-faq details[open] summary:after{content:"–"}.pf-faq details .answer{margin-top:12px;color:var(--palette-text);font-size:15px;line-height:1.6;white-space:pre-wrap}.pf-info{padding:80px 0}.pf-info .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--palette-surface);border-radius:24px;padding:48px}.pf-info h3{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:24px;color:var(--palette-ink);margin:0 0 20px}.pf-info .hours .row{display:grid;grid-template-columns:1fr auto;padding:10px 0;border-bottom:2px dotted var(--palette-hairline);font-size:15px}.pf-info .hours .row.closed{color:var(--palette-smoke)}.pf-info .hours .row.closed span:last-child{font-weight:600}.pf-info .hours .row .day{font-weight:700;color:var(--palette-ink);font-size:14px}.pf-info .contact p{margin:0 0 16px}.pf-info .contact .label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--palette-accent-ink);margin-bottom:2px;letter-spacing:1px}.pf-info .contact a{color:var(--palette-ink);text-decoration:none;font-weight:600}.pf-info .socials{display:flex;gap:12px;margin-top:24px}.pf-info .socials a{padding:8px 14px;background:var(--palette-ground);border-radius:999px;font-size:12px;font-weight:700;color:var(--palette-ink);text-decoration:none}.pf-info.variant-stacked .grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}.pf-cta{padding:96px 0;text-align:center}.pf-cta .inner{background:var(--palette-accent);color:#fff;padding:72px 32px;border-radius:32px;box-shadow:0 8px 0 var(--palette-accent-ink)}.pf-cta h2{font-family:var(--type-display,"Fredoka",sans-serif);font-weight:700;font-size:clamp(26px,6cqw,52px);line-height:1.1;margin:0 auto 20px;max-width:20ch;color:#fff}.pf-cta p{color:rgba(255,255,255,.9);margin:0 auto 28px;max-width:42ch;font-size:16px}.pf-cta .book-big{display:inline-block;background:var(--palette-ink);color:var(--palette-ground);padding:16px 32px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 4px 0 color-mix(in oklab,var(--palette-ink) 50%,black)}.pf-footer{padding:32px 0;text-align:center;font-size:13px;color:var(--palette-smoke);font-weight:600}.pf-footer a{color:var(--palette-accent-ink);text-decoration:none}@container playful (max-width: 860px){.playful-template .wrap{padding:0 20px}.pf-nav{grid-template-columns:1fr auto}.pf-nav ul{display:none}.pf-hero{grid-template-columns:1fr;padding:32px 0 72px}.pf-hero .visual{max-width:320px;margin:0 auto}.pf-services .cats{grid-template-columns:1fr}.pf-services.variant-grid .svc-grid,.pf-staff .roster{grid-template-columns:1fr 1fr}.pf-staff.variant-cards .roster{grid-template-columns:1fr}.pf-gallery .grid,.pf-gallery.variant-asymmetric .grid{grid-template-columns:1fr 1fr!important}.pf-gallery.variant-asymmetric .tile:first-child{grid-column:span 2!important;grid-row:span 2!important}.pf-gallery.variant-asymmetric .tile:nth-child(n+2){grid-column:span 1!important}.pf-info .grid,.pf-reviews .grid{grid-template-columns:1fr}.pf-info .grid{padding:32px;gap:32px}.pf-cta .inner{padding:48px 24px;border-radius:24px}}.playful-template a:focus-visible,.playful-template button:focus-visible{outline:3px solid var(--palette-ink);outline-offset:3px}