@charset "UTF-8";
:root{--ivory:#fffaf5;--ink:#2d1415;--body:#573d40;--pink:#c51c54;--pink-dark:#a61343;--blush:#f8dfe6;--line:#e8d5d2;--white:#fffefd;--muted:#765c60;--serif:Georgia,'Times New Roman',serif;--sans:'Trebuchet MS',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--ivory);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5vw,76px)}h2{font-size:clamp(35px,3.6vw,56px)}h3{font-size:28px}p{color:var(--body)}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9b3860;outline-offset:4px}.wrap{width:min(1380px,calc(100% - 112px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:16px 12px;gap:32px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:0}.brand img{width:80px;height:80px;object-fit:contain}.brand span{font:500 clamp(25px,2.65vw,40px)/1.1 var(--serif);letter-spacing:-.045em}.site-header nav{display:flex;align-items:center;gap:36px}.site-header nav>a:not(.button){font-size:16px;text-decoration:none}.site-header nav>a:not(.button):hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--pink);border-radius:999px;background:var(--pink);color:white;padding:15px 29px;font:400 18px/1.35 var(--sans);text-decoration:none;transition:background .18s,transform .18s}.button:hover{background:var(--pink-dark);border-color:var(--pink-dark);transform:translateY(-1px)}.button.small{padding:13px 25px;font-size:16px}.button-outline{background:transparent;color:var(--pink)}.button-outline:hover{color:white}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding-top:10px;padding-bottom:38px;min-height:666px}.hero-copy{padding-top:35px;padding-bottom:32px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:14px;line-height:1.5;font-weight:700;color:var(--pink);margin-bottom:24px}.hero h1{font-size:clamp(44px,4.95vw,78px);line-height:1.03;letter-spacing:-.052em;margin-bottom:27px;white-space:nowrap}.hero-description{font-size:clamp(19px,1.65vw,25px);line-height:1.45;max-width:540px;margin-bottom:34px}.hero-button{font-size:22px;padding:17px 33px;gap:25px}.hero-button span{font-size:30px;line-height:1}.approval-note{font-size:17px;margin-top:6px;margin-bottom:21px}.text-link{display:inline-block;color:var(--pink);font-size:18px;text-decoration:none;border-bottom:1px solid var(--pink);line-height:1.5}.text-link:hover{color:var(--pink-dark);border-color:var(--pink-dark)}.hero-photo{padding-top:0;min-width:0}.hero-photo>img{width:100%;height:595px;object-fit:cover;object-position:46% 50%;border-radius:49% 51% 7% 6% / 34% 40% 6% 6%}.hero-photo figcaption{text-align:center;font-size:14px;margin-top:9px}.care-band{background:var(--blush);padding:48px 0 62px}.care-band h2{text-align:center;font-size:clamp(38px,4vw,60px);margin-bottom:46px}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.care-item{display:flex;gap:24px;align-items:center}.care-item img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.care-item h3{font-size:29px;margin-bottom:10px}.care-item p{font-size:18px;line-height:1.45;max-width:240px}.approach{padding-block:104px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.approach h2{margin-bottom:24px}.approach>div>p:last-child{font-size:19px;max-width:490px}.steps{list-style:none;padding:0;margin:0;display:grid;gap:29px}.steps li{display:flex;gap:23px;padding-bottom:26px;border-bottom:1px solid var(--line)}.steps li:last-child{border:0;padding-bottom:0}.steps>li>span{font:italic 28px/1 var(--serif);color:var(--pink);padding-top:4px}.steps h3{font-size:27px;margin-bottom:10px}.steps p{max-width:430px}.booking-section{background:#f6eeea;padding-block:90px}.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.booking-intro h2{font-size:clamp(42px,4.5vw,70px);margin-bottom:26px}.booking-intro>p{font-size:19px;max-width:390px}.booking-note{margin-block:30px;padding:24px 0;border-top:1px solid #dbc4c1;border-bottom:1px solid #dbc4c1;max-width:390px}.booking-note h3{font-size:24px;margin-bottom:10px}.booking-note p{font-size:16px}.booking-intro>.fine-print{font-size:14px}.booking-form-panel{background:var(--white);padding:35px;border-radius:16px;box-shadow:0 10px 35px #48201b05}.booking-form,.stack{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:7px;font-size:15px;line-height:1.45;color:var(--ink)}input,select,textarea{width:100%;max-width:100%;border:1px solid #9a807c;border-radius:7px;background:#fffefd;color:var(--ink);padding:12px 13px;font-size:16px;line-height:1.4}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--pink);margin:2px 0 0}textarea{resize:vertical}select{min-width:0}.optional{font-weight:400;color:var(--muted);font-size:13px}.check-label{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.6}.field-help,.fine-print{font-size:13px;color:var(--muted);line-height:1.6}.booking-form>.field-help{margin-top:-12px}.booking-form>.button{width:100%;font-size:18px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{padding:18px 21px;border-radius:8px;background:#f6ecdc;border:1px solid #e7d6b8;color:#62471d;margin-bottom:22px;font-size:15px}.notice.success{background:#edf3e9;border-color:#cadbc2;color:#314b25}.notice.error{background:#fff0f1;border-color:#e8afb8;color:#8b2037}.hello{text-align:center;padding-block:88px}.hello .eyebrow{margin-bottom:18px}.hello h2{margin-bottom:22px}.hello p:not(.eyebrow){margin-bottom:18px;font-size:19px}.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:30px;gap:20px;font-size:13px}.footer-name{font:28px/1.2 var(--serif);text-decoration:none;letter-spacing:-.04em}.site-footer>div{display:flex;gap:22px}.skip-link{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:20}.skip-link:focus{top:10px}.auth-panel{max-width:520px;padding-block:65px 100px}.auth-panel h1{font-size:50px;margin-bottom:16px}.auth-panel>p:not(.eyebrow){margin-bottom:25px}.auth-panel .fine-print{margin-top:23px}.text-page{max-width:820px;padding-block:65px 90px}.text-page h1{margin-bottom:30px}.text-page h2{font-size:32px;margin-top:34px;margin-bottom:15px}.text-page .fine-print{margin-top:30px}.admin-body{background:#fcf8f4}.admin-wrap{padding-block:30px 80px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-heading .eyebrow{margin-bottom:10px}.admin-heading h1{font-size:48px}.admin-tabs{display:flex;gap:28px;overflow-x:auto;border-bottom:1px solid var(--line);margin-block:32px}.admin-tabs a{white-space:nowrap;padding:14px 0;text-decoration:none;color:var(--muted);font-size:15px;border-bottom:3px solid transparent}.admin-tabs a.active{color:var(--pink);border-color:var(--pink)}.admin-wrap h2{font-size:36px;margin-bottom:12px}.admin-wrap>p{margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.count{border:1px solid var(--line);border-radius:30px;padding:9px 16px;font-size:14px}.panel,.booking-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:27px;margin-block:20px}.panel h3{font-size:26px;margin-bottom:13px}.booking-card-heading,.row-between{display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-card-heading h3{font-size:31px;margin-top:12px}.booking-card-heading h3>span{font:16px var(--sans);color:var(--muted);letter-spacing:0}.status{display:inline-block;font-size:12px;letter-spacing:.03em;padding:3px 10px;border-radius:18px;background:#eee8e3;color:#57433d}.status-pending{background:#f8eccd;color:#765213}.status-approved{background:#e2efdf;color:#365333}.status-declined,.status-cancelled{background:#f4e1e4;color:#8e3b4d}.reference{font-size:12px;color:var(--muted)}.booking-details{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr;gap:22px;margin-block:25px}.booking-details dt{text-transform:uppercase;font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:7px}.booking-details dd{font-size:14px;margin:0;overflow-wrap:anywhere}.routine-notes{background:#f9f1ef;border-radius:7px;padding:16px;margin-bottom:20px;font-size:15px}.booking-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.inline-form{display:flex;gap:12px;flex-wrap:wrap}.booking-actions summary{color:var(--pink);cursor:pointer;font-size:14px}.reschedule-form{display:grid;gap:12px;max-width:360px;padding-top:16px}.empty-state{padding:48px 30px;text-align:center;border:1px dashed #d5bdb9;border-radius:12px;margin-block:25px}.empty-state h3{margin-bottom:13px}.empty-state .text-link{margin-top:20px;font-size:16px}.services-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.settings-form{max-width:920px}.logo-settings{max-width:920px}.logo-settings>img{margin-bottom:15px;object-fit:contain}.logo-settings form{max-width:600px}.logo-settings .text-button{margin-top:20px}.text-button{border:0;background:none;padding:0;text-decoration:underline;color:var(--pink)}.email-row{display:flex;justify-content:space-between;gap:30px}.email-row h3{font-size:25px;margin-top:10px}.email-row p{font-size:14px}.retry-form{max-width:420px;display:grid;gap:14px}.admin-wrap .stack .button{justify-self:start}.calendar-list{margin-block:30px}.site-footer p{font-size:13px}
@media(min-width:1500px){.hero{gap:50px}.hero-photo>img{height:640px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:20px}.brand span{font-size:31px}.brand img{width:64px;height:64px}.hero{gap:24px;min-height:560px}.hero h1{font-size:4.9vw}.hero-photo>img{height:510px}.hero-description{font-size:20px}.care-grid{gap:26px}.care-item{gap:16px}.care-item img{width:75px;height:75px}.care-item h3{font-size:25px}.care-item p{font-size:16px}.approach{gap:60px}.booking-grid{gap:40px;grid-template-columns:.8fr 1.2fr}.booking-form-panel{padding:28px}.services-admin{grid-template-columns:1fr 1fr}.booking-details{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:12px}.brand span{font-size:30px}.brand img{width:58px;height:58px}.site-header nav{gap:0}.site-header nav>a:not(.button){display:none}.site-header nav .button{font-size:14px;padding:11px 17px}.hero{grid-template-columns:1fr;gap:34px;padding-top:14px;padding-bottom:35px}.hero-copy{padding:30px 0 0}.hero h1{white-space:normal;font-size:clamp(45px,8vw,67px);max-width:640px}.hero-description{max-width:550px;font-size:21px;margin-bottom:27px}.eyebrow{font-size:12px;margin-bottom:21px}.hero-button{font-size:18px}.hero-photo{max-width:640px;width:100%;margin:auto}.hero-photo>img{height:auto;aspect-ratio:1.18;object-position:center}.care-band{padding-block:39px}.care-band h2{margin-bottom:33px}.care-grid{grid-template-columns:1fr;gap:27px;max-width:500px;margin:auto}.care-item{gap:26px}.care-item img{width:80px;height:80px}.care-item p{max-width:100%;font-size:17px}.care-item h3{font-size:28px}.approach{padding-block:66px;grid-template-columns:1fr;gap:38px}.approach>div>p:last-child{max-width:600px}.steps p{max-width:none}.booking-section{padding-block:60px}.booking-grid{grid-template-columns:1fr;gap:32px}.booking-intro h2 br{display:none}.booking-intro>p{max-width:600px}.booking-note{max-width:100%;margin-block:23px}.booking-form-panel{padding:26px}.hello{padding-block:60px}.site-footer{flex-wrap:wrap;padding-block:25px}.site-footer p{order:3;flex-basis:100%}.admin-heading{display:block}.admin-heading .text-link{margin-top:17px}.admin-heading h1{font-size:39px}.admin-tabs{gap:22px}.services-admin{grid-template-columns:1fr}.booking-card-heading{align-items:flex-start}.booking-actions,.email-row{flex-direction:column}.booking-card-heading h3>span{display:block;margin-top:6px}.section-heading{align-items:flex-start;flex-direction:column}.row-between{align-items:flex-start;flex-direction:column}.auth-panel h1{font-size:43px}.retry-form{max-width:100%}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.brand span{font-size:25px}.brand{gap:6px}.brand img{width:47px;height:47px}.site-header nav .button{font-size:12px;padding:10px 12px}.hero h1{font-size:43px}.hero-description{font-size:19px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.approval-note{font-size:14px}.hero-photo>img{aspect-ratio:1.06}.care-band h2{font-size:36px}.form-row{grid-template-columns:1fr;gap:18px}.booking-form-panel{padding:22px 18px}.booking-details{grid-template-columns:1fr}.booking-card,.panel{padding:21px}.booking-card-heading{flex-direction:column;gap:10px}.inline-form{width:100%}.inline-form .button{width:100%}.admin-tabs{gap:20px}.admin-tabs a{font-size:14px}.footer-name{font-size:25px}.site-footer>div{gap:16px}.check-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
