:root {
  --palette-ink: #171717;
  --palette-pink: #F6CBD8;
  --palette-pink-hover: #EAB0C1;
  --palette-gold: #B59545;
  --palette-ivory: #FFFCF8;
  --palette-blush: #FFF3F6;
  --palette-muted: #625D59;
  --palette-line: #E8DADD;

  --brand-green: var(--palette-pink);
  --brand-green-hover: var(--palette-pink-hover);
  --brand-wash: var(--palette-blush);
  --brand-wash-strong: var(--palette-pink);
  --brand-border: var(--palette-line);

  --ink: var(--palette-ink);
  --muted: var(--palette-muted);
  --sage: var(--palette-pink);
  --sage-dark: var(--palette-pink-hover);
  --sage-soft: var(--palette-blush);
  --warm: var(--palette-ivory);
  --line: var(--palette-line);
  --white: var(--palette-ivory);

  --pro-ink: var(--palette-ink);
  --pro-muted: var(--palette-muted);
  --pro-green: var(--palette-pink);
  --pro-green-dark: var(--palette-pink-hover);
  --pro-line: var(--palette-line);
  --pro-wash: var(--palette-ivory);
  --pro-tint: var(--palette-blush);
  --pro-paper: #fff;

  --hq-ink: var(--palette-ink);
  --hq-muted: var(--palette-muted);
  --hq-green: var(--palette-pink);
  --hq-deep: var(--palette-pink-hover);
  --hq-line: var(--palette-line);
  --hq-wash: var(--palette-ivory);
  --hq-paper: #fff;
  --hq-tint: var(--palette-blush);

  --cleaner-ink: var(--palette-ink);
  --cleaner-green: var(--palette-pink);
  --cleaner-green-dark: var(--palette-pink-hover);
  --cleaner-muted: var(--palette-muted);
  --cleaner-line: var(--palette-line);
  --cleaner-soft: var(--palette-blush);
  --cleaner-warm: var(--palette-ivory);
}

html {
  background: var(--palette-ivory);
  scrollbar-color: var(--palette-pink) var(--palette-ivory);
}

body {
  color: var(--palette-ink);
  background-color: var(--palette-ivory);
}

body.professionals-page {
  --pro-ink: var(--palette-ink);
  --pro-muted: var(--palette-muted);
  --pro-green: var(--palette-pink);
  --pro-green-dark: var(--palette-pink-hover);
  --pro-line: var(--palette-line);
  --pro-wash: var(--palette-ivory);
  --pro-tint: var(--palette-blush);
  color: var(--palette-ink);
  background-color: var(--palette-ivory);
}

body.booking-coverage-active {
  color: var(--palette-ink);
  background: radial-gradient(ellipse 28rem 22rem at 101% 39%, var(--palette-blush) 0%, var(--palette-blush) 67%, transparent 68%), radial-gradient(ellipse 23rem 20rem at -2% 79%, var(--palette-blush) 0%, var(--palette-blush) 67%, transparent 68%), var(--palette-ivory);
}

body.demo-page,
body.signed-out,
body.hq-signed-out,
body.cleaner-page {
  color: var(--palette-ink);
  background-color: var(--palette-ivory);
}

h1,
h2,
h3,
.portal-heading h1,
.hq-heading h1 {
  color: var(--palette-ink);
}

.subtle,
.help,
.muted,
.pro-intro,
.hero-note,
.page-intro > p,
.section-heading > p:last-child,
.portal-heading p,
.topbar-context,
.topbar-identity,
.sidebar-caption,
.hq-context,
.eyebrow {
  color: var(--palette-muted);
}

.announcement,
#announcement {
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.site-header,
#header.site-header {
  border-color: var(--palette-line);
  background: var(--palette-ivory);
}

.site-header .brand-home,
.home-footer-brand,
.portal-brand,
.hq-brand {
  color: var(--palette-ink);
}

.nav-cta,
.btn:not(.secondary):not(.btn-secondary),
.primary,
.book-button,
.cleaner-primary,
.hq-button.primary,
.portal-main .primary,
.coverage-search .primary,
.pro-join {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.nav-cta:hover,
.btn:not(.secondary):not(.btn-secondary):hover,
.primary:hover,
.book-button:hover,
.cleaner-primary:hover,
.hq-button.primary:hover,
.portal-main .primary:hover,
.coverage-search .primary:hover,
.pro-join:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.secondary,
.cleaner-secondary,
.hq-button.secondary {
  border-color: var(--palette-line);
  background: #fff;
  color: var(--palette-ink);
}

.secondary:hover,
.cleaner-secondary:hover,
.hq-button.secondary:hover {
  border-color: var(--palette-pink);
  background: var(--palette-blush);
  color: var(--palette-ink);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline-color: var(--palette-ink);
}

input,
select,
textarea {
  accent-color: var(--palette-pink);
}

.services,
.how-it-works,
.pro-plan,
.professional-banner,
.demo-cta,
.portal-nav button[aria-current="page"],
.hq-nav button[aria-current="page"],
.portal-notice[data-tone="success"],
.coverage-success,
.booking-status,
.slot-list li,
.addon-row,
.payment-split,
.window-note {
  background-color: var(--palette-blush);
}

.professional-banner,
.professional-banner h2,
.professional-banner p,
.professional-banner .banner-action span {
  color: var(--palette-ink);
}

.professional-banner .btn {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.portal-sidebar,
.hq-sidebar {
  background: var(--palette-blush);
  border-color: var(--palette-line);
}

.portal-nav button[aria-current="page"],
.hq-nav button[aria-current="page"] {
  color: var(--palette-ink);
}

.service-card,
.story,
.panel,
.portal-main .panel,
.hq-panel,
.booking-shell .panel {
  border-color: var(--palette-line);
}

.service-card,
.care-result,
.join-panel,
.contact-card,
.portal-main .panel,
.hq-panel,
.booking-shell .panel {
  background-color: #fff;
}

.service-number,
.service-icon,
.benefit-icon,
.step-icon,
.section-icon,
.booking-benefits > div > span,
.service-area-place > .material-symbols-rounded {
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.service-page-dot[aria-current="page"]::before,
.service-card li::before {
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.learn-link,
.text-link,
.text-button,
.change-service,
.addon-price,
.booking-header a:last-child,
.service-area-all > summary,
.portal-nav button[aria-current="page"] svg,
.hq-nav button[aria-current="page"] svg {
  color: var(--palette-ink);
}

.learn-link {
  border-color: var(--palette-pink);
}

.booking-shell .steps [aria-current="step"] span,
.customer-calendar-day.selected,
.customer-times .choice:has(input:checked),
.service-row.is-selected {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.portal-notice[data-tone="success"],
.coverage-success {
  border-color: var(--palette-pink);
  color: var(--palette-ink);
}

.professional-banner {
  border: 1px solid var(--palette-line);
}

.home-footer,
.home-footer-inner,
.home-footer-bottom,
.portal-footer,
.hq-footer {
  border-color: var(--palette-line);
}

.home-footer {
  background: var(--palette-blush);
  color: var(--palette-ink);
}

.home-footer-bottom,
.portal-footer,
.hq-footer {
  color: var(--palette-muted);
}

/* Demo and booking screens contain a few legacy green literals. */
.demo-page .demo-hero,
.demo-page .demo-cta {
  background: var(--palette-blush);
}

.demo-page .demo-hero h1,
.demo-page .demo-preview-heading h2,
.demo-page .demo-cta h2,
.demo-page .demo-workspace-brand {
  color: var(--palette-ink);
}

.demo-page .demo-hero .pro-join,
.demo-page .demo-cta .pro-join,
body.professionals-page .pro-hero .btn,
body.professionals-page .plan-summary .pro-join {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.demo-page .demo-hero .pro-join:hover,
.demo-page .demo-cta .pro-join:hover,
body.professionals-page .pro-hero .btn:hover,
body.professionals-page .plan-summary .pro-join:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.demo-app,
.demo-workspace,
.demo-screen,
.demo-preview,
.booking-shell .choice,
.booking-shell .coverage-search-shell,
.booking-shell .coverage-search,
.booking-shell .addon-row,
.booking-shell .payment-split,
.booking-shell .window-note,
.booking-shell .gear-continue {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.booking-shell .shared-quote-summary .quote-payment-split {
  background-color: #fffdfc;
}

.booking-shell .primary,
.booking-shell .coverage-search .primary,
.booking-shell.is-gear-step .gear-continue .primary {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
  box-shadow: none;
}

.booking-shell .primary:hover,
.booking-shell .coverage-search .primary:hover,
.booking-shell.is-gear-step .gear-continue .primary:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
  box-shadow: none;
}

.booking-shell .steps [aria-current="step"] span,
.booking-shell .steps .is-complete span,
.booking-shell .customer-calendar-day.has-opening,
.booking-shell .customer-calendar-day.selected,
.booking-shell .customer-times .choice:has(input:checked),
.booking-shell .service-row.is-selected,
.booking-shell .success-mark,
.booking-shell .coverage-trust-icon,
.booking-shell .coverage-pin,
.booking-shell .gear-cart-icon,
.booking-shell .gear-trust-list > li > span {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
  outline-color: var(--palette-ink);
}

.booking-header .brand,
.booking-header > a:last-child,
.booking-shell .eyebrow,
.booking-shell .text-button,
.booking-shell .coverage-zip-copy,
.booking-shell .coverage-trust-icon {
  color: var(--palette-ink);
}

.hq-nav button[aria-current="page"] {
  color: var(--palette-ink);
  background: var(--palette-pink);
}

/* Use the complete supplied wordmark anywhere the brand appears. */
#header img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: clamp(220px, 24vw, 300px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

#header.site-header[data-variant="home"] img[src$="baby-gear-care-logo-pink-bow.png"] {
  width: clamp(320px, 30vw, 400px);
}

#footer img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: 220px;
  height: auto;
  object-fit: contain;
}

.portal-brand img[src$="baby-gear-care-logo-pink-bow.png"],
.hq-brand img[src$="baby-gear-care-logo-pink-bow.png"],
.login-brand img[src$="baby-gear-care-logo-pink-bow.png"],
.hq-login-brand img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: 190px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.cleaner-brand img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: 205px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.cleaner-footer img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: 165px;
  height: auto;
  object-fit: contain;
}

.booking-header .brand img[src$="baby-gear-care-logo-pink-bow.png"] {
  display: block;
  width: 220px;
  height: auto;
  object-fit: contain;
}

body:has(.booking-utility-nav) > .booking-header {
  justify-content: center;
}

.booking-shell > .booking-utility-nav {
  order: -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  margin: -10px 2px 10px;
  gap: 16px;
}

.booking-shell > .intro:empty {
  display: none;
}

.booking-shell > .booking-utility-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.booking-shell > .booking-utility-nav .home-link {
  color: var(--palette-ink);
  text-decoration: none;
}

.booking-shell > .booking-utility-nav .manage-booking-link {
  padding: 4px 2px;
  color: var(--palette-muted);
  text-underline-offset: 3px;
}

.account-brand {
  display: block;
  width: min(240px, 70vw);
  margin: 0 auto 20px;
}

.account-brand img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 600px) {
  #header img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(190px, 54vw);
  }

  #header.site-header[data-variant="home"] img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(270px, 80vw);
  }

  #footer img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(210px, 64vw);
  }

  .portal-brand img[src$="baby-gear-care-logo-pink-bow.png"],
  .hq-brand img[src$="baby-gear-care-logo-pink-bow.png"],
  .login-brand img[src$="baby-gear-care-logo-pink-bow.png"],
  .hq-login-brand img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(170px, 48vw);
  }

  .cleaner-brand img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(174px, 50vw);
  }

  .booking-header .brand img[src$="baby-gear-care-logo-pink-bow.png"] {
    width: min(190px, 56vw);
  }

  .booking-shell > .booking-utility-nav {
    margin: -10px 0 8px;
  }

  .booking-shell > .booking-utility-nav a {
    font-size: 12px;
  }

  .booking-shell > .manage-booking-link {
    min-height: 40px;
    margin: -10px 0 8px;
    font-size: 12px;
  }
}

/* Keep legacy greens from page-specific styles inside the approved palette. */
.site-header,
.portal-sidebar,
.hq-sidebar,
.portal-topbar,
.hq-topbar {
  border-color: var(--palette-line);
  background-color: var(--palette-ivory);
}

.site-header nav a,
.portal-nav button,
.hq-nav button,
.portal-main .status-row,
.portal-main .transport-status,
.portal-main .agenda-time,
.portal-main .regular-week-row > span,
.portal-main .method-tag,
.portal-main .sidebar-caption,
.portal-main .sidebar-bottom,
.portal-main .topbar-context,
.portal-main .topbar-signout,
.hq-main .hq-back,
.hq-sidebar-foot,
.hq-top-actions button,
.cleaner-page,
.cleaner-page .cleaner-secondary,
.cleaner-page .quick-fact a,
.cleaner-page .section-link,
.cleaner-page .contact-text-link,
.cleaner-page .handoff-list li,
.cleaner-page .service-area-all > summary {
  color: var(--palette-ink);
}

.site-header nav a[aria-current="page"],
.site-header nav a:hover,
.portal-nav button:hover,
.hq-nav button:hover,
.portal-main .text-action,
.hq-main .hq-back,
.hq-main .hq-button.text,
.cleaner-page .cleaner-nav a:hover,
.cleaner-page .back-search:hover,
.cleaner-page .section-link:hover,
.cleaner-page .cleaner-footer a,
.cleaner-page .quick-fact a:hover,
.cleaner-page .contact-text-link,
.cleaner-page .service-area-all > summary:focus-visible {
  color: var(--palette-pink-hover);
}

.site-header nav .nav-cta,
.site-header nav .nav-cta:hover,
body.professionals-page #header.site-header nav .nav-cta,
body.professionals-page #header.site-header nav .nav-cta:hover,
body.join-page #call-request > .btn,
body.join-page #call-request > .btn:hover,
body.contact-page #contact-form > .btn,
body.contact-page #contact-form > .btn:hover,
body.professionals-page .pro-hero .pro-join,
body.professionals-page .plan-summary .pro-join,
body.professionals-page .pro-hero .pro-join:hover,
body.professionals-page .plan-summary .pro-join:hover,
.demo-page .demo-hero .pro-join,
.demo-page .demo-cta .pro-join,
.demo-page .demo-hero .pro-join:hover,
.demo-page .demo-cta .pro-join:hover,
.cleaner-page .cleaner-primary,
.cleaner-page .cleaner-primary:hover,
.booking-shell .primary,
.booking-shell .coverage-search .primary,
.booking-shell .coverage-search .primary:hover,
.booking-shell.is-gear-step .gear-continue .primary,
.booking-shell.is-gear-step .gear-continue .primary:hover {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
  box-shadow: none;
}

.portal-nav button[aria-current="page"],
.hq-nav button[aria-current="page"],
.portal-notice[data-tone="success"],
.hq-message[data-tone="success"],
.portal-main .status-pill[data-status="active"],
.portal-main .status-pill[data-status="completed"],
.hq-status[data-status="active"],
.hq-status[data-status="completed"],
.portal-main .calendar-day.has-opening,
.portal-main .calendar-day.is-available,
.portal-main .calendar-day.is-selected,
.hq-main .calendar-day.has-opening,
.hq-main .calendar-day.is-available,
.hq-main .calendar-day.is-selected,
.portal-main .window-length-choice:has(input:checked),
.hq-main .window-length-choice:has(input:checked),
.portal-main .override-row,
.hq-main .override-row,
.portal-main .readonly-fact,
.hq-main .hq-catalog-readonly,
.hq-main .hq-checkbox {
  border-color: var(--palette-pink);
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.portal-main .calendar-day.has-override i,
.portal-main .calendar-legend i,
.portal-main .calendar-legend .legend-change,
.portal-main .transport-status::before,
.hq-main .calendar-day.has-override i,
.hq-main .calendar-legend i,
.hq-main .calendar-legend .legend-change,
.hq-main .transport-status::before {
  border-color: var(--palette-pink);
  background-color: var(--palette-pink);
}

.portal-main .calendar-day:focus-visible,
.portal-main .weekly-method-select select:focus-visible,
.portal-main .date-mode-choice:focus-within,
.portal-main .portal-main :focus-visible,
.hq-main :focus-visible,
.cleaner-page :focus-visible,
.demo-page :focus-visible,
.booking-shell :focus-visible {
  outline-color: var(--palette-ink);
}

.portal-main input:focus,
.portal-main select:focus,
.portal-main textarea:focus,
.hq-main input:focus,
.hq-main select:focus,
.hq-main textarea:focus,
.booking-shell input:focus,
.booking-shell select:focus,
.booking-shell .coverage-search:focus-within,
.cleaner-page .service-area-all > summary:focus-visible {
  border-color: var(--palette-pink);
  outline-color: var(--palette-pink);
}

.portal-main input:not([type="checkbox"]),
.portal-main select,
.portal-main textarea,
.hq-main input:not([type="checkbox"]),
.hq-main select,
.hq-main textarea,
.booking-shell input:not([type="radio"]):not([type="checkbox"]),
.booking-shell select,
.cleaner-page input,
.cleaner-page select,
.cleaner-page textarea,
.contact-page input,
.contact-page select,
.contact-page textarea,
.join-page input,
.join-page select,
.join-page textarea {
  border-color: var(--palette-line);
  color: var(--palette-ink);
}

.portal-main .portal-notice[data-tone="success"],
.hq-main .hq-message[data-tone="success"],
.portal-main .status-pill,
.hq-main .hq-status,
.cleaner-page .cleaner-status,
.cleaner-page .profile-status:not(:empty),
.cleaner-page .next-tag,
.demo-page .demo-state,
.demo-page .demo-tag.confirmed {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.portal-main .portal-notice[data-tone="success"],
.hq-main .hq-message[data-tone="success"] {
  border-color: var(--palette-pink);
}

.portal-main .calendar-day:hover:not(:disabled),
.hq-main .calendar-day:hover:not(:disabled),
.portal-main .icon-button:hover,
.hq-main .hq-button.secondary:hover,
.portal-main .secondary:hover,
.cleaner-page .cleaner-secondary:hover,
.cleaner-page .service-book:hover,
.booking-shell .secondary:hover,
.booking-shell .choice:hover,
.booking-shell .customer-calendar-day:hover:not(:disabled),
.demo-page .demo-tabs a[aria-current="location"],
.demo-page .demo-tabs button[aria-pressed="true"] {
  border-color: var(--palette-pink);
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.portal-main .calendar-day.is-selected,
.hq-main .calendar-day.is-selected,
.booking-shell .steps [aria-current="step"] span,
.booking-shell .steps .is-complete span,
.booking-shell .customer-calendar-day.has-opening,
.booking-shell .customer-calendar-day.selected,
.booking-shell .customer-times .choice:has(input:checked),
.booking-shell .service-row.is-selected,
.booking-shell .choice:has(input:checked),
.booking-shell .required-indicator,
.booking-shell .success-mark,
.booking-shell .coverage-pin,
.booking-shell .coverage-trust-icon,
.booking-shell .review-icon,
.booking-shell .section-icon,
.booking-shell .review-edit,
.booking-shell .review-payment-icon,
.booking-shell .review-detail-icon {
  border-color: var(--palette-pink);
  background-color: var(--palette-pink);
  color: var(--palette-ink);
}

.booking-shell .test-banner,
.booking-shell .addon-row,
.booking-shell .payment-split,
.booking-shell .window-note,
.booking-shell .coverage-search-shell,
.booking-shell .coverage-pin,
.booking-shell .coverage-success,
.booking-shell .coverage-service-card,
.booking-shell .coverage-trust-icon,
.booking-shell .review-contact-card,
.booking-shell .review-payment-note,
.booking-shell .review-payment-split,
.booking-shell .review-professional-details,
.booking-shell .review-window-select,
.booking-shell .review-edit,
.booking-shell .professional-avatar,
.booking-shell .booking-benefits > div > span,
.booking-shell .gear-cart-icon,
.booking-shell .gear-trust-list > li > span,
.booking-shell .gear-continue,
.booking-shell .customer-calendar-day.has-opening,
.booking-shell .customer-times .choice:has(input:checked) {
  background-color: var(--palette-blush);
}

.booking-shell .coverage-search,
.booking-shell .coverage-search:focus-within,
.booking-shell .customer-calendar-day:focus-visible,
.booking-shell .customer-times .choice:focus-within,
.booking-shell .review-fields input:focus {
  border-color: var(--palette-pink);
}

.booking-shell .coverage-search .primary,
.booking-shell #booking-content[data-step="3"] .review-actions .primary,
.booking-shell #booking-content[data-step="3"] .review-sidebar-actions .primary,
.booking-shell .continue-to-review:not(:disabled) {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
  box-shadow: none;
}

.booking-shell .coverage-search .primary:hover,
.booking-shell #booking-content[data-step="3"] .review-actions .primary:hover,
.booking-shell #booking-content[data-step="3"] .review-sidebar-actions .primary:hover,
.booking-shell .continue-to-review:not(:disabled):hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
  box-shadow: none;
}

.booking-header > a:last-child,
.booking-shell .coverage-zip-copy,
.booking-shell #booking-content[data-step="3"] .payment-split strong,
.booking-shell #booking-content[data-step="3"] .review-payment-split strong,
.booking-shell .text-button {
  color: var(--palette-pink-hover);
}

.cleaner-header,
.cleaner-search-link,
.cleaner-footer,
.cleaner-page .quick-facts,
.cleaner-page .quick-fact:nth-child(3),
.cleaner-page .mobile-highlights,
.cleaner-page .mobile-highlight,
.cleaner-page .service-area-all,
.cleaner-page .service-area-card,
.cleaner-page .service-area-place > .material-symbols-rounded,
.cleaner-page .service-area-visual,
.cleaner-page .service-area-visual > .material-symbols-rounded,
.cleaner-page .cleaner-service-icon,
.cleaner-page .cleaner-service-track,
.cleaner-page .contact-band,
.cleaner-page .work-empty,
.cleaner-page .work-empty > .material-symbols-rounded {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.cleaner-page .cleaner-service-track:focus-visible,
.cleaner-page .cleaner-service-track,
.cleaner-page .service-area-code-list > span,
.cleaner-page .cleaner-service,
.cleaner-page .service-area-card,
.cleaner-page .quick-fact,
.cleaner-page .service-area-place {
  border-color: var(--palette-line);
}

.cleaner-page .cleaner-primary,
.cleaner-page .service-book,
.cleaner-page .catalog-retry button {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.cleaner-page .cleaner-primary:hover,
.cleaner-page .service-book:hover,
.cleaner-page .catalog-retry button:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.cleaner-page .cleaner-monogram,
.cleaner-page .cleaner-faq-item summary > .material-symbols-rounded,
.cleaner-page .mobile-highlight > .material-symbols-rounded,
.cleaner-page .service-area-visual > .material-symbols-rounded,
.cleaner-page .cleaner-service-track:focus-visible {
  color: var(--palette-pink-hover);
}

.demo-page,
.demo-page .demo-welcome h2,
.demo-page .demo-metrics strong,
.demo-page .demo-card-heading h3,
.demo-page .demo-area h3,
.demo-page .demo-public-copy h3,
.demo-page .demo-booking > div strong,
.demo-page .demo-profile-status > div strong,
.demo-page .demo-result-windows > strong,
.demo-page .demo-customer-search > div strong,
.demo-page .demo-workspace-brand,
.demo-page .demo-service-chips span,
.demo-page .demo-result-windows span,
.demo-page .demo-result-actions > a,
.demo-page .demo-example-heading > a {
  color: var(--palette-ink);
}

.demo-page .demo-hero,
.demo-page .demo-cta,
.demo-page .demo-app,
.demo-page .demo-screen,
.demo-page .demo-preview,
.demo-page .demo-customer-window,
.demo-page .demo-profile-cover,
.demo-page .demo-tabs a[aria-current="location"],
.demo-page .demo-tabs button[aria-pressed="true"],
.demo-page .demo-mini-mark,
.demo-page .demo-booking time,
.demo-page .demo-zip,
.demo-page .demo-result-photo,
.demo-page .demo-result-windows span,
.demo-page .demo-service-chips span {
  background: var(--palette-blush);
}

.demo-page .demo-hero .demo-wrap > p:not(.eyebrow),
.demo-page .demo-preview-heading > p,
.demo-page .demo-hero-note,
.demo-page .demo-welcome .demo-overline,
.demo-page .demo-card-heading .demo-overline,
.demo-page .demo-public-copy .demo-overline,
.demo-page .demo-metrics article > span,
.demo-page .demo-metrics small,
.demo-page .demo-card-heading > span,
.demo-page .demo-booking > div small,
.demo-page .demo-area > p:not(.demo-overline),
.demo-page .demo-profile-status > div small,
.demo-page .demo-public-copy > p:not(.demo-overline),
.demo-page .demo-public-meta,
.demo-page .demo-result-location,
.demo-page .demo-result-dropoff,
.demo-page .demo-result-actions > span,
.demo-page .demo-sidebar-bottom,
.demo-page .demo-sidebar-bottom small,
.demo-page .demo-disclaimer,
.demo-page .demo-benefits p,
.demo-page .demo-cta > p:not(.eyebrow) {
  color: var(--palette-muted);
}

.demo-page .demo-overline,
.demo-page .demo-customer-title .demo-overline,
.demo-page .demo-benefits article > span,
.demo-page .demo-result-main .demo-overline,
.demo-page .demo-result-location .icon,
.demo-page .demo-result-method,
.demo-page .demo-result-trust .icon,
.demo-page .demo-customer-pin,
.demo-page .demo-status-dot {
  color: var(--palette-pink-hover);
}

.demo-page .demo-status-dot,
.demo-page .demo-result-method,
.demo-page .demo-customer-pin {
  background-color: var(--palette-pink);
}

.demo-page .demo-app,
.demo-page .demo-sidebar,
.demo-page .demo-card,
.demo-page .demo-metrics article,
.demo-page .demo-result,
.demo-page .demo-customer-search,
.demo-page .demo-public-meta,
.demo-page .demo-booking,
.demo-page .demo-benefits article {
  border-color: var(--palette-line);
}

.demo-page .demo-result-photo span {
  color: var(--palette-pink-hover);
}

.demo-page .demo-customer-search button {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.contact-page .contact-panel,
.join-page .join-panel {
  border-color: var(--palette-line);
  background: var(--palette-blush);
}

.contact-page .contact-email,
.contact-page .contact-panel > p,
.contact-page .page-intro > p:last-child,
.join-page .join-panel > p,
.join-page .page-intro p,
.contact-page .form-grid label,
.join-page .form-grid label,
.join-page .saved-draft {
  color: var(--palette-ink);
}

.contact-page .contact-email a,
.contact-page .text-link,
.join-page .text-link {
  color: var(--palette-pink-hover);
}

.contact-page .form-note,
.join-page .form-note {
  border-color: var(--palette-line);
  background: var(--palette-blush);
  color: var(--palette-muted);
}

.join-page .form-grid label.consent-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}

.join-page .form-grid .consent-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  padding: 0;
  accent-color: var(--palette-ink);
}

.join-page .form-error {
  color: #9f2d36;
}

.pro-benefit,
.pro-benefit:not(:last-child)::after,
.plan-includes,
.benefit-icon {
  border-color: var(--palette-line);
}

.plan-includes li .icon,
.benefit-icon,
.pro-hero .eyebrow,
.pro-faq > .eyebrow,
.pro-plan .eyebrow {
  color: var(--palette-pink-hover);
}

.plan-includes li .icon,
.benefit-icon {
  background: var(--palette-blush);
}

body.professionals-page .pro-hero,
body.professionals-page .pro-plan,
body.professionals-page .pro-benefit:not(:last-child)::after,
body.professionals-page .plan-includes {
  border-color: var(--palette-line);
  background: var(--palette-blush);
}

body.professionals-page .mobile-callback-cta {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

body.professionals-page .mobile-callback-cta:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

.hq-main .hq-note,
.hq-main .hq-status,
.hq-main .hq-local-photo-option,
.hq-main .hq-photo-preview,
.hq-main .hq-record-row,
.hq-main .hq-lead-row,
.hq-main .hq-payment-row,
.hq-main .hq-static-row,
.hq-main .hq-cleaner-row,
.hq-main .hq-facts > div,
.hq-main .hq-photo-control,
.hq-main .hq-catalog-readonly,
.portal-main .notice-line,
.portal-main .status-row,
.portal-main .override-row,
.portal-main .settings-limit {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
  color: var(--palette-ink);
}

.hq-main .hq-top-actions button,
.hq-main .hq-back,
.hq-main .hq-button.text,
.portal-main .text-action {
  color: var(--palette-pink-hover);
}

.hq-main .hq-switch input:focus-visible + .hq-switch-track,
.hq-main .hq-search:focus,
.hq-main input:focus,
.hq-main select:focus,
.hq-main textarea:focus {
  outline-color: var(--palette-pink);
  border-color: var(--palette-pink);
}

.hq-main .hq-switch-track {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.hq-main .hq-status-dot,
.hq-main .status-dot,
.portal-main .status-dot {
  background-color: var(--palette-pink);
}

.booking-shell .test-banner,
body:has(.booking-shell) .test-banner {
  background: var(--palette-blush);
  color: var(--palette-ink);
}

.booking-shell .spinner {
  border-color: var(--palette-line);
  border-top-color: var(--palette-pink);
}

.booking-shell .coverage-search-shell,
.booking-shell .coverage-search,
.booking-shell .coverage-search:focus-within,
.booking-shell .coverage-page .selected-service-card,
.booking-shell .coverage-page .change-service,
.booking-shell .coverage-page .change-service:hover,
.booking-shell .review-main-card,
.booking-shell .review-professional-card,
.booking-shell .review-sidebar,
.booking-shell .review-order-line,
.booking-shell .review-professional-person,
.booking-shell .review-window-select,
.booking-shell .review-payment-split,
.booking-shell .coverage-trust-item + .coverage-trust-item {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.booking-shell .coverage-search .primary,
.booking-shell .continue-to-review:not(:disabled),
.booking-shell #booking-content[data-step="3"] .review-actions .primary,
.booking-shell #booking-content[data-step="3"] .review-sidebar-actions .primary {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
  box-shadow: none;
}

.booking-shell .coverage-search .primary:hover,
.booking-shell .continue-to-review:not(:disabled):hover,
.booking-shell #booking-content[data-step="3"] .review-actions .primary:hover,
.booking-shell #booking-content[data-step="3"] .review-sidebar-actions .primary:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
  box-shadow: none;
}

.booking-shell .coverage-trust-icon,
.booking-shell .coverage-pin,
.booking-shell .review-icon,
.booking-shell .section-icon,
.booking-shell .review-payment-icon,
.booking-shell .review-detail-icon,
.booking-shell .review-edit,
.booking-shell .success-mark {
  border-color: var(--palette-line);
  background: var(--palette-blush);
  color: var(--palette-pink-hover);
}

.cleaner-page .cleaner-portrait,
.cleaner-page .portrait-unavailable,
.cleaner-page .cleaner-service-art,
.cleaner-page .service-area-code-list > span,
.cleaner-page .service-area-city-wide,
.cleaner-page .mobile-highlights,
.cleaner-page .mobile-highlight,
.cleaner-page .quick-facts,
.cleaner-page .quick-fact,
.cleaner-page .contact-band,
.cleaner-page .work-empty {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.cleaner-page .service-area-city-wide,
.cleaner-page .contact-band p:last-child,
.cleaner-page .mobile-highlight small,
.cleaner-page .service-note,
.cleaner-page .service-scroll-hint,
.cleaner-page .mobile-highlight small {
  color: var(--palette-muted);
}

.cleaner-page .service-area-place > .material-symbols-rounded,
.cleaner-page .mobile-highlight > .material-symbols-rounded,
.cleaner-page .work-empty > .material-symbols-rounded,
.cleaner-page .cleaner-faq-item summary > .material-symbols-rounded {
  background-color: var(--palette-blush);
  color: var(--palette-pink-hover);
}

.cleaner-page .status-dot {
  background-color: var(--palette-pink);
}

.cleaner-page .cleaner-service-track {
  scrollbar-color: var(--palette-pink) transparent;
}

.care-result .match-location .material-symbols-rounded,
.care-result .match-trust .material-symbols-rounded,
.care-result .match-method,
.care-result .text-link {
  color: var(--palette-pink-hover);
}

.care-result .match-photo-wrap,
.care-result .match-photo-placeholder,
.care-result .match-trust,
.care-result .match-actions {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.care-result .match-photo-placeholder {
  color: var(--palette-muted);
}

.care-result .retry-search {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.care-result .retry-search:hover {
  border-color: #303030;
  background: #303030;
  color: var(--palette-ivory);
}

.care-result .view-profile {
  border: 1px solid var(--palette-line);
  background: var(--palette-ivory);
  color: var(--palette-ink);
}

.care-result .view-profile:hover {
  border-color: var(--palette-line);
  background: var(--palette-blush);
  color: var(--palette-ink);
}

.care-result .retry-search:focus-visible,
.care-result .view-profile:focus-visible {
  outline-color: var(--palette-ink);
}

.demo-page .demo-mini-mark,
.demo-page .demo-tabs a[aria-current="location"],
.demo-page .demo-tabs button[aria-pressed="true"],
.demo-page .demo-booking time,
.demo-page .demo-zip,
.demo-page .demo-service-chips span,
.demo-page .demo-result-windows span {
  border-color: var(--palette-line);
  background: var(--palette-blush);
  color: var(--palette-ink);
}

.demo-page .demo-result-trust,
.demo-page .demo-result-actions,
.demo-page .demo-public-meta,
.demo-page .demo-area hr {
  border-color: var(--palette-line);
  background-color: var(--palette-blush);
}

.demo-page .demo-result-method,
.demo-page .demo-result-location .icon,
.demo-page .demo-result-trust .icon,
.demo-page .demo-customer-pin,
.demo-page .demo-customer-title .demo-overline,
.demo-page .demo-result-main .demo-overline,
.demo-page .demo-example-heading > a {
  color: var(--palette-pink-hover);
}

.demo-page .demo-customer-search button {
  border-color: var(--palette-ink);
  background: var(--palette-ink);
  color: var(--palette-ivory);
}

.demo-page .demo-customer-search button:hover {
  border-color: var(--palette-pink);
  background: var(--palette-pink);
  color: var(--palette-ink);
}

body.contact-page .form-grid input:focus,
body.contact-page .form-grid select:focus,
body.contact-page .form-grid textarea:focus,
body.join-page .form-grid input:focus,
body.join-page .form-grid select:focus {
  border-color: var(--palette-pink);
  outline-color: var(--palette-pink);
}

body.contact-page .contact-panel,
body.join-page .join-panel,
body.contact-page .form-note,
body.join-page .form-note {
  border-color: var(--palette-line);
  background: var(--palette-blush);
}

body.contact-page .contact-email a,
body.join-page .saved-draft {
  color: var(--palette-pink-hover);
}

::selection {
  color: var(--palette-ink);
  background: var(--palette-pink);
}

/* Final pass for shared accents that also appear outside the marketing pages. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.service-rail:focus-visible,
.service-page-dot:focus-visible {
  outline-color: var(--palette-pink);
}

.service-card .service-copy strong,
.service-page-dot[aria-current="page"]::before,
.service-card li::before,
.result-pin,
.result-link,
.service-arrow:not(:disabled) {
  color: var(--palette-pink-hover);
}

.service-page-dot[aria-current="page"]::before,
.service-card li::before {
  background-color: var(--palette-pink);
}

.service-card,
.service-card .service-copy,
.services,
.demo-page .demo-benefits article,
.demo-page .demo-result-trust,
.demo-page .demo-result-actions,
.demo-page .demo-result-photo,
.demo-page .demo-profile-cover,
.demo-page .demo-sidebar,
.demo-page .demo-zip,
.demo-page .demo-state,
.demo-page .demo-tag.confirmed {
  border-color: var(--palette-line);
}

.demo-page .demo-result-location,
.demo-page .demo-result-dropoff,
.demo-page .demo-result-actions > span,
.demo-page .demo-result-windows > strong,
.demo-page .demo-profile-status > div strong,
.demo-page .demo-public-meta strong,
.demo-page .demo-card-heading h3,
.demo-page .demo-area h3,
.demo-page .demo-public-copy h3,
.demo-page .demo-workspace-brand,
.demo-page .demo-booking > div strong {
  color: var(--palette-ink);
}

.demo-page .demo-benefits article,
.demo-page .demo-booking,
.demo-page .demo-card,
.demo-page .demo-metrics article,
.demo-page .demo-result,
.demo-page .demo-result-actions,
.demo-page .demo-result-trust,
.demo-page .demo-customer-window,
.demo-page .demo-public-meta,
.demo-page .demo-service-chips span,
.demo-page .demo-tabs a[aria-current="location"],
.demo-page .demo-tabs button[aria-pressed="true"] {
  background-color: var(--palette-blush);
}

/* ZIP availability search: one quiet card, a distinct pill input, and a separate CTA. */
body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search-shell {
  padding: 28px 30px;
  border: 1px solid #f0dce3;
  border-radius: 30px;
  background: #fffdfd;
  box-shadow: 0 12px 30px #1714160d;
  margin-bottom: 18px;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  grid-template-rows: minmax(84px, auto) 86px;
  align-items: center;
  gap: 22px 20px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-pin {
  grid-column: 1;
  grid-row: 1;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  justify-self: center;
  background: #fff0f4;
  color: var(--palette-pink-hover);
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-pin svg {
  width: 34px;
  height: 34px;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-field {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-copy {
  display: block;
  margin: 0 0 8px 12px;
  color: var(--palette-pink-hover);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.2;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-field input:not([type="radio"]):not([type="checkbox"]) {
  width: 100%;
  min-width: 0;
  height: 84px;
  min-height: 0;
  margin: 0;
  padding: 0 28px;
  border: 1.5px solid #e6dde0;
  border-radius: 999px;
  background: #fff;
  color: var(--palette-ink);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0;
  box-shadow: inset 0 1px 2px #17141608;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-field input::placeholder {
  color: #85838a;
  opacity: 1;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-field input:focus {
  border-color: var(--palette-pink);
  outline: 0;
  box-shadow: 0 0 0 4px #e9789a1a;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary,
body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:hover {
  position: relative;
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  min-height: 86px;
  padding: 14px 86px 14px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--palette-ink);
  color: var(--palette-ivory);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 8px 18px #17141618;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px #17141620;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px #17141614;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:focus-visible {
  outline: 3px solid var(--palette-pink);
  outline-offset: 3px;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary span {
  position: absolute;
  top: 50%;
  right: 14px;
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--palette-pink);
  color: var(--palette-ivory);
  font-size: 30px;
  line-height: 1;
  transition: transform .18s ease;
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:hover span {
  transform: translate(3px, -50%);
}

body.booking-coverage-active .booking-shell.is-coverage-step .coverage-error {
  margin: 8px 0 0 100px;
  color: #a43b5c;
}

@media (max-width: 640px) {
  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search-shell {
    padding: 18px;
    border-radius: 24px;
    margin-bottom: 14px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: minmax(68px, auto) 68px;
    gap: 16px 12px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-pin {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-pin svg {
    width: 29px;
    height: 29px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-copy {
    margin: 0 0 5px 12px;
    font-size: 11px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-zip-field input:not([type="radio"]):not([type="checkbox"]) {
    height: 66px;
    padding: 0 18px;
    font-size: 21px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary,
  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary:hover {
    min-height: 68px;
    padding: 12px 68px 12px 18px;
    font-size: 18px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search .primary span {
    right: 10px;
    width: 48px;
    height: 48px;
    font-size: 24px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-error {
    margin-left: 68px;
  }
}

@media (max-width: 360px) {
  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search-shell {
    padding: 14px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-search {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px 9px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-pin {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  body.booking-coverage-active .booking-shell.is-coverage-step .coverage-error {
    margin-left: 57px;
  }
}

@media (max-width: 700px) {
  .booking-shell.is-gear-step #booking-content > .layout > .summary {
    display: none !important;
  }

  .booking-shell.is-gear-step #booking-content .gear-guidance {
    display: none;
  }

}

/* About page: the origin story leads into the complete Coastal Cubs store photo. */
body.about-page{--about-ink:#171717;--about-muted:#625d59;--about-paper:#fffcf8;--about-blush:#fff3f6;--about-line:#e8dadd;color:var(--about-ink);background:var(--about-paper)}
body.about-page #main{min-height:0}
body.about-page .about-page{overflow:hidden}
body.about-page .about-opening{min-height:0;padding-inline:5.5%;background:var(--about-blush)}
body.about-page .about-opening-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,4vw,42px);width:100%;max-width:1160px;margin:0 auto;padding:clamp(42px,5.5vw,68px) 0 54px}
body.about-page .about-intro-copy{width:100%;max-width:920px;padding:0;text-align:center}
body.about-page .about-opening h1{max-width:none;margin:0 auto 20px;font-size:clamp(44px,5.1vw,66px);line-height:1.04;letter-spacing:-.035em}
body.about-page .about-opening h1 span{color:#805d68}
body.about-page .about-lede{max-width:670px;margin:0 auto;color:#514a47;font-size:17px;line-height:1.7}
body.about-page .about-jump{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;color:#62414c;font-size:14px;font-weight:700;text-decoration:none}
body.about-page .about-jump span{display:grid;width:30px;height:30px;place-items:center;border:1px solid #d7b8c1;border-radius:50%;font-size:17px;transition:transform .2s ease}
body.about-page .about-jump:hover span{transform:translateY(3px)}
body.about-page .about-hero-media{width:100%;max-width:1160px;overflow:hidden;margin:0;border-radius:14px;background:#eee3de;box-shadow:0 18px 50px rgb(52 34 28 / 12%)}
body.about-page .about-hero-media img{display:block;width:100%;height:auto;aspect-ratio:1672 / 941;object-fit:contain;object-position:center}
body.about-page .about-hero-media figcaption{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 22px;padding:16px 19px 18px;background:#fffcf8;color:#514a47;font-size:13px;line-height:1.45}
body.about-page .about-hero-media figcaption>span:last-child{justify-self:end}
body.about-page .about-photo-label,body.about-page .about-partner-label{color:#805d68;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
body.about-page .about-hero-media figcaption a,body.about-page .about-partner-origin a,body.about-page .about-story a{color:#62414c;text-underline-offset:3px}
body.about-page .about-hero-media figcaption a,body.about-page .about-partner-origin a{font-weight:700}
body.about-page .about-partners{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(20px,5vw,62px);width:min(1160px,89%);margin:0 auto;padding:35px 20px;border-bottom:1px solid var(--about-line)}
body.about-page .about-partner-origin{display:flex;align-items:center;gap:17px;min-width:0}
body.about-page .about-partner-origin img{width:104px;height:104px;flex:none;object-fit:contain;border-radius:50%}
body.about-page .about-partner-origin>div{display:grid;gap:8px}
body.about-page .about-partner-origin a{font-size:15px}
body.about-page .about-partner-connection{display:flex;align-items:center;gap:12px;color:#735f62}
body.about-page .about-partner-connection span{width:26px;height:1px;background:#c9aab3}
body.about-page .about-partner-connection small{font-size:10px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
body.about-page .about-partner-coastal{display:grid;justify-items:center;gap:8px;color:#62414c;text-decoration:none}
body.about-page .about-coastal-logo{display:block;width:min(100%,290px);height:auto}
body.about-page .about-partner-coastal .about-partner-label{font-size:10px}
body.about-page .about-partner-coastal:hover .about-partner-label{text-decoration:underline;text-underline-offset:3px}
body.about-page .about-story{position:relative;width:min(1010px,88%);margin:0 auto;padding:8px 0 28px}
body.about-page .about-story::before{position:absolute;top:0;bottom:0;left:41px;width:1px;background:var(--about-line);content:""}
body.about-page .about-chapter{position:relative;display:grid;grid-template-columns:84px minmax(0,620px) minmax(150px,1fr);align-items:start;gap:28px;padding:82px 0 76px;border-bottom:1px solid var(--about-line)}
body.about-page .about-chapter-mark{z-index:1;display:grid;width:42px;height:42px;place-items:center;border:1px solid #d7b8c1;border-radius:50%;background:var(--about-paper);color:#805d68;font-family:Georgia,serif;font-size:15px}
body.about-page .about-chapter-copy{max-width:620px}
body.about-page .about-chapter-label{margin:0 0 12px;color:#805d68;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
body.about-page .about-chapter h2{max-width:590px;margin:0 0 20px;color:#211d1b;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.025em}
body.about-page .about-chapter-copy>p:not(.about-chapter-label){max-width:65ch;margin:0 0 15px;color:#514a47;font-size:16px;line-height:1.75}
body.about-page .about-refinements{display:flex;flex-wrap:wrap;gap:0;margin:24px 0 0;padding:14px 0 0;border-top:1px solid var(--about-line);list-style:none;color:#62414c;font-size:13px;font-weight:600}
body.about-page .about-refinements li+li::before{content:"/";padding:0 11px;color:#ba929f;font-weight:400}
body.about-page .about-origin-note{align-self:center;display:grid;gap:8px;padding-left:20px;color:#654c53;font-size:13px;line-height:1.5}
body.about-page .about-origin-note a{color:#62414c;font-weight:700;text-underline-offset:3px}
body.about-page .about-address{display:grid;gap:4px;margin:26px 0 0!important;padding-top:18px;border-top:1px solid var(--about-line);color:#514a47}
body.about-page .about-address-label{color:#805d68;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
body.about-page .about-store-note{align-self:end;display:grid;gap:15px;padding:0 0 6px 20px;color:#654c53;font-family:Georgia,serif;font-size:16px;line-height:1.5}
body.about-page .about-store-rule{width:42px;height:1px;background:#b77e8e}
body.about-page .about-community-aside{align-self:center;display:flex;align-items:flex-start;gap:14px}
body.about-page .about-community-line{width:28px;height:1px;margin-top:10px;background:#b77e8e}
body.about-page .about-community-aside p{margin:0;color:#654c53;font-size:13px;line-height:1.75}
body.about-page .about-next{display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(1010px,88%);margin:0 auto;padding:54px 0 68px}
body.about-page .about-next .about-chapter-label{margin-bottom:10px}
body.about-page .about-next h2{margin:0 0 8px;color:#211d1b;font-size:clamp(25px,3vw,34px);letter-spacing:-.025em}
body.about-page .about-next p:last-child{margin:0;color:#514a47;font-size:15px;line-height:1.6}
body.about-page .about-next-link{display:inline-flex;flex:none;align-items:center;gap:20px;min-height:48px;padding:0 18px;border:1px solid #d7b8c1;border-radius:999px;color:#62414c;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .2s ease}
body.about-page .about-next-link:hover{background:var(--about-blush)}
body.about-page :focus-visible{outline:3px solid #805d68;outline-offset:4px}
body.about-page #header nav a:not(.nav-cta),body.about-page #footer .home-footer-links a{color:#735142}
body.about-page #header nav .nav-cta{background:#267555;color:#fff}
body.about-page #header nav .nav-cta:hover{background:#1c5f43}
body.about-page .about-story a:hover,body.about-page .about-hero-media a:hover,body.about-page .about-partner-origin a:hover{text-decoration-thickness:2px}
@media(max-width:760px){
 body.about-page .about-opening{padding-inline:5%}
 body.about-page .about-opening-inner{gap:26px;padding:42px 0 38px}
 body.about-page .about-intro-copy{max-width:620px}
 body.about-page .about-opening h1{font-size:clamp(40px,8.8vw,56px)}
 body.about-page .about-lede{font-size:16px;line-height:1.65}
 body.about-page .about-hero-media{max-width:620px}
 body.about-page .about-hero-media figcaption{grid-template-columns:1fr;gap:5px;padding:13px 16px 15px}
 body.about-page .about-hero-media figcaption>span:last-child{justify-self:start}
 body.about-page .about-partners{grid-template-columns:1fr 1fr;gap:22px 14px;padding:26px 0}
 body.about-page .about-partner-origin{grid-column:1/-1;justify-content:center}
 body.about-page .about-partner-origin img{width:82px;height:82px}
 body.about-page .about-partner-connection{grid-column:1/-1;grid-row:2;justify-content:center}
 body.about-page .about-partner-coastal{grid-column:1/-1;grid-row:3;margin:auto;width:min(100%,300px)}
 body.about-page .about-story{width:90%}
 body.about-page .about-story::before{left:20px}
 body.about-page .about-chapter{grid-template-columns:42px minmax(0,1fr);gap:18px;padding:58px 0}
 body.about-page .about-chapter-mark{width:42px;height:42px}
 body.about-page .about-origin-note,body.about-page .about-store-note,body.about-page .about-community-aside{grid-column:2;margin-top:10px}
 body.about-page .about-origin-note{padding-left:0}
 body.about-page .about-next{width:90%;align-items:flex-start;flex-direction:column;padding:42px 0 52px}
}
@media(max-width:480px){
 body.about-page .about-opening-inner{gap:22px;padding:34px 0 32px}
 body.about-page .about-opening h1{font-size:40px}
 body.about-page .about-lede{font-size:15px}
 body.about-page .about-hero-media{border-radius:12px}
 body.about-page .about-hero-media figcaption{font-size:12px}
 body.about-page .about-partner-origin img{width:72px;height:72px}
 body.about-page .about-partner-origin a{font-size:14px}
 body.about-page .about-chapter{gap:13px;padding:48px 0}
 body.about-page .about-chapter h2{font-size:31px}
 body.about-page .about-chapter-copy>p:not(.about-chapter-label){font-size:15px}
 body.about-page .about-story::before{left:19px}
 body.about-page .about-address{font-size:14px}
 body.about-page .about-origin-note{font-size:12px}
}
@media(prefers-reduced-motion:reduce){body.about-page .about-jump span,body.about-page .about-next-link{transition:none}}
