.practice-page{--header-full:132px;--header-small:74px;--accent:var(--pink);background:radial-gradient(circle at 8% 4%, #ffd99a33, transparent 26rem), radial-gradient(circle at 92% 11%, #a9ddda33, transparent 25rem), var(--paper);min-height:100vh;overflow:clip}.section-shell{width:var(--shell);min-width:0;margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:var(--white);padding:10px 14px;font-weight:700;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;height:var(--header-full);background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(18px);border-bottom:1px solid #28231f29;transition:height .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;position:fixed;top:0;left:0;right:0}.site-header[data-compact]{height:var(--header-small);box-shadow:0 12px 34px #28231f14}.site-header-inner{width:var(--shell);justify-content:space-between;align-items:center;gap:24px;min-width:0;height:100%;margin-inline:auto;display:flex;position:relative}.site-brand{width:min(54vw,510px);height:96px;color:var(--ink);text-decoration:none;transition:height .24s;display:block;position:relative}.site-header[data-compact] .site-brand{height:54px}.brand-expanded,.brand-compact{transform-origin:0;transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:0;transform:translateY(-50%)}.brand-compact{opacity:0;transform:translateY(-42%)scale(.94)}.site-header[data-compact] .brand-expanded{opacity:0;pointer-events:none;transform:translateY(-58%)scale(.94)}.site-header[data-compact] .brand-compact{opacity:1;transform:translateY(-50%)scale(1)}.site-nav{align-items:center;gap:clamp(18px,2.7vw,34px);display:flex}.site-nav a{align-items:center;min-height:44px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.site-nav a:after{background:var(--accent);content:"";transform-origin:100%;height:3px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{display:none}.practice-page main{padding-top:var(--header-full)}.hero{min-height:calc(100svh - var(--header-full));grid-template-columns:minmax(0,1.12fr) minmax(300px,.63fr);align-items:center;gap:clamp(40px,7vw,96px);padding-block:clamp(38px,6vw,78px) clamp(62px,7vw,94px);display:grid;position:relative}.hero-copy,.hero-visual,.section-heading,.about-layout>*,.location-layout>*,.contact-panel>*{min-width:0}.hero-copy{z-index:2;position:relative}.hero h1{max-width:830px;font-family:var(--serif);letter-spacing:-.047em;text-wrap:balance;margin:17px 0 0;font-size:clamp(3.1rem,6.35vw,6rem);line-height:1.01}.hero h1 span{z-index:0;white-space:nowrap;position:relative}.hero h1 span:after{z-index:-1;background:linear-gradient(90deg, var(--pink), var(--yellow), var(--teal), var(--lilac));content:"";opacity:.74;border-radius:99px;height:.24em;position:absolute;bottom:.06em;left:-.03em;right:-.03em}.hero-intro{max-width:650px;color:var(--muted);margin:25px 0 0;font-size:clamp(1.04rem,1.55vw,1.25rem);line-height:1.55}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px;display:flex}.button{border:2px solid var(--ink);min-height:52px;color:inherit;justify-content:center;align-items:center;padding:14px 19px;font-weight:700;line-height:1.25;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.button-primary{background:var(--ink);color:var(--white);box-shadow:7px 7px 0 var(--accent)}.button:hover{box-shadow:10px 10px 0 var(--accent);transform:translate(-3px,-3px)}.text-link{text-underline-offset:5px;min-height:44px;padding-block:9px;font-weight:700;text-decoration-thickness:1px}.hero-visual{z-index:1;justify-self:end;width:min(100%,390px);position:relative}.portrait{z-index:2;margin:0;position:relative}.portrait-frame{background:linear-gradient(145deg, var(--teal), var(--pink) 42%, var(--yellow) 69%, var(--lilac));border-radius:4px;padding:5px;position:relative;box-shadow:0 28px 70px #28231f26}.portrait-frame:after{content:"";pointer-events:none;border:2px solid #28231fa3;position:absolute;inset:21px}.portrait-frame img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}.portrait figcaption{margin-top:14px;line-height:1.35;display:grid}.portrait figcaption strong{font-family:var(--serif);font-size:1.05rem}.portrait figcaption span{color:var(--muted);font-size:.86rem}.pastel-shape{filter:blur(.2px);pointer-events:none;border-radius:999px;position:absolute}.pastel-shape-one{background:var(--teal);opacity:.52;width:128px;height:128px;top:-24px;right:-36px}.pastel-shape-two{background:var(--lilac);opacity:.52;width:84px;height:84px;bottom:38px;left:-40px}.hero-note{z-index:3;border:2px solid var(--ink);background:var(--white);width:min(270px,74%);box-shadow:7px 7px 0 var(--yellow);align-items:flex-start;gap:10px;padding:15px;display:flex;position:absolute;bottom:72px;right:-28px}.hero-note p{margin:0;font-size:.88rem;font-weight:700;line-height:1.35}.note-dot{background:var(--pink-dark);border-radius:50%;flex:none;width:10px;height:10px;margin-top:3px}.scroll-cue{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex;position:absolute;bottom:24px;left:0}.scroll-cue i{background:currentColor;width:42px;height:1px;display:block;position:relative}.scroll-cue i:after{content:"";border-bottom:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.content-section{border-top:1px solid #28231f29;padding-block:clamp(82px,10vw,138px);position:relative}.section-heading{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:26px;max-width:1040px;margin-bottom:clamp(45px,6vw,74px);display:grid}.section-heading .eyebrow{padding-top:.7em}.section-heading h2,.contact-panel h2{max-width:900px;font-family:var(--serif);letter-spacing:-.042em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,5vw,5rem);line-height:1.09}.about-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1fr);align-items:start;gap:clamp(44px,8vw,110px);display:grid}.facts{gap:14px;display:grid}.fact{background:#ffffffd1;border:1px solid #28231f38;grid-template-columns:auto minmax(0,1fr);gap:16px;min-width:0;padding:20px;display:grid;position:relative}.fact:after{background:var(--yellow);content:"";width:46%;height:5px;position:absolute;top:-2px;right:-2px}.fact:nth-child(2):after{background:var(--pink)}.fact:nth-child(3):after{background:var(--teal)}.fact-number{background:var(--yellow);border-radius:50%;place-items:center;width:40px;height:40px;font-size:.75rem;font-weight:700;display:grid}.fact:nth-child(2) .fact-number{background:var(--pink)}.fact:nth-child(3) .fact-number{background:var(--teal)}.fact h3,.service-item h3,.location-layout h3{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-weight:700;line-height:1.16}.fact h3{font-size:1.15rem}.fact p{color:var(--muted);margin:6px 0 0;font-size:.94rem;line-height:1.5}.about-copy{max-width:660px}.about-copy>p{color:var(--muted);margin:0 0 20px;font-size:1.05rem}.about-copy .about-lead{color:var(--ink);font-family:var(--serif);margin-bottom:22px;font-size:clamp(1.55rem,2.7vw,2.4rem);line-height:1.2}.practice-details{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0 0;display:grid}.practice-details div{border-right:1px solid #28231f38;min-width:0;padding:16px 15px}.practice-details div:first-child{padding-left:0}.practice-details div:last-child{border-right:0;padding-right:0}.practice-details dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.practice-details dd{margin:5px 0 0;font-size:.92rem;font-weight:700;line-height:1.35}.services-section{background:#f7fbfab3}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.service-item{--service-color:var(--teal);border:2px solid var(--ink);background:#ffffffe6;grid-template-columns:auto minmax(0,1fr);gap:20px;min-width:0;min-height:260px;padding:clamp(24px,3.4vw,38px);transition:transform .2s;display:grid;position:relative}.service-item:after{border-top:7px solid var(--service-color);border-right:7px solid var(--service-color);content:"";pointer-events:none;transition:transform .2s;position:absolute;inset:-2px}.service-item:hover{transform:translate(-2px,-2px)}.service-item:hover:after{transform:translate(5px,5px)}.service-item.color-pink{--service-color:var(--pink)}.service-item.color-yellow{--service-color:var(--yellow)}.service-item.color-lilac{--service-color:var(--lilac)}.service-index{color:var(--muted);letter-spacing:.08em;font-size:.73rem;font-weight:700}.service-body{min-width:0}.service-label{background:color-mix(in srgb, var(--service-color) 58%, white);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;width:fit-content;max-width:100%;margin-bottom:20px;padding:7px 11px;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex}.service-item h3{max-width:440px;font-size:clamp(1.55rem,2.7vw,2.45rem)}.service-item p{max-width:480px;color:var(--muted);margin:16px 0 0}.service-mark{background:var(--service-color);border-radius:50%;width:9px;height:9px;position:absolute;bottom:22px;right:25px}.location-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr);align-items:stretch;gap:22px;display:grid}.location-primary,.location-secondary{border:2px solid var(--ink);background:#ffffffe0;min-width:0;padding:clamp(27px,4.5vw,52px);position:relative}.location-secondary{background:linear-gradient(145deg,#a9ddda61,#ffffffe6);flex-direction:column;display:flex}.location-type{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 24px;font-size:.72rem;font-weight:700}.location-layout h3{max-width:720px;font-size:clamp(1.75rem,3.4vw,3.25rem)}.location-secondary h3{text-wrap:balance;font-size:clamp(1.75rem,2.6vw,2.4rem)}.location-layout article>p:not(.location-type){max-width:710px;color:var(--muted);margin:20px 0 0}.area-list{flex-wrap:wrap;gap:9px;margin:32px 0 0;padding:0;list-style:none;display:flex}.area-list li{background:var(--paper);border:1px solid #28231f40;border-radius:999px;padding:8px 12px;font-size:.88rem;font-weight:700;line-height:1.25}.online-mark{justify-content:flex-end;align-items:flex-end;gap:10px;height:92px;margin-top:auto;display:flex}.online-mark i{border:2px solid var(--ink);background:var(--pink);border-radius:50%;width:26px;height:26px;display:block}.online-mark i:nth-child(2){background:var(--yellow);width:40px;height:40px}.online-mark i:nth-child(3){background:var(--lilac);width:58px;height:58px}.contact-section{padding-bottom:clamp(95px,12vw,160px)}.contact-panel{border:2px solid var(--ink);background:linear-gradient(135deg, #a9ddda6b, #f7a8c92e 48%, #ffd99a47), var(--white);grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:clamp(36px,7vw,90px);min-width:0;padding:clamp(31px,6vw,72px);display:grid;position:relative}.contact-panel:before{background:var(--pink);width:16px;height:16px;box-shadow:-25px 0 var(--teal), -50px 0 var(--yellow);content:"";border-radius:50%;position:absolute;top:16px;right:16px}.contact-panel h2{margin-top:17px;font-size:clamp(2.3rem,4.35vw,4.55rem)}.contact-copy>p:last-child{max-width:660px;color:var(--muted);margin:24px 0 0}.contact-action{flex-direction:column;justify-content:center;align-items:stretch;min-width:0;display:flex}.contact-action>p{color:var(--muted);margin:0 0 12px;font-size:.88rem}.contact-action>p:last-child{margin:16px 0 0}.contact-action>p:last-child a{color:var(--ink);text-underline-offset:4px;font-weight:700}.contact-action>a{border:2px solid var(--ink);background:#ffffffe0;min-width:0;padding:20px 54px 20px 20px;text-decoration:none;transition:box-shadow .18s,transform .18s;display:grid;position:relative}.contact-action>a:hover{box-shadow:8px 8px 0 var(--teal);transform:translate(-3px,-3px)}.contact-action>a span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.contact-action>a strong{overflow-wrap:anywhere;min-width:0;margin-top:3px;font-size:clamp(.92rem,1.45vw,1.16rem);line-height:1.3}.contact-action>a i{font-style:normal;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.site-footer{border-top:2px solid var(--ink);grid-template-columns:minmax(250px,.72fr) minmax(0,1fr);gap:clamp(38px,8vw,110px);padding:42px 0;display:grid}.footer-identity .brand-main{font-size:clamp(2rem,3.8vw,3.55rem)}.footer-identity .brand-place{font-size:clamp(.72rem,1.2vw,1.05rem)}.footer-identity p,.footer-legal p{color:var(--muted);margin:0;font-size:.86rem}.footer-identity p:first-of-type{margin-top:16px}.footer-legal{align-content:start;gap:12px;display:grid}.js-enabled [data-reveal]{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.js-enabled [data-reveal][data-delay="1"]{transition-delay:.1s}.js-enabled [data-reveal][data-delay="2"]{transition-delay:.2s}.js-enabled [data-reveal][data-delay="3"]{transition-delay:.3s}.js-enabled [data-reveal][data-visible]{opacity:1;transform:translateY(0)}@media (width<=1040px){.hero{grid-template-columns:minmax(0,1fr) minmax(270px,.56fr);gap:44px}.site-brand{width:min(50vw,470px)}.hero-note{right:8px}.service-item{min-height:280px}}@media (width<=840px){.practice-page{--header-full:108px;--header-small:70px}.site-brand{width:min(68vw,390px);height:80px}.site-header .brand-main{font-size:clamp(2rem,6.7vw,3.3rem)}.site-header .brand-place{font-size:clamp(.72rem,1.8vw,1rem)}.menu-toggle{min-height:46px;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0 8px 14px;font-size:.76rem;font-weight:700;display:inline-flex}.menu-lines{gap:5px;width:21px;display:grid}.menu-lines i{background:currentColor;width:100%;height:2px;transition:transform .2s;display:block}.site-header[data-menu-open] .menu-lines i:first-child{transform:translateY(3.5px)rotate(45deg)}.site-header[data-menu-open] .menu-lines i:last-child{transform:translateY(-3.5px)rotate(-45deg)}.site-nav{border-bottom:2px solid var(--ink);background:var(--paper);opacity:0;visibility:hidden;gap:0;padding:8px 24px 18px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;top:100%;left:-24px;right:-24px;transform:translateY(-8px)}.site-header[data-menu-open] .site-nav{opacity:1;visibility:visible;transform:translateY(0)}.site-nav a{border-bottom:1px solid #28231f24;min-height:52px}.hero{grid-template-columns:minmax(0,1fr);gap:54px;min-height:auto;padding-top:54px}.hero h1 span{white-space:normal}.hero-visual{justify-self:start;width:min(100%,470px)}.hero-note{right:-18px}.about-layout,.location-layout,.contact-panel,.site-footer{grid-template-columns:minmax(0,1fr)}.about-copy{max-width:760px}.service-list{grid-template-columns:minmax(0,1fr)}.service-item{min-height:0}}@media (width<=620px){.practice-page{--header-full:94px;--header-small:66px}.site-brand{width:min(70vw,255px);height:68px}.site-header-inner{gap:12px}.site-header .brand-main{font-size:clamp(1.65rem,8vw,2.25rem)}.site-header .brand-place{font-size:.67rem}.menu-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.site-nav{padding-inline:16px;left:-16px;right:-16px}.hero{gap:46px;padding-top:42px;padding-bottom:76px}.hero h1{font-size:clamp(2.65rem,13.4vw,4rem);line-height:1.03}.hero-intro{margin-top:20px}.hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:25px}.button,.text-link{width:100%}.text-link{text-align:center}.hero-visual{width:min(88%,390px);margin-inline:auto}.hero-note{width:72%;bottom:54px;right:0}.scroll-cue{display:none}.content-section{padding-block:72px}.section-heading{grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:38px}.section-heading .eyebrow{padding-top:0}.section-heading h2,.contact-panel h2{letter-spacing:-.035em;text-wrap:wrap;overflow-wrap:anywhere;font-size:clamp(2.15rem,10.5vw,3.35rem);line-height:1.08}.about-layout{gap:40px}.fact{padding:17px}.practice-details{grid-template-columns:minmax(0,1fr)}.practice-details div,.practice-details div:first-child,.practice-details div:last-child{border-bottom:1px solid #28231f2e;border-right:0;padding:13px 0}.practice-details div:last-child{border-bottom:0}.service-item{grid-template-columns:minmax(0,1fr);gap:10px;padding:25px 22px}.service-item h3{font-size:clamp(1.55rem,8vw,2.15rem)}.service-index{position:absolute;top:23px;right:23px}.service-label{margin-right:44px;padding-right:12px}.location-primary,.location-secondary{padding:25px 22px}.location-layout h3{overflow-wrap:anywhere;font-size:clamp(1.7rem,8.7vw,2.55rem)}.contact-panel{gap:34px;padding:27px 22px}.contact-panel:before{top:13px;right:13px}.contact-action>a{padding:18px 46px 18px 16px}.contact-action>a strong{font-size:clamp(.8rem,4.5vw,1rem)}.footer-identity .brand-main{font-size:clamp(1.95rem,10vw,2.8rem)}}@media (forced-colors:active){.brand-main:after,.hero h1 span:after{display:none}.button-primary{forced-color-adjust:none;color:canvas;background:canvastext}}@media (prefers-reduced-motion:reduce){.js-enabled [data-reveal]{opacity:1;transform:none}}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-400.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-700.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-400.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-700.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--paper:#fffdf8;--white:#fff;--ink:#28231f;--muted:#685f57;--pink:#f7a8c9;--pink-dark:#a64270;--teal:#a9ddda;--teal-dark:#337d79;--yellow:#ffd99a;--yellow-dark:#986515;--lilac:#d7bde7;--lilac-dark:#77508f;--serif:"Libre Baskerville", Georgia, serif;--sans:"Nunito", "Avenir Next", sans-serif;--shell:min(1180px, calc(100% - 48px))}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:94px}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6;overflow-x:clip}button,input,textarea,select{font:inherit}img,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{overflow-wrap:break-word}.brand-lockup{isolation:isolate;gap:4px;line-height:1;display:inline-grid;position:relative}.brand-main{z-index:0;width:fit-content;color:var(--ink);font-family:var(--serif);white-space:nowrap;padding:0 .02em .08em;font-size:clamp(2.15rem,4.8vw,4.5rem);font-weight:700;line-height:1.2;display:inline-block;position:relative}.brand-main:after{z-index:-1;background:linear-gradient(90deg, var(--pink), #ffc08e 25%, #cbdc91 46%, var(--teal) 68%, var(--lilac));content:"";opacity:.86;border-radius:999px;height:.28em;position:absolute;bottom:.06em;left:-.03em;right:-.03em}.brand-place{color:currentColor;letter-spacing:.15em;text-transform:uppercase;font-size:clamp(.8rem,1.55vw,1.4rem);font-weight:700;line-height:1.2}.brand-lockup.compact{gap:1px}.brand-lockup.compact .brand-main{font-size:1.35rem}.brand-lockup.compact .brand-place{font-size:.62rem}.brand-lockup.inverse,.brand-lockup.inverse .brand-main{color:var(--white)}.eyebrow{color:var(--muted);letter-spacing:.145em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700;line-height:1.35}:focus-visible{outline:3px solid var(--ink);outline-offset:4px}::selection{background:var(--pink);color:var(--ink)}@media (width<=620px){:root{--shell:min(100% - 32px, 1180px)}html{scroll-padding-top:78px}body{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
