:root{--plum:#592145;--wine:#812d4a;--rose:#dfadba;--blush:#f5e5df;--sand:#e6d1b1;--ink:#322531;--paper:#fbf7f3;--line:#cfb8c1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}figure{margin:0}h1,h2,h3{font-family:Fraunces,serif;font-weight:400;line-height:.98;letter-spacing:-.055em}h2{font-size:clamp(48px,6vw,90px);margin:0;color:var(--plum)}.topbar{height:88px;display:flex;align-items:center;padding:0 4.5vw;border-bottom:1px solid var(--line);gap:32px}.brand{font:22px/1 Fraunces,serif;color:var(--plum);min-width:175px}.brand span{font-style:italic}.brand small{display:block;font:500 9px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin-top:7px}.topbar nav{margin-left:auto;display:flex;gap:25px;font-size:12px}.header-cta,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 17px;font-size:12px;font-weight:700}.header-cta,.button.plum{background:var(--plum);color:white}.button span,.header-cta span{font-size:18px}.menu-toggle{display:none}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr;position:relative;padding:10vh 8.5vw 8vh;overflow:hidden}.hero-copy{align-self:center;max-width:510px}.eyebrow{font:500 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--wine);margin:0 0 22px}.hero h1{font-size:clamp(62px,8.2vw,130px);margin:0;color:var(--plum)}.hero h1 em{color:var(--wine)}.lede{max-width:380px;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--plum);padding-bottom:3px}.hero-photo{margin-left:5vw;min-height:500px;position:relative;overflow:hidden;background:var(--sand)}.hero-photo img,.care-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo img{position:absolute;inset:0}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(58,23,46,.72))}.hero-photo figcaption,.care-image figcaption{position:absolute;z-index:1;bottom:24px;left:26px;right:24px;color:white;font:500 10px/1.5 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.hero-note{font:500 10px/1.5 'DM Mono',monospace;position:absolute;bottom:6vh;left:4.5vw}.hero-note span{display:block;color:var(--wine);margin-bottom:8px}.intro,.care,.story,.practical{padding:14vh 8.5vw}.intro{background:var(--blush)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.large-copy{font:24px/1.35 Fraunces,serif;margin:0 0 24px}.care-heading{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.care-heading .eyebrow,.care-heading h2{grid-column:1}.care-heading>p:last-child{grid-column:2;grid-row:2;align-self:end;max-width:310px;margin:0}.care-list{margin-top:10vh;border-top:1px solid var(--line)}.care-list article{display:grid;grid-template-columns:15% 38% 1fr;gap:20px;padding:35px 0;border-bottom:1px solid var(--line)}.number{font:500 11px 'DM Mono',monospace;color:var(--wine)}.care-list h3{font-size:35px;color:var(--plum);margin:0}.care-list p{max-width:330px;margin:0}.photo-break{display:grid;grid-template-columns:1.1fr .9fr;min-height:530px}.care-image{position:relative;min-height:530px;overflow:hidden}.quote{background:var(--plum);color:white;padding:9vw;display:flex;align-items:center}.quote span{font:100px/0 Fraunces,serif;color:var(--rose);align-self:flex-start}.quote blockquote{font:clamp(26px,3vw,43px)/1.24 Fraunces,serif;margin:0}.benefits{padding:14vh 8.5vw;background:#f3e5df;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.benefits ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.benefits li{font:20px Fraunces,serif;padding:20px 0 20px 35px;border-bottom:1px solid var(--line);position:relative}.benefits li:before{content:'✦';position:absolute;left:0;color:var(--wine);font:14px Manrope}.story{display:grid;grid-template-columns:30% 1fr;gap:10vw}.story-side{position:relative}.vertical{font:500 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);writing-mode:vertical-rl;position:absolute;top:80px}.story-content{max-width:650px}.story-content h2{margin-bottom:45px}.story-content>p{margin:0 0 18px}.certificates{margin-top:45px;border-top:1px solid var(--line);font-size:12px}.certificates p{padding:15px 0;border-bottom:1px solid var(--line);margin:0}.certificates b{display:block;font:500 10px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--wine)}.aidants{background:var(--wine);color:white;display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;padding:12vh 8.5vw}.aidants .eyebrow{color:#f5cbd0}.aidants h2{color:white;margin-bottom:35px}.aidants-copy>p:not(.eyebrow){max-width:420px}.button.light{background:var(--blush);color:var(--plum);margin-top:20px}.aidants-mark{font:italic clamp(74px,10vw,160px)/.85 Fraunces,serif;color:var(--rose);align-self:center;text-align:center;transform:rotate(-9deg)}.practical{display:grid;grid-template-columns:20% 1fr 1fr;gap:5vw}.practical ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.practical li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.practical li span{display:block;font:500 9px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--wine)}.booking{padding:14vh 8.5vw;background:var(--blush);display:grid;grid-template-columns:.85fr 1.1fr .9fr;gap:4vw}.booking h2{font-size:clamp(42px,5vw,74px);margin-bottom:25px}.legend{display:flex;gap:15px;font-size:10px;margin-top:32px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.available-dot{background:var(--wine)}.booked-dot{background:#c9b7b1}.calendar-shell,.booking-form{background:var(--paper);padding:26px}.calendar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.calendar-header h3,.booking-form h3{font:400 23px Fraunces,serif;color:var(--plum);margin:0}.calendar-header button{border:0;background:transparent;color:var(--plum);font-size:24px;cursor:pointer}.weekday-row,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:3px}.weekday-row{padding:17px 0 7px;font:500 8px 'DM Mono',monospace;text-transform:uppercase;color:#806977}.calendar-day{border:0;background:transparent;border-radius:50%;aspect-ratio:1;max-width:35px;justify-self:center;width:100%;color:var(--plum);cursor:pointer}.calendar-day.available:hover,.calendar-day.selected{background:var(--wine);color:white}.calendar-day.unavailable{color:#c5b5b2;cursor:not-allowed}.slot-instruction{font-size:11px;margin:22px 0 9px}.time-slots{display:flex;flex-wrap:wrap;gap:7px}.slot-button{border:1px solid var(--line);background:transparent;padding:8px 10px;font:500 10px 'DM Mono',monospace;color:var(--plum);cursor:pointer}.slot-button:hover,.slot-button.selected{background:var(--plum);color:white}.booking-form{display:flex;flex-direction:column;gap:11px}.booking-form label,#admin-login-form label{font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--wine);display:flex;flex-direction:column;gap:5px}.booking-form input,.booking-form select,.booking-form textarea,#admin-login-form input{border:1px solid var(--line);background:white;padding:9px;font:400 13px Manrope,sans-serif;color:var(--ink);border-radius:0}.booking-form textarea{resize:vertical}.booking-form .button{border:0;margin-top:6px}.selected-slot{font-size:11px;margin:0;padding:10px;background:#f5e7e2;color:var(--plum);min-height:39px}.form-status{font-size:11px;margin:0;color:var(--wine)}footer{background:var(--plum);padding:50px 4.5vw;color:white;display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:30px;align-items:start}footer .brand{color:white}footer a{display:block;font-size:12px;margin-bottom:7px}.admin-link{background:none;border:0;color:white;font:500 9px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:0;cursor:pointer;margin:0 0 18px}dialog{border:0;padding:0;width:min(600px,calc(100vw - 30px));box-shadow:0 30px 90px rgba(47,25,40,.4);background:var(--paper)}dialog::backdrop{background:rgba(47,25,40,.6)}dialog section{padding:45px}dialog h2{font-size:42px;margin:0 0 20px}.dialog-close{position:absolute;right:15px;top:11px;border:0;background:none;font-size:25px;color:var(--plum);cursor:pointer}#admin-login-form{display:flex;flex-direction:column;gap:15px}#admin-login-form .button{border:0;align-self:start}.admin-slots article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:12px}.admin-slots p{margin:0}.admin-slots button{border:1px solid var(--wine);color:var(--wine);background:transparent;padding:7px 9px;font-size:11px;cursor:pointer}@media(max-width:760px){.topbar{height:72px;padding:0 6vw}.topbar nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto;border:0;background:none;color:var(--plum);font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.topbar nav.open{display:flex;position:absolute;z-index:3;top:72px;left:0;right:0;background:var(--paper);padding:22px 6vw;flex-direction:column;gap:14px;border-bottom:1px solid var(--line)}.hero{min-height:auto;display:block;padding:12vh 6vw 0}.hero-photo{margin:12vh 0 0;min-height:430px}.hero-note{position:static;padding:26px 0}.intro,.care,.story,.aidants,.practical,.benefits{padding:11vh 6vw}.intro-grid,.care-heading,.story,.aidants,.practical,.benefits,.booking{grid-template-columns:1fr}.intro-grid{gap:35px}.care-heading>p:last-child{grid-column:auto;grid-row:auto;margin-top:28px}.care-list{margin-top:7vh}.care-list article{grid-template-columns:50px 1fr;padding:28px 0}.care-list article p{grid-column:2}.care-list h3{font-size:30px}.photo-break{grid-template-columns:1fr}.care-image{min-height:380px}.quote{min-height:360px;padding:13vw}.vertical{display:none}.aidants{min-height:auto;gap:40px}.practical{gap:30px}.booking{padding:11vh 6vw;gap:25px}.calendar-shell,.booking-form{padding:20px}footer{grid-template-columns:1fr 1fr;padding:42px 6vw}.brand{font-size:20px}}
