/* Full-width canvas and the mobile appointment experience. */
[hidden]{display:none!important}
.contact-flow li>span{display:none}.contact-flow li strong{display:block;font-weight:600;color:var(--ink);margin-bottom:4px}.contact-flow li p{font-size:12px;line-height:1.7}.contact-card-note{font-size:12px!important;margin-top:23px}
body{background:var(--paper)}.site-wrap{width:100%;max-width:none;min-height:100svh;margin:0;border:0}.site-header{height:100px;padding-inline:5vw;gap:36px}.desktop-nav{gap:30px}.desktop-nav a{font-size:14px}.header-appointment{font-size:13px;padding:11px 26px;min-height:44px}.brand strong{font-size:32px}.brand small{letter-spacing:4px}.hero{min-height:clamp(610px,42vw,780px);grid-template-columns:1fr 1fr}.hero-copy{padding:clamp(75px,6vw,125px) 0 80px 10vw;max-width:850px}.hero h1{font-size:clamp(53px,4.2vw,78px);max-width:720px;line-height:1.06}.hero-copy>p{font-size:16px;max-width:525px;line-height:1.9}.hero-image{margin-left:-100px}.hero-actions{margin-top:36px}.hero-actions .button{min-height:50px;font-size:14px}.hero-actions .text-link{font-size:14px}.page-shell{padding-inline:5vw}.eyebrow{font-size:11px}.values{padding-block:40px}.value-item p{font-size:14px;max-width:225px}.quote-banner{margin-bottom:42px}.quote-banner p{font-size:29px}.site-footer{padding:30px 5vw}.site-footer nav{font-size:12px}.site-footer .brand strong{font-size:26px}.about-layout{grid-template-columns:1.05fr 1fr;padding-right:0;gap:6vw}.about-copy{padding-block:65px}.about-copy .prose{max-width:720px;font-size:16px}.about-copy h2{font-size:35px;margin-bottom:30px}.about-image{height:620px;margin:0}.signature{font-size:40px}.photo-quote{height:255px}.photo-quote>img{height:255px}.photo-quote p{font-size:29px}.services-page,.process-page{padding-top:60px;padding-bottom:55px}.section-intro{margin-bottom:38px}.section-intro>div>p{font-size:16px;max-width:680px}.services-grid{gap:28px}.service-picture{aspect-ratio:2.1}.service-card-copy{padding:25px 28px}.service-card h2{font-size:32px}.service-card p{font-size:14px;max-width:380px}.detail-link{font-size:12px;margin-top:26px}.service-detail{padding-block:50px 75px}.service-detail-grid{grid-template-columns:1fr 1fr;gap:6vw}.service-detail .service-picture{min-height:0;aspect-ratio:1.3}.service-detail .prose{font-size:16px;max-width:680px}.process-layout{grid-template-columns:1.8fr 1fr;gap:5vw}.process-intro{font-size:16px;max-width:800px}.process-steps{margin-top:48px;gap:28px}.process-steps h2{font-size:15px}.process-steps p{font-size:14px}.process-image{margin-top:-60px}.process-image img{height:380px}.process-image figcaption{font-size:29px}.parent-banner{margin-top:28px;min-height:215px}.parent-banner h2{font-size:17px}.parent-banner p{font-size:14px;max-width:550px}.parent-banner .button{font-size:12px;min-height:38px}.faq-contact-layout{padding-block:65px;gap:7vw;grid-template-columns:1.3fr 1fr}.faq-column h1,.contact-column h2{font-size:52px}.faq-list summary{font-size:15px;padding:18px 22px}.faq-list details>p{font-size:14px}.contact-column{padding-left:5vw}.contact-column>p,.contact-page-copy>p{font-size:16px;max-width:460px}.contact-item,.contact-item strong{font-size:14px}.contact-details{gap:30px}.question-banner h2{font-size:16px}.question-banner p{font-size:13px}.question-banner .button{font-size:12px;min-height:38px}.contact-page{padding-block:65px;gap:8vw}.contact-action-card{padding:42px;background:#efe6ee;border:1px solid #e0d4e2;border-radius:15px;align-self:start}.contact-action-card h2{font-size:40px;margin-bottom:16px}.contact-action-card>p{font-size:16px;margin-bottom:25px}.contact-flow{display:grid;gap:21px;margin:30px 0;padding:0;list-style:none;counter-reset:steps}.contact-flow li{display:flex;align-items:center;gap:16px;font-size:14px;counter-increment:steps}.contact-flow li:before{content:counter(steps);width:35px;height:35px;border:1px solid #c6b3cd;border-radius:50%;display:grid;place-items:center;font:24px var(--serif);color:var(--accent-dark);flex-shrink:0}.education-line{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:14px 18px;max-width:650px;font-size:13px;line-height:1.6;margin:0 0 28px;color:var(--accent-dark)}.education-line .icon{width:23px;height:23px}.booking-page{padding-block:56px 80px}.booking-heading{margin-bottom:40px;max-width:900px}.booking-heading h1{font-size:58px;margin-bottom:20px}.booking-heading>p{font-size:16px;max-width:770px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:48px;max-width:1520px;margin-inline:auto}.booking-workspace{min-width:0}.booking-progress{list-style:none;display:flex;gap:0;margin:0 0 28px;padding:0}.booking-progress li{font-size:13px;color:#8a7f90;display:flex;gap:11px;align-items:center;flex:1;position:relative}.booking-progress li>span{display:grid;place-items:center;width:35px;height:35px;background:#ebe3eb;border-radius:50%;font:24px var(--serif)}.booking-progress li:not(:last-child):after{content:'';height:1px;background:var(--line);width:40px;margin-left:auto;margin-right:22px}.booking-progress li[aria-current]{color:var(--ink);font-weight:600}.booking-progress li[aria-current]>span{background:var(--accent-dark);color:white}.booking-progress li.done>span{background:#e1e8df;color:#596f5a}.booking-form{border:1px solid var(--line);border-radius:18px;background:#fffcf8;padding:35px 40px}.booking-step{border:0;margin:0;padding:0;min-width:0}.booking-step[hidden],.booking-success[hidden],[hidden].booking-progress,[hidden].booking-form{display:none}.booking-step legend{font:500 36px/1.2 var(--serif);color:var(--ink);float:left;width:100%;margin-bottom:13px}.booking-step legend+.step-intro{clear:both}.step-intro{font-size:14px;line-height:1.8;margin-bottom:25px}.meeting-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}.meeting-choice{position:relative;cursor:pointer}.meeting-choice>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.choice-body{display:flex;flex-direction:column;gap:12px;border:1px solid #dfd4df;border-radius:12px;padding:25px;min-height:210px;background:#fbf8f4;position:relative;pointer-events:none}.choice-body strong{font-size:15px;font-weight:600;color:var(--ink)}.choice-body>span:not(.choice-icon):not(.choice-check){font-size:13px;line-height:1.75}.choice-icon{display:grid;place-items:center;width:45px;height:45px;background:#eee4ee;border-radius:50%;color:var(--accent-dark)}.choice-icon .icon{height:25px;width:25px}.choice-check{position:absolute;right:18px;top:18px;border:1px solid #cab9d0;width:20px;height:20px;border-radius:50%;font-size:12px;text-align:center;line-height:19px;color:transparent}.meeting-choice input:checked+.choice-body{background:#f3edf5;border-color:#9a83a5;box-shadow:0 0 0 1px #9a83a5}.meeting-choice input:checked+.choice-body .choice-check{color:white;background:var(--accent-dark);border-color:var(--accent-dark)}.meeting-choice input:focus-visible+.choice-body{outline:2px solid var(--accent-dark);outline-offset:4px}.booking-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:var(--ink);position:relative}.booking-field input,.booking-field select{width:100%;background:#fffefa;border:1px solid #d9cedb;border-radius:8px;padding:13px 15px;min-height:51px;font-size:15px;color:var(--ink)}.booking-field input::placeholder{color:#a599a9;font-size:13px}.booking-help{display:flex;align-items:center;gap:14px;padding:18px;background:#f4eff3;border-radius:9px;margin:25px 0;color:var(--accent-dark)}.booking-help p{font-size:12px;line-height:1.8}.step-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;margin-top:23px;border-top:1px solid var(--line)}.step-actions>.button:last-child{margin-left:auto}.booking-summary{background:#eee5ed;border:1px solid #e3d7e4;border-radius:16px;padding:29px;align-self:start;position:sticky;top:30px;margin-top:62px}.booking-summary h2{font-size:31px;margin-bottom:22px}.booking-summary-art{height:143px;overflow:hidden;border-radius:9px;margin-bottom:25px}.booking-summary-art img{height:100%;object-position:center 58%}.booking-summary dl{margin:0}.booking-summary dl>div{padding:13px 0;border-bottom:1px solid #ddd0e0}.booking-summary dt{font-size:11px;color:#8a778f}.booking-summary dd{font-size:14px;margin:4px 0 0;color:var(--ink);line-height:1.65}.summary-note{font-size:11px;line-height:1.8;display:flex;gap:10px;margin:20px 0 9px}.summary-note .icon{height:18px;width:18px;margin-top:2px}.booking-summary .text-link{font-size:12px}.booking-calendar{border:1px solid var(--line);padding:20px;border-radius:11px;max-width:100%}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.calendar-header h2{font:600 16px var(--sans);text-transform:capitalize}.calendar-header button{width:37px;height:37px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-size:23px;display:grid;place-items:center}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}.calendar-weekdays{font-size:11px;color:#958599;margin-bottom:12px}.calendar-days button{aspect-ratio:1.35;min-height:40px;max-height:59px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:14px;color:var(--ink)}.calendar-days button:hover:not(:disabled){background:#eee5ef}.calendar-days button.today{border-color:#d2bedc}.calendar-days button[aria-pressed=true]{background:var(--accent-dark);color:white}.calendar-days button:disabled{color:#cfc8ce;opacity:.7;cursor:default}.slots-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:28px 0 16px}.slots-heading h3{font:500 15px var(--sans)}.slots-heading>span{font-size:12px;color:#97859e}.booking-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.booking-slots button{padding:12px 7px;min-height:45px;border:1px solid #dacee0;border-radius:8px;background:#fdfaf7;color:var(--ink);font-size:14px}.booking-slots button:hover{border-color:var(--accent-dark)}.booking-slots button[aria-pressed=true]{background:var(--accent-dark);color:white;border-color:var(--accent-dark)}.slots-status{font-size:13px;line-height:1.7;margin-top:15px}.slots-status:empty{display:none}.booking-fields{display:grid;gap:21px}.optional-label{position:absolute;right:0;top:0;font-size:10px;color:#9d8da5;font-weight:400}.booking-privacy-note{font-size:12px;color:#8b7d90;line-height:1.8;margin:22px 0}.booking-consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;margin-top:17px;line-height:1.8}.booking-consent input{height:18px;width:18px;flex-shrink:0;accent-color:var(--accent-dark);margin-top:3px}.booking-consent a{text-decoration:underline;text-underline-offset:3px}.booking-status{font-size:13px;margin-top:20px;line-height:1.8}.booking-status:empty{display:none}.booking-status.error{background:#f8ecec;border:1px solid #eed3d3;padding:13px 17px;border-radius:8px;color:#963e49}.booking-success{text-align:center;padding:60px 40px;background:#fdfaf7;border:1px solid var(--line);border-radius:16px;outline:none}.success-circle{display:grid;place-items:center;width:75px;height:75px;border-radius:50%;background:#e8e0ec;color:var(--accent-dark);margin:0 auto 27px}.success-circle .icon{width:40px;height:40px}.booking-success h2{font-size:47px;margin-bottom:22px}.booking-success p{font-size:15px;max-width:560px;margin:0 auto 32px}.booking-success>.text-link{display:flex;width:fit-content;margin:17px auto 0}
@media(min-width:1700px){.hero-copy{padding-left:10vw}.page-shell{padding-inline:6vw}.about-layout{padding-right:0}.hero-copy{max-width:930px}.hero h1{max-width:740px}.about-copy .prose{max-width:760px}.site-header{padding-inline:6vw}}
@media(max-width:1200px){.site-header{gap:22px}.desktop-nav{gap:20px}.desktop-nav a{font-size:12px}.brand strong{font-size:29px}.header-appointment{font-size:12px;padding-inline:22px}.hero{min-height:610px}.hero-copy{padding:80px 0 65px 10%;max-width:580px}.hero h1{font-size:54px;max-width:520px}.hero-copy>p{font-size:15px;max-width:435px}.booking-layout{grid-template-columns:minmax(0,1fr) 295px;gap:28px}.booking-form{padding:30px}.booking-summary{padding:23px}.booking-summary h2{font-size:28px}.choice-body{padding:20px;min-height:225px}.booking-progress li{font-size:11px;gap:7px}.booking-progress li:not(:last-child):after{width:18px;margin-right:12px}.about-image{height:600px}.process-layout{gap:4vw}.process-steps{gap:20px}.process-steps p{font-size:13px}.process-image img{height:350px}}
@media(max-width:980px){.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.site-header{gap:17px;padding-inline:4vw}.brand strong{font-size:27px}.header-appointment{padding:10px 19px;font-size:11px}.hero h1{font-size:47px}.hero-copy>p{font-size:14px}.hero{min-height:555px}.hero-copy{padding-top:65px}.about-image{height:600px}.about-copy .prose{font-size:14px}.about-copy h2{font-size:29px}.section-intro>div>p{font-size:14px}.service-card-copy{padding:20px}.service-card h2{font-size:27px}.service-card p{font-size:13px}.booking-layout{grid-template-columns:minmax(0,1fr) 255px;gap:22px}.booking-summary{padding:20px}.booking-summary h2{font-size:26px}.booking-form{padding:25px}.meeting-choices{gap:12px}.choice-body{padding:18px;min-height:238px}.choice-body>span:not(.choice-icon):not(.choice-check){font-size:12px}.booking-progress li:not(:last-child):after{display:none}.booking-progress li>span{width:28px;height:28px;font-size:21px}.booking-progress li{font-size:10px}.booking-step legend{font-size:31px}.booking-summary dd{font-size:13px}.process-steps p{font-size:12px}.process-intro{font-size:14px}.process-steps h2{font-size:13px}.contact-page{gap:5vw}.contact-action-card{padding:30px}}
@media(max-width:760px){.site-wrap{margin:0;min-height:100svh;padding-bottom:calc(77px + env(safe-area-inset-bottom))}.site-header{height:76px;padding:0 20px;gap:11px}.brand strong{font-size:27px}.brand small{font-size:8px;letter-spacing:3.5px}.header-appointment{font-size:11px;min-height:36px;padding:9px 16px}.mobile-menu{top:76px;padding-bottom:28px;border-radius:0 0 20px 20px}.mobile-menu>a:not(.button){min-height:52px}.mobile-dock{padding:8px 8px max(9px,env(safe-area-inset-bottom));background:#fffcf9f5}.mobile-dock a{min-height:49px;font-size:10px;font-weight:600;gap:5px}.mobile-dock a[aria-current]:before{width:53px;height:32px;top:-2px}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{padding:33px 26px 25px;max-width:none}.hero h1{font-size:38px;max-width:480px;line-height:1.1}.hero-copy>p{font-size:14px;max-width:480px;line-height:1.9}.hero-actions{margin-top:25px;gap:24px}.hero-actions .button{min-height:46px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-image{margin:0;height:280px}.page-shell{padding-inline:22px}.eyebrow{font-size:9px;letter-spacing:2px}.values{padding-block:28px;row-gap:27px}.value-item p{font-size:12px;max-width:150px}.quote-banner{margin-bottom:28px;padding:25px 23px}.quote-banner p{font-size:23px}.site-footer{padding:24px 22px}.site-footer .brand strong{font-size:24px}.site-footer nav{font-size:11px}.about-layout{padding-right:22px;gap:10px}.about-copy{padding:34px 0 18px}.about-copy h2{font-size:29px;margin-bottom:22px}.about-copy .prose{font-size:14px}.about-image{height:315px}.education-line{font-size:11px;padding:12px 14px;gap:10px;margin-bottom:22px}.signature{font-size:37px}.photo-quote{height:225px}.photo-quote>img{height:225px}.photo-quote p{font-size:23px}.services-page,.process-page{padding-top:34px;padding-bottom:30px}.section-intro>div>p{font-size:14px}.section-intro{margin-bottom:26px}.services-grid{gap:13px}.service-picture{aspect-ratio:1.2}.service-card-copy{padding:17px 13px}.service-card h2{font-size:24px}.service-card p{font-size:12px;line-height:1.8}.detail-link{font-size:11px;margin-top:20px}.service-detail{padding-block:27px 38px}.service-detail-grid{grid-template-columns:1fr;gap:27px}.service-detail .service-picture{aspect-ratio:1.35}.service-detail .prose{font-size:14px}.process-intro{font-size:14px}.process-steps{margin-top:29px;gap:0}.process-steps h2{font-size:15px}.process-steps p{font-size:13px}.process-steps li{min-height:145px}.process-steps li:not(:last-child) .step-number:after{height:77px}.process-image{margin-top:0}.process-image img{height:265px}.process-image figcaption{font-size:28px}.parent-banner{margin-top:25px;min-height:0}.parent-banner p{font-size:12px}.parent-banner h2{font-size:15px}.parent-banner .button{font-size:11px}.faq-contact-layout{padding-block:34px;grid-template-columns:1fr;gap:34px}.faq-column h1{font-size:41px}.faq-list summary{font-size:14px;padding:16px}.faq-list details>p{font-size:13px}.question-banner h2{font-size:13px}.question-banner p{font-size:11px}.contact-column{padding:31px 0 0}.contact-column h2{font-size:41px}.contact-column>p,.contact-page-copy>p{font-size:14px}.contact-item,.contact-item strong{font-size:13px}.contact-details{gap:25px}.contact-page{padding-block:34px;gap:32px}.contact-action-card{padding:28px 23px}.contact-action-card h2{font-size:35px}.contact-action-card>p{font-size:14px}.contact-flow li{font-size:12px;gap:12px}.contact-flow{gap:18px;margin-block:25px}.booking-page{padding:32px 18px 35px}.booking-heading{margin-bottom:27px;padding-inline:4px}.booking-heading h1{font-size:43px;margin-bottom:17px}.booking-heading>p{font-size:14px}.booking-layout{display:flex;flex-direction:column;gap:25px}.booking-workspace{width:100%}.booking-progress{margin:0 4px 23px;gap:8px}.booking-progress li{font-size:11px;gap:8px;line-height:1.5}.booking-progress li>span{width:30px;height:30px;font-size:21px;flex-shrink:0}.booking-form{padding:25px 20px;border-radius:15px}.booking-step legend{font-size:31px;line-height:1.15;margin-bottom:15px}.step-intro{font-size:13px;line-height:1.8;margin-bottom:22px}.meeting-choices{grid-template-columns:1fr;gap:12px;margin-bottom:23px}.choice-body{min-height:0;padding:20px 20px 20px 79px;gap:6px}.choice-icon{position:absolute;left:19px;top:20px;width:43px;height:43px}.choice-body strong{font-size:14px;padding-right:19px}.choice-body>span:not(.choice-icon):not(.choice-check){font-size:12px}.choice-check{top:17px;right:14px;width:18px;height:18px;line-height:17px}.booking-field{font-size:12px}.booking-field input,.booking-field select{font-size:16px;min-height:51px;padding:12px}.booking-help{padding:15px;gap:12px;margin:21px 0}.booking-help p{font-size:11px}.step-actions{gap:15px;margin-top:22px;padding-top:23px}.step-actions .button{font-size:12px;min-height:47px;padding:11px 21px;gap:14px}.step-actions .text-link{font-size:12px;white-space:nowrap}.booking-summary{position:static;margin-top:0;padding:23px;border-radius:14px}.booking-summary-art{display:none}.booking-summary h2{font-size:29px;margin-bottom:15px}.booking-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.booking-summary dl>div{padding:11px 0}.booking-summary dd{font-size:12px}.booking-summary dt{font-size:10px}.summary-note{font-size:11px;margin:18px 0 6px}.booking-calendar{padding:15px 12px}.calendar-header h2{font-size:15px}.calendar-header button{width:33px;height:33px}.calendar-days,.calendar-weekdays{gap:4px}.calendar-days button{aspect-ratio:1;min-height:34px;font-size:13px;padding:0}.calendar-weekdays{font-size:10px}.slots-heading{margin-top:25px;gap:10px}.slots-heading h3{font-size:13px}.slots-heading>span{font-size:10px}.booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.booking-slots button{font-size:13px;padding:11px 6px}.slots-status{font-size:12px}.booking-consent{font-size:11px;gap:10px}.booking-privacy-note{font-size:11px}.booking-status{font-size:12px}.booking-success{padding:40px 24px}.booking-success h2{font-size:41px}.booking-success p{font-size:14px}.booking-success .button{font-size:12px}}
@media(max-width:370px){.site-header{padding-inline:14px;gap:8px}.brand strong{font-size:25px}.header-appointment{padding-inline:13px;font-size:10px}.hero h1{font-size:35px}.hero-copy{padding-inline:23px}.booking-page{padding-inline:14px}.booking-form{padding-inline:17px}.booking-progress li{font-size:10px;gap:6px}.booking-progress li>span{height:26px;width:26px}.step-actions .button{font-size:11px;padding-inline:15px}.booking-heading h1{font-size:40px}}
.service-picture{background-size:cover;background-position:center}.service-picture-0{background-image:url(/assets/service-0.webp)}.service-picture-1{background-image:url(/assets/service-1.webp)}.service-picture-2{background-image:url(/assets/service-2.webp)}.service-picture-3{background-image:url(/assets/service-3.webp)}.service-picture-4{background-image:url(/assets/service-4.webp)}.service-picture-5{background-image:url(/assets/service-5.webp)}
