/* Design consistency pass, 2026-11-02.
   Loaded last on every page. Fixes image frames that left empty bands, replaces font names that were
   never loaded (Poppins, Zen Kaku Gothic New, Inter Tight, Georgia) with the brand fonts, unifies the
   heading scale and quote style, and caps line lengths. Uses the brand tokens from aster-design.css:
   --ae-serif (Aster Cormorant) and --ae-sans (Aster Montserrat). */

/* ------------------------------------------------------------------ fonts */
/* Page shells that still asked for Poppins. */
.home-refresh, .about-refresh, .service-refresh, .customer-page, .customer-page .btn,
.service-refresh__face-label text, .service-refresh__visual-center,
.about-refresh__signature span, .home-refresh__store .product-grid,
.customer-page .burger, .customer-page .t-stat .l, .customer-page .per, .customer-page .fig {
  font-family: var(--ae-sans);
}
/* Display-sans leftovers (Zen Kaku Gothic New) become the brand serif. */
.about-refresh__stats dt, .about-refresh__signature, .about-refresh__founder-mark,
.service-refresh__stats dt, .service-refresh__faqs summary,
.home-refresh-article-list strong, .home-refresh__store .grid-title {
  font-family: var(--ae-serif);
  font-weight: 500;
}
/* A-List page: headings were falling back to Georgia. */
.customer-page h1, .customer-page h2, .customer-page h3, .customer-page .amt, .customer-page .n {
  font-family: var(--ae-serif);
  font-weight: 500;
}
.customer-page h1 { font-size: clamp(2.75rem, 5vw, 4.75rem); line-height: 1.02; letter-spacing: -0.01em; }
.customer-page h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.08; }
.customer-page h3 { font-size: 1.5rem; }
.customer-page .emph, .customer-page .close-line { font-family: var(--ae-serif) !important; font-style: italic; }
/* A-List labels, numbers and table figures (reference stylesheet used monospace + Georgia with high specificity). */
.customer-page .eyebrow, .customer-page .num, .customer-page .fig, .customer-page .tag, .customer-page .breadcrumb,
.customer-page .breadcrumb a, .customer-page .per, .customer-page .banks, .customer-page .banks strong,
.customer-page .price-note, .customer-page .price-row.head div, .customer-page .t-stat .l, .customer-page .burger,
.customer-page .price-row .svc { font-family: var(--ae-sans) !important; }
.customer-page .n, .customer-page .amt, .customer-page .mem, .customer-page .std, .customer-page .strip-item strong,
.customer-page summary { font-family: var(--ae-serif) !important; font-weight: 500; }
/* Keep the three hero stats on one row now that the serif runs slightly wider. */
.customer-page .t-stats { gap: 1.25rem 2rem; }
.customer-page .t-stat .n { font-size: 24px; white-space: nowrap; }
.customer-page .t-stat .l { font-size: 10px; }
@media (max-width: 600px) {
  .customer-page h1 { font-size: 2.5rem !important; }
  .customer-page h2 { font-size: 1.9rem !important; }
}
/* Legacy Tailwind pages (FAQ, blog list, contact, before & after): same serif build and weight as the redesign. */
.font-heading { font-family: var(--ae-serif) !important; font-weight: 500; }
.font-body, body { font-family: var(--ae-sans); }

/* ------------------------------------------------------------- quotes */
/* One quote style everywhere: the brand serif in italic. */
:root { --aster-quote-font: var(--ae-serif); }
.service-refresh .service-refresh__pullquote, .home-refresh-pullquote, .ae-reviews .tm2-quote,
.tm2-quote, .font-quote, .ae-philosophy-quote, .customer-page .emph {
  font-family: var(--ae-serif) !important;
  font-style: italic;
}
.service-refresh .service-refresh__pullquote { font-size: clamp(1.5rem, 2.2vw, 2.1rem) !important; line-height: 1.35 !important; }

/* ------------------------------------------------------ heading scale */
/* Match the homepage scale (h1 up to 76px, h2 up to 58px) on the about and service pages,
   and keep the page title above section headings on phones. */
.service-refresh h1, .about-refresh h1 { font-size: clamp(2.75rem, 5vw, 4.75rem); line-height: 1; letter-spacing: -0.03em; }
.service-refresh h2, .about-refresh h2 { font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.06; letter-spacing: -0.025em; }
@media (max-width: 759px) {
  .service-refresh h1, .service-refresh[data-service="wrinkle-relaxers"] h1, .about-refresh h1 { font-size: clamp(2.5rem, 10.5vw, 3.2rem); }
  .service-refresh h2, .about-refresh h2 { font-size: clamp(1.75rem, 7.5vw, 2.25rem); }
}

/* ------------------------------------------------------- line lengths */
.service-refresh__copy-block p, .service-refresh__heading p, .service-refresh__section--editorial p,
.customer-intro > div > p, .customer-question-intro p, .customer-ending p, .customer-editorial > p,
.about-refresh__body-copy p, .about-refresh__founder-copy p {
  max-width: 68ch;
}
.customer-page .lede, .customer-page .section-head p, .customer-page .philosophy-copy p, .customer-page .price-note,
.customer-page .faq-item p { max-width: 66ch; }
.service-refresh__option-body p, .service-refresh__option-intro p, .service-refresh__price-note p, .ae-treatment-intro p { max-width: 68ch; }

/* ------------------------------------------------------- small type */
@media (max-width: 900px) { .ae-category-nav a { font-size: 11px; } }
@media (max-width: 600px) { body .ae-header .ae-header-book { font-size: 11px; letter-spacing: .08em; } }
@media (max-width: 359px) { body .ae-header .ae-header-book { font-size: 10px; } }

/* ---------------------------------------------------------- images */
/* Homepage pillars: card 1 is a square before/after; fill the 4:5 frame instead of leaving bands. */
.ae-pillar-photo.ae-comparison img { object-fit: cover; object-position: center; }
/* Homepage results rail: square frames for square before/after composites, no padding bands. */
.ae-result-image { aspect-ratio: 1 / 1; padding: 0; }
.ae-result-image img { object-fit: cover; }
.ae-result-image .ae-image-tag { bottom: 12px; left: 12px; background: rgba(255, 255, 255, .92); padding: 6px 10px; }
/* About: the founder portrait fills its column instead of floating in the panel. */
.about-refresh__founder-photo { max-width: none; width: 100%; align-self: stretch; }
.about-refresh__founder-photo img { height: 100%; min-height: 520px; aspect-ratio: auto; object-fit: cover; object-position: 50% 18%; }
@media (max-width: 900px) { .about-refresh__founder-photo img { height: auto; min-height: 0; aspect-ratio: 4 / 5; } }
/* Service heroes with a photo that must not be cropped: a blurred copy of the same photo fills the panel behind it. */
.service-refresh__hero-visual--photo::before {
  content: '';
  position: absolute;
  inset: -6%;
  z-index: -3;
  background: var(--service-visual-src, none) center / cover no-repeat;
  filter: blur(26px) saturate(.75);
}
/* Choosing an Injector: let the intro portrait take its column. */
.customer-intro img.customer-intro-composed { width: 100%; max-width: 560px; justify-self: end; }

/* ============================================================
   Hover color unification (2026-11-04): every hover state uses
   the brand wine (#7a1f2b) instead of gold, gray, or black.
   Footer links on the dark footer are left as-is for contrast.
   ============================================================ */
/* --aster-hover tokens now live in tokens.css */

/* Text links */
.about-refresh__breadcrumb a:hover, .about-refresh__breadcrumb a:focus-visible,
.service-refresh__breadcrumb a:hover, .service-refresh__breadcrumb a:focus-visible,
.customer-page .breadcrumb a:hover,
.customer-page .financing-strip a:hover,
.customer-service-row a:hover,
.service-editorial__contents a:hover,
.home-refresh-skin-links a:hover, .home-refresh-skin-links a:focus-visible,
.customer-page .edu-card:hover h3,
.read-more-btn:hover,
.tm2-more:hover,
.hover\:text-gunpowder:hover, .hover\:text-gray-600:hover, .hover\:text-gray-900:hover,
.hover\:text-gray-300:hover, .hover\:text-blue-800:hover {
  color: var(--aster-hover) !important;
}

/* Solid buttons: wine fill, white text */
.home-refresh-button--primary:hover, .home-refresh-button--primary:focus-visible,
.home-refresh-button--secondary:hover, .home-refresh-button--secondary:focus-visible,
.home-refresh-button--ghost:hover, .home-refresh-button--ghost:focus-visible,
.service-refresh__button--primary:hover, .service-refresh__button--primary:focus-visible,
.service-refresh__button--secondary:hover, .service-refresh__button--secondary:focus-visible,
.service-refresh__button--ghost:hover, .service-refresh__button--ghost:focus-visible,
.about-refresh__button--primary:hover, .about-refresh__button--primary:focus-visible,
.about-refresh__button--secondary:hover, .about-refresh__button--secondary:focus-visible,
.about-refresh__button--ghost:hover, .about-refresh__button--ghost:focus-visible,
:is(.aster-home, .ae-header, .ae-footer, .ae-mobile-booking) .ae-button:hover,
body .aster-home .ae-button--outline:hover,
body .aster-home .ae-reviews .tm2-write:hover, .tm2-write:hover,
.customer-button:hover,
.sale-modal-cta:hover,
.hair-care .btn:hover, .hair-care .btn--fill:hover, .hair-care .office .btn:hover,
.customer-page .btn-primary:hover, .customer-page .btn-secondary:hover, .customer-page .btn-on-dark:hover,
.customer-page .car-arrow:hover,
.customer-service-index .customer-subnav a:hover, .customer-service-index .customer-subnav a:focus-visible,
.annotator__exit:hover,
.hover\:bg-gray-800:hover, .hover\:bg-gray-900:hover, .hover\:bg-gray-600:hover, .hover\:bg-blue-600:hover,
.hover\:bg-tapioca:hover, .hover\:bg-black:hover {
  background: var(--aster-hover) !important;
  border-color: var(--aster-hover) !important;
  color: #fff !important;
  filter: none !important;
}

/* Cards that fill on hover */
.home-refresh-treatment:hover, .home-refresh-treatment:focus-visible,
.home-refresh-treatment--featured:hover, .home-refresh-treatment--featured:focus-visible,
.ae-treatment-content .home-refresh-treatment:is(:hover, :focus-visible),
.service-refresh__shop-card:hover, .service-refresh__shop-card:focus-visible,
.service-refresh__related-card:hover, .service-refresh__related-card:focus-visible {
  background: var(--aster-hover) !important;
  color: #fff !important;
}
.home-refresh-treatment:hover p, .home-refresh-treatment:focus-visible p,
.home-refresh-treatment:hover .home-refresh-treatment__link, .home-refresh-treatment:focus-visible .home-refresh-treatment__link,
.service-refresh__shop-card:hover h3, .service-refresh__shop-card:hover p,
.service-refresh__shop-card:focus-visible h3, .service-refresh__shop-card:focus-visible p,
.service-refresh__related-card:hover p, .service-refresh__related-card:focus-visible p,
.service-refresh__related-card:hover h3, .service-refresh__related-card:focus-visible h3 {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Light tint hovers (menus, list rows, ghost links) */
.ae-shop .grid-cta-button:hover,
.service-discovery__links > a:hover,
.service-editorial__related a:hover,
.customer-page .edu-card:hover, .customer-page .tcard:hover, .customer-page .related-card:hover,
.ba-home-slider__arrow:hover,
.hover\:bg-gray-50:hover, .hover\:bg-gray-100:hover, .hover\:bg-gray-200:hover,
.hover\:bg-white:hover, .hover\:bg-tapioca\/30:hover, .hover\:bg-black\/10:hover {
  background: var(--aster-hover-tint) !important;
  color: var(--aster-hover) !important;
}

/* Borders and outlines */
.tm2-page:hover:not(.is-active), .tm2-arrow:hover,
body .aster-home .ae-reviews .tm2-page:hover:not(.is-active), body .aster-home .ae-reviews .tm2-arrow:hover,
.ae-reviews .tm2-review:hover,
.customer-page .edu-filter:hover:not(.active), .customer-page .tab:hover:not(.active),
.hover\:border-black:hover, .hover\:border-tapioca:hover {
  border-color: var(--aster-hover) !important;
}
.tm2-page:hover:not(.is-active), .tm2-arrow:hover,
.customer-page .edu-filter:hover:not(.active), .customer-page .tab:hover:not(.active) {
  color: var(--aster-hover) !important;
}


/* ============================================================
   Box style (2026-11-05): the homepage's square-corner, no-shadow
   language applied to every page. See docs/DESIGN-SYSTEM.md.
   Only true circles (avatars, social icons, dots, spinners) keep a
   radius. Loaded last on every non-store page.
   ============================================================ */

/* Tailwind radius and shadow utilities on legacy pages */
.rounded, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-l-lg, .rounded-r-lg, .rounded-full {
  border-radius: 0 !important;
}
.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl, .shadow-slate-500\/40, .drop-shadow {
  box-shadow: none !important;
  filter: none !important;
}

/* Page shells with their own stylesheets */
.about-refresh, .service-refresh, .service-editorial, .customer-editorial, .customer-page, .hair-care, .home-refresh,
:is(.about-refresh, .service-refresh, .service-editorial, .customer-editorial, .customer-page, .hair-care, .home-refresh, .sale-modal, .sale-modal-overlay, .ba-lightbox) *,
:is(.about-refresh, .service-refresh, .service-editorial, .customer-editorial, .customer-page, .hair-care, .home-refresh, .sale-modal, .sale-modal-overlay, .ba-lightbox) *::before,
:is(.about-refresh, .service-refresh, .service-editorial, .customer-editorial, .customer-page, .hair-care, .home-refresh, .sale-modal, .sale-modal-overlay, .ba-lightbox) *::after {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* The circles that stay: avatars, social icons, timeline dots, carousel bullets, spinners, slider handle */
.tm-avatar, .ae-social a, [class*="avatar"], [class*="dot"], [class*="bullet"], [class*="spinner"],
.rounded-full.w-12.h-12.bg-white\/50, .rounded-full.w-1\.5 {
  border-radius: 50% !important;
}

/* Surfaces: white and blush only */
body.bg-gray-100, .bg-gray-100 { background-color: #fff !important; }
.bg-gray-50, .bg-gardenia, .bg-tapioca, .bg-tapioca\/20, .bg-tapioca\/30, .bg-tapioca\/50, .bg-shadow\/30, .bg-slate-500 {
  background-color: var(--ae-blush, #fbf8f8) !important;
}
.border-tapioca, .border-tapioca\/50, .border-gray-100, .border-gray-200, .border-gray-300, .border-gardenia {
  border-color: var(--ae-line, #eadfe0) !important;
}
.border-gunpowder, .border-black { border-color: var(--ae-ink, #241c1d) !important; }
.text-gunpowder, .text-gray-900, .text-gray-800, .text-black { color: var(--ae-ink, #241c1d) !important; }
.text-gray-700, .text-gray-600, .text-gray-500, .text-shadow { color: var(--ae-muted, #5e5e5c) !important; }
.text-tapioca:not(.bg-gunpowder *):not(.bg-black *) { color: var(--ae-wine, #7a1f2b) !important; }

/* Button definitions moved to components.css (legacy aliases block). */
/* Pills become square tiles */
.customer-service-index .customer-subnav a, .service-refresh__tab, .service-refresh__filter, .hair-care .btn, .hair-care .chip {
  border-radius: 0 !important;
}

/* Keyboard focus on legacy pages, now that shadow-based rings are gone */
body:not(.aster-home-page) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--ae-wine, #7a1f2b);
  outline-offset: 3px;
}

/* Fill-on-hover cards (2026-11-05 fix): when a card fills wine on hover, every piece of text inside
   it turns white, including wine eyebrow labels, links and arrows that otherwise vanish into the fill. */
:is(.home-refresh-treatment, .service-refresh__shop-card, .service-refresh__related-card):is(:hover, :focus-visible),
:is(.home-refresh-treatment, .service-refresh__shop-card, .service-refresh__related-card):is(:hover, :focus-visible) * {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}
:is(.home-refresh-treatment, .service-refresh__shop-card, .service-refresh__related-card):is(:hover, :focus-visible) p {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Light (on-dark) button variants were missing from the wine hover set. */
.service-refresh__button--light:hover, .service-refresh__button--light:focus-visible,
.about-refresh__button--light:hover, .about-refresh__button--light:focus-visible {
  background: var(--aster-hover) !important;
  border-color: var(--aster-hover) !important;
  color: #fff !important;
}

/* ------------------------------------------------------------------ breadcrumb bar (2026-11-06)
   One treatment for every breadcrumb: flush under the header, wine band, white text, no margin below.
   Covers .service-refresh__breadcrumb, .about-refresh__breadcrumb, .customer-page .breadcrumb,
   .store-breadcrumbs, .commerce-policy-breadcrumbs and the legacy Tailwind breadcrumb. */
body #main-wrapper > .ae-header-shell + nav[aria-label="Breadcrumb" i],
body #main-wrapper > .ae-header-shell + script + nav[aria-label="Breadcrumb" i],
body #main-wrapper > .ae-header-shell + main:has(> nav[aria-label="Breadcrumb" i]:first-child),
body #main-wrapper > .ae-header-shell + script + main:has(> nav[aria-label="Breadcrumb" i]:first-child),
body #main-wrapper > nav[aria-label="Breadcrumb" i] + main { margin-top: 0 !important; }
body #main-wrapper > nav[aria-label="Breadcrumb" i] + main.store-main { padding-top: 0; }
body nav[aria-label="Breadcrumb" i] {
  display: block; margin: 0; padding: 13px clamp(1.5rem, 5vw, 5rem);
  background: var(--ae-wine); color: rgba(255, 255, 255, 0.78);
  font: 500 11px/1.5 var(--ae-sans); letter-spacing: 0.14em; text-transform: uppercase;
  border: 0; border-radius: 0; overflow: hidden; gap: 0.5rem;
}
body nav[aria-label="Breadcrumb" i] ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
body nav[aria-label="Breadcrumb" i] li { display: inline; margin: 0; padding: 0; color: inherit; font: inherit; letter-spacing: inherit; }
body nav[aria-label="Breadcrumb" i] a {
  display: inline; min-height: 0; min-width: 0; margin: 0; padding: 0; border: 0;
  color: rgba(255, 255, 255, 0.78); font: inherit; letter-spacing: inherit; text-decoration: none; background: none;
}
body nav[aria-label="Breadcrumb" i] a:hover, body nav[aria-label="Breadcrumb" i] a:focus-visible { color: #fff !important; text-decoration: underline; text-underline-offset: 0.25rem; }
body nav[aria-label="Breadcrumb" i] a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
body nav[aria-label="Breadcrumb" i] [aria-current], body nav[aria-label="Breadcrumb" i] li:last-child { color: #fff; }
body nav[aria-label="Breadcrumb" i] li + li::before { content: '/'; margin-right: 0.5rem; color: rgba(255, 255, 255, 0.5); }
body .store-breadcrumbs li:not(:last-child)::after { content: none; }
body nav[aria-label="Breadcrumb" i] > span[aria-hidden], body nav[aria-label="Breadcrumb" i] .sep, body nav[aria-label="Breadcrumb" i] ol span.px-2 { margin: 0 0.5rem; color: rgba(255, 255, 255, 0.5); }
body nav[aria-label="Breadcrumb" i] svg { display: none; }
body #main-wrapper > nav[aria-label="Breadcrumb" i] { margin-bottom: 0 !important; }
@media (max-width: 600px) { body nav[aria-label="Breadcrumb" i] { padding: 12px 20px; font-size: 10px; letter-spacing: 0.1em; } }

/* ------------------------------------------------------------------ photo tags without the box (2026-11-06)
   Captions, image tags and callout chips that sat in a white or gardenia box over a photo are now
   text only, in wine. Covers the service hero caption (photo and clean variants), the callout chips,
   the homepage results-feature tag, and every .ae-image-tag (results rail, before/after, hair care). */
.ae-image-tag, .ae-image-tag--bottom, .ae-result-image .ae-image-tag, .ba-page .ba-frame .ae-image-tag, .hc-ba .ae-image-tag,
.service-refresh__hero-visual--photo > p,
.service-refresh__hero-visual--photo.service-refresh__hero-visual--clean > p,
.service-refresh__visual-callouts li,
.home-refresh-result-feature__media > span {
  background: transparent; border: 0; backdrop-filter: none; text-shadow: none;
  padding-left: 0; padding-right: 0; color: var(--ae-wine);
}
.service-refresh__visual-callouts { gap: 0.35rem 1rem; }
.service-refresh__visual-callouts li + li::before { content: '\00b7'; margin-right: 1rem; color: var(--ae-wine); }

/* ------------------------------------------------------------------ treatment-area strip (2026-11-06)
   On the clean photo heroes (facial balancing, dermal filler) the list of treated areas sits in a solid
   ink band across the foot of the photo panel, white text, instead of wine text on the blurred backdrop.
   Option E of the callout study; the owner chose it for both pages. */
.service-refresh__hero-visual--clean { --panel-pad: clamp(1rem, 3vw, 2.5rem); padding: var(--panel-pad); }
@media (max-width: 767px) { .service-refresh__hero-visual--clean { --panel-pad: 1rem; } }
.service-refresh__hero-visual--clean:has(> .service-refresh__visual-callouts, > .service-refresh__treatment-caption) { padding-bottom: 0; gap: var(--panel-pad); }
.service-refresh__hero-visual--clean > .service-refresh__visual-callouts,
.service-refresh__hero-visual--photo.service-refresh__hero-visual--clean > p.service-refresh__treatment-caption {
  width: calc(100% + 2 * var(--panel-pad)); margin: 0 calc(-1 * var(--panel-pad)) 0;
  padding: 1.1rem var(--panel-pad); background: var(--ae-ink); color: #fff;
  justify-content: center; text-align: center;
}
.service-refresh__hero-visual--clean > .service-refresh__visual-callouts { gap: 0.35rem 1rem; }
.service-refresh__hero-visual--clean > .service-refresh__visual-callouts li { padding: 0; color: #fff; font: 500 0.65rem/1.7 var(--ae-sans); letter-spacing: 0.12em; text-transform: uppercase; }
.service-refresh__hero-visual--clean > .service-refresh__visual-callouts li + li::before { color: rgba(255, 255, 255, 0.45); }
.service-refresh__hero-visual--photo.service-refresh__hero-visual--clean > p.service-refresh__treatment-caption { max-width: none; font: 500 0.65rem/1.8 var(--ae-sans); letter-spacing: 0.12em; text-transform: uppercase; }

/* ------------------------------------------------------------------ band rhythm (2026-11-07)
   Pages are stacks of bands: white, then blush, separated by hairlines. A site-wide scan found long runs of
   one colour (every service page was 9 to 12 blush bands in a row; the homepage had five whites). The rules
   below restore the alternation per template. Colour only; layout and cards are untouched. */

/* Service pages: alternate from the closing CTA backwards so the CTA is always blush before the white footer. */
body .service-refresh > section.service-refresh__section { border-top: 1px solid var(--ae-line); }
body .service-refresh > section.service-refresh__section:nth-last-of-type(odd) { background-color: var(--ae-blush); }
body .service-refresh > section.service-refresh__section:nth-last-of-type(even) { background-color: var(--ae-white); }

/* Homepage: hero and starting point white, then strict alternation down to the blush newsletter. */
body.aster-home-page #approach.ae-section, body.aster-home-page #results.ae-section, body.aster-home-page #education.ae-section, body.aster-home-page #clinic.ae-clinic { background-color: var(--ae-blush); }
body.aster-home-page #philosophy.ae-section { background-color: var(--ae-white); border-top: 1px solid var(--ae-line); }

/* About: the founder band had been sitting on the hairline colour. Alternate from the hero down. */
body .about-refresh__section { border-top: 1px solid var(--ae-line); }
body .about-refresh__section:nth-of-type(2), body .about-refresh__section:nth-of-type(4), body .about-refresh__section:nth-of-type(6) { background-color: var(--ae-white); }
body .about-refresh__section:nth-of-type(3), body .about-refresh__section:nth-of-type(5), body .about-refresh__section:nth-of-type(7) { background-color: var(--ae-blush); }
body .about-refresh__section.about-refresh__founder { background: var(--ae-blush); }

/* The Collective: hero and the two options white, then alternate; the three cards close white above the footer. */
body .customer-page > section.philosophy { background-color: var(--ae-blush); border-top: 1px solid var(--ae-line); }
body .customer-page > section.areas { background-color: var(--ae-white); border-top: 1px solid var(--ae-line); }
body .customer-page > section.pricing { background-color: var(--ae-blush); border-top: 1px solid var(--ae-line); }
body .customer-page > section.related { background-color: var(--ae-white); border-top: 1px solid var(--ae-line); }

/* Hair care: the three product stories alternate instead of four whites in a row. */
body #xtresse.ae-section, body #factorfive.ae-section { background-color: var(--ae-blush); }

/* Botox special, Choosing an Injector, Contact: break the white runs at the end of each page. */
body #salem-location.ae-section { background-color: var(--ae-blush); }
body .customer-editorial > section#questions { background-color: var(--ae-blush); border-top: 1px solid var(--ae-line); padding-left: clamp(1.5rem, 5vw, 5rem); padding-right: clamp(1.5rem, 5vw, 5rem); }
body section.ae-section[aria-label="Contact form and details"] { background-color: var(--ae-blush); }

/* GLP-1 guide: blush hero, then strict alternation through all 21 chapters. */
body .aster-home.glp1 section.glp1-band:nth-of-type(even) { background-color: var(--ae-white); }
body .aster-home.glp1 section.glp1-band:nth-of-type(odd) { background-color: var(--ae-blush); }
