.hero{display:block;text-align:center;padding-block:62px 53px;max-width:900px}.hero-copy h1{font-size:clamp(54px,6vw,78px);line-height:1.12;letter-spacing:-3px;margin-bottom:20px}.hero-copy .eyebrow{font-size:9px;margin-bottom:21px}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-bottom:25px}.hero-copy>.button{font-size:11px;letter-spacing:.8px;padding:16px 26px}.section{padding-block:36px 43px}.section-heading{margin-bottom:27px;align-items:center}.section-heading h2{font-size:36px}.section-heading .eyebrow{margin-bottom:11px}.section-heading>p{font-size:10px}.service-groups{grid-template-columns:repeat(4,1fr);gap:26px}.service-group{display:block;padding-top:18px}.group-index{display:block;font-size:8px;padding:0;margin-bottom:11px}.service-group h3{font-size:24px;min-height:28px;margin-bottom:13px}.service-group button{font-size:11px;min-height:44px;padding-block:10px}.booking-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #dfd1bf;padding-block:31px 40px}.booking-bar .eyebrow{margin-bottom:10px;font-size:8px}.booking-bar h2{font-size:31px;letter-spacing:-.7px}.booking-bar .button{font-size:10px;letter-spacing:.6px}.header nav .button{font-size:10px;letter-spacing:.5px}.appointment-dialog{width:min(540px,92%);max-width:540px;max-height:90dvh;padding:29px 30px 25px;border:1px solid #d7c2ab;border-radius:9px;overflow-y:auto;box-shadow:0 25px 100px #20120940}.appointment-dialog::backdrop{background:#2d2119a8;backdrop-filter:blur(5px)}.appointment-dialog>.eyebrow{font-size:8px;margin-bottom:12px}.appointment-dialog>h2{font-size:34px;letter-spacing:-1px;margin:0 0 10px}.appointment-dialog .dialog-intro{font-size:12px;margin:0 0 15px}.appointment-dialog .booking-form{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}.appointment-dialog label{margin-top:13px}.appointment-dialog input,.appointment-dialog select{min-height:44px}.appointment-dialog textarea{min-height:65px}.appointment-dialog .booking-form>.button{margin-top:18px;min-height:49px;justify-content:center;gap:20px}.appointment-dialog .form-note{font-size:9px}.appointment-dialog .message-ready{margin-top:14px;padding:13px}.appointment-dialog .message-ready p{font-size:10px}.appointment-dialog .dialog-close{border-radius:50%;height:34px;width:34px;right:15px;top:15px;font-size:25px}.appointment-dialog .dialog-close:hover{background:#e9ddce}body:has(.appointment-dialog[open]){overflow:hidden}.header nav.open .button{justify-content:center}footer{padding-top:35px}.contact-grid{padding-bottom:28px}.contact-grid>div:first-child p{margin-top:14px}
@media(max-width:950px){.service-groups{grid-template-columns:1fr 1fr;gap:25px 35px}.hero-copy h1{font-size:66px}}
@media(max-width:760px){.hero{padding-block:42px 35px}.hero-copy h1{font-size:clamp(43px,11.6vw,61px);letter-spacing:-2px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.1px}.hero-copy>p:not(.eyebrow){font-size:12px;margin-bottom:23px}.hero-copy>.button{font-size:10px;min-height:49px}.section{padding-block:26px 33px}.section-heading h2{font-size:31px}.section-heading>p{font-size:10px;margin-top:14px}.section-heading{margin-bottom:22px}.service-groups{grid-template-columns:1fr 1fr;gap:25px 21px}.service-group{padding-top:16px}.service-group h3{font-size:23px;line-height:1.2;min-height:28px;margin-bottom:10px}.service-group button{font-size:11px;gap:8px;padding-block:11px;min-height:45px}.booking-bar{display:block;text-align:center;padding-block:26px 31px}.booking-bar h2{font-size:28px;margin-bottom:21px}.booking-bar .button{font-size:10px;min-height:49px}.appointment-dialog{padding:26px 22px 22px;max-height:92dvh}.appointment-dialog>h2{font-size:31px}.appointment-dialog .dialog-intro{font-size:11px}.appointment-dialog input,.appointment-dialog select,.appointment-dialog textarea{font-size:16px}.appointment-dialog label{font-size:11px}.appointment-dialog .form-note{font-size:9px;line-height:1.6}.contact-grid{gap:24px 18px}.header nav{gap:0}}
@media(max-width:350px){.service-groups{grid-template-columns:1fr}.hero-copy h1{font-size:41px}.appointment-dialog .row{display:block}}
