@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,30,1;9..144,700,30,1&display=swap');
:root{--green:#234c3c;--mint:#e5eee5;--cream:#faf8f1;--peach:#f4dfc6;--text:#22382e;--muted:#667469;--border:#dde5db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:'DM Sans',Arial,sans-serif;color:var(--text);line-height:1.55}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{width:min(1140px,calc(100% - 44px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,Georgia,serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(3.8rem,7vw,6.9rem);max-width:650px;margin-bottom:25px}h2{font-size:clamp(2.4rem,4.1vw,4.1rem)}h3{font-size:1.35rem;line-height:1.25}em{font-style:italic;color:#779e7e}.site-header{background:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid #e9e9dc}.nav{height:81px;display:flex;align-items:center;gap:40px}.logo{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:700;white-space:nowrap}.paw{color:#87aa83;margin-right:7px}.nav nav{display:flex;align-items:center;gap:31px;margin-left:auto;font-size:.91rem;font-weight:600}.nav nav a:hover,.text-link:hover{color:#799c7b}.nav-cta{background:var(--green);color:#fff;padding:12px 19px;border-radius:30px;font-weight:700;font-size:.9rem}.nav-cta span{margin-left:10px}.menu-toggle{display:none}.hero{background:var(--mint);overflow:hidden}.hero-grid{min-height:640px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px}.hero-copy{padding:70px 0}.eyebrow,.overline{color:#668b75;font-size:.76rem;letter-spacing:.16em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:27px}.dot{width:8px;height:8px;border-radius:50%;background:#85a482}.hero-copy p{font-size:1.12rem;color:#557163;max-width:475px;line-height:1.8}.hero-actions{display:flex;gap:28px;align-items:center;margin:30px 0 64px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:none;border-radius:40px;padding:16px 26px;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:5px}.trust-row{display:flex;align-items:center;gap:20px;color:#607667;font-size:.78rem}.avatars{font-size:1.7rem;letter-spacing:-10px;padding-right:10px}.hero-art{height:100%;min-height:560px;position:relative;display:grid;place-items:center}.blob{position:absolute;background:#cfdfcf;border-radius:47% 53% 43% 57%;height:78%;width:100%;top:13%;transform:rotate(-14deg)}.dog-illustration{position:relative;width:min(100%,480px);z-index:2;filter:drop-shadow(0 10px 0 #c5d4c2)}.floating-note{position:absolute;z-index:3;right:0;bottom:95px;background:#fff;display:flex;gap:15px;align-items:center;padding:14px 19px;border-radius:16px;box-shadow:0 12px 35px #355c4423;transform:rotate(-4deg)}.floating-note>span{background:#fce9df;color:#df826b;width:43px;height:43px;display:grid;place-items:center;border-radius:100%;font-size:1.5rem}.floating-note strong{display:block;font-size:.84rem}.floating-note small{color:var(--muted)}.small-sparkle{position:absolute;z-index:4;color:#e5af69;font-size:3rem;top:80px;right:20px}.intro{padding:115px 0;display:grid;grid-template-columns:1fr 1fr;gap:13%}.section-heading h2{margin-top:15px}.intro-right{padding-top:35px;font-size:1.14rem}.intro-right .muted{color:var(--muted);font-size:.95rem}.services-section{background:#f0f2e9;padding:100px 0}.center-head{text-align:center;max-width:660px;margin:0 auto 45px}.center-head h2{margin:12px 0 15px}.center-head p{color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border-radius:22px;background:#fff;padding:34px;min-height:210px}.service-icon{height:57px;width:57px;display:grid;place-items:center;border-radius:17px;background:#e7eee4;font-size:1.7rem;margin-bottom:25px}.service-card p{color:var(--muted);font-size:.9rem}.rates{text-align:center;margin-top:60px}.rates-grid{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}.rate-card{background:#fff;border-radius:18px;padding:26px;min-width:200px}.rate-card strong{display:block;color:var(--green);font-size:1.5rem}.booking-section{padding:110px 0;background:#fff}.booking-shell{display:grid;grid-template-columns:1fr 1fr;max-width:950px;margin:0 auto;border:1px solid var(--border);border-radius:23px;overflow:hidden;box-shadow:0 12px 45px #244c3b0c}.calendar-pane{padding:35px;background:#fbfcf9;border-right:1px solid var(--border)}.booking-pane{padding:35px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.calendar-header h3{margin:0;font-size:1.2rem}.arrow-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:#fff;font-size:1.5rem}.arrow-btn:disabled{opacity:.3;cursor:not-allowed}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.weekdays{font-size:.72rem;color:#88978b;font-weight:700;margin-bottom:10px}.days button,.days .blank{aspect-ratio:1;min-width:0;display:grid;place-items:center;border-radius:50%;border:none;background:transparent;font-size:.87rem;color:#32483a}.days button:not(:disabled):hover{background:#e5eee5}.days button:disabled{color:#bfc8c0;cursor:not-allowed}.days button.selected{background:var(--green);color:#fff;font-weight:700}.days button.today{outline:1px solid #c2d3c2}.calendar-legend{display:flex;gap:22px;margin-top:24px;font-size:.75rem;color:var(--muted)}.calendar-legend i{display:inline-block;height:9px;width:9px;border-radius:50%;margin-right:7px}.legend-available{background:var(--green)}.legend-unavailable{background:#c3cdc2}.booking-step{font-size:.7rem;letter-spacing:.11em;color:#829486;font-weight:700;margin-bottom:13px}.booking-pane h3{margin-bottom:9px}.small-help{font-size:.78rem;color:var(--muted)}.time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:23px}.time-btn{border:1px solid #d8e4d7;background:#fff;color:var(--green);border-radius:9px;padding:11px 7px;font-size:.82rem;font-weight:700}.time-btn:hover,.time-btn.selected{border-color:var(--green);background:var(--green);color:#fff}.empty-state{grid-column:1/-1;color:#87948b;font-size:.9rem;padding:22px 0}.divider{height:1px;background:var(--border);margin:30px 0}.booking-pane label{display:block;font-size:.82rem;font-weight:700;margin:14px 0}.booking-pane input,.booking-pane textarea{display:block;width:100%;padding:12px 13px;margin-top:7px;border:1px solid #dce5da;border-radius:8px;outline-color:#7c9e83;background:#fff}.full{width:100%;margin-top:10px}.form-disclaimer{font-size:.74rem;color:#79857b;margin-top:13px}#formMessage{font-size:.88rem;margin-top:15px;color:#375946}.faq-section{padding:95px 0 110px}.faq-wrap{max-width:780px;margin:auto}.faq-wrap details{border-bottom:1px solid #dce5d9;padding:22px 0}.faq-wrap summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq-wrap summary::-webkit-details-marker{display:none}.faq-wrap details[open] summary span{transform:rotate(45deg)}.faq-wrap p{color:var(--muted);margin:15px 0 0}.closing{background:#2a5341;padding:70px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}.closing h2{margin:10px 0 0;max-width:600px}.closing .overline{color:#a8c3ab}.closing em{color:#bfd5b5}.light{background:#fff;color:var(--green);white-space:nowrap}footer{background:#19382c;color:#fff;padding:47px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-inner strong{font-family:Fraunces,serif;font-size:1.4rem}.footer-inner p,.footer-inner small,.footer-inner>div:nth-child(2){color:#adc2b3;font-size:.85rem}.footer-inner>div:nth-child(2) span{display:block}footer p{margin:5px 0 0}@media(max-width:850px){.nav{height:69px;gap:15px}.nav-cta{margin-left:auto}.menu-toggle{display:block;order:3;border:0;background:none;font-size:1.5rem}.nav nav{display:none;position:absolute;top:69px;left:0;right:0;padding:22px;background:var(--cream);box-shadow:0 15px 20px #0001;flex-direction:column}.nav nav.open{display:flex}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:75px 0 10px}.hero-art{min-height:400px;max-width:500px;width:100%;margin:0 auto}.blob{height:90%;top:5%}.dog-illustration{width:90%;max-height:410px}.floating-note{right:0;bottom:33px}.intro{gap:35px;padding:75px 0}.services-grid{gap:12px}.service-card{padding:22px}.booking-shell{grid-template-columns:1fr;max-width:560px}.calendar-pane{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:610px){.wrap{width:min(100% - 32px,1140px)}.logo{font-size:1.13rem}.nav-cta{font-size:.75rem;padding:10px 12px}.nav-cta span{display:none}h1{font-size:3.85rem}.hero-copy{padding-top:55px}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px;margin-bottom:40px}.trust-row{margin-bottom:12px}.intro{grid-template-columns:1fr;gap:0}.intro-right{padding-top:0}.services-section,.booking-section,.faq-section{padding:75px 0}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}.booking-pane,.calendar-pane{padding:24px 19px}.closing-inner,.footer-inner{flex-direction:column;align-items:flex-start}.closing{padding:60px 0}.footer-inner{gap:23px}.floating-note{transform:scale(.83) rotate(-4deg);transform-origin:right bottom}.hero-art{min-height:330px}}

/* Professional refresh — adjust the palette here to match Sophie's future branding. */
:root{--green:#24483e;--mint:#edf1eb;--cream:#fcfbf8;--peach:#e7ded1;--text:#253b34;--muted:#68776f;--border:#e0e5dd}
body{background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased}
.wrap{width:min(1160px,calc(100% - 52px))}
.site-header{background:rgba(252,251,248,.97);backdrop-filter:blur(12px);border-bottom:1px solid #e6e9e1}
.nav{height:78px;gap:32px}.nav nav{gap:28px;font-size:.86rem;font-weight:600}.logo{font-size:1.37rem;letter-spacing:-.035em}.paw{font-family:Georgia,serif;font-size:1.25rem;color:#8c9b85}
.nav-cta{border-radius:7px;padding:12px 20px}.nav-cta span{margin-left:6px}
h1,h2{letter-spacing:-.048em}h1{font-size:clamp(3.5rem,5.5vw,5.65rem);max-width:600px;line-height:1.09;margin-bottom:24px}h2{font-size:clamp(2.35rem,3.8vw,3.65rem)}h3{letter-spacing:-.025em}em{color:#779483}
.hero{background:#eef2ed}.hero-grid{min-height:615px;grid-template-columns:1.05fr .95fr;gap:56px}.hero-copy{padding:85px 0}.hero-copy p{color:#576d62;font-size:1.08rem;line-height:1.8;max-width:470px}
.eyebrow,.overline{color:#657f71;font-size:.71rem;letter-spacing:.15em}.eyebrow{margin-bottom:25px}.hero-actions{margin:32px 0 62px}.btn{border-radius:8px;padding:15px 23px;gap:12px;font-size:.91rem}.btn:focus-visible,.nav-cta:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #a0bfa5;outline-offset:3px}.primary:hover,.nav-cta:hover{background:#16382d}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:.91rem}.trust-row{font-size:.8rem;gap:0}.avatars{display:none}
.hero-art{min-height:540px}.blob{background:#dce7dd;transform:rotate(-10deg);border-radius:48% 52% 43% 57%;height:76%}.dog-illustration{width:min(92%,455px);filter:none}.floating-note{transform:none;right:0;bottom:75px;padding:17px 20px;border-radius:10px;box-shadow:0 12px 28px #253c3120}.floating-note>span{background:#e8f0e8;color:#628773;border-radius:8px;font-size:1.1rem;width:36px;height:36px}.floating-note strong{font-size:.82rem}.floating-note small{font-size:.74rem}.small-sparkle{display:none}
.intro{padding:105px 0;gap:11%}.intro-right{font-size:1.07rem;line-height:1.8}.intro-right .muted{font-size:.91rem}
.services-section{background:#f4f5f0;padding:105px 0}.center-head{margin-bottom:42px}.center-head p{line-height:1.75}.services-grid{gap:16px}.service-card{padding:33px;border-radius:10px;border:1px solid #e8ebe4;min-height:235px;box-shadow:0 5px 20px #1c392805}.service-icon{width:48px;height:48px;border-radius:9px;background:#edf2ec;font-size:1.35rem}.service-card h3{font-size:1.23rem}.service-card p{line-height:1.75}
.booking-section{padding:105px 0}.booking-shell{max-width:1000px;border-radius:12px;box-shadow:0 14px 45px #183c2710}.calendar-pane{padding:39px;background:#fafbf8}.booking-pane{padding:39px}.arrow-btn{border-radius:7px}.days button{border-radius:7px}.days button.today{outline:1px solid #a9bcb0}.time-btn{border-radius:7px;padding:12px 7px}.booking-pane input,.booking-pane textarea,.booking-pane select{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #dce5da;border-radius:7px;outline-color:#7c9e83;background:#fff;font:inherit;color:var(--text)}.booking-pane label{font-size:.81rem}.booking-step{color:#648171}.small-help{line-height:1.6}.form-disclaimer{line-height:1.65}
.faq-section{padding:100px 0 110px}.faq-wrap details{padding:24px 0}.closing{background:#264a3f}.closing h2{font-size:clamp(2.2rem,3.6vw,3.4rem)}.light{color:#25473b}footer{background:#1b362e}
@media(max-width:850px){.nav{height:69px}.hero-grid{gap:0}.hero-copy{padding:72px 0 10px}.hero-art{min-height:400px}.booking-pane,.calendar-pane{padding:30px}}
@media(max-width:610px){.wrap{width:min(100% - 34px,1140px)}.hero-copy{padding-top:58px}h1{font-size:clamp(3.1rem,12vw,4.1rem)}.hero-actions{margin-bottom:40px}.hero-art{min-height:320px}.floating-note{bottom:18px}.services-section,.booking-section,.faq-section{padding:75px 0}.service-card{min-height:0}.booking-pane,.calendar-pane{padding:23px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Standalone booking page */
.booking-page-section { min-height: calc(100vh - 190px); padding-top: 76px; }
.booking-page-section .center-head { max-width: 690px; margin-inline: auto; }

/* Primrose Pet Care brand refresh */
:root{--primrose-blue:#4f97e4;--primrose-navy:#303b78;}
body{background:#f8fbff;color:#273456}
.site-header{background:rgba(255,255,255,.97)}
.logo{display:flex;align-items:center;gap:10px;color:#293769!important}
.brandmark{width:47px;height:47px;object-fit:contain;border-radius:50%}
.hero{background:linear-gradient(135deg,#f4faff 0%,#e8f4ff 100%)}
.hero-brand-image{position:relative;display:block;width:min(92%,440px);height:auto;margin:0 auto;filter:drop-shadow(0 15px 30px rgba(40,76,146,.12));z-index:2}
.hero-art .blob{background:#d7eafb!important;opacity:.72}
.btn.primary,.nav-cta{background:#345fba!important;color:white!important}
.btn.primary:hover,.nav-cta:hover{background:#284b99!important}
.eyebrow,.overline,.booking-step{color:#345fba!important}
.services-section{background:#eef6ff}
.closing{background:#2b4383}
.service-card,.booking-shell,.faq-wrap details{border-color:#dce8f7}
@media(max-width:650px){.brandmark{width:38px;height:38px}.hero-brand-image{width:min(85%,320px)}}

/* Primrose's cohesive sky-blue palette — no dark green or navy blocks. */
:root{--green:#2864b4;--mint:#eaf4ff;--cream:#ffffff;--peach:#eaf4ff;--text:#243c60;--muted:#60738e;--border:#d9e7f7;--primrose-blue:#529dec;--primrose-navy:#244b85}
body{background:#fff;color:var(--text)}
.site-header{background:rgba(255,255,255,.97);border-color:#e1ebf7}
.nav nav a:hover,.text-link:hover{color:#2876ca}.paw,em,.closing em{color:#4a99e6}
.hero{background:linear-gradient(120deg,#f5faff 0%,#eaf4ff 100%)}
.hero-copy p,.trust-row{color:#5c718e}.eyebrow,.overline,.booking-step{color:#397fc8!important}
.dot{background:#529dec}.hero-art .blob{background:#d8eaff!important}
.services-section{background:#f2f8ff}.service-card{border-color:#dfeaf7;box-shadow:0 8px 26px #30609b08}.service-icon{background:#e7f2ff}
.intro-right .muted,.service-card p,.center-head p,.faq-wrap p{color:var(--muted)}
.booking-section,.booking-page-section{background:#fff}.calendar-pane{background:#f5faff}.booking-shell{border-color:#dae8f7;box-shadow:0 14px 40px #235a9b0d}
.days button:not(:disabled):hover{background:#dcecff}.days button.selected,.time-btn.selected,.time-btn:hover{background:#327bd0;color:#fff}.days button.today{outline-color:#a9cff7}.time-btn{color:#2864b4;border-color:#cfe1f6}.booking-pane input,.booking-pane textarea,.booking-pane select{border-color:#d3e3f4;outline-color:#529dec}
.faq-section{background:#fff}.faq-wrap details{border-color:#dce9f7}
.closing{background:#eaf4ff;padding:73px 0}.closing-inner{color:#233f67}.closing .overline{color:#397fc8!important}.closing h2{color:#233f67}.closing em{color:#327dc8}.closing .light{background:#327bd0;color:#fff;box-shadow:0 6px 18px #2667a921}.closing .light:hover{background:#2563af}
footer{background:#f7fbff;color:#264365;border-top:1px solid #dfeaf7;padding:42px 0}.footer-inner p,.footer-inner small,.footer-inner>div:nth-child(2){color:#627891}.footer-inner strong{color:#264365}
.btn.primary,.nav-cta{background:#327bd0!important}.btn.primary:hover,.nav-cta:hover{background:#2563af!important}

/* Refined services cards: understated iconography and editorial spacing */
.services-section{padding:112px 0 120px}
.services-section .center-head{max-width:760px;margin-bottom:53px}
.services-section .center-head h2{font-size:clamp(2.35rem,4vw,3.75rem);letter-spacing:-.04em}
.services-section .center-head p{font-size:1.035rem;max-width:660px;margin:0 auto}
.services-grid{gap:22px}
.service-card{position:relative;background:#fff;border:1px solid #dce7f2;border-radius:16px;padding:38px 36px 39px;min-height:266px;box-shadow:0 8px 30px rgba(39,87,142,.035);transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(39,87,142,.09)}
.service-icon{width:52px;height:52px;border-radius:13px;background:#edf5ff;color:#3178bd;margin-bottom:29px;display:grid;place-items:center}
.service-card h3{font-size:1.29rem;letter-spacing:-.02em;margin-bottom:16px;color:#243c60;font-weight:700}
.service-card p{font-size:.96rem;line-height:1.75;color:#647792;max-width:290px;margin:0}
@media(max-width:850px){.service-card{padding:29px 24px;min-height:245px}}
@media(max-width:610px){.services-section{padding:78px 0 85px}.services-grid{gap:14px}.service-card{min-height:0;padding:28px}.service-icon{margin-bottom:22px}}

/* Multi-day booking requests */
.selection-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 12px;font-size:.87rem;color:#45688a;font-weight:700}.clear-dates{border:1px solid #cadff5;border-radius:7px;background:#fff;color:#2769b4;padding:8px 12px;font-weight:700}.clear-dates:disabled{opacity:.4;cursor:not-allowed}.selected-dates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.selected-date-chip{border:1px solid #b7d7f6;background:#e7f2ff;border-radius:6px;padding:7px 10px;color:#1b568e;font-size:.8rem;font-weight:700}.days button.selected{background:#327bd0!important;color:white!important;outline:2px solid #327bd0;outline-offset:1px}.days button:focus-visible,.selected-date-chip:focus-visible{outline:3px solid #153c6b;outline-offset:2px}


/* Primrose Pet Care — charcoal, cream & golden retriever-inspired gold branding */
:root{--green:#26262a;--mint:#f5f0e7;--cream:#fffcf7;--peach:#e9ca8e;--text:#2c2b2a;--muted:#746d64;--border:#e9e0d3;--primrose-blue:#c3954a;--primrose-navy:#26262a}
body{background:var(--cream);color:var(--text)}
h1,h2{letter-spacing:-.043em}em,.closing em{color:#b28137!important}
.site-header{background:rgba(255,252,247,.97)!important;border-color:#e9e0d3!important}
.logo,.logo span{color:#28272a}.nav nav a:hover,.text-link:hover{color:#a6752e!important}
.brandmark{width:49px;height:49px;object-fit:contain;flex-shrink:0;border-radius:50%}
.nav-cta,.btn.primary{background:#29282b!important;color:#fffaf2!important;border:1px solid #29282b!important}
.nav-cta:hover,.btn.primary:hover{background:#483b2b!important;border-color:#483b2b!important}
.hero{background:linear-gradient(125deg,#fffcf7 0%,#f3eadb 100%)!important}
.hero-copy p,.trust-row{color:#655c51!important}
.eyebrow,.overline,.booking-step{color:#9b7135!important}.dot{background:#bc914c!important}
.hero-art .blob{background:#e9dcc6!important;transform:rotate(-12deg)}
.hero-brand-image{width:min(89%,420px);height:auto;object-fit:contain;border-radius:50%;filter:drop-shadow(0 17px 30px rgba(47,38,27,.15))}
.small-sparkle{color:#c3924d!important}
.intro{background:var(--cream)}.intro-right .muted{color:var(--muted)!important}
.services-section{background:#f4efe7!important}.services-section .center-head p{color:var(--muted)!important}
.service-card{border-color:#e6dacb!important;box-shadow:0 9px 26px rgba(55,39,23,.05)!important;background:#fffcf8!important}
.service-icon{color:#9e7436!important;background:#f5e9d6!important}
.service-card h3{color:#302b26!important}.service-card p{color:#726a60!important}
.booking-section,.booking-page-section,.faq-section{background:#fffcf7!important}
.booking-shell{border-color:#e7dccd!important;box-shadow:0 14px 40px rgba(49,35,21,.07)!important}
.calendar-pane{background:#faf5ed!important;border-color:#e7dccd!important}
.calendar-header h3,.booking-pane h3{color:#29272a}
.arrow-btn{border-color:#dfcfb8!important;color:#29272a;background:#fffdf9!important}
.weekdays,.small-help,.calendar-legend,.booking-pane .form-disclaimer{color:#73695f!important}
.days button{color:#3a342f!important}.days button:not(:disabled):hover{background:#eee0cb!important}
.days button.selected{background:#302d2c!important;outline-color:#bc914c!important;color:#fff!important}
.days button.today{outline-color:#bd9656!important}
.legend-available{background:#302d2c!important}.legend-unavailable{background:#cabba5!important}
.clear-dates{color:#5d4625!important;border-color:#d9c5a7!important;background:#fffdf9!important}
.selected-date-chip{background:#f1e5d2!important;color:#59401e!important;border-color:#d7bc91!important}
.selection-actions{color:#695338!important}
.booking-pane input,.booking-pane textarea,.booking-pane select{border-color:#daccb8!important;outline-color:#b78c48!important;background:#fffefa!important}
.divider{background:#eadfcd!important}.faq-wrap details{border-color:#e6dacb!important}.faq-wrap p{color:#71675d!important}
.closing{background:#29282b!important}.closing-inner,.closing h2{color:#fffaf1!important}
.closing .overline{color:#dfba76!important}.closing em{color:#e6c48a!important}
.closing .light{background:#d7ad6a!important;color:#262322!important;border:1px solid #d7ad6a!important}
.closing .light:hover{background:#f0cf96!important}
footer{background:#201f22!important;border-color:#423c33!important;color:#fffbf3!important}
.footer-inner strong{color:#fffbf3!important}
.footer-inner p,.footer-inner small,.footer-inner>div:nth-child(2){color:#cfc4b3!important}
@media(max-width:610px){.brandmark{width:40px;height:40px}.hero-brand-image{width:min(82%,310px)}}

.trust-mark{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#ebddc6;color:#9b7135;font-size:20px}

/* Header: standalone emblem without adjacent wordmark */
.site-header .logo{gap:0;display:inline-flex;align-items:center;}
.site-header .brandmark{width:62px;height:62px;}
@media(max-width:610px){.site-header .brandmark{width:49px;height:49px;}}

/* Header logo: show icon only by cropping off the text inside the image */
.site-header .brandmark{
  width:64px;
  height:64px;
  object-fit:cover;
  object-position:center 18%;
  border-radius:50%;
  display:block;
}
@media(max-width:610px){
  .site-header .brandmark{
    width:50px;
    height:50px;
  }
}

/* Final header icon override: use standalone icon without words */
.site-header .brandmark{
  width:64px;
  height:64px;
  object-fit:contain;
  object-position:center center;
  border-radius:50%;
  display:block;
}
@media(max-width:610px){
  .site-header .brandmark{
    width:50px;
    height:50px;
  }
}

/* Balanced word-free header mark */
.site-header .nav{min-height:86px;height:86px;align-items:center}
.site-header .logo{display:flex;align-items:center;align-self:center;line-height:1}
.site-header .logo .brandmark{width:56px;height:56px;max-width:56px;max-height:56px;object-fit:contain;object-position:center;display:block;border-radius:50%}
@media(max-width:610px){.site-header .nav{height:72px;min-height:72px}.site-header .logo .brandmark{width:46px;height:46px;max-width:46px;max-height:46px}}

/* About Sophie portrait */
.intro.about-with-photo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(32px,6vw,92px);padding-top:90px;padding-bottom:90px}
.about-photo-wrap{width:100%;max-width:430px;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#e9e0d3;box-shadow:0 16px 40px rgba(42,35,29,.11)}
.about-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 26%}
.about-with-photo .section-heading h2{margin-bottom:20px}
.about-with-photo .intro-right{padding-top:0}
@media(max-width:700px){.intro.about-with-photo{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:70px}.about-photo-wrap{max-width:430px;margin:auto;aspect-ratio:4/4.5}.about-with-photo .section-heading h2{font-size:clamp(2.3rem,9vw,3.5rem)}}

/* Contact form messaging and spam trap */
.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message{padding:13px 15px;margin-top:16px;border-radius:10px;font-size:.92rem;line-height:1.5}
.form-message.success{background:#f3ead7;color:#45321b;border:1px solid #c29b60}
.form-message.error{background:#fff4ef;color:#8b342a;border:1px solid #e6b2a7}
button:disabled{cursor:not-allowed;opacity:.65}

/* Backup contact options if email booking is not activated. */
.booking-fallback-actions{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}
.booking-fallback-actions .btn{font-size:.83rem;padding:11px 16px;border-radius:9px}
.booking-copy{background:#fff;color:#28272a;border:1px solid #b88a47}
.booking-text{background:#28272a;color:#fff}
.form-message.error{border:1px solid #d7a7a0;background:#fff7f5;border-radius:12px;padding:16px;margin-top:14px}
.form-message.success{border:1px solid #b2ceb5;background:#f2fbf1;border-radius:12px;padding:16px;margin-top:14px}

/* Launch-ready finishing touches */
[hidden]{display:none!important}
:focus-visible{outline:3px solid #b98b47;outline-offset:3px}
.site-header .logo{border-radius:50%}
.site-header .nav nav a{transition:color .15s ease}
.days button{touch-action:manipulation}
.days button.selected{font-weight:800}
.form-message:empty{display:none}
@media(max-width:610px){
 .hero h1{font-size:clamp(2.8rem,11.5vw,4rem);line-height:1.08}
 .booking-shell{max-width:100%}
 .booking-fallback-actions{flex-direction:column}
 .booking-fallback-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
