/*
  ILLUMIN3D STOREFRONT — brand v3 "Made of Light" mapping layer.
  Requires /css/brand-tokens.css (a verbatim copy of the brand tokens).

  How this layer works
  - It is opt-in per page: a page links brand-tokens.css + brand-v3.css after its other
    stylesheets and adds `i3-v3` to <body>. Cart, checkout, success and cancel opt in and also
    load brand-v3-commerce.css; /review opts in and adds its own layer (review.css). Login and
    admin pages do not opt in, so they are unaffected. The content-hashed storefront bundle
    (scripts/build-storefront-css.mjs) and its source layers are not edited.
  - Legacy variables are re-pointed at v3 tokens, so most of the site shifts without selector edits.
  - Role rules (type, label, buttons, chips, surfaces) must win over the legacy layers, which use
    long page-scoped selectors such as body[data-site-page="home"] .showroom-hero h1. Each role
    rule is therefore scoped to `body.i3-v3:not(#i3)`. The :not(#i3) part matches every body
    but carries ID-level specificity (1,1,1), so the layer wins without !important. Only
    typography, color, surface and shape properties are set; layout, display and visibility
    stay with the legacy layers unless a rule says otherwise.
  - Rules: Brand/BRAND.md. Components mirrored here: Brand/core/brand.css (.i3-label, .i3-btn,
    .i3-chip, .i3-card__foot).
*/

/* ===== 1. FOUNDATION: legacy variables -> v3 tokens ====================== */

:root {
  --i3-bars-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cpolygon points='0,0 58,0 64,8 6,8'/%3E%3Cpolygon points='0,16 46,16 52,24 6,24'/%3E%3Cpolygon points='0,32 46,32 52,40 6,40'/%3E%3C/svg%3E");
}

body.i3-v3 {
  /* Type: one family (Archivo). Display and body roles differ by width and weight, not family. */
  --font-body: var(--i3-font);
  --font-display: var(--i3-font);
  --home-v2-font-body: var(--i3-font);
  --home-v2-font-display: var(--i3-font);

  /* Palette (legacy name -> v3 token) */
  --brand-black: var(--i3-midnight);
  --brand-black-soft: var(--i3-night);
  --brand-black-elevated: var(--i3-panel);
  --brand-white: var(--i3-white);
  --brand-white-soft: var(--i3-daylight);
  --brand-ink: var(--i3-ink);
  --brand-muted-dark: var(--i3-grey-300);
  --brand-muted-light: var(--i3-grey-500);
  --brand-lavender: var(--i3-violet-200);
  --brand-lavender-soft: var(--i3-violet-100);
  --brand-lavender-strong: var(--i3-violet-400);
  --brand-lavender-deep: var(--i3-violet-700);
  --brand-line-dark: var(--i3-line-dark);
  --brand-line-light: var(--i3-line-light);
  --brand-lavender-glow: rgba(150, 94, 250, 0.24);
  --brand-accent-gradient: var(--i3-gradient-cta);
  --brand-accent-ink: var(--i3-midnight);

  /* Surface aliases */
  --bg: var(--i3-midnight);
  --bg-elevated: var(--i3-panel);
  --panel: rgba(18, 16, 25, 0.86);
  --panel-strong: rgba(13, 11, 20, 0.96);
  --panel-soft: rgba(18, 16, 25, 0.76);
  --line: var(--i3-line-dark);
  --line-strong: var(--i3-line-dark-strong);
  --text: var(--i3-white);
  --muted: var(--i3-grey-300);
  --accent: var(--i3-violet-300);
  --accent-soft: var(--i3-violet-100);
  --accent-cool: var(--i3-grey-300);
  --accent-cool-soft: var(--i3-daylight);
  --accent-deep: var(--i3-violet-700);
  --success: var(--i3-signal-green);
  --danger: var(--i3-signal-red);
  --glow: rgba(150, 94, 250, 0.24);
  --glow-cool: rgba(217, 198, 255, 0.16);

  /* Shape: cards 22, media frames 32, inputs/tiles 14 (40 is retired) */
  --radius-md: var(--i3-radius-m);
  --radius-lg: var(--i3-radius-l);
  --radius-xl: var(--i3-radius-xl);
  --radius-xxl: var(--i3-radius-xl);
  --shadow: var(--i3-shadow-l);
  --shadow-soft: var(--i3-shadow-m);

  /* Motion (same values, brand names) */
  --storefront-motion-ease-standard: var(--i3-ease);
  --storefront-motion-ease-out: var(--i3-ease-out);
  --storefront-motion-fast: var(--i3-dur-fast);
  --storefront-motion-medium: var(--i3-dur);
  --storefront-motion-slow: var(--i3-dur-slow);

  /* Home and shared light-section variables */
  --home-v2-text-strong: var(--i3-white);
  --home-v2-text-muted: var(--i3-grey-300);
  --home-v2-text-subtle: var(--i3-grey-400);
  --home-v2-panel-border: var(--i3-line-dark);
  --storefront-paper-ink: var(--i3-ink);
  --storefront-paper-muted: var(--i3-grey-500);

  font-stretch: var(--i3-stretch-body);
}

@media (prefers-reduced-motion: reduce) {
  body.i3-v3 {
    --storefront-motion-fast: 1ms;
    --storefront-motion-medium: 1ms;
    --storefront-motion-slow: 1ms;
  }
}

/* ===== 2. TYPOGRAPHY ===================================================== */
/* Display: Archivo 112% / 600 / -0.025em. Three sizes only:
   XL = the page H1, L = section H2, M = feature and footer headings. */
body.i3-v3:not(#i3) main h1,
body.i3-v3:not(#i3) main h2:not(:where(article:not(.blog-article), li, a, figure, details, .custom-orders-brief-card) *),
body.i3-v3:not(#i3) main .custom-project-summary h3,
body.i3-v3:not(#i3) main .luma-hero-lede,
body.i3-v3:not(#i3) main .lightbox-hero-lede,
body.i3-v3:not(#i3) .home-v2-footer-copy h2 {
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-display);
  font-weight: var(--i3-weight-display);
  font-style: normal;
  letter-spacing: var(--i3-track-display);
  text-wrap: balance;
}

body.i3-v3:not(#i3) main h1 {
  font-size: var(--i3-size-display-xl);
  line-height: 0.98;
}

/* Card headings (h2 inside article, li, a, figure, details) are titles; see the Title role. */
body.i3-v3:not(#i3) main h2:not(:where(article:not(.blog-article), li, a, figure, details, .custom-orders-brief-card) *) {
  font-size: var(--i3-size-display-l);
  line-height: 1.04;
}

/* Page exceptions while copy is long or the layout is commerce-first:
   - Home hero: the live H1 copy is ~11 words; at XL it runs to 7 lines. Use L until the copy is
     shortened (see the proposed hero copy in the brand-v3 report), then remove this rule.
   - Shop: the H1 sits in a compact strip so products stay above the fold. */
body.i3-v3:not(#i3) main h1.showroom-hero-title {
  font-size: var(--i3-size-display-l);
  line-height: 1.02;
}
body.i3-v3:not(#i3)[data-site-page="shop"] main .shop-live-strip-copy h1 {
  font-size: var(--i3-size-display-m);
  line-height: 1.08;
  letter-spacing: -0.015em;
}

/* Lead text in the shop strip used a 56% ink; Grey 500 is the Day secondary text (5.2:1). */
body.i3-v3:not(#i3)[data-site-page="shop"] .shop-live-strip-copy p {
  color: var(--i3-grey-500);
}

/* Leads on the home Night bands sit over the brightest part of the violet glow on phones,
   where 68% white measured ~4:1. Grey 200 keeps them secondary and above 4.5:1. */
body.i3-v3:not(#i3) .showroom-dark :is(.showroom-feature-copy, .showroom-section-heading, .showroom-final-inner) > p {
  color: var(--i3-grey-200);
}

/* Spans inside display headings (gradient words, product accents) follow the heading. */
body.i3-v3:not(#i3) main :is(h1, h2) :is(span, em, strong) {
  font-weight: inherit;
  font-stretch: inherit;
  letter-spacing: inherit;
}

/* Display M: feature panels, compact section intros, side columns and the footer */
body.i3-v3:not(#i3) main :is(
  .home-v2-reel-title,
  .showroom-feature-copy h2,
  .showroom-reviews-heading h2,
  .seo-section-heading h2,
  .blog-editorial-card-featured h2,
  .blog-collection-heading h2,
  .blog-article h2,
  .lightbox-order-panel h2,
  .contact-inquiry-panel-inner h2,
  .luma-edge-proof-heading h2,
  .custom-project-summary h3,
  .luma-hero-lede,
  .lightbox-hero-lede
),
body.i3-v3:not(#i3) .home-v2-footer-copy h2 {
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-display);
  font-weight: var(--i3-weight-display);
  font-size: var(--i3-size-display-m);
  line-height: 1.08;
  letter-spacing: -0.015em;
}

/* Title: card and step headings. Archivo 100% at the brand Title weight; sizes stay with each card. */
body.i3-v3:not(#i3) main :is(h3, h4),
body.i3-v3:not(#i3) main :where(article:not(.blog-article), li, a, figure, details) h2,
body.i3-v3:not(#i3) main .custom-orders-brief-card h2 {
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-body);
  font-weight: var(--i3-weight-title);
  letter-spacing: -0.01em;
}

/* Card and listing titles rendered as h2 (shop product cards) are titles, not display. */
body.i3-v3:not(#i3) main :is(.card-title, .product-title, .showroom-card-title) {
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-display);
  font-weight: var(--i3-weight-title);
  letter-spacing: -0.01em;
}
body.i3-v3:not(#i3) main h2:is(.card-title, .product-title) {
  font-size: var(--i3-size-title);
}

/* Navigation: label width (125%), sentence case */
body.i3-v3:not(#i3) .home-v2-header :is(.home-v2-nav a, .home-v2-nav-dropdown-trigger, .home-v2-cart, .home-v2-mobile-menu a) {
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-label);
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* ===== 3. MODES: Night (default) and Day ================================ */
/* Every section is Night or Day. Components read these context variables, so one label,
   button or chip rule works on both. The Day list was measured from the rendered pages
   (sections whose background is light), not inferred from class names. */
/* Night is the default. Dark panels inside Day sections ("islands") reset to Night. */
body.i3-v3,
body.i3-v3 :is(.home-v2-review-panel) {
  --v3-label: var(--i3-violet-300);
  --v3-link: var(--i3-violet-300);
  --v3-btn-bg: var(--i3-gradient-cta);
  --v3-btn-text: var(--i3-midnight);
  --v3-btn-border: rgba(255, 255, 255, 0.45);
  --v3-btn-shadow: var(--i3-shadow-glow);
  --v3-btn2-bg: rgba(255, 255, 255, 0.05);
  --v3-btn2-text: var(--i3-white);
  --v3-btn2-border: var(--i3-line-dark-strong);
  --v3-chip-bg: var(--i3-raised);
  --v3-chip-text: var(--i3-white);
  --v3-chip-border: var(--i3-line-dark);
  --v3-wait: var(--i3-signal-amber);
}

body.i3-v3 :is(
  .showroom-cream,
  .shop-live-strip, .shop-seo-band, .shop-seo-cta,
  .luma-scroll-mode-family-section, .luma-scroll-faq-section, .luma-scroll-coverage-section,
  .luma-edge-proof-section, .luma-edge-coverage-section, .luma-edge-faq-section,
  .luma-control-section, .luma-capabilities-section, .luma-static-related-section,
  .lightbox-process-section, .lightbox-faq-section, .lightbox-photo-gallery-section,
  .custom-project-section, .contact-notes-section,
  .faq-summary-band, body:not(.shipping-policy-page) .faq-question-section,
  .about-product-section, .story-proof-band, .lightbox-collection-process-section,
  .story-section-light:not(.lightbox-collection-uses-section, .lightbox-collection-final-section),
  .blog-article-hero, .blog-article-section, .blog-article-faq,
  .blog-editorial-card, .contact-inquiry-panel
) {
  --v3-label: var(--i3-violet-700);
  --v3-link: var(--i3-violet-700);
  --v3-btn-bg: var(--i3-ink);
  --v3-btn-text: var(--i3-white);
  --v3-btn-border: var(--i3-ink);
  --v3-btn-shadow: var(--i3-shadow-m);
  --v3-btn2-bg: transparent;
  --v3-btn2-text: var(--i3-ink);
  --v3-btn2-border: var(--i3-line-light-strong);
  --v3-chip-bg: var(--i3-mist);
  --v3-chip-text: var(--i3-ink);
  --v3-chip-border: var(--i3-line-light);
  --v3-wait: var(--i3-signal-amber-ink);
}

/* ===== 4. LABEL: the one eyebrow style ==================================== */
/* Archivo 125% caps, 600, +0.2em, accent color, light-bars glyph before. No pills. */
body.i3-v3:not(#i3) :is(
  .home-v2-eyebrow, .showroom-eyebrow, .home-v2-reel-eyebrow, .showroom-selector-kicker,
  .showroom-featured-review-kicker, main .eyebrow, .shop-seo-kicker, .luma-eyebrow,
  .luma-light-eyebrow, .luma-mode-eyebrow, .lightbox-eyebrow, .seo-kicker, .faq-kicker,
  .custom-orders-brief-label, .home-v2-card-meta, .home-v2-footer-heading, .contact-inquiry-pill
) {
  gap: 0;
  padding: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-label);
  font-weight: var(--i3-weight-label);
  font-size: var(--i3-size-label);
  font-style: normal;
  line-height: 1.25;
  letter-spacing: var(--i3-track-label);
  text-transform: uppercase;
  color: var(--v3-label);
  opacity: 1;
}

body.i3-v3:not(#i3) :is(
  .home-v2-eyebrow, .showroom-eyebrow, .home-v2-reel-eyebrow, .showroom-selector-kicker,
  .showroom-featured-review-kicker, main .eyebrow, .shop-seo-kicker, .luma-eyebrow,
  .luma-light-eyebrow, .luma-mode-eyebrow, .lightbox-eyebrow, .seo-kicker, .faq-kicker,
  .custom-orders-brief-label, .home-v2-card-meta, .home-v2-footer-heading, .contact-inquiry-pill
)::before {
  content: "";
  position: static;
  display: inline-block;
  flex: none;
  width: 1.6em;
  height: 1em;
  margin: 0 0.9em 0 0;
  vertical-align: -0.14em;
  border: 0;
  border-radius: 0;
  opacity: 1;
  transform: none;
  box-shadow: none;
  background: currentColor;
  -webkit-mask: var(--i3-bars-mask) center / contain no-repeat;
  mask: var(--i3-bars-mask) center / contain no-repeat;
}

/* Scroll and Edge page eyebrows are centered flex boxes on phones; as flex, a wrapped label
   leaves the glyph stranded at the left. As block text the glyph flows with the first line. */
body.i3-v3:not(#i3) :is(
  .luma-scroll-hero-copy, .luma-edge-hero-copy, .luma-scroll-story-copy, .luma-edge-story-copy,
  .luma-scroll-control-copy, .luma-edge-control-copy, .luma-scroll-proof-heading, .luma-edge-proof-heading
) > .luma-eyebrow {
  display: block;
}

/* The contact "Start here" pill carries an editable span; it follows the label. */
body.i3-v3:not(#i3) .contact-inquiry-pill > span {
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}

/* Its empty first span was the old dot; the light-bars glyph replaces it. */
body.i3-v3:not(#i3) .contact-inquiry-pill > span:first-child:empty {
  display: none;
}

/* Small print in the contact form sits on a tinted panel where Grey 500 measured ~4.3:1. */
body.i3-v3:not(#i3)[data-site-page="contact"] .contact-form-submit p {
  color: var(--i3-grey-600);
}

/* Inside cards the label drops the glyph (brand .i3-label--plain). */
body.i3-v3:not(#i3) main :is(.showroom-selector-kicker, .luma-mode-eyebrow)::before {
  display: none;
}

/* The glyph replaces the old sparkle icon in the home hero eyebrow. */
body.i3-v3:not(#i3) .home-v2-eyebrow .home-v2-eyebrow-icon {
  display: none;
}

/* ===== 5. BUTTONS: primary / secondary / text ============================== */
body.i3-v3:not(#i3) :is(
  .home-v2-cta, .button, .button-secondary, .luma-primary-button, .luma-secondary-button,
  .lightbox-primary-action, .lightbox-secondary-action, .luma-sticky-buy, .lightbox-sticky-buy,
  .lightbox-sticky-size-button, .luma-setup-guide-link, .product-stock-alert-action,
  .home-v2-form-button
):not(.hidden, [hidden]) {
  min-height: 48px;
  padding: 0 24px;
  border-radius: var(--i3-radius-pill);
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: none;
  transition:
    transform var(--i3-dur-fast) var(--i3-ease),
    box-shadow var(--i3-dur) var(--i3-ease),
    border-color var(--i3-dur-fast) var(--i3-ease),
    background-color var(--i3-dur-fast) var(--i3-ease);
}

body.i3-v3:not(#i3) :is(.home-v2-cta, .button, .button-secondary, .luma-primary-button, .luma-secondary-button, .lightbox-primary-action, .lightbox-secondary-action, .luma-sticky-buy, .lightbox-sticky-buy, .lightbox-sticky-size-button, .luma-setup-guide-link, .product-stock-alert-action, .home-v2-form-button) :is(span, small) {
  font-weight: inherit;
  letter-spacing: inherit;
}

/* Primary: the brand gradient on Night, solid Ink on Day. One per view. */
body.i3-v3:not(#i3) :is(.home-v2-cta-primary, .button:not(.button-secondary), .luma-primary-button, .lightbox-primary-action, .luma-sticky-buy, .lightbox-sticky-buy, .home-v2-form-button) {
  border: 1px solid var(--v3-btn-border);
  background: var(--v3-btn-bg);
  color: var(--v3-btn-text);
  box-shadow: var(--v3-btn-shadow);
}

body.i3-v3:not(#i3) :is(.home-v2-cta-primary, .button:not(.button-secondary), .luma-primary-button, .lightbox-primary-action, .luma-sticky-buy, .lightbox-sticky-buy, .home-v2-form-button):hover {
  transform: translateY(-1px);
}

/* Secondary: outline. Also the out-of-stock "notify" action, whatever class it started with. */
body.i3-v3:not(#i3) :is(.home-v2-cta-secondary, .button-secondary, .luma-secondary-button, .lightbox-secondary-action, .lightbox-sticky-size-button, .luma-setup-guide-link, .product-stock-alert-action),
body.i3-v3:not(#i3) main [data-stock-alert-open]:is(.button, .luma-primary-button, .lightbox-primary-action, .luma-sticky-buy, .lightbox-sticky-buy, .home-v2-cta, .button-secondary) {
  border: 1px solid var(--v3-btn2-border);
  background: var(--v3-btn2-bg);
  color: var(--v3-btn2-text);
  box-shadow: none;
}

body.i3-v3:not(#i3) :is(.home-v2-cta-secondary, .button-secondary, .luma-secondary-button, .lightbox-secondary-action, .lightbox-sticky-size-button, .luma-setup-guide-link, .product-stock-alert-action):hover,
body.i3-v3:not(#i3) main [data-stock-alert-open]:hover {
  border-color: var(--v3-label);
  transform: none;
}

/* Sticky purchase bars use the small size. */
body.i3-v3:not(#i3) :is(.luma-sticky-buy, .lightbox-sticky-buy, .lightbox-sticky-size-button):not(.hidden, [hidden]) {
  min-height: 38px;
  padding: 0 18px;
  font-size: 14px;
}

/* Text: accent-colored links with an arrow, no box. */
body.i3-v3:not(#i3) :is(
  .showroom-selector-card > span:last-child, .product-card-link-inline, .blog-read-link,
  .home-v2-reel-link, .seo-inline-cta, .custom-project-post-link, .showroom-card-footer > span:last-child
) {
  min-height: 0;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--v3-link);
}

body.i3-v3:not(#i3) :is(.product-card-link-inline, .home-v2-reel-link, .showroom-card-footer > span:last-child) :is(span, small) {
  font-weight: inherit;
  color: inherit;
}

body.i3-v3:not(#i3) :is(.home-v2-cta, .button, .button-secondary, .luma-primary-button, .luma-secondary-button, .lightbox-primary-action, .lightbox-secondary-action, .luma-sticky-buy, .lightbox-sticky-buy, .lightbox-sticky-size-button, .luma-setup-guide-link, .product-stock-alert-action, .home-v2-form-button):focus-visible {
  outline: 2px solid var(--i3-violet);
  outline-offset: 3px;
}

/* ===== 6. CHIPS ============================================================ */
body.i3-v3:not(#i3) :is(
  .pill, .seo-card-tag, .showroom-review-trust-row > span, .about-proof-row > span,
  .luma-coverage-chip-grid > span, .blog-editorial-meta > span, .product-showroom-chips li
) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  padding: 4px 12px;
  border: 1px solid var(--v3-chip-border);
  border-radius: var(--i3-radius-pill);
  background: var(--v3-chip-bg);
  box-shadow: none;
  color: var(--v3-chip-text);
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-display);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: none;
}

/* Card tags sit in stretching flex/grid columns; a chip hugs its text. */
body.i3-v3:not(#i3) .seo-card-tag {
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
  justify-self: start;
}

/* Chips on photos: glass */
body.i3-v3:not(#i3) :is(.showroom-product-badge, .home-v2-reel-card-tag, .product-card-media-label) {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--i3-radius-pill);
  background: rgba(7, 6, 13, 0.62);
  box-shadow: none;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--i3-white);
  font-family: var(--i3-font);
  font-stretch: var(--i3-stretch-display);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: none;
}

/* ===== 7. OUT OF STOCK: back-soon chip + secondary notify button =========== */
/* The chip keeps its live text; the amber "wait" signal dot marks it as coming back. */
body.i3-v3:not(#i3) .product-stock-pill:not(.hidden, [hidden]) {
  color: var(--v3-chip-text);
  background: var(--v3-chip-bg);
  border-color: var(--v3-chip-border);
}

body.i3-v3:not(#i3) .product-stock-pill::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v3-wait);
  box-shadow: 0 0 10px var(--v3-wait);
}

/* ===== 8. SURFACES: Night and Day only ==================================== */
/* Night: Midnight with the ambient glow; the old 96px grid overlay becomes the brand's
   print-layer lines. Day: flat Daylight (#f7f5fb). The warm creams (#f4f1eb, #f6f3ec)
   and the paper grid are retired. */
body.i3-v3:not(#i3) {
  background: var(--i3-ambient), var(--i3-midnight);
  background-color: var(--i3-midnight);
}

body.i3-v3:not(#i3)::before {
  background: var(--i3-layer-lines);
  background-size: auto;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%);
  mask-image: linear-gradient(180deg, #000, transparent 85%);
}

body.i3-v3 {
  --storefront-paper-bg: var(--i3-daylight);
  --storefront-paper-grid: none;
}

body.i3-v3:not(#i3) :is(.showroom-cream, .home-v2-reel, .showroom-reel-section),
body.i3-v3:not(#i3):not(.gallery-page) .home-v2-gallery-section {
  background: var(--i3-daylight);
  color: var(--i3-ink);
}

body.i3-v3:not(#i3) .home-v2-reel-viewport::before {
  background: linear-gradient(to right, var(--i3-daylight) 0%, rgba(247, 245, 251, 0) 100%);
}

body.i3-v3:not(#i3) .home-v2-reel-viewport::after {
  background: linear-gradient(to left, var(--i3-daylight) 0%, rgba(247, 245, 251, 0) 100%);
}

body.i3-v3:not(#i3) .home-v2-reel-viewport::-webkit-scrollbar-thumb {
  border-color: var(--i3-daylight);
}

/* Header: Night glass over every section, light ones included. */
body.i3-v3:not(#i3) .home-v2-header {
  border-bottom: 1px solid var(--i3-line-dark);
  background: rgba(7, 6, 13, 0.92);
  box-shadow: none;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
}

body.i3-v3:not(#i3) .home-v2-mobile-menu {
  border-top-color: var(--i3-line-dark);
  background: rgba(7, 6, 13, 0.96);
}

/* ===== 8b. LAYOUT FIXES (CSS only) ====================================== */
/* Home reviews: the dark panel stretched to the left column's height and left ~200px of
   empty panel below the review cards. It now ends with its content. */
body.i3-v3:not(#i3) .showroom-reviews-layout .home-v2-review-panel {
  align-self: start;
}

/* Card footers (brand .i3-card__foot): the action sits on a hairline at the card's foot,
   so the space above it reads as intentional instead of a gap under short descriptions. */
body.i3-v3:not(#i3) .showroom-selector-card {
  min-height: 0;
}

body.i3-v3:not(#i3) .showroom-selector-card > p {
  align-self: start;
}

body.i3-v3:not(#i3) .showroom-selector-card > span:last-child {
  align-self: end;
  margin-top: 8px;
  padding: 14px 0 0;
  border-top: 1px solid var(--i3-line-light);
}

/* The selector card footer carries the price (live from /api/products, static fallback)
   on the left and the text link on the right. */
body.i3-v3:not(#i3) .showroom-selector-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
}

body.i3-v3:not(#i3) .showroom-selector-price {
  color: var(--i3-ink);
  font-size: 17px;
  font-weight: 650;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

body.i3-v3:not(#i3) .showroom-selector-link::after {
  content: " \203A";
}

body.i3-v3:not(#i3)[data-site-page="shop"] .product-card .card-body .product-card-link-row {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--i3-line-dark);
}

/* In-stock shop cards (no notify action) carry the page's primary action, so the one
   primary in the product grid goes to something purchasable. */
body.i3-v3:not(#i3)[data-site-page="shop"] .product-card:not(:has([data-stock-alert-open])) .product-card-link-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid var(--v3-btn-border);
  border-radius: var(--i3-radius-pill);
  background: var(--v3-btn-bg);
  box-shadow: var(--v3-btn-shadow);
  color: var(--v3-btn-text);
}

/* Shop live board: Archivo sets wider than the old face, so keep the small toggle on one
   line, and give the strip label room under the sticky header on phones. */
body.i3-v3:not(#i3)[data-site-page="shop"] .shop-live-carousel-toggle {
  white-space: nowrap;
}

@media (max-width: 760px) {
  body.i3-v3:not(#i3)[data-site-page="shop"] .shop-live-strip-copy {
    padding-top: 12px;
  }
}

/* ===== 8c. LOGO ============================================================ */
/* Header: the v3 "logo on dark" (vector, PNG fallback in <picture>). Brand minimum is 110px wide;
   clear space is half the mark height, which the 72px header already gives. */
body.i3-v3:not(#i3) .home-v2-brand-mark {
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

body.i3-v3:not(#i3) .home-v2-brand-mark picture {
  display: block;
  line-height: 0;
}

body.i3-v3:not(#i3) .home-v2-brand-logo {
  display: block;
  width: 188px;
  max-width: none;
  height: auto;
  aspect-ratio: 432 / 60;
  border-radius: 0;
  object-fit: contain;
}

@media (max-width: 760px) {
  body.i3-v3:not(#i3) .home-v2-brand-logo {
    width: 140px;
  }
}

/* ===== 8d. MOBILE DENSITY ================================================ */
/* Phones: fewer screens of scrolling. Primary copy and keyword text stay visible;
   only layout and secondary card text change. */
@media (max-width: 520px) {
  /* Light box gallery photos: two columns instead of one tall stack (each photo still opens).
     The LumaGlow gallery stays one column: its photos have no small variants, and two
     columns put it over the 1.75 MB page-weight budget (scripts/validate-page-weight.mjs). */
  body[data-site-page="home"][data-gallery-product="CUSTOM-LOGO-LIGHT-BOX"].gallery-page .home-v2-gallery-stage.is-static-grid {
    columns: 2;
    column-gap: 0.5rem;
  }

  body[data-site-page="home"][data-gallery-product="CUSTOM-LOGO-LIGHT-BOX"].gallery-page .home-v2-gallery-stage.is-static-grid .home-v2-gallery-card {
    margin-bottom: 0.5rem;
  }

  /* Shop "Start here" links: a two-column grid instead of twelve stacked buttons.
     The first (primary) link keeps the full row. */
  body[data-site-page="shop"].home-v2-storefront-page .shop-seo-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  body.i3-v3:not(#i3)[data-site-page="shop"] .shop-seo-actions > a:not(.hidden, [hidden]) {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 6px 8px;
    justify-content: center;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  body[data-site-page="shop"].home-v2-storefront-page .shop-seo-actions > a:first-child,
  body[data-site-page="shop"].home-v2-storefront-page .shop-seo-actions > a:last-child:nth-child(even) {
    grid-column: 1 / -1;
  }
}

/* FAQ answers start collapsed, so every question shows its "+" icon. On phones the
   legacy 1rem side padding let long questions run under the icon; keep room for it. */
@media (max-width: 640px) {
  body.faq-policy-page .faq-topic-card summary {
    padding-right: 3rem;
  }
}

/* ===== 9. LEGACY WEIGHT NORMALIZATION (generated) =========================
   The legacy layers ask for weights outside the v3 type system (650, 720-760, 800-950).
   This block re-declares those exact selectors, in the same @media context and with the same
   specificity, so this later file wins: 650 and 720-760 -> 600, 800-950 -> 700. Role rules above
   (display, title, label, button, chip) set their own weights and take precedence.
   Generated on 2026-10-05 from styles.css, home-react*.css, lumaglow-aura-crops.css,
   home-effects.css, home-showroom-polish.css, back-in-stock.css, gallery-page.css and
   lumaglow-aura-detail-crops.css: for each selector + context, the last font-weight declared
   in cascade order is remapped. Regenerate if those layers change their weights. */
body.lightbox-product-detail-page .lightbox-hero-lede,
body[data-site-page="home"] .showroom-hero-title,
body[data-site-page="home"] .showroom-section-heading h2,
body[data-site-page="home"] .showroom-feature-copy h2,
body[data-site-page="home"] .showroom-final-inner h2,
body.faq-policy-page .faq-hero h1,
body.story-page .story-hero h1,
body.story-page .story-section-heading h2,
body.story-page .story-final-panel h2,
body.about-story-page .about-hero h1,
body.about-story-page .about-proof-row span,
body.about-story-page .about-statement h2,
body.about-story-page .about-section-heading h2,
body.about-story-page .about-process-copy h2,
body.about-story-page .about-final-panel h2,
body[data-site-page="shop"].home-v2-storefront-page .home-v2-nav a,
body[data-site-page="shop"].home-v2-storefront-page .home-v2-nav-dropdown-trigger,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-runway-copy p,
body[data-site-page="contact"].home-v2-storefront-page .seo-breadcrumbs,
body[data-site-page="contact"].home-v2-storefront-page .contact-section-heading p:not(.seo-kicker),
body[data-site-page="contact"].home-v2-storefront-page .contact-notes-grid p,
body[data-site-page="contact"].home-v2-storefront-page .contact-path-copy p:not(.seo-kicker),
body[data-site-page="contact"].home-v2-storefront-page .contact-link-list small,
body[data-site-page="contact"].home-v2-storefront-page .contact-label-optional,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-copy small,
body[data-site-page="contact"].home-v2-storefront-page .contact-form-submit p,
body.custom-orders-page .custom-project-specs dd,
body[data-site-page="home"] .home-v2-reel-link,
body.showroom-full-polish-page .showroom-reel-controls [data-reel-status],
.stock-alert-back-link,
.stock-alert-popup-product-label,
.stock-alert-popup-promises,
body[data-site-page="home"].gallery-page .seo-gallery-seo-section .seo-section-heading h2,
body[data-site-page="home"].gallery-page .seo-gallery-card h2 {
  font-weight: 600;
}
.button,
.button-secondary,
.button-ghost,
.search-select-option-code,
.artwork-dropzone-title,
.artwork-selection-title,
.artwork-selection-name,
.product-detail-section-title,
.mount-matrix-head,
body[data-site-page="shop"].home-v2-storefront-page .product-showroom-label,
body[data-site-page="shop"].home-v2-storefront-page .product-card-media-label,
body[data-site-page="shop"].home-v2-storefront-page .product-card-preview-thumb,
body[data-site-page="shop"].home-v2-storefront-page .product-card-preview-more,
body[data-site-page="shop"].home-v2-storefront-page .product-showroom-chips li,
body[data-site-page="shop"].home-v2-storefront-page .product-card-link-inline,
body[data-site-page="shop"].home-v2-storefront-page .price-prefix,
body[data-site-page="shop"].home-v2-storefront-page .price-amount,
body[data-site-page="shop"].home-v2-storefront-page .price-compare,
body.luma-product-detail-page .luma-scroll-price-block span,
body.luma-product-detail-page .luma-scroll-price-block strong,
body.luma-product-detail-page .luma-scroll-price-block s,
body.lightbox-product-detail-page .lightbox-eyebrow,
body.lightbox-product-detail-page .lightbox-hero-copy h1,
body.lightbox-product-detail-page .lightbox-sticky-price span,
body.lightbox-product-detail-page .lightbox-sticky-price small,
body.lightbox-product-detail-page .lightbox-sticky-price strong,
body[data-site-page="contact"] .seo-kicker,
body[data-site-page="contact"] .contact-page-proof-row dt,
body[data-site-page="contact"] .contact-inquiry-pill,
body[data-site-page="contact"] .contact-notes-grid article > span,
body[data-site-page="home"] .showroom-product-badge,
body[data-site-page="home"] .showroom-card-title,
body[data-site-page="home"] .showroom-card-footer,
body[data-site-page="home"] .showroom-selector-kicker,
body[data-site-page="home"] .showroom-selector-card > span:last-child,
body[data-site-page="home"] .showroom-product-showcase-card strong,
body[data-site-page="home"] .showroom-eyebrow,
body[data-site-page="home"] .showroom-lumaglow-photo-slot figcaption span,
body[data-site-page="home"] .showroom-lumaglow-photo-slot figcaption strong,
body[data-site-page="home"] .showroom-steps span,
body[data-site-page="home"] .showroom-review-trust-row span,
body[data-site-page="home"] .showroom-review-stats span,
body[data-site-page="home"] .showroom-featured-review-kicker,
body[data-site-page="shop"].home-v2-storefront-page .shop-seo-kicker,
.legacy-product-kicker,
body.faq-policy-page .faq-kicker,
body.faq-policy-page .faq-hero-note span,
body.faq-policy-page .faq-summary-grid span,
body.faq-policy-page .faq-policy-list dt,
body.faq-policy-page .faq-topic-card summary,
body.story-page .seo-kicker,
body.story-page .story-media-note span,
body.story-page .story-proof-grid span,
body.story-page .story-detail-list span,
body.story-page .seo-inline-cta,
body.story-page .story-timeline span,
body.about-story-page .about-statement-list span,
body.about-story-page .about-process-steps span,
body.luma-scroll-refresh-page .luma-scroll-hero-copy h1,
body.luma-scroll-refresh-page .luma-scroll-hero-copy .luma-hero-lede,
body.luma-scroll-refresh-page .luma-scroll-order-actions .luma-scroll-price-block span,
body.luma-scroll-refresh-page .luma-scroll-order-actions .luma-scroll-price-block strong,
body.luma-scroll-refresh-page .luma-scroll-story-copy h2,
body.luma-scroll-refresh-page .luma-scroll-control-copy h2,
body.luma-scroll-refresh-page .luma-scroll-benefit-grid strong,
body.luma-scroll-refresh-page .luma-scroll-control-points strong,
body.luma-scroll-refresh-page .luma-scroll-step-grid h3,
body.luma-scroll-refresh-page .luma-scroll-faq-grid h3,
body.luma-scroll-refresh-page .luma-scroll-proof-heading h2,
body.luma-scroll-refresh-page .luma-scroll-step-grid article > span,
body.luma-scroll-refresh-page .luma-setup-guide-link,
body.luma-edge-refresh-page .luma-setup-guide-link,
body.luma-scroll-refresh-page .luma-scroll-faq-section .luma-scroll-faq-grid h3::before,
body.luma-scroll-refresh-page .luma-scroll-faq-section .luma-scroll-faq-grid a,
body.luma-scroll-refresh-page .luma-scroll-sticky-price span,
body.luma-scroll-refresh-page .luma-scroll-sticky-price strong,
body.luma-scroll-refresh-page .luma-scroll-sticky-price s,
body.luma-edge-refresh-page .luma-edge-hero-copy h1,
body.luma-edge-refresh-page .luma-edge-hero-copy .luma-hero-lede,
body.luma-edge-refresh-page .luma-edge-story-copy h2,
body.luma-edge-refresh-page .luma-edge-control-copy h2,
body.luma-edge-refresh-page .luma-edge-proof-heading h2,
body.luma-edge-refresh-page .luma-edge-order-panel h2,
body.luma-edge-refresh-page .luma-edge-benefit-grid strong,
body.luma-edge-refresh-page .luma-edge-control-points strong,
body.luma-edge-refresh-page .luma-edge-step-grid h3,
body.luma-edge-refresh-page .luma-edge-faq-grid h3,
body.luma-edge-refresh-page .luma-edge-proof-column-heading h3,
body.luma-edge-refresh-page .luma-edge-proof-card span,
body.luma-edge-refresh-page .luma-edge-proof-card h3,
body.luma-edge-refresh-page .luma-edge-proof-section.is-scroll-paged .luma-edge-stage-tabs > span,
body.luma-edge-refresh-page .luma-edge-step-grid article > span,
body.luma-edge-refresh-page .luma-edge-price-block span,
body.luma-edge-refresh-page .luma-edge-price-block strong,
body.luma-edge-refresh-page .luma-edge-sticky-price span,
body.luma-edge-refresh-page .luma-edge-sticky-price strong,
body.luma-scroll-refresh-page .luma-scroll-mode-family-housing h3,
body.luma-edge-refresh-page .luma-coverage-heading h2,
body.luma-scroll-refresh-page .luma-coverage-heading h2,
body.luma-edge-refresh-page .luma-coverage-card-top > span,
body.luma-scroll-refresh-page .luma-coverage-card-top > span,
body.luma-edge-refresh-page .luma-coverage-card h3,
body.luma-scroll-refresh-page .luma-coverage-card h3,
body.luma-edge-refresh-page .luma-coverage-chip-grid span,
body.luma-scroll-refresh-page .luma-coverage-chip-grid span,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-visual-grid strong,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-visual-grid small,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-visual-grid em,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-visual-item strong,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-visual-item small,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-heading h2,
body.luma-edge-refresh-page .luma-edge-coverage-section .luma-coverage-card h3,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-console-top,
body[data-site-page="shop"].home-v2-storefront-page .shop-source-head,
body[data-site-page="shop"].home-v2-storefront-page .shop-source-head small,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-kicker,
body[data-site-page="shop"].home-v2-storefront-page .shop-score-line strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-ticker-line strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-market-primary strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-market-primary span,
body[data-site-page="shop"].home-v2-storefront-page .shop-ticker-up,
body[data-site-page="shop"].home-v2-storefront-page .shop-ticker-down,
body[data-site-page="shop"].home-v2-storefront-page .shop-ticker-flat,
body[data-site-page="shop"].home-v2-storefront-page .shop-calendar-date,
body[data-site-page="shop"].home-v2-storefront-page .shop-calendar-event,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-mode small:not([data-live-card-status]),
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-card-media-label,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-showroom-label,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .price,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .price-prefix,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .price-compare,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-showroom-chips li,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-runway-copy .eyebrow,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-live-board-label,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-live-board-top strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-carousel-toggle,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-live-status,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-source-head small,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-source-head,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-live-kicker,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-team-identity,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-score-line strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-market-primary strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-ticker-line strong,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-market-primary span,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-ticker-up,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-ticker-down,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-ticker-flat,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-calendar-date,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-calendar-event,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-live-mode small:not([data-live-card-status]),
body[data-site-page="shop"].home-v2-storefront-page .home-v2-cart,
body[data-site-page="shop"].home-v2-storefront-page .shop-live-strip .shop-runway-copy h1,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .price-amount,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-title,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-card-link-inline,
body[data-site-page="contact"].home-v2-storefront-page h1,
body[data-site-page="contact"].home-v2-storefront-page h2,
body[data-site-page="contact"].home-v2-storefront-page h3,
body[data-site-page="contact"].home-v2-storefront-page .seo-kicker,
body[data-site-page="contact"].home-v2-storefront-page .contact-inquiry-pill,
body[data-site-page="contact"].home-v2-storefront-page .contact-page-copy h1,
body[data-site-page="contact"].home-v2-storefront-page .home-v2-cta,
body[data-site-page="contact"].home-v2-storefront-page .home-v2-form-button,
body[data-site-page="contact"].home-v2-storefront-page .contact-page-proof-row dt,
body[data-site-page="contact"].home-v2-storefront-page .home-v2-field label,
body[data-site-page="contact"].home-v2-storefront-page .contact-notes-grid article > span,
body[data-site-page="contact"].home-v2-storefront-page .contact-link-list span,
body.lightbox-collection-page .story-hero h1,
body.lightbox-collection-page .lightbox-collection-price-pill span,
body.lightbox-collection-page .lightbox-collection-price-pill small,
body.lightbox-collection-page .lightbox-collection-price-pill strong,
body.luma-aura-detail-page .luma-hero-copy h1,
body.luma-aura-detail-page .luma-section-heading h2,
body.luma-aura-detail-page .luma-sports-heading h2,
body.luma-aura-detail-page .luma-static-related-grid h2,
body.luma-aura-detail-page .luma-static-cta-panel h2,
body.luma-aura-detail-page .luma-finish-trigger > span:first-child,
body.luma-aura-detail-page .luma-sticky-qty span,
body[data-site-page="shop"].home-v2-storefront-page .shop-runway-products .product-stock-alert-action,
body[data-site-page="product"].home-v2-storefront-page .luma-edge-stock-pill,
body[data-site-page="product"].home-v2-storefront-page .luma-scroll-stock-pill,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-heading,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-copy strong,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-action,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-preview,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-details strong,
body[data-site-page="contact"].home-v2-storefront-page .contact-upload-remove,
body.blog-hub-page .blog-index-heading-row h1,
body.blog-hub-page .blog-collection-heading h2,
body.blog-hub-page .blog-editorial-meta,
body.blog-hub-page .blog-editorial-card h2,
body.blog-hub-page .blog-read-link,
body.blog-hub-page .blog-closing-inner h2,
body.custom-orders-page .custom-orders-intro-copy h1,
body.custom-orders-page .custom-project-heading h2,
body.custom-orders-page .custom-project-summary h3,
body.custom-orders-page .custom-project-post-link,
body.custom-orders-page .custom-project-specs dt,
body.custom-orders-page .custom-orders-contact h2,
body.custom-orders-page .seo-kicker,
body.custom-orders-page .home-v2-cta,
body.custom-orders-page .custom-orders-brief-label,
body.custom-orders-page .custom-orders-brief-card h2,
body.custom-orders-page .custom-orders-brief-list span,
body.blog-hub-page .blog-index-heading-row .seo-kicker,
body.luma-scroll-refresh-page .luma-scroll-stage-tabs button,
body.luma-edge-refresh-page .luma-edge-stage-tabs button,
body.luma-product-detail-page .luma-video-toggle,
body[data-site-page="home"] .showroom-reel-placeholder-art span,
.stock-alert-popup-body h2,
.stock-alert-popup-form label > span:first-child {
  font-weight: 700;
}
@media (max-width: 820px) {
  body.luma-scroll-refresh-page.site-shell .luma-scroll-story-copy h2::after,
  body.luma-scroll-refresh-page.site-shell .luma-scroll-control-copy h2::after,
  body.luma-edge-refresh-page .luma-edge-proof-column[data-edge-mode-group] .luma-edge-proof-card > div::before,
  body.luma-edge-refresh-page.site-shell .luma-edge-story-copy h2::after {
    font-weight: 700;
  }
  body.luma-edge-refresh-page.site-shell .luma-edge-control-copy h2::after,
  body.luma-scroll-refresh-page.site-shell .luma-scroll-story-copy h2,
  body.luma-scroll-refresh-page.site-shell .luma-scroll-control-copy h2,
  body.luma-edge-refresh-page.site-shell .luma-edge-story-copy h2,
  body.luma-edge-refresh-page.site-shell .luma-edge-control-copy h2 {
    font-weight: 700 !important;
  }
}

/* CTA links that some pages (e.g. FAQ) render as display:block: keep the label centred. */
body.i3-v3:not(#i3) .home-v2-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
