@charset "UTF-8";
:root{--ink:#183d49;--ink-deep:#112f39;--body:#465e66;--muted:#586f76;--paper:#fafbf9;--white:#fff;--pale:#eaf0ef;--line:#d7e0de;--accent:#8d4b34;--serif:'Lora',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}p,h1,h2,h3,h4{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,h2{line-height:1.12;letter-spacing:-.055em}h1{font-size:clamp(3.2rem,5.7vw,5.3rem);margin-bottom:1.8rem}h2{font-size:clamp(2.45rem,4.4vw,4rem);margin-bottom:1.65rem}h3{font-size:1.75rem;line-height:1.3;letter-spacing:-.025em}em{font-weight:400}p{color:var(--body)}:focus-visible{outline:3px solid #b86740;outline-offset:5px}::selection{background:#cee1db;color:var(--ink-deep)}[hidden]{display:none!important}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.16em;color:var(--ink);margin-bottom:1.8rem}.small{font-size:.875rem;line-height:1.65}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:10px}
.site-header{background:rgba(250,251,249,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;flex-direction:column;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:1.7rem;line-height:1.2;letter-spacing:-.055em}.credential{font-family:var(--sans);font-size:.8rem;letter-spacing:0;margin-left:8px}.brand-sub{font-size:.75rem;letter-spacing:.19em;margin-top:9px}nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:500}nav>a:not(.button){position:relative;padding-block:12px}nav>a:not(.button):after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav>a:hover:after{transform:scaleX(1)!important}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:56px;padding:15px 23px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:3px;font-weight:500;font-size:1rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#285464;transform:translateY(-2px)}.button span[aria-hidden]{font-size:1.3rem;line-height:1}.button-small{min-height:46px;padding:11px 18px;gap:18px;font-size:.875rem}.button-light{background:#f1f4ed;border-color:#f1f4ed;color:var(--ink)}.button-light:hover{background:#fff}.text-link{display:inline-block;border-bottom:1px solid #7e959c;font-size:.875rem;padding-bottom:3px;font-weight:500}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link span{margin-left:10px}.menu-toggle{border:1px solid var(--line);background:transparent;padding:8px 12px;border-radius:3px;min-height:44px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:68px;padding-top:62px;padding-bottom:68px;align-items:center}.hero-copy{padding:24px 0 10px}.hero .eyebrow{margin-bottom:24px}.hero h1 em{color:#54736d}.hero-description{font-size:1.08rem;max-width:420px;line-height:1.8;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-actions .button{font-size:.9rem;gap:16px}.location-line{display:flex;align-items:center;gap:9px;font-size:.875rem;margin:30px 0 0}.location-line span{margin-inline:5px;color:#7f949a}.location-line svg{width:16px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.hero-image-wrap{height:610px;position:relative;overflow:hidden;border-radius:150px 4px 4px 4px}.hero-image{width:100%;height:100%;object-fit:cover;object-position:63% 50%}.hero-image-wrap:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(12,44,55,.8));pointer-events:none}.hero-image-label{position:absolute;bottom:32px;left:32px;right:28px;color:#fff;z-index:1;display:flex;flex-direction:column;gap:7px}.hero-image-label span:first-child{font-size:.75rem;font-weight:600;letter-spacing:.18em}.hero-image-label span:last-child{font-family:var(--serif);font-size:1.5rem;font-style:italic}.practice-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:25px}.practice-strip p{margin:0;display:flex;flex-direction:column;gap:2px}.practice-strip strong{color:var(--ink);font-size:1rem;font-weight:500}.practice-strip span{font-size:.875rem;color:var(--muted)}
.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;align-items:end;margin-bottom:55px}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:18px}.section-intro h2{margin-bottom:0}.section-intro>p:last-child{margin-bottom:5px;max-width:440px;font-size:1.02rem}.service{display:grid;grid-template-columns:55px 1fr 200px;gap:24px;padding:34px 0 37px;border-top:1px solid var(--line);align-items:start}.service:last-child{border-bottom:1px solid var(--line)}.service-number{font-family:var(--serif);font-size:1.1rem;color:#6a847c;padding-top:4px}.service h3{margin-bottom:12px}.service p{max-width:700px;margin-bottom:16px;font-size:.975rem}.service-tag{font-size:.75rem;letter-spacing:.12em;color:var(--muted);padding-top:11px;text-align:right}
.about-section{background:var(--pale)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}.portrait-frame{aspect-ratio:4/4.4;overflow:hidden;border-radius:4px 4px 130px 4px;background:#d2ded9}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:52% 50%}.portrait-caption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-size:.75rem;color:var(--muted)}.about-copy h2{max-width:460px}.about-copy p{font-size:1rem}.about-copy .eyebrow{font-size:.75rem}.signature{font-family:var(--serif);font-style:italic;font-size:1.5rem!important;color:var(--ink);margin-top:25px;margin-bottom:4px}.about-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.process-intro{max-width:610px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:48px}.process-card{border-top:1px solid var(--line);padding-top:22px}.process-step{font-size:.75rem;letter-spacing:.13em;color:var(--muted);display:block;margin-bottom:24px}.process-card h3{font-size:1.75rem;margin-bottom:14px}.process-card p{font-size:1rem;max-width:340px}
.insurance-section{background:#edf1f2;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.insurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.insurance-grid h2{font-size:3rem}.insurance-info{display:grid;gap:22px}.insurance-item{padding-bottom:22px;border-bottom:1px solid #ccd8d9}.insurance-item h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin-bottom:7px}.insurance-item p{margin:0;font-size:1rem}.fee{font-family:var(--serif);font-size:2.5rem;letter-spacing:-.05em}.fee span{font-family:var(--sans);font-size:1rem;letter-spacing:0;margin-left:7px}.insurance-note{max-width:460px}.insurance-note p{font-size:.875rem}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px}.faq-intro{position:sticky;top:145px;align-self:start}.faq-intro h2{font-size:3.2rem}.faq-intro>p:not(.eyebrow){max-width:310px}.faq-group+ .faq-group{margin-top:35px}.faq-group h3{font-family:var(--sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:18px;color:var(--muted)}details{border-top:1px solid var(--line);scroll-margin-top:125px}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:500;font-size:1rem;padding:20px 36px 20px 0;position:relative;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;top:17px;font-size:1.5rem;font-weight:400;color:#5c7a71}details[open]>summary:after{content:'−'}details[open]>summary{color:var(--ink-deep)}.faq-answer{padding:0 30px 19px 0;font-size:1rem}.faq-answer p:last-child{margin-bottom:0}.faq-answer a{text-decoration:underline;text-underline-offset:3px}.faq-answer ul{color:var(--body);padding-left:20px}.faq-answer li{margin-bottom:6px}
.writing-section{background:#f0f3ed}.writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.writing-card{display:flex;flex-direction:column;padding:28px 0;border-top:1px solid #ced8cc;position:relative}.writing-card .eyebrow{margin-bottom:12px;font-size:.75rem;color:var(--muted);letter-spacing:.1em}.writing-card h3{font-size:1.5rem;line-height:1.4;padding-right:20px;margin-bottom:12px}.writing-card p{font-size:.875rem;margin-bottom:18px}.writing-card a{align-self:start;margin-top:auto}.writing-note{font-size:.875rem;margin-top:26px;margin-bottom:0}
.contact-section{background:var(--ink);color:white;padding:92px 0}.contact-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}.contact-section .eyebrow{color:#c0d3d1;font-size:.75rem}.contact-section h2{font-size:clamp(2.7rem,4.6vw,4.2rem)}.contact-section h2 em{color:#c1d3bd}.contact-section p{color:#d6e0e2;max-width:440px}.contact-section .button{margin-top:12px}.contact-preview{margin-top:17px;max-width:380px!important;font-size:.75rem}.contact-details{border-left:1px solid #53717b;padding-left:52px}.contact-phone{font-family:var(--serif);font-size:2.2rem;letter-spacing:-.035em;display:block;line-height:1.4;margin-bottom:16px}.contact-profile{display:inline-block;border-bottom:1px solid #6f919a;padding-bottom:4px;font-size:.875rem}.contact-profile span{margin-left:9px}.contact-location{display:flex;flex-direction:column;gap:6px;margin:34px 0 22px;color:#d6e0e2;font-size:1rem}.contact-location strong{font-weight:500;color:#fff}.contact-location span:last-child{max-width:280px;font-size:.875rem}.contact-details .small{font-size:.875rem}footer{padding:40px 0 24px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:30px}.footer-links{display:flex;flex-wrap:wrap;gap:15px 24px;font-size:.75rem;max-width:580px;justify-content:flex-end}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.footer-bottom p{font-size:.75rem;color:var(--muted);margin:0}
@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:90px}.hero-image-wrap{height:660px}}
@media(max-width:1150px){nav{gap:18px}.container{width:calc(100% - 64px)}.hero{gap:38px}.hero-image-wrap{height:560px}.hero-actions{gap:18px}.section-intro{column-gap:50px}.service{grid-template-columns:40px 1fr 130px}.service-tag{font-size:.6rem}.about-grid{gap:55px}.faq-layout{gap:50px}.contact-inner{gap:50px}.contact-details{padding-left:34px}}
@media(max-width:900px){.header-inner{height:88px;gap:20px}.brand-name{font-size:1.5rem}nav{gap:14px;font-size:.875rem}nav .button{font-size:.875rem;padding-inline:13px;gap:12px}.hero{gap:25px;padding-top:40px}.hero h1{font-size:3.6rem}.hero-image-wrap{height:545px;border-top-left-radius:100px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-description{font-size:1rem}.location-line{font-size:.75rem}.practice-strip{gap:20px}.practice-strip strong{font-size:.875rem}.practice-strip span{font-size:.75rem}.section{padding-block:85px}.section-intro{gap:20px 35px}.section-intro h2{font-size:2.8rem}.service{grid-template-columns:35px 1fr;gap:20px}.service-tag{grid-column:2;text-align:left;padding:0;margin-top:-8px}.about-grid{gap:35px}.about-copy h2{font-size:2.75rem}.portrait-frame{aspect-ratio:3/4.5}.portrait-caption{flex-direction:column;gap:2px}.insurance-grid{gap:45px}.insurance-grid h2{font-size:2.6rem}.faq-layout{grid-template-columns:.75fr 1.25fr;gap:35px}.faq-intro h2{font-size:2.6rem}.contact-inner{gap:35px}.contact-details{padding-left:26px}.contact-phone{font-size:1.9rem}}
@media(max-width:760px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.header-inner{height:80px}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:12px;font-size:.875rem}.site-header nav{position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px;box-shadow:0 15px 25px #183d4914;display:flex;flex-direction:column;align-items:stretch;gap:5px;border-bottom:1px solid var(--line)}.site-header nav a{padding:10px 12px;font-size:1rem}.site-header nav .button{margin-top:10px}.site-header nav[data-collapsed=true]{display:none}.site-header nav a:after{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:32px}.hero-copy{padding:6px 0 0}.hero h1{font-size:clamp(3.2rem,10vw,4.5rem);margin-bottom:22px;letter-spacing:-.055em}.hero h1 br:first-of-type{display:none}.hero h1 br:first-of-type:after{content:' '}.hero .eyebrow{font-size:.75rem;margin-bottom:21px}.hero-description{max-width:520px;font-size:1rem;margin-bottom:22px}.hero-actions{flex-direction:row;align-items:center;gap:18px}.hero-actions .button{font-size:.875rem;padding-inline:17px}.hero-actions .text-link{font-size:.875rem}.location-line{margin-top:23px}.hero-image-wrap{height:370px;border-radius:70px 3px 3px 3px}.hero-image{object-position:50% 52%}.hero-image-label{bottom:24px;left:24px}.hero-image-label span:last-child{font-size:1.3rem}.practice-strip{grid-template-columns:1fr 1fr;padding:25px 0;gap:20px 15px}.practice-strip strong{font-size:.875rem}.practice-strip span{font-size:.75rem}.section{padding-block:66px}.section-intro{display:block;margin-bottom:35px}.section-intro .eyebrow{margin-bottom:18px}.section-intro h2{font-size:2.7rem;margin-bottom:22px}.section-intro>p:last-child{font-size:.975rem;max-width:520px}.service{gap:15px;grid-template-columns:26px 1fr;padding:26px 0}.service h3{font-size:1.4rem}.service p{font-size:1rem}.service .text-link{font-size:.875rem}.service-tag{font-size:.75rem}.about-grid{grid-template-columns:1fr;gap:36px}.portrait-frame{aspect-ratio:1.1;max-height:520px;border-bottom-right-radius:85px}.portrait-caption{flex-direction:row;font-size:.75rem}.about-copy h2{max-width:100%;font-size:2.8rem}.about-copy .eyebrow{margin-bottom:19px}.process-grid{grid-template-columns:1fr;gap:14px;margin-top:30px}.process-card{display:grid;grid-template-columns:50px 1fr;gap:0 14px;padding-top:22px}.process-step{grid-row:1/3;margin:2px 0 0}.process-card h3{font-size:1.45rem;margin-bottom:10px}.process-card p{grid-column:2;max-width:none}.insurance-grid{grid-template-columns:1fr;gap:25px}.insurance-grid h2{font-size:2.8rem}.insurance-grid .eyebrow{margin-bottom:19px}.insurance-note{max-width:none}.faq-layout{grid-template-columns:1fr;gap:34px}.faq-intro{position:static}.faq-intro h2{font-size:2.8rem}.faq-intro>p:not(.eyebrow){max-width:450px}.faq-intro .eyebrow{margin-bottom:19px}.faq-group h3{margin-bottom:12px}.faq-answer{padding-right:15px}summary{font-size:.975rem}.writing-grid{grid-template-columns:1fr}.writing-card h3{font-size:1.4rem}.contact-section{padding:65px 0}.contact-inner{grid-template-columns:1fr;gap:38px}.contact-section h2{font-size:2.8rem}.contact-section .eyebrow{font-size:.75rem}.contact-details{border-left:0;border-top:1px solid #53717b;padding:28px 0 0}.contact-phone{font-size:2rem}.contact-location{margin-top:25px}.footer-top{flex-direction:column;gap:30px}.footer-links{justify-content:flex-start;gap:14px 22px;font-size:.875rem}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom p{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Consultation preview */
#booking-dialog{border:0;padding:0;border-radius:10px;width:min(1000px,calc(100% - 40px));max-height:90dvh;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #071d3360;overflow:auto}#booking-dialog::backdrop{background:rgba(10,30,40,.65);backdrop-filter:blur(5px)}.booking-shell{overflow:hidden;border-radius:10px}.booking-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px 14px 26px;background:#f2e9d9;border-bottom:1px solid #ddcdb4}.booking-top p{margin:0;display:flex;flex-wrap:wrap;gap:3px 13px;font-size:.75rem;color:#574528;line-height:1.6}.booking-top strong{font-weight:600}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;flex-shrink:0;font-size:1.75rem;line-height:1}.icon-button:hover:not(:disabled){background:var(--pale)}.icon-button:disabled{opacity:.25}.close-booking{border:0;font-size:1.8rem}.booking-layout{display:grid;grid-template-columns:280px 1fr;min-height:570px}.booking-aside{padding:36px 30px;background:#eaf0eb;display:flex;flex-direction:column;border-right:1px solid var(--line)}.booking-portrait{border-radius:50%;width:72px;height:72px;object-fit:cover;object-position:50% 36%;margin-bottom:24px}.booking-aside .eyebrow{font-size:.75rem;margin-bottom:17px;letter-spacing:.13em}.booking-aside h2{font-size:2.25rem;letter-spacing:-.045em;margin-bottom:18px}.booking-aside>p:not(.eyebrow){font-size:.875rem;line-height:1.7}.booking-facts{padding:0;margin:12px 0 34px;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:.75rem;color:var(--body)}.booking-facts span{display:inline-flex;justify-content:center;width:18px;margin-right:7px;font-size:1.1rem;vertical-align:middle}.booking-aside-bottom{margin-top:auto;border-top:1px solid #cbd7cf;padding-top:18px;font-size:.75rem}.booking-aside-bottom p{margin-bottom:4px}.booking-aside-bottom a{font-size:1rem;border-bottom:1px solid #9bb0a6}.booking-main{padding:30px 35px;min-width:0}.booking-progress{display:flex;gap:20px;list-style:none;margin:0 0 32px;padding:0;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.booking-progress li{display:flex;align-items:center;gap:7px}.booking-progress li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;font-size:.75rem}.booking-progress li.current{color:var(--ink);font-weight:600}.booking-progress li.current span{background:var(--ink);color:white;border-color:var(--ink)}.booking-progress li.finished span{background:#dce8df;border-color:#cbd9ce}.booking-stage>h3{font-size:1.8rem;line-height:1.3;margin-bottom:7px;letter-spacing:-.035em}.booking-stage>h3:focus{outline:none}.booking-subtitle{font-size:.875rem;margin-bottom:25px}.calendar-layout{display:grid;grid-template-columns:minmax(220px,1fr) 120px;gap:28px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:8px}.calendar-heading strong{font-size:1rem;font-weight:500}.calendar-heading>div{display:flex;gap:5px}.calendar-heading .icon-button{height:31px;width:31px;font-size:1.35rem}.weekday-row,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday-row{margin-bottom:8px}.weekday-row span{text-align:center;font-size:.75rem;color:var(--muted)}.calendar-day,.empty-day{height:36px;min-width:0}.calendar-day{border:1px solid transparent;border-radius:50%;background:#e8eeea;font-size:.875rem;font-weight:500;padding:0}.calendar-day:hover:not(:disabled){background:#d4e2d9;border-color:#648377}.calendar-day:disabled{background:transparent;color:#697b80;font-weight:400;opacity:.5}.calendar-day[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.calendar-day[aria-current=date]{text-decoration:underline;text-underline-offset:4px}.calendar-note{font-size:.75rem;margin:18px 0 0;color:var(--muted)}.time-column>p{font-size:.875rem;font-weight:500;color:var(--ink);margin:8px 0 20px}.time-option{border:1px solid #a6b9b0;background:transparent;color:var(--ink);border-radius:4px;padding:10px 8px;width:100%;font-size:.875rem;min-height:42px;margin-bottom:10px}.time-option:hover{background:var(--pale)}.time-option[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.booking-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:22px;margin-top:27px}.booking-bottom p{font-size:.75rem;margin:0;max-width:220px}.booking-bottom .button{padding:11px 17px;font-size:.875rem;min-height:44px;gap:18px}.button:disabled{opacity:.45;transform:none;cursor:not-allowed}.back-link{background:transparent;border:0;padding:0 0 3px;margin-bottom:22px;font-size:.875rem;color:var(--body);text-decoration:underline;text-underline-offset:4px}.back-link:hover{color:var(--ink)}.chosen-appointment{background:var(--pale);padding:12px 15px;border-radius:4px;font-size:.875rem;margin-bottom:22px}.booking-stage form{display:flex;flex-direction:column}.booking-stage label:not(.preview-consent){font-weight:500;font-size:.875rem;margin-bottom:6px}.booking-stage input:not([type=checkbox]){border:1px solid #adbfbc;border-radius:4px;background:white;padding:11px 13px;font-size:1rem;width:100%;color:var(--ink);margin-bottom:18px}.form-note{font-size:.75rem;margin-bottom:20px}.preview-consent{display:flex;gap:11px;align-items:flex-start;font-size:.875rem;line-height:1.6;margin-bottom:22px;color:var(--body)}.preview-consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--ink)}.booking-stage form .button{align-self:flex-start;font-size:.875rem;min-height:46px;padding:11px 19px}.booking-complete{padding-top:4px}.completion-mark{display:flex;width:48px;height:48px;border-radius:50%;background:#e4ede3;align-items:center;justify-content:center;font-size:1.5rem;color:var(--ink);margin-bottom:21px}.booking-complete .eyebrow{font-size:.75rem;margin-bottom:10px}.booking-complete>p:not(.eyebrow){font-size:.875rem}.preview-receipt{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid var(--line);border-radius:5px;background:white;margin:23px 0;font-size:.875rem}.preview-receipt strong{font-family:var(--serif);font-size:1.1rem;margin-bottom:4px;font-weight:400}.preview-receipt span{color:var(--body)}.preview-warning{font-size:.875rem!important;line-height:1.7}.preview-warning strong{color:var(--ink)}.booking-complete .button{font-size:.875rem;min-height:46px;padding:12px 18px}.booking-complete>.back-link{display:block;margin:20px 0 0}.legal-page{max-width:760px;min-height:60vh;padding-block:72px 85px}.legal-page h1{font-size:3.3rem;margin-bottom:25px}.legal-page h2{font-size:1.7rem;letter-spacing:-.025em;margin-top:35px;margin-bottom:15px}.legal-page p,.legal-page li{font-size:1rem;line-height:1.8}.legal-page a:not(.button){text-decoration:underline;text-underline-offset:3px}.legal-page ul{padding-left:22px;color:var(--body)}.legal-page li{margin-bottom:12px}.legal-page .eyebrow{font-size:.75rem}.legal-callout{border-left:3px solid #6b897b;background:var(--pale);padding:18px 22px;margin:28px 0}.legal-callout p{margin:0}
@media(max-width:950px){.booking-layout{grid-template-columns:235px 1fr}.booking-aside{padding:30px 22px}.booking-main{padding:28px 25px}.calendar-layout{gap:18px;grid-template-columns:minmax(200px,1fr) 100px}.booking-progress{gap:14px}}
@media(max-width:760px){#booking-dialog{width:calc(100% - 24px);max-height:94dvh}.booking-top{padding:11px 12px 11px 18px;gap:10px}.booking-top p{font-size:.75rem;flex-direction:column;gap:0}.booking-layout{grid-template-columns:1fr}.booking-aside{display:none}.booking-main{padding:25px 22px 28px}.booking-progress{gap:12px;margin-bottom:27px;font-size:.75rem}.booking-progress li{gap:5px}.booking-stage>h3{font-size:1.7rem}.calendar-layout{grid-template-columns:1fr;gap:10px}.calendar-heading{margin-bottom:16px}.calendar-heading strong{font-size:1rem}.weekday-row span{font-size:.75rem}.calendar-day,.empty-day{height:40px}.calendar-day{font-size:.875rem;max-width:43px;width:100%;justify-self:center}.calendar-note{font-size:.75rem;margin-top:14px}.time-column>p{margin:5px 0 12px}.time-column #time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-option{font-size:.875rem;padding:10px 3px}.booking-bottom{margin-top:15px;padding-top:18px}.booking-bottom p{font-size:.75rem}.booking-bottom .button{padding-inline:14px}.booking-stage label:not(.preview-consent),.preview-consent{font-size:.875rem}.booking-subtitle{font-size:.875rem}.chosen-appointment{font-size:.875rem}.form-note{font-size:.875rem}.legal-page{padding-block:45px 60px}.legal-page h1{font-size:2.6rem}.legal-page h2{font-size:1.55rem}}
