/* Practice 0.2 — warm editorial layout. Tokens remain shared with the block editor. */
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-Regular.otf.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-It.otf.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-Regular.otf.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-Semibold.otf.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{
 --practice-ivory:var(--wp--preset--color--background,#f7f5ef);
 --practice-forest:var(--wp--preset--color--primary,#285a4b);
 --practice-sage:var(--wp--preset--color--surface-soft,#e7eee7);
 --practice-ink:var(--wp--preset--color--text,#243632);
 --practice-muted:var(--wp--preset--color--text-muted,#52645d);
 --practice-line:var(--wp--preset--color--divider,#d8dfd7);
 --practice-serif:var(--wp--preset--font-family--heading,'Source Serif 4',Georgia,serif);
 --practice-sans:var(--wp--preset--font-family--body,'Source Sans 3',sans-serif);
 --header-height:94px;--jump-height:62px;--admin-height:0px;--scroll-progress:0;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--jump-height) + var(--admin-height) + 24px)}
body{margin:0;font-family:var(--practice-sans);font-size:18px;line-height:1.65;color:var(--practice-ink);background:var(--practice-ivory)}
img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}
p,h1,h2,h3,figure{margin-top:0}p{overflow-wrap:anywhere}p:last-child{margin-bottom:0}
h1,h2,h3{font-family:var(--practice-serif);font-weight:400;line-height:1.16;letter-spacing:-.028em;text-wrap:balance}
h1{font-size:clamp(2.5rem,4.4vw,3.5rem)}h2{font-size:clamp(1.9rem,3vw,2.375rem)}h3{font-size:1.5rem}h1 em,h2 em{font-weight:400;color:var(--practice-forest)}
a{color:var(--practice-forest);text-underline-offset:5px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}a:hover{text-decoration-thickness:2px}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--practice-forest);outline-offset:5px}
[id]{scroll-margin-top:0}
.wp-site-blocks>*{margin-block-start:0}.wp-block-post-content>*{margin-block-start:0}
.container{width:min(1160px,calc(100% - 96px));margin-inline:auto!important}
.section{padding-block:88px}.section>*+*{margin-block-start:24px}.prose{max-width:720px}
.small{font-size:.88rem;color:var(--practice-muted)}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.5;color:var(--practice-forest);margin-bottom:24px}
.section-introduction{color:var(--practice-muted);max-width:380px;font-size:1.02rem;line-height:1.65}
.section-link{font-size:.94rem;margin-top:30px}.section-link a{display:inline-block;padding-block:8px}
.practice-preview{padding:7px 20px;background:var(--practice-sage);color:var(--practice-forest);text-align:center;font-size:.72rem;letter-spacing:.03em}
.practice-preview span{display:inline-block;margin-inline:8px}
/* A calm, persistent header with a reading-progress line. */
.site-header{position:sticky;top:var(--admin-height);z-index:100;background:var(--practice-ivory);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s}
.site-header.has-scrolled{border-color:var(--practice-line);box-shadow:0 4px 20px #24363206}
.site-header::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;pointer-events:none;background:var(--practice-forest);transform:scaleX(var(--scroll-progress));transform-origin:left}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:21px;min-height:94px}
.header-inner>*,.brand>*{margin:0!important}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-icon{width:44px;line-height:0;flex-shrink:0}.brand-icon img{width:44px;height:44px;object-fit:contain;border-radius:50%}
.brand-name{font-family:var(--practice-serif);font-size:1.4rem;line-height:1.15;margin:0!important;letter-spacing:-.025em}
.brand-name a{text-decoration:none;color:var(--practice-ink)}.brand-title{font-size:.72rem;letter-spacing:.04em;margin:5px 0 0!important;line-height:1.2;color:var(--practice-muted)}
.main-nav{font-size:.94rem}.main-nav .wp-block-navigation__container{gap:26px}
.main-nav .wp-block-navigation-item__content{position:relative;min-height:44px;padding-block:10px;text-decoration:none!important}
.main-nav .wp-block-navigation-item:not(.nav-appointment) .wp-block-navigation-item__content::after{content:'';position:absolute;bottom:7px;left:0;width:100%;height:1px;background:var(--practice-forest);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav .wp-block-navigation-item:not(.nav-appointment) a:hover::after,.main-nav .wp-block-navigation-item a.is-section-active::after{transform:scaleX(1)}
.site-header .main-nav .nav-appointment .wp-block-navigation-item__content{background:var(--practice-forest);color:#fff;border-radius:7px;padding:11px 23px;white-space:nowrap;transition:background .2s,transform .2s}
.site-header .main-nav .nav-appointment a:hover{background:#1d4439;transform:translateY(-2px)}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;padding:10px}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--practice-ivory);padding:32px}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:16px;align-items:flex-start}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:1.25rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start}
/* Portrait and introductory composition. */
.hero{padding-top:56px;padding-bottom:64px}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:80px;align-items:center;min-height:488px}
.hero-grid>*{margin:0!important}.hero-copy{max-width:580px}.hero-copy .eyebrow{font-size:.73rem;margin-bottom:24px}
.hero-copy h1{font-size:clamp(2.65rem,4.7vw,3.5rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}
.hero-copy h1 em{display:inline-block;position:relative}
.hero-copy h1 em::after{content:'';display:block;width:72px;height:2px;background:var(--wp--preset--color--accent,#a45f45);margin-top:20px}
.hero-lead{font-size:1.15rem;line-height:1.6;max-width:400px;color:var(--practice-muted);margin-bottom:20px}
.hero-copy .draft-copy{margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-actions>*{margin:0!important}.secondary-link{font-size:.94rem}.secondary-link a{text-decoration:none;border-bottom:1px solid var(--practice-line);padding-block:8px}
.hero-copy>.practice-field{font-size:.82rem;display:flex;gap:12px;align-items:baseline;margin-top:30px}
.hero-copy>.practice-field strong{margin:0;font-size:.82rem}.hero-copy>.practice-field .draft-note{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.hero-copy>.practice-field .draft-tag{order:2}.hero-copy>.practice-field .draft-description{font-size:.82rem}
.portrait-panel{width:340px;max-width:100%;justify-self:center;position:relative;padding:20px 20px 66px;isolation:isolate}
.portrait-panel::before{content:'';position:absolute;inset:0 -30px 15px 16px;background:#e2e8dc;border-radius:180px 180px 8px 90px;z-index:-1;transform:rotate(5deg)}
.portrait-panel::after{content:'';position:absolute;inset:20px -12px 36px -5px;border:1px solid #9baa93;border-radius:180px 180px 8px 65px;z-index:-1;transform:rotate(-7deg)}
.hero-portrait{margin:0!important;line-height:0}.hero-portrait img{width:100%;display:block;aspect-ratio:260/335;object-fit:cover;border-radius:160px 160px 7px 7px}
.portrait-signature{position:absolute;left:-20px;right:44px;bottom:25px;background:var(--practice-ivory);border:1px solid #e1e1d6;border-radius:4px;padding:18px 24px;box-shadow:0 8px 24px #24363208}
.portrait-name{font-family:var(--practice-serif);font-size:1.4rem;line-height:1.2;margin-bottom:4px;letter-spacing:-.025em}
.portrait-caption{font-size:.8rem;color:var(--practice-muted);margin:0!important}
/* Native in-page navigation: real fragment links, usable without JavaScript. */
.page-jump-bar{position:sticky;top:calc(var(--header-height) + var(--admin-height));z-index:80;background:var(--practice-ivory);border-block:1px solid var(--practice-line);margin:0!important}
.jump-inner{display:flex;align-items:center;gap:38px;min-height:66px}.jump-inner>*{margin:0!important}
.jump-label{font-size:.64rem;font-weight:600;letter-spacing:.12em;white-space:nowrap;color:var(--practice-muted)}
.section-nav-links{flex:1;min-width:0;font-size:.86rem;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--practice-line) transparent}
.section-nav-links .wp-block-navigation__container{flex-wrap:nowrap;gap:26px;width:max-content;justify-content:space-between;min-width:100%}
.section-nav-links .wp-block-navigation-item__content{display:flex;align-items:center;white-space:nowrap;min-height:64px;position:relative;color:var(--practice-muted)!important;text-decoration:none!important;transition:color .2s}
.section-nav-links .wp-block-navigation-item__content::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--practice-forest);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.section-nav-links .wp-block-navigation-item__content.is-section-active{color:var(--practice-forest)!important;font-weight:600}
.section-nav-links .wp-block-navigation-item__content.is-section-active::after,.section-nav-links a:hover::after{transform:scaleX(1)}
/* Editorial content: varied widths and rhythm, with one shared palette. */
.split-section{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px}.split-section>*{margin:0!important}
.section-heading h2{margin-bottom:24px}.audience-section{padding-block:96px}.editorial-list{border-top:1px solid var(--practice-line)}
.editorial-row{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid var(--practice-line);margin:0!important;transition:padding-inline .25s}
.editorial-row:hover{padding-inline:8px}.editorial-row>*{margin:0!important}.item-number{font-size:.8rem;color:var(--practice-forest);font-weight:600;padding-top:6px}
.editorial-row h3{font-size:1.65rem;margin-bottom:10px}.editorial-row p{font-size:.94rem;color:var(--practice-muted)}
.sage-section{position:relative;background:var(--practice-sage);isolation:isolate}
.sage-section::before{content:'';position:absolute;inset:0 calc((1160px - 100vw)/2);background:var(--practice-sage);z-index:-1}
.section-intro{max-width:650px}.section-intro h2{margin-bottom:20px}.section-intro .section-introduction{max-width:550px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:48px!important}.steps-grid>*{margin:0!important}
.step{position:relative;border-top:1px solid #b8c9ba;padding-top:24px}.step::before{content:'';position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--practice-forest);box-shadow:0 0 0 6px var(--practice-sage)}
.step-number{font-family:var(--practice-serif);font-size:2.5rem;line-height:1;color:var(--practice-forest);margin-bottom:30px;letter-spacing:-.06em}
.step h3{font-size:1.5rem;margin-bottom:16px}.step>p:last-child{font-size:.94rem;color:var(--practice-muted)}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.about-grid>*{margin:0!important}
.about-visual{padding:28px 40px 0 28px;max-width:410px;position:relative}.about-visual::before{content:'';position:absolute;top:0;left:0;width:85%;height:85%;border:1px solid #c3cdbd;border-radius:5px;z-index:-1}
.about-portrait{margin:0!important}.about-portrait img{width:100%;display:block;border-radius:4px 90px 4px 4px;aspect-ratio:260/335;object-fit:cover}
.portrait-note{font-family:var(--practice-serif);font-style:italic;text-align:right;font-size:1.35rem;margin-top:16px;color:var(--practice-forest)}
.about-copy h2{margin-bottom:24px}.about-name{font-family:var(--practice-serif);font-size:1.4rem;margin-bottom:4px}.about-title{font-size:.9rem;color:var(--practice-muted);margin-top:0!important}
.credential-note{border-top:1px solid var(--practice-line);padding-top:20px;margin-top:28px}.mini-label{font-size:.68rem;letter-spacing:.12em;font-weight:600;color:var(--practice-muted);margin-bottom:8px}
.qualification{font-size:1rem;margin:0!important}.about-copy .section-link{margin-top:24px}
.practical-section{border-block:1px solid var(--practice-line);background:#efeee5;position:relative;isolation:isolate}
.practical-section::before{content:'';position:absolute;inset:0 calc((1160px - 100vw)/2);background:#efeee5;z-index:-1}
.practical-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.practical-inner>*{margin:0!important}
.practice-details{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin:0}.practice-detail{padding:22px 0;border-bottom:1px solid #c8d0c4;min-width:0}
.practice-detail dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:8px;color:var(--practice-muted)}
.practice-detail dd{margin:0;overflow-wrap:anywhere;font-size:1.1rem}.draft-short{font-family:var(--practice-serif);font-size:1.3rem;font-style:italic;color:var(--practice-muted)}
.practice-field{margin-block:18px;overflow-wrap:anywhere}.practice-field strong{display:block;font-size:.85rem;font-weight:600;color:var(--practice-muted);margin-bottom:7px}
.draft-note{display:block;line-height:1.5}.draft-tag{display:block;font-family:var(--practice-sans);font-style:normal;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--practice-muted);margin-bottom:5px}
.draft-tag::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--wp--preset--color--accent);vertical-align:middle;margin-right:6px}
.draft-description{font-size:.94rem;font-family:var(--practice-sans);font-weight:400;color:var(--practice-muted);letter-spacing:0;line-height:1.5}
.draft-copy{border-left:1px solid #b8c5b7;padding-left:16px;font-size:.94rem;max-width:450px}
.wp-block-details{padding:21px 0;border-top:1px solid var(--practice-line);margin-top:0!important}.wp-block-details:last-child{border-bottom:1px solid var(--practice-line)}
.wp-block-details summary{min-height:44px;display:flex;justify-content:space-between;gap:22px;align-items:center;list-style:none;cursor:pointer;font-size:1.08rem;font-weight:400;transition:color .2s}
.wp-block-details summary::-webkit-details-marker{display:none}.wp-block-details summary:hover{color:var(--practice-forest)}
.wp-block-details summary::after{content:'+';width:30px;flex-shrink:0;height:30px;border:1px solid var(--practice-line);border-radius:50%;font-size:1.2rem;line-height:27px;text-align:center;color:var(--practice-forest);transition:background .2s,transform .3s}
.wp-block-details[open] summary::after{content:'−';background:var(--practice-sage);transform:rotate(180deg)}
.wp-block-details>p{margin-top:20px;font-size:1rem;color:var(--practice-muted)}
/* Consistent actions and a generous, contrasting invitation. */
.wp-block-buttons{margin-top:24px}.wp-block-button__link,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:14px 25px;background:var(--practice-forest);color:white;border:1px solid var(--practice-forest);border-radius:7px;font-size:1rem;line-height:1.4;font-weight:600;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.wp-block-button__link:hover,.primary-button:hover{background:#1d4439;color:white;transform:translateY(-2px);box-shadow:0 5px 12px #24363212}
.final-cta{padding-top:0;padding-bottom:88px}.cta-inner{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:64px;padding:56px 64px;background:var(--practice-forest);border-radius:12px;color:var(--practice-ivory)}
.cta-inner::before,.cta-inner::after{content:'';position:absolute;width:300px;height:300px;border:1px solid #ffffff1c;border-radius:50%;right:-130px;top:-100px;z-index:-1;pointer-events:none}
.cta-inner::after{right:-90px;top:-135px;width:380px;height:380px}.cta-inner>*{margin:0!important}
.cta-inner h2,.cta-inner h2 em{color:var(--practice-ivory)}.cta-inner h2{font-size:clamp(1.8rem,3vw,2.3rem);margin-bottom:16px}
.cta-inner .eyebrow{color:#e7eee7;font-size:.7rem}.cta-inner .cta-copy>p:last-child{font-size:.98rem;color:#e7eee7;max-width:380px}
.cta-actions .wp-block-buttons{margin:0!important}.cta-actions .wp-block-button__link{background:var(--practice-ivory);border-color:var(--practice-ivory);color:var(--practice-forest)}
.cta-actions .small{margin-top:20px;font-size:.9rem;color:var(--practice-ivory)}.cta-actions a{color:var(--practice-ivory)}.cta-actions a:focus-visible{outline-color:var(--practice-ivory)}
.site-footer{border-top:1px solid var(--practice-line);background:#efeee5;padding-top:52px;padding-bottom:24px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px}.footer-grid>*{margin:0!important}.footer-grid p{font-size:.94rem}
.footer-name{font-family:var(--practice-serif);font-size:1.6rem!important;letter-spacing:-.03em;margin-bottom:6px}.footer-identity>p:nth-child(2){margin:0!important;color:var(--practice-muted)}
.footer-cta{font-weight:600}.footer-contact .practice-field,.footer-identity .practice-field{font-size:.85rem}.footer-grid .draft-note{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.footer-grid .draft-tag{order:2}.footer-grid .draft-description{font-size:.85rem}
.footer-legal .small{font-size:.8rem;max-width:230px}.footer-bottom{margin-top:40px!important;border-top:1px solid var(--practice-line);padding-top:20px;display:flex;justify-content:space-between;gap:24px}.footer-bottom>*{margin:0!important}.footer-bottom .small{font-size:.8rem}.back-top-link{display:inline-flex;align-items:center;min-height:44px}
.back-to-top{position:fixed;z-index:85;right:24px;bottom:24px;width:46px;height:46px;padding:0;border:1px solid #c7d1c4;border-radius:50%;background:var(--practice-ivory);color:var(--practice-forest);box-shadow:0 3px 12px #24363212;font-size:1.5rem;transition:transform .2s,background .2s}
.back-to-top:hover{transform:translateY(-3px);background:var(--practice-sage)}.back-to-top[hidden]{display:none}
/* Interior pages retain the same typography and in-page wayfinding. */
.page-intro{padding-block:60px 56px;position:relative}.page-intro .eyebrow{margin-bottom:22px}.page-intro h1{margin-bottom:24px}.intro-copy{max-width:620px;color:var(--practice-muted);font-size:1.1rem}
.page-intro::after{content:'';position:absolute;right:0;top:58px;width:100px;height:100px;border:1px solid #b5c2ad;border-radius:100% 0 100% 0;transform:rotate(-15deg)}
.bio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.bio-grid>*{margin:0!important}.bio-grid>div:first-child{position:sticky;top:calc(var(--header-height) + var(--jump-height) + 32px)}
.bio-portrait img{border-radius:160px 160px 8px 8px;width:100%;max-width:340px}.content-sidebar{display:grid;grid-template-columns:1.4fr 1fr;gap:72px}.content-sidebar>*{margin-top:0!important}
.side-note{background:var(--practice-sage);padding:32px;border-radius:8px;align-self:start}.side-note h2{font-size:1.9rem}.side-note h3:not(:first-child){margin-top:32px}.prose h2:not(:first-child){margin-top:48px}.prose h3{margin-top:32px}
.practical-summary{padding-bottom:48px}.practical-summary .practice-details{grid-template-columns:repeat(3,1fr);background:var(--practice-sage);padding:8px 32px 24px;border-radius:8px}.practical-summary+.section{padding-top:24px}
.booking-section{max-width:900px;padding-top:48px}.notice{padding:20px 24px;border:1px solid #a6b6a8;border-radius:8px;background:var(--practice-sage);font-size:.9rem;margin-bottom:24px}.notice strong{display:block;margin-bottom:5px}.booking-shell{background:#fff;border:1px solid var(--practice-line);border-radius:12px;padding:40px}.booking-steps{display:flex;gap:12px;list-style:none;padding:0;margin:0 0 32px;counter-reset:steps}.booking-steps li{flex:1;border-bottom:2px solid var(--practice-line);padding-bottom:16px;font-size:.85rem;color:var(--practice-muted)}.booking-steps li:before{counter-increment:steps;content:counter(steps)". ";font-weight:650}.booking-steps li[aria-current="step"]{border-color:var(--practice-forest);color:var(--practice-forest);font-weight:600}.booking-panel h2{font-size:1.75rem}.booking-panel[hidden],.booking-shell [hidden],.practice-contact [hidden]{display:none!important}.slot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-block:24px}.text-button{background:transparent;color:var(--practice-forest);border:1px solid var(--wp--preset--color--border,#78877e);border-radius:8px;min-height:44px;padding:8px 16px;font-size:.9rem}.text-button:hover{background:var(--practice-sage)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.slot-button{background:#fff;text-align:left;color:var(--practice-ink);border:1px solid var(--wp--preset--color--border,#78877e);padding:16px;border-radius:8px;min-height:70px;font-size:.875rem}.slot-button span{display:block;font-size:1.1rem;font-weight:600;margin-top:4px}.slot-button:hover{background:var(--practice-sage)}.slot-button[aria-pressed="true"]{background:var(--practice-forest);color:#fff;box-shadow:inset 0 0 0 2px #fff;outline:2px solid var(--practice-forest)}.form-row{margin-bottom:24px}.form-row label{display:block;font-size:.94rem;font-weight:600;margin-bottom:8px}.form-row label span{font-weight:400;font-size:.85rem;color:var(--practice-muted)}input,select,textarea{width:100%;min-height:48px;border:1px solid var(--wp--preset--color--border,#78877e);border-radius:6px;background:#fff;color:var(--practice-ink);padding:12px;font-size:1rem}textarea{resize:vertical}.form-row .hint{font-size:.8rem;color:var(--practice-muted);margin-top:6px}.form-actions{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:32px}.form-status{margin-top:20px;font-size:.94rem}.form-status:empty{display:none}.form-status.error,.field-error{color:#8a3030}.field-error{font-size:.85rem;margin-block:8px}.form-row input[aria-invalid="true"],.form-row textarea[aria-invalid="true"]{border:2px solid #8a3030}.review-list{display:grid;grid-template-columns:1fr 2fr;gap:12px 24px;margin:24px 0}.review-list dt{font-size:.875rem;color:var(--practice-muted)}.review-list dd{margin:0;overflow-wrap:anywhere}.demo-tools{border-top:1px solid var(--practice-line);margin-top:32px;padding-top:16px;font-size:.8rem}.demo-tools summary{cursor:pointer;min-height:44px}.demo-tools label{display:block;margin-bottom:8px}.demo-tools select{font-size:.875rem}.contact-section{border-top:1px solid var(--practice-line)}.contact-wrap{max-width:720px;margin:auto}.contact-wrap h2{scroll-margin-top:30px}.practice-contact{margin-top:32px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.urgent-note{padding-top:0;max-width:720px}.urgent-note p{font-size:.875rem;color:var(--practice-muted)}.success-mark{font-size:2rem;color:var(--practice-forest)}.screen-reader-text:focus{background:#fff;color:var(--practice-ink);padding:16px;z-index:100000}
/* Form presentation follows the same rhythm; integration behavior is unchanged. */
.booking-shell{padding:40px 48px;box-shadow:0 12px 40px #24363205;border-color:#d7dfd4}.notice{border-left:3px solid #8d9e87;background:#edf0e7;border-color:#d2ddcd;border-radius:6px}
.booking-panel h2{font-family:var(--practice-serif);font-size:1.85rem}.slot-button{transition:background .2s,box-shadow .2s,transform .2s;border-color:#8b9a8e}.slot-button:hover{transform:translateY(-2px)}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--practice-forest);box-shadow:0 0 0 3px #285a4b0d}
.contact-wrap{max-width:720px}.contact-wrap .eyebrow{margin-bottom:20px}.contact-wrap h2{margin-bottom:28px}.form-row label{font-weight:600;font-size:1rem}
.contact-section{border-top:1px solid var(--practice-line)}.booking-steps li{font-size:.9rem}.review-list{font-size:1rem}
body.admin-bar{--admin-height:32px}
@media(min-width:1241px){.hero-copy h1{font-size:56px}}
@media(max-width:1240px){.sage-section::before,.practical-section::before{inset-inline:-48px}.main-nav .wp-block-navigation__container{gap:20px}.hero-grid{gap:48px}.split-section{gap:64px}.about-grid{gap:72px}.jump-inner{gap:24px}.section-nav-links .wp-block-navigation__container{gap:22px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.sage-section::before,.practical-section::before{inset-inline:-32px}.main-nav{font-size:.85rem}.main-nav .wp-block-navigation__container{gap:17px}.site-header .main-nav .nav-appointment .wp-block-navigation-item__content{padding-inline:18px}.brand-name{font-size:1.3rem}.hero-grid{gap:36px;grid-template-columns:1.1fr .9fr}.portrait-panel{width:300px}.portrait-panel::before{right:-12px}.portrait-signature{left:-6px;right:32px}.hero-copy .eyebrow{max-width:260px}.hero-actions{gap:18px}.split-section{gap:48px}.jump-label{display:none}.jump-inner{min-height:62px}.section-nav-links .wp-block-navigation-item__content{min-height:60px}.about-grid{gap:48px}.practical-inner{gap:48px}.cta-inner{padding:44px;gap:32px}.footer-grid{gap:32px}}
@media(max-width:900px){.main-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.main-nav .wp-block-navigation__responsive-container-open{display:flex!important}.header-inner{min-height:78px;padding-block:15px}.hero{padding-top:40px}.hero-grid{min-height:440px;gap:30px}.hero-copy h1{font-size:2.9rem}.hero-lead{font-size:1.05rem}.portrait-panel{width:270px;padding:16px 16px 66px}.portrait-signature{padding:15px 18px;right:20px}.portrait-name{font-size:1.25rem}.portrait-caption{font-size:.74rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-copy>.practice-field{margin-top:20px}.section{padding-block:64px}.hero{padding-bottom:48px}.split-section{gap:36px}.section-nav-links{font-size:.84rem}.steps-grid{gap:28px}.about-grid{gap:32px}.about-visual{padding:20px 20px 0}.practical-inner{grid-template-columns:.9fr 1.1fr;gap:32px}.practice-details{gap:0 24px}.content-sidebar{gap:32px}.bio-grid{gap:40px}.cta-inner{grid-template-columns:1.2fr 1fr}.footer-grid{grid-template-columns:1.2fr 1fr}.footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:32px}.footer-legal>*{margin:0!important}.final-cta{padding-top:0}}
@media(max-width:650px){
 body{font-size:17px}.container{width:calc(100% - 40px)}.section{padding-block:52px}.header-inner{padding-block:12px;min-height:74px;gap:18px}.brand-icon,.brand-icon img{width:39px;height:39px}.brand-name{font-size:1.32rem}.brand-title{font-size:.68rem}
 .hero{padding-top:34px;padding-bottom:42px}.hero-grid{grid-template-columns:1fr;gap:28px;min-height:0}.hero-copy h1{font-size:2.85rem;line-height:1.07;margin-bottom:20px}.hero-copy .eyebrow{max-width:none;font-size:.65rem;letter-spacing:.11em;margin-bottom:18px}.hero-copy h1 em::after{margin-top:16px;width:55px}
 .hero-lead{font-size:1.06rem;max-width:360px;margin-bottom:16px}.hero-copy .draft-copy{margin-bottom:22px}.hero-actions{flex-direction:row;gap:20px;align-items:center}.hero-actions .wp-block-button__link{padding:13px 19px;font-size:.94rem;min-height:48px}.secondary-link{font-size:.85rem}.hero-copy>.practice-field{font-size:.78rem;margin-top:20px;margin-bottom:0}.hero-copy>.practice-field .draft-tag{font-size:.58rem}
 .portrait-panel{width:276px;margin:8px auto 0!important;padding:16px 16px 60px}.portrait-panel::before{right:-12px}.portrait-panel::after{inset:20px -8px 35px 0}.portrait-signature{left:-8px;right:22px;bottom:20px;padding:14px 20px}.portrait-name{font-size:1.32rem}
 .page-jump-bar{border-color:#c8d3c5}.jump-inner{width:100%;min-height:54px}.section-nav-links{width:100%;padding-inline:20px;font-size:.82rem}.section-nav-links .wp-block-navigation__container{gap:26px;min-width:0;padding-right:20px}.section-nav-links .wp-block-navigation-item__content{min-height:54px}
 .split-section,.about-grid,.practical-inner,.bio-grid,.content-sidebar,.cta-inner{grid-template-columns:1fr;gap:30px}.eyebrow{margin-bottom:18px;font-size:.67rem}h2{font-size:2rem}h3{font-size:1.45rem}.section-introduction{font-size:1rem}.section-link{margin-top:20px;font-size:.9rem}
 .audience-section{padding-top:52px}.editorial-row{gap:20px;padding-block:22px}.editorial-row h3{font-size:1.5rem}.editorial-row .draft-tag{font-size:.62rem}.draft-description{font-size:.92rem}.editorial-row:hover{padding-inline:0}
 .sage-section::before,.practical-section::before{inset-inline:-20px}.steps-grid{grid-template-columns:1fr;gap:32px;margin-top:36px!important}.step{display:grid;grid-template-columns:46px 1fr;column-gap:18px;padding-top:24px}.step-number{grid-row:1/3;font-size:2.1rem;margin:0}.step h3{margin:0 0 12px}.step>p:last-child{grid-column:2;margin:0}
 .about-visual{max-width:290px;margin-inline:auto!important;padding:18px 22px 0 18px;order:2}.about-copy{order:1}.about-copy .eyebrow{margin-bottom:18px}.about-copy h2{margin-bottom:24px}.portrait-note{margin-top:12px;font-size:1.1rem}.credential-note{margin-top:24px;padding-top:18px}
 .practice-details{gap:0 24px}.practice-detail{padding-block:18px}.practice-detail dt{font-size:.66rem}.draft-short{font-size:1.18rem}.wp-block-details{padding-block:17px}.wp-block-details summary{font-size:1rem;gap:16px}.wp-block-details summary::after{width:27px;height:27px;line-height:24px}
 .final-cta{padding-top:0;padding-bottom:48px}.cta-inner{padding:32px 26px;gap:28px}.cta-inner h2{font-size:1.9rem}.cta-inner .eyebrow{font-size:.65rem;margin-bottom:18px}.cta-inner .cta-copy>p:last-child{font-size:.94rem}.cta-actions .small{margin-top:16px}.cta-actions .wp-block-button__link{min-height:48px;font-size:.96rem}
 .site-footer{padding-top:38px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-legal{display:block;grid-column:auto}.footer-legal .small{margin-top:20px!important}.footer-bottom{margin-top:24px!important;padding-top:16px;gap:12px;align-items:center}.footer-bottom .small{font-size:.72rem}.back-to-top{width:42px;height:42px;right:14px;bottom:16px;font-size:1.25rem}
 .page-intro{padding-block:36px 40px}.page-intro h1{font-size:2.45rem;margin-bottom:20px}.page-intro::after{display:none}.intro-copy{font-size:1.05rem}.bio-grid>div:first-child{position:static}.bio-portrait{max-width:270px;margin-inline:auto}.bio-grid .prose h2{font-size:1.9rem}.side-note{padding:26px}.content-sidebar{gap:32px}.practical-summary .practice-details{grid-template-columns:repeat(2,1fr);padding:4px 20px 20px}.practical-summary{padding-bottom:28px}
 .booking-section{padding-top:32px}.booking-shell{padding:26px 20px}.booking-panel h2{font-size:1.65rem}.booking-steps{gap:8px;margin-bottom:24px}.booking-steps li{font-size:.72rem}.slot-grid{grid-template-columns:repeat(2,1fr);gap:10px}.slot-button{padding:12px}.slot-toolbar{gap:12px}.slot-toolbar strong{order:-1;width:100%;text-align:center;font-size:.9rem}.form-columns{grid-template-columns:1fr;gap:0}.review-list{grid-template-columns:1fr;gap:4px}.review-list dd{margin-bottom:12px}.notice{padding:16px;font-size:.85rem}.urgent-note{padding-top:0}.practice-preview{font-size:.62rem;padding:6px 12px}.practice-preview span{margin-inline:3px}
}
@media(max-width:360px){.hero-actions{gap:16px}.hero-actions .wp-block-button__link{padding-inline:14px}.hero-copy h1{font-size:2.55rem}.hero-copy>.practice-field{display:block}.hero-copy>.practice-field strong{margin-bottom:6px}.portrait-panel{width:245px}.footer-bottom{align-items:flex-start}.footer-bottom>p:first-child{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.editorial-row:hover{padding-inline:0}.slot-button:hover,.primary-button:hover,.wp-block-button__link:hover{transform:none}}
@media print{.site-header,.site-footer,.practice-preview,.page-jump-bar,.demo-tools,.back-to-top{display:none}.container{width:100%}.section{padding-block:24px}body{font-size:12pt}.portrait-panel{max-width:200px}.bio-grid>div:first-child{position:static}}
