
:root{--paper:#FFFFFF;--white:#fff;--ink:#5A2638;--burgundy:#762B43;--muted:#5C5158;--line:#E9DFE3;--tint:#FAF6F7}
body,header{background:var(--paper)}
.hero{background:#FFFFFF;color:#fff}.hero .eyebrow{color:#E8E2E5}.hero .intro{color:#EEE9EC}.hero-tagline{color:#852A47}
.hero .button,.catalog-cart .button{background:#852A47;color:#FFFFFF}.hero .button:hover,.catalog-cart .button:hover{background:#852A47;filter:brightness(1.08)}.hero a:focus-visible{outline-color:#852A47}
.nav-contact{background:#762B43;border-color:#762B43;color:#fff}.navigation nav>a.nav-contact:hover{color:#fff}.nav-contact [data-cart-count]{background:#FFFFFF26;color:#fff}
.about-wrap,.page-cta,.service-symbol,.journal-symbol{background:#FAF6F7}.about-intro p,.difference-grid p,.service-detail-description,.service-detail-includes li,.service-availability{color:#5C5158}
.home-overview-heading{background:#FFFFFF;border-color:#FFFFFF}.home-overview-heading h2,.service-quote blockquote p{color:#fff}.service-quote em{color:#852A47}.service-quote figcaption,.home-overview-heading .text-link{color:#EEE9EC}
.service-accordion-item{background:#fff;border-color:#E9DFE3}.service-accordion-caption{color:#5C5158}.service-accordion-item[open]{border-color:#762B43}.service-accordion-item[open] .service-symbol{background:#762B43;color:#fff}
.service-page-hero{background:#FAF6F7;border-color:#762B43}.service-filter[aria-pressed=true],.service-detail-band,.service-detail-actions .service-add,.catalog-cart{background:#762B43;color:#fff;border-color:#762B43}.service-detail-band .service-symbol{background:#FFFFFF20;color:#fff}
.service-menu-button[aria-pressed=true]{background:#FAF6F7;box-shadow:inset 3px 0 #852A47;color:#762B43}.service-filter,.service-menu-button,.service-detail-lead{color:#762B43}.service-detail-content{background:#fff}.service-detail-actions .service-add:hover{background:#FFFFFF}
.button:hover{background:#FFFFFF}.text-link,.nav-contact{border-color:#762B43}.service-filter:focus-visible{outline-color:#762B43}.service-mobile-selector select{border-color:#E9DFE3}
::selection{background:#852A47;color:#FFFFFF}

/* Approved light burgundy theme and readable typography. */
body{font-size:18px;color:#5a2638}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.025em}
h1 em,h2 em,h3 em,.hero-tagline em,.service-detail-lead,.service-quote em{font-family:var(--sans);font-style:normal;font-weight:600}
.eyebrow{font-size:12px;font-weight:600;color:#565b62;letter-spacing:.12em}
.navigation nav{font-size:16px;gap:29px}.brand strong{font-size:18px}.brand small{font-size:13px;color:#5c5158}.monogram{color:#5a2638}
.navigation .nav-contact{background:#852a47;color:#fff;border-color:#852a47;font-size:15px;font-weight:600}.navigation nav>a[aria-current=page]{color:#852a47}
.hero{background:white;color:#5a2638;border:1px solid #e9dfe3}
.hero-copy{padding:44px 46px}.hero h1{font-size:clamp(39px,4.2vw,57px);font-weight:600;line-height:1.08;letter-spacing:-.04em;color:#5a2638}
.hero .eyebrow{font-size:12px;color:#545962;font-weight:600}.hero .intro{font-size:18px;line-height:1.7;color:#454b53;max-width:480px}
.hero-tagline{font-size:24px;line-height:1.4;letter-spacing:-.02em;color:#852a47}
.button,.hero .button{font-size:16px;font-weight:600;min-height:52px;background:#852a47;color:white;border-color:#852a47}.button:hover,.hero .button:hover{background:#612039;color:white}.hero a:focus-visible{outline-color:#852a47}
.about-wrap{background:#faf6f7}.about-intro h2{font-size:38px;font-weight:600}.about-intro h2 em{color:#852a47}.about-intro>p{font-size:19px;line-height:1.8;color:#493e45}
.difference-grid h3{font-size:22px;font-weight:600}.difference-grid p{font-size:17px;line-height:1.8;color:#5c5158}
.home-overview-heading{background:#fbf4f6;border:1px solid #ecdce2}.service-quote blockquote p,.home-overview-heading h2{color:#5a2638}.service-quote em{color:#852a47}.service-quote figcaption{font-size:15px;color:#50545b}.home-overview-heading .text-link{font-size:16px;color:#852a47;border-color:#d6b5c2}
.service-accordion-title{font-size:22px;font-weight:600}.service-accordion-caption{font-size:16px;color:#5c5158}.service-accordion-content p{font-size:18px;line-height:1.75;color:#493e45}.service-accordion-link{font-size:16px;font-weight:600}.service-symbol{background:#faf0f3;color:#852a47}
.text-link{font-size:16px;font-weight:500}.page-cta p{font-size:18px;color:#493e45}.page-cta .eyebrow{font-size:12px;color:#545962}.page-cta .receipt-note{font-size:16px}.page-cta{background:#faf6f7}.home-reviews h2{font-size:38px}.home-reviews p{font-size:18px;color:#493e45}
.service-page-hero{background:#faf6f7;border-color:#852a47;gap:40px;padding:34px 36px}.service-hero-copy .eyebrow{font-size:12px;color:#545962}.service-hero-copy h1{font-size:clamp(36px,3.7vw,48px);font-weight:600;line-height:1.15;letter-spacing:-.035em}.service-hero-copy h1 em{color:#5a2638}
.service-hero-details .page-intro{font-size:18px;line-height:1.7;color:#493e45}.service-hero-details .button{font-size:16px;padding:13px 21px}.service-availability{font-size:14px;color:#5c5158;line-height:1.65}
.service-filter{font-size:16px;font-weight:600;padding:11px 18px;color:#424850}.service-filter[aria-pressed=true]{background:#852a47;color:#fff;border-color:#852a47}.service-filter:hover{background:#faf0f3;color:#612039}.service-filter[aria-pressed=true]:hover{background:#612039;color:white}.catalog-guidance{font-size:14px;color:#545962;line-height:1.7}
.service-selector-title{font-size:13px;color:#545962;font-weight:600}.service-menu-label{font-size:13px;color:#545962}.service-menu-button{font-size:17px;font-weight:500;line-height:1.5;color:#493e45}.service-menu-button[aria-pressed=true]{background:#faf0f3;color:#612039;box-shadow:inset 3px 0 #852a47}
.service-detail-panel{border-color:#dfe2e5}.service-detail-band{background:#faf0f3;color:#612039;font-size:16px;font-weight:600;border-bottom:1px solid #ecdce2}.service-detail-band .service-symbol{background:transparent;color:#852a47}
.service-detail-content{padding:30px 32px}.service-detail-content h2{font-size:34px;font-weight:600;color:#5a2638}.service-detail-lead{font-family:var(--sans);font-size:22px;font-style:normal;line-height:1.5;font-weight:500;color:#852a47}.service-detail-description{font-size:18px;line-height:1.75;color:#493e45}.service-detail-content h3{font-size:16px;font-weight:600;color:#5a2638;letter-spacing:0}.service-detail-includes li{font-size:17px;line-height:1.75;color:#493e45}.service-detail-includes li:before{font-size:15px;color:#852a47}.service-detail-actions .service-add{font-size:16px;font-weight:600;background:#852a47;color:white}
.catalog-scope-note{font-size:16px;line-height:1.75;color:#5c5158}.services-page .faq-list summary{font-size:19px;font-weight:500}.services-page .faq-list p{font-size:17px;color:#493e45}.services-page .service-mobile-selector label{font-size:15px}
footer,footer p,footer a{font-size:16px;color:#493e45}footer strong{font-size:18px;color:#5a2638}footer .owner-link{font-size:13px}
@media(max-width:960px){.navigation nav{gap:21px;font-size:15px}.service-page-hero{gap:28px;padding:28px}.service-hero-copy h1{font-size:39px}.service-filter{font-size:15px;padding:10px 14px}.service-menu-button{font-size:16px}}
@media(max-width:700px){.hero-copy{padding:31px 26px}.hero h1{font-size:39px}.hero .intro{font-size:17px;line-height:1.7}.hero-tagline{font-size:22px}.hero .eyebrow{font-size:11px}.about-intro h2{font-size:33px}.about-intro>p{font-size:18px}.service-hero-copy h1{font-size:36px}.service-page-hero{padding:26px 23px}.service-hero-details .page-intro{font-size:17px}.service-availability{font-size:14px}.service-filter{font-size:14px;padding:10px 12px}.catalog-guidance{font-size:13px}.service-detail-band{font-size:15px}.service-detail-content{padding:25px 22px}.service-detail-content h2{font-size:30px}.service-detail-lead{font-size:21px}.service-detail-description{font-size:17px}.service-detail-includes li{font-size:16px}.service-accordion-title{font-size:20px}.service-accordion-caption{font-size:15px}.service-quote blockquote p{font-size:25px}.home-overview-heading .text-link{font-size:16px}}

/* Shared colour roles on supporting pages. */
:root{--accent:#852a47;--accent-hover:#612039;--blush:#faf0f3;--body-copy:#493e45}
h1 em,h2 em,h3 em{color:var(--burgundy)}
.button:focus-visible,.service-add:focus-visible{outline-color:var(--accent-hover)}
.navigation nav>a.nav-contact:hover,.service-detail-actions .service-add:hover{background:var(--accent-hover);color:#fff}
.navigation nav>a.nav-contact[aria-current=page]{color:#fff}
.catalog-cart{background:var(--burgundy);border-color:var(--burgundy)}
.catalog-cart .button{background:#fff;color:var(--burgundy);border-color:#fff}
.catalog-cart .button:hover{background:var(--blush);color:var(--accent-hover)}
.floating-cart{background:var(--accent);border-color:var(--accent);font-size:16px}
.floating-cart:hover{background:var(--accent-hover)}
.floating-cart [data-cart-count]{background:#fff;color:var(--accent)}
.quiet-button{font-size:15px;color:var(--accent)}
.article-header .article-lead{color:var(--body-copy);font-size:20px}
.article-body{font-size:18px;color:var(--body-copy)}
.article-body h2{font-size:28px;color:var(--ink)}
.article-checklist,.article-cta{background:var(--tint);border:1px solid var(--line)}
.article-meta,.article-sources,.article-back{font-size:15px}

/* Blog: keep the editorial layout, with light surfaces and readable copy. */
.blog-page .journal-intro-copy>p{font-size:18px;color:var(--body-copy)}
.blog-page .journal-feature{background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.blog-page .journal-kicker{font-size:12px;color:var(--muted)}
.blog-page .journal-kicker>span{color:var(--accent);background:#fff;border-color:#d6b5c2;font-weight:600}
.blog-page .journal-feature h2 em{color:var(--accent)}
.blog-page .journal-feature-copy>p:not(.journal-kicker){font-size:18px;color:var(--body-copy)}
.blog-page .journal-feature-link{font-size:16px;font-weight:600;color:var(--accent);border-color:#d6b5c2}
.blog-page .journal-feature a:focus-visible{outline-color:var(--accent)}
.blog-page .journal-checkin{background:#fff;border:1px solid var(--line)}
.blog-page .journal-checkin-label,.blog-page .journal-checkin strong{font-size:17px;font-weight:600}
.blog-page .journal-checkin small,.blog-page .journal-checkin-footer{font-size:15px;color:var(--muted)}
.blog-page .journal-checkin>div{border-color:var(--line)}
.blog-page .journal-checkin>div>span{border-color:#d6b5c2}
.blog-page .journal-card:hover{border-color:var(--accent)}
.blog-page .journal-symbol{background:var(--blush);color:var(--accent)}
.blog-page .journal-card-top .eyebrow,.blog-page .journal-card-top .eyebrow span{font-size:11px}
.blog-page .journal-card>p,.blog-page .journal-community-intro>p:not(.eyebrow){font-size:17px;color:var(--body-copy)}
.blog-page .journal-card-link,.blog-page .journal-tip-form>summary{font-size:16px;font-weight:500}
.blog-page .journal-section-heading>span{font-size:14px}
.blog-page .journal-community-ideas .review-list-note{font-size:17px;color:var(--body-copy)}
.blog-page .journal-community-ideas .form-note{font-size:15px;color:var(--muted)}
.blog-page .journal-conversation p{font-size:17px;color:var(--body-copy)}

/* Booking and client forms use the same light, high-contrast system. */
.contact{background:var(--tint);border-color:var(--line)}
.booking-page>p:not(.eyebrow):not(.contact-note){font-size:18px;color:var(--body-copy);max-width:620px}
.booking-hours{font-size:16px}
.booking-page .booking-intake-link{font-size:16px!important;color:var(--muted)!important}
.booking-intake-link a{color:var(--accent)}
.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.service-cart,.calendar-summary{background:#fff;border-color:var(--line)}
.cart-heading h3{font-size:23px}
#cart-empty,#cart-items li,.meeting-choice strong{font-size:17px}
.cart-pricing,.booking-status,.meeting-choice small,.calendar-meeting-note,.calendar-fallback,#summary-help{font-size:15px;color:var(--muted)}
.appointment-options legend{font-size:22px;font-weight:600}
.appointment-options .button{font-size:16px}
.meeting-choice{background:#fff;border-color:var(--line)}
.meeting-choice:has(input:checked){background:var(--blush);border-color:var(--accent)}
#booking-summary-panel label,#booking-summary,#calendar-loading{font-size:16px}
#booking-summary{border-color:var(--line);color:var(--body-copy)}
.intake-heading>div>p:last-child{font-size:18px;color:var(--body-copy)}
.intake-heading aside{font-size:16px;border-color:var(--line)}
.intake-heading aside p,.intake-confirmation>p:not(.eyebrow){color:var(--body-copy)}
.intake-heading h1 em,.intake-heading aside a,.intake-fields label,.intake-message{color:var(--burgundy)}
.intake-form,.intake-confirmation,.intake-form-heading,.intake-service{border-color:var(--line)}
.intake-fields label,.intake-message,.intake-services-fieldset legend{font-size:17px}
.intake-form-heading p,.intake-fields label>span,.intake-services-fieldset>p,.intake-privacy,.intake-submit-row>span{font-size:15px;color:var(--muted)}
.intake-form input:not([type=checkbox]),.intake-form textarea{background:#fff;border-color:#cdb8c0;color:var(--body-copy)}
.intake-form input:focus,.intake-form textarea:focus{outline-color:var(--accent)}
.intake-service,.intake-consent{font-size:16px}
.intake-service:has(input:checked){background:var(--blush);border-color:var(--accent);color:var(--accent)}
.intake-service input,.intake-consent input{accent-color:var(--accent)}
.intake-success-mark{background:var(--blush);color:var(--accent)}
#intake-status{font-size:16px;color:var(--accent)}
.review-form>label{font-size:17px}
.form-note,.review-list-note{font-size:16px;color:var(--muted)}
.review-card p{font-size:18px;color:var(--body-copy)}
.review-card strong{font-size:17px}.review-card time{font-size:14px}
@media(max-width:700px){
  .blog-page .journal-feature-copy>p:not(.journal-kicker),.article-body,.article-header .article-lead{font-size:17px}
  .blog-page .journal-kicker{font-size:11px}
  .article-body h2{font-size:25px}
  .booking-page>p:not(.eyebrow):not(.contact-note){font-size:17px}
  .intake-heading>div>p:last-child{font-size:17px}
  footer,footer p,footer a{font-size:15px;overflow-wrap:anywhere}
}
@media(max-width:650px){.booking-layout{grid-template-columns:1fr}}
