/* Anchal Garments — final contrast pass (loaded last).
   Ensures every surface has readable text on all pages. */

body.a55-store,
.page-main,
.page-wrap {
  color: var(--ink) !important;
}

/* ---------- Global light surfaces (dark chrome excluded below) ---------- */
.a55-slideout-link,
.a55-slideout-foot a,

/* ---------- Home prism grove (light sections) ---------- */
.a55-prism-section-head h2,
.a55-prism-bento-label strong,
.a55-prism-zig-copy h3,
.a55-prism-frame strong,
.a55-prism-steps p,
.a55-terrace,
.a55-terrace-copy,
.a55-terrace-copy h1,
.a55-terrace-lede,
.a55-terrace-metrics strong,
.a55-lanes,
.a55-lanes-head h2,
.a55-mosaic-wrap,
.a55-mosaic-head h2,
.a55-mosaic-meta strong,
.a55-strip-grid article,
.a55-strip-grid h3,
.a55-draft,
.a55-draft-top,
.a55-stamp,
.a55-stamp-copy,
.a55-stamp-top,
.a55-stamp-bottom,
.a55-tool,
.a55-tool strong,
.a55-tick-label,
.a55-tick-num,
.a55-card,
.a55-card-body,
.a55-card-body h3,
.a55-card-body h3 a,
.a55-card-price,
.a55-card-foot,
.a55-atlas-card-meta,
.a55-atlas-card-row,
.a55-atlas-card-price,
.a55-page-hero,
.a55-page-hero h1,
.a55-page-hero h2,
.a55-atlas-hero-copy h1,
.a55-atlas-empty h2,
.a55-atlas-card-meta h3,
.a55-atlas-rail,
.a55-atlas-lane,
.a55-atlas-lane-label,
.a55-atlas-stat strong,
.a55-atlas-crumb,
.a55-signal-hero-copy h1,
.a55-signal-lookup-head h2,
.a55-signal-board-head h2,
.a55-signal-state h2,
.a55-signal-step-copy strong,
.a55-signal-crumb,
.a55-signal-field-label,
.a55-signal-progress-ring > span,
.a55-ledger-hero-copy h1,
.a55-ledger-banner-copy h2,
.a55-ledger-panel-head h3,
.a55-ledger-intro h2,
.a55-ledger-crumb,
.a55-ledger-perks li,
.a55-satchel-hero-copy h1,
.a55-satchel-items-head h2,
.a55-satchel-summary-head h2,
.a55-satchel-empty h2,
.a55-satchel-line-body h3,
.a55-satchel-crumb,
.a55-satchel-summary-rows dd,
.a55-roll-hero-copy h1,
.a55-roll-volume-head h2,
.a55-roll-gate h2,
.a55-roll-empty h2,
.a55-roll-id,
.a55-roll-crumb,
.a55-roll-meta dd,
.a55-gate-hero-copy h1,
.a55-gate-panel-head h2,
.a55-gate-manifest-head h2,
.a55-gate-crumb,
.a55-gate-manifest-totals dd,
.a55-brief-hero-copy h1,
.a55-brief-panel-head h2,
.a55-brief-support-head h2,
.a55-brief-missing h1,
.a55-brief-crumb,
.a55-brief-details dd,
.a55-section-head h2,
.a55-hero-copy h1,
.a55-hero-stack span,
.a55-notes-grid h3,
.a55-help-col,
.a55-help-col h2,
.a55-help-col h3,
.a55-faq,
.a55-faq summary,
.a55-desk,
.a55-desk h2,
.a55-desk label,
.a55-slip,
.a55-slip h2,
.a55-success-card,
.a55-success-card h2,
.a55-timeline article,
.a55-timeline article h2,
.a55-log,
.a55-log dd,
.a55-dossier h1,
.a55-product-sheet,
.a55pl-sheet,
.a55pl-sheet > header h2,
.a55pl-body h3,
.a55pl-cards h4,
.a55pl-cards p,
.a55-stop,
.a55-stop a,
.a55-stop strong,
.a55-empty-tray,
.a55-empty-tray h2,
.a55-empty-tray p,
.dash-panel,
.dash-panel h3,
.dash-panel a,
.profile-grid,
.profile-grid dd,
.profile-item .v,
.order-list,
.order-list *,
.a55-route li,
.a55-manifest li,
.a55-index-panel,
.a55-index-head strong,
.a55-index-links .ts-nav-link,
.a55-index-body,
.empty-state,
.notice,
.a55-loading {
  color: var(--ink) !important;
}

.a55-lede,
.a55-atlas-lede,
.a55-atlas-query,
.a55-atlas-stat small,
.a55-atlas-card-sku,
.a55-signal-lede,
.a55-signal-board-meta,
.a55-signal-lookup-head p,
.a55-signal-step-copy small,
.a55-signal-tips li,
.a55-signal-state p,
.a55-ledger-lede,
.a55-ledger-intro-lede,
.a55-ledger-panel-head p,
.a55-ledger-orders .mini-copy,
.a55-ledger-loading,
.a55-satchel-lede,
.a55-satchel-items-head p,
.a55-satchel-line-unit,
.a55-satchel-line-variant,
.a55-satchel-empty p,
.a55-satchel-ship-note,
.a55-satchel-summary-fine,
.a55-satchel-summary-rows dt,
.a55-satchel-stat small,
.a55-roll-lede,
.a55-roll-gate p,
.a55-roll-empty p,
.a55-roll-items,
.a55-roll-loading,
.a55-roll-meta dt,
.a55-roll-badge > span,
.a55-gate-lede,
.a55-gate-panel-head p,
.a55-gate-manifest-totals dt,
.a55-gate-stat small,
.a55-gate-legal,
.a55-brief-lede,
.a55-brief-panel-head p,
.a55-brief-support-head p,
.a55-brief-step-copy small,
.a55-brief-details dt,
.a55-brief-tickets p,
.a55-brief-missing p,
.a55-brief-empty-lines,
.a55-card-sku,
.a55-fine:not(.a55-luggage .a55-fine),
.a55-hero-facts dd,
.a55-notes-grid p,
.a55-faq p,
.a55-timeline article p,
.a55-timeline article li,
.a55pl-body p,
.a55pl-body li,
.a55pl-sheet > header p,
.a55-no-match,
.empty-state .sub,
.a55-empty-tray p,
.a55-specimen-lg figcaption,
.a55-section-head p {
  color: #243447 !important; /* graphite — stronger than muted on chalk grid */
}

.a55-kicker,
.a55-card-aisle,
.a55-atlas-card-lane,
.a55-atlas-eyebrow,
.a55-log dt,
.a55-timeline span,
.a55-stop-num,
.profile-grid dt,
.profile-item .k,
.a55-ledger-field > span,
.or27-day,
.a55-stamp-bottom,
.a55-tick-num,
.a55-tool small,
.a55pl-stamp span,
.a55-section-head p {
  color: #5A3A1C !important;
  font-weight: 700 !important;
}

.a55-tick-label {
  color: var(--ink) !important;
  font-weight: 650 !important;
}

.a55-hero-facts dd,
.a55-card-sku,
.a55-specimen-lg figcaption {
  color: #314455 !important;
}

.a55-page-hero h1 em,
.a55-hero h1 em,
.a55pl-mast h1 em,
.a55-card-price,
.a55-atlas-card-price,
.a55-notes-grid span,
.a55-hero-facts dt {
  color: var(--signal-deep) !important;
}

.a55-stamp-top,
.a55-hero-stack span:nth-child(2),
.a55-tick.is-active .a55-tick-label {
  color: var(--blueprint-deep) !important;
}

/* ---------- Forms on light backgrounds ---------- */
input, select, textarea,
.a55-desk input, .a55-desk textarea, .a55-desk select,
.a55-form-narrow input, .a55-form-narrow select, .a55-form-narrow textarea,
.a55-pass input, .a55-pass textarea, .a55-pass select,
.a55-buy select, .a55-qty input, .a55-qty button,
.a55-spec input,
.dash-panel input, .dash-panel select, .dash-panel textarea {
  color: var(--ink) !important;
  background-color: var(--paper) !important;
  caret-color: var(--ink) !important;
}

.a55-spec input,
.a55-index-spec input {
  background-color: transparent !important;
}

::placeholder,
input::placeholder,
textarea::placeholder,
.a55-spec input::placeholder {
  color: #455667 !important;
  opacity: 1 !important;
}

.a55-form-narrow label,
.a55-desk label,
.dash-panel label {
  color: var(--ink) !important;
}

/* ---------- Dark panels (must stay light text) ---------- */
.a55-sheet-edge,
.a55-titleblock,
.a55-tb-meta,
.a55-tb-meta strong,
.a55-tb-col a,
.a55-tb-col p,
.a55-tb-bar,
.a55-tb-bar span,
.a55-pass,
.a55-pass-side,
.a55-coord-card,
.a55-luggage,
.a55-gate aside,
#authSplitGate,
.a55-member-chip h2,
.dash-nav-link {
  color: var(--on-dark) !important;
}

.a55-titleblock .a55-tb-meta p,
.a55-titleblock .a55-tb-col a,
.a55-titleblock .a55-tb-col p,
.a55-titleblock .a55-tb-hours,
.a55-titleblock .a55-tb-bar,
.a55-titleblock .a55-tb-bar span,
.a55-pass p,
.a55-pass-side p,
.a55-pass-rows,
.a55-coord-card p,
.a55-gate aside p,
.a55-member-chip p,
.a55-benefits li,
.a55-luggage .a55-fine,
#authSplitGate .lead,
#authSplitGate .auth-split-panel .lead {
  color: var(--on-dark-muted) !important;
}

.a55-titleblock .a55-tb-col h4,
.a55-titleblock .a55-tb-badge,
.a55-pass .a55-kicker,
.a55-coord-card strong,
.a55-coord-card a,
.a55-pass a,
.a55-pass-side a,
.a55-side-links a,
.a55-text-btn,
.a55-gate aside a,
#authSplitGate a,
#authSplitGate button.a55-text-btn,
.a55-coord-card nav a {
  color: #F2D7A8 !important;
}

.a55-pass .a55-kicker,
.a55-gate aside .a55-kicker,
#authSplitGate .a55-kicker,
.a55-member-chip .a55-kicker {
  color: #F2D7A8 !important;
  opacity: 1 !important;
}

.a55-titleblock .a55-tb-col a,
.a55-titleblock .a55-tb-col p,
.a55-titleblock .a55-tb-meta p,
.a55-titleblock .a55-tb-bar span {
  color: #D7E6F2 !important;
}

.a55-pass h2,
.a55-pass strong,
.a55-pass-total,
.a55-price,
.a55-luggage-top,
.a55-coord-card h2,
.a55-gate aside h2,
#authSplitGate h2,
#authSplitGate .auth-split-panel h2,
#authSplitGate label,
#authSplitGate .auth-form label,
.a55-pass label,
.a55-pass-side label,
.a55-gate aside label {
  color: var(--on-dark) !important;
}

.dash-nav-link.is-active,
.auth-split-tab.is-active {
  color: #fff !important;
}

.auth-split-tab {
  color: var(--on-dark) !important;
}

/* Auth gate panels sit on dark aside — keep panel text light */
#authSplitGate .auth-split-panel,
#authSplitGate .auth-split-panel h2,
#authSplitGate .auth-split-panel .lead,
#authSplitGate .auth-form label {
  color: var(--on-dark) !important;
  opacity: 1 !important;
}

/* Inputs inside dark panels stay dark-ink on white fields */
#authSplitGate input,
#authSplitGate textarea,
#authSplitGate select,
.a55-pass input,
.a55-pass textarea,
.a55-pass select,
.a55-pass-side input,
.a55-buy select {
  color: var(--ink) !important;
  background: var(--paper) !important;
}

/* ---------- Dark ribbon, horizon nav & pollen hero ---------- */
.a55-ribbon,
.a55-ribbon-inner,
.a55-ribbon-inner p {
  color: var(--on-dark) !important;
}

.a55-ribbon-inner strong {
  color: #fcd34d !important;
}

.a55-ribbon-inner a {
  color: #bae6fd !important;
}

/* ---------- Orbit Spine nav ---------- */
.a55-orbit-rail-link {
  color: rgba(248, 250, 252, 0.78) !important;
}

.a55-orbit-rail-link.is-active {
  color: #fff !important;
}

.a55-orbit-logo-type strong {
  color: #f8fafc !important;
}

.a55-orbit-logo-type em {
  color: #a67c52 !important;
}

.a55-orbit-tool-btn {
  color: rgba(248, 250, 252, 0.85) !important;
}

.a55-orbit-spine-note {
  color: rgba(248, 250, 252, 0.78) !important;
}

.a55-orbit-sheet-link {
  color: #0f172a !important;
}

.a55-orbit-sheet-link.is-active {
  color: #fff !important;
}

/* Prism Grove stage (dark mesh) */
.a55-prism-caption h1,
.a55-prism-lede,
.a55-prism-eyebrow {
  color: #f8fafc !important;
}

.a55-prism-caption h1 em {
  color: #d4c4a0 !important;
}

.a55-prism-lede {
  color: rgba(248, 250, 252, 0.78) !important;
}

.a55-prism-eyebrow {
  color: rgba(248, 250, 252, 0.75) !important;
}

.a55-prism-stats strong {
  color: #f8fafc !important;
}

.a55-prism-stats span {
  color: rgba(248, 250, 252, 0.85) !important;
}

.a55-prism-section-head p {
  color: var(--signal) !important;
}

.a55-prism-section-head h2 {
  color: #0f172a !important;
}

.a55-prism-film .a55-prism-section-head h2 {
  color: #f8fafc !important;
}

.a55-prism-film .a55-prism-section-head p {
  color: #d4c4a0 !important;
}

.a55-prism-film-tabs button {
  color: rgba(248, 250, 252, 0.7) !important;
}

.a55-prism-film-tabs button.is-active {
  color: #fff !important;
}

.a55-prism-frame span {
  color: #475569 !important;
}

.a55-prism-frame strong {
  color: #f8fafc !important;
}

.a55-prism-frame em,
.a55-prism-zig-copy em {
  color: var(--signal-deep) !important;
}

.a55-prism-stair .a55-prism-section-head h2,
.a55-prism-steps p {
  color: #f8fafc !important;
}

.a55-prism-stair .a55-prism-section-head p {
  color: #d4c4a0 !important;
}

.a55-prism-step-num {
  color: var(--signal) !important;
}

/* Forge Atlas company */
.a55-forge-crumb,
.a55-forge-crumb a,
.a55-forge-kicker,
.a55-forge-gallery-caption strong {
  color: #f4efe4 !important;
}
.a55-forge-hero h1,
.a55-forge-section-head h2,
.a55-forge-bento-cell strong,
.a55-forge-perks li,
.a55-forge-dl dd,
.a55-forge-lane strong,
.a55-forge-gallery-stat dd {
  color: var(--ink) !important;
}
.a55-forge-tagline,
.a55-forge-bento-cell > div,
.a55-forge-section-head p,
.a55-forge-timeline-event p,
.a55-forge-dl dt,
.a55-forge-place p,
.a55-forge-lane small {
  color: var(--graphite) !important;
}
.a55-forge-cta {
  color: #fff !important;
}
.a55-forge-cta-ghost {
  color: var(--blueprint) !important;
}
.a55-forge-dl a {
  color: var(--blueprint) !important;
}
.a55-forge-legal-tabs button.is-active,
.a55-forge-legal-tabs button[aria-selected="true"] {
  color: var(--ink) !important;
}
.a55-forge-legal-tabs button:not(.is-active):not([aria-selected="true"]) {
  color: rgba(244, 239, 228, 0.65) !important;
}

/* ---------- Overlay / specimen / buttons ---------- */
.a55-specimen-meta,
.a55-specimen figcaption,
.a55-aisle span,
.a55-aisle i {
  color: #fff !important;
}

.a55-btn,
.a55-btn-signal,
.ts-btn,
.a55-spec button,
.a55-spec-label {
  color: #fff !important;
}

.a55-btn-ghost,
.ts-btn-outline {
  color: var(--ink) !important;
  background: transparent !important;
}
.a55-btn-ghost:hover,
.ts-btn-outline:hover {
  color: #fff !important;
  background: var(--ink) !important;
}

.a55-chips a,
.a55-atlas-pill {
  color: var(--ink) !important;
}
.a55-chips a.is-on,
.a55-atlas-pill.is-active,
.a55-atlas-pill:hover {
  color: #fff !important;
}
.a55-atlas-lane.is-active .a55-atlas-lane-label {
  color: var(--ink) !important;
}
.a55-atlas-search-btn,
.a55-signal-submit {
  color: #fff !important;
}
.a55-signal-status-badge {
  color: #fff !important;
}
.a55-signal-eyebrow {
  color: var(--success) !important;
}
.a55-signal-tips a {
  color: var(--blueprint) !important;
}
.a55-signal-path li.is-on .a55-signal-step-copy strong {
  color: var(--signal-deep) !important;
}
.a55-signal-input-wrap input {
  color: var(--ink) !important;
  background: transparent !important;
}
.a55-ledger-eyebrow,
.a55-ledger-banner-copy p {
  color: var(--success) !important;
  font-weight: 800 !important;
}
.a55-satchel-eyebrow,
.a55-satchel-summary-head p {
  color: var(--success) !important;
  font-weight: 800 !important;
}
.a55-satchel-summary-total dd,
.a55-satchel-line-total {
  color: var(--signal-deep) !important;
}
.a55-satchel-cta {
  color: #fff !important;
}
.a55-satchel-qty input,
.a55-satchel-qty button {
  color: var(--ink) !important;
}
.a55-satchel-crumb a {
  color: var(--blueprint) !important;
}
.a55-satchel-ship-note-free {
  color: var(--success) !important;
}
.a55-roll-eyebrow,
.a55-roll-volume-head p {
  color: var(--blueprint) !important;
  font-weight: 800 !important;
}
.a55-roll-cta,
.a55-roll-track:hover {
  color: #fff !important;
}
.a55-roll-track {
  color: var(--blueprint) !important;
}
.a55-roll-crumb a,
.a55-roll-shop-link {
  color: var(--blueprint) !important;
}
.a55-roll-badge strong {
  color: var(--blueprint) !important;
}
.a55-roll-entry.tone-delivered .a55-roll-status {
  color: var(--success) !important;
}
.a55-gate-eyebrow,
.a55-gate-manifest-head p {
  color: var(--success) !important;
  font-weight: 800 !important;
}
.a55-gate-progress li.is-on {
  color: #fff !important;
}
.a55-gate-progress li.is-on span {
  color: var(--blueprint-deep) !important;
}
.a55-gate-btn-primary {
  color: #fff !important;
}
.a55-gate-field input,
.a55-gate-field textarea {
  color: var(--ink) !important;
  background: #fff !important;
}
.a55-gate-field input[readonly] {
  color: var(--muted) !important;
  background: rgba(238, 244, 248, 0.9) !important;
}
.a55-gate-manifest-due dd,
.a55-gate-stat-total strong {
  color: var(--signal-deep) !important;
}
.a55-gate-crumb a,
.a55-gate-legal a {
  color: var(--blueprint) !important;
}
.a55-gate-ship-note-free {
  color: var(--success) !important;
}
.a55-gate-alert {
  color: var(--signal-deep) !important;
}
.a55-brief-status-badge {
  color: #fff !important;
}
.a55-brief-status-badge.is-cancelled {
  color: #fff !important;
}
.a55-brief-steps li.is-on .a55-brief-step-copy strong {
  color: var(--signal-deep) !important;
}
.a55-brief-details-total dd {
  color: var(--signal-deep) !important;
}
.a55-brief-cta {
  color: #fff !important;
}
.a55-brief-field input,
.a55-brief-field select,
.a55-brief-field textarea {
  color: var(--ink) !important;
  background: #fff !important;
}
.a55-brief-crumb a,
.a55-brief-support-links a {
  color: var(--blueprint) !important;
}
.a55-brief-field > span {
  color: var(--muted) !important;
}
.a55-vault-intro h1,
.a55-vault-kin-head h2,
.a55-vault-missing h1,
.a55-vault-bento-cell strong,
.a55-vault-spec-grid dd,
.a55-vault-assurance strong {
  color: var(--ink) !important;
}
.a55-vault-lede,
.a55-vault-bento-cell > div,
.a55-vault-assurance span,
.a55-vault-missing p,
.a55-vault-spec-grid dt,
.a55-vault-bento-cell > p,
.a55-vault-buy-note {
  color: var(--graphite) !important;
}
.a55-vault-kicker,
.a55-vault-kin-head p,
.a55-vault-missing-tag {
  color: var(--kraft-deep) !important;
  font-weight: 800 !important;
}
.a55-vault-price-strip strong {
  color: var(--blueprint) !important;
}
.a55-vault-crumb,
.a55-vault-crumb a {
  color: rgba(244, 239, 228, 0.92) !important;
}
.a55-vault-crumb [aria-current="page"] {
  color: #fff !important;
}
.a55-vault-cta {
  color: var(--blueprint-deep) !important;
}
.a55-vault-qty select {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.12) !important;
}
.a55-vault-kin-head a {
  color: var(--blueprint) !important;
}
.a55-relay-ribbon h1,
.a55-relay-dek,
.a55-relay-crumb,
.a55-relay-crumb a,
.a55-relay-kicker {
  color: #e8f0f8 !important;
}
.a55-relay-panel-head h2,
.a55-relay-card strong,
.a55-relay-flash-ok strong {
  color: var(--ink) !important;
}
.a55-relay-panel-head p,
.a55-relay-flash-ok p,
.a55-relay-card small {
  color: var(--graphite) !important;
}
.a55-relay-card > p,
.a55-relay-field-label {
  color: var(--muted) !important;
}
.a55-relay-field input,
.a55-relay-field textarea {
  color: var(--ink) !important;
  background: transparent !important;
}
.a55-relay-send {
  color: #fff !important;
}
.a55-relay-card a,
.a55-relay-chips a {
  color: var(--blueprint) !important;
}
.a55-relay-chips a:hover {
  color: #fff !important;
}
.a55-relay-flash-err {
  color: var(--signal-deep) !important;
}
.a55-relay-flash-ok {
  color: var(--success) !important;
}

.a55-bloom-celebrate h1,
.a55-bloom-dek,
.a55-bloom-crumb,
.a55-bloom-crumb a,
.a55-bloom-kicker {
  color: #eef4f8 !important;
}
.a55-bloom-receipt-head h2,
.a55-bloom-line dd,
.a55-bloom-steps li strong {
  color: var(--ink) !important;
}
.a55-bloom-fallback,
.a55-bloom-steps li small,
.a55-bloom-line dt,
.a55-bloom-receipt-head p,
.a55-bloom-trail h3 {
  color: var(--graphite) !important;
}
.a55-bloom-line-total dd {
  color: var(--blueprint) !important;
}
.a55-bloom-steps li.is-on strong {
  color: var(--blueprint) !important;
}
.a55-bloom-action-primary,
.page-main a.a55-bloom-action-primary,
.page-main a.a55-bloom-action-primary span:not(.a55-bloom-action-glow),
.page-main a.a55-bloom-action-primary:hover,
.page-main a.a55-bloom-action-primary:focus-visible {
  color: #fff !important;
}
.a55-bloom-action,
.page-main a.a55-bloom-action:not(.a55-bloom-action-primary),
.page-main a.a55-bloom-action:not(.a55-bloom-action-primary):hover {
  color: var(--blueprint) !important;
}
.a55-bloom-status-chip {
  color: #166534 !important;
}
.a55-bloom-crumb [aria-current="page"] {
  color: #fff !important;
}
.a55-mosaic-ribbon h1,
.a55-mosaic-dek,
.a55-mosaic-crumb,
.a55-mosaic-crumb a,
.a55-mosaic-kicker,
.a55-mosaic-stats dd {
  color: #eef4f8 !important;
}
.a55-mosaic-stats dt {
  color: rgba(248, 250, 252, 0.85) !important;
}
.a55-mosaic-tile-copy h2,
.a55-mosaic-lane {
  color: var(--ink) !important;
}
.a55-mosaic-lane.is-active {
  color: #fff !important;
}
.a55-mosaic-tile-lane,
.a55-mosaic-count,
.a55-mosaic-empty {
  color: var(--graphite) !important;
}
.a55-mosaic-tile-meta em {
  color: var(--blueprint) !important;
}
.a55-mosaic-search button,
.a55-mosaic-folio-link:hover {
  color: #fff !important;
}
.a55-mosaic-sort-toggle span,
.a55-mosaic-sort-menu button.is-active,
.a55-mosaic-folio-link,
.a55-mosaic-band a {
  color: var(--blueprint) !important;
}
.a55-mosaic-band a:hover {
  color: #fff !important;
}
.a55-gate-field > span {
  color: var(--muted) !important;
}
.a55-ledger-tabs .dash-nav-link.is-active {
  color: #fff !important;
}
.a55-ledger-tabs .dash-nav-link:not(.is-active) {
  color: var(--muted) !important;
}
.a55-ledger-submit,
.auth-split-tab.is-active {
  color: #fff !important;
}
.a55-ledger-field input,
#authSplitGate input {
  color: var(--ink) !important;
  background: #fff !important;
}
.a55-ledger-intro-links a,
.a55-ledger-link-btn,
.a55-ledger-crumb a {
  color: var(--blueprint) !important;
}
.a55-ledger-orders .order-row strong {
  color: var(--blueprint-deep) !important;
}
.a55-ledger-perks li {
  color: var(--ink) !important;
}
.a55-ledger-forgot summary {
  color: var(--blueprint) !important;
}

.a55-tabs button {
  color: var(--ink) !important;
}
.a55-tabs button.is-active {
  color: #fff !important;
}

.a55pl-tabs a {
  color: var(--muted) !important;
}
.a55pl-tabs a.is-on {
  color: var(--blueprint) !important;
}

.a55pl-foot,
.a55pl-foot span {
  color: var(--on-dark-muted) !important;
}

/* ---------- Index drawer (light) ---------- */
.a55-index-panel,
.a55-index-head,
.a55-index-head strong,
.a55-index-head span,
.a55-index-kicker,
.a55-index-links .ts-nav-link,
.a55-index-foot .ts-drawer-action {
  color: var(--ink) !important;
}
.a55-index-head span,
.a55-index-kicker,
.ts-drawer-action-muted {
  color: var(--muted) !important;
}
.a55-index-links .ts-nav-link.is-active {
  color: var(--signal) !important;
}

/* ---------- Shared store chrome / orders ---------- */
.toast,
.toast.is-visible,
.toast.visible,
#authMessage.toast {
  color: var(--on-dark) !important;
}
.or27-entry,
.or27-entry * {
  color: var(--ink) !important;
}
.or27-entry-date,
.or27-day {
  color: var(--kraft-deep) !important;
}

/* Pagination */
.pagination-btn,
.pagination-num {
  color: var(--ink) !important;
}
.pagination-num.is-active,
.pagination-btn:hover {
  color: #fff !important;
}

/* Checkout / orders extras */
/* Prism Grove home extras */
.a55-prism-zig-copy span {
  color: #5a3a1c !important;
  font-weight: 700 !important;
}

.a55-prism-zig-copy p {
  color: #64748b !important;
}

/* Grove Guide help center */
.a55-grove-hero,
.a55-grove-hero h1,
.a55-grove-hero-copy h1,
.a55-grove-lede,
.a55-grove-crumb,
.a55-grove-crumb a,
.a55-grove-eyebrow,
.a55-grove-seek-hint,
.a55-grove-chip {
  color: #f8fafc !important;
}

.a55-grove-hero-copy h1 em {
  color: #7dd3a8 !important;
}

.a55-grove-seek input {
  color: #fff !important;
  background: transparent !important;
}

.a55-grove-seek button {
  color: #fff !important;
}

.a55-grove-block-head h2,
.a55-grove-node summary,
.a55-grove-rail-link strong,
.a55-grove-bridge-card strong {
  color: var(--ink) !important;
}

.a55-grove-block-head p,
.a55-grove-node > div,
.a55-grove-rail-link small,
.a55-grove-bridge-card p {
  color: var(--graphite) !important;
}

.a55-grove-empty {
  color: #9a3412 !important;
}

/* Seed Folio shop */
.a55-folio-masthead-dark h1,
.a55-folio-dek,
.a55-folio-crumb,
.a55-folio-crumb a,
.a55-folio-kicker {
  color: #f8fafc !important;
}

.a55-folio-dek {
  color: rgba(248, 250, 252, 0.68) !important;
}

.a55-folio-showcase-head h2,
.a55-folio-piece-copy h3,
.a55-folio-empty h2,
.a55-folio-edition strong {
  color: var(--ink) !important;
}

.a55-folio-empty p,
.a55-folio-piece-meta span {
  color: var(--graphite) !important;
}

.a55-folio-stat strong {
  color: var(--ink) !important;
}

.a55-folio-stat span {
  color: #64748b !important;
}

.a55-folio-tag {
  color: #0a3d62 !important;
}

.a55-folio-search input {
  color: var(--ink) !important;
  background: #fff !important;
}

.a55-folio-search button {
  color: #fff !important;
}

.a55-folio-piece-meta em {
  color: var(--signal-deep) !important;
}

.a55-folio-piece-lane {
  color: #5a3a1c !important;
}

/* Pulse Console track page */
.a55-pulse-banner,
.a55-pulse-banner h1,
.a55-pulse-crumb,
.a55-pulse-crumb a,
.a55-pulse-kicker,
.a55-pulse-banner-dek {
  color: #f8fafc !important;
}

.a55-pulse-banner-dek {
  color: rgba(248, 250, 252, 0.72) !important;
}

.a55-pulse-lookup-head h2,
.a55-pulse-detail-head h2,
.a55-pulse-state h2,
.a55-pulse-node-body strong,
.a55-pulse-progress em {
  color: var(--ink) !important;
}

.a55-pulse-lookup-head p,
.a55-pulse-state p,
.a55-pulse-node-body p,
.a55-pulse-hints {
  color: var(--graphite) !important;
}

.a55-pulse-field input {
  color: var(--ink) !important;
  background: #f8fafc !important;
}

.a55-pulse-submit {
  color: #fff !important;
}

.a55-pulse-ticket,
.a55-pulse-ticket h3,
.a55-pulse-ticket-meta dd {
  color: #f4efe4 !important;
}

.a55-pulse-ticket-label,
.a55-pulse-ticket-meta dt {
  color: rgba(244, 239, 228, 0.88) !important;
}

.a55-pulse-ticket-status {
  color: #fff !important;
}

.a55-pulse-ticket-links a {
  color: #f4efe4 !important;
}

.a55-pulse-node.is-live .a55-pulse-node-body strong {
  color: #9e151c !important;
}

.a55-pulse-node.is-done .a55-pulse-node-ring svg {
  color: #1f6b4a !important;
}

.a55-pulse-hints a {
  color: #0a3d62 !important;
}

.a55-pulse-hints strong {
  color: #0f172a !important;
}

/* Grower Command Deck account */
.a55-deck-crumb {
  color: #314455 !important;
}
.a55-deck-crumb a {
  color: #0a3d62 !important;
}
.a55-deck-tag {
  color: #5f3f22 !important;
}

.a55-deck-intro h1,
.a55-deck-intro h1 strong {
  color: #0f172a !important;
}

.a55-deck-intro h1 strong {
  color: #1f6b4a !important;
}

.a55-deck-command-main h2,
.a55-deck-scene-head h3,
.a55-deck-gate-story h2,
.a55-deck-auth-panels h3,
.a55-deck-tickets .order-row strong {
  color: var(--ink) !important;
}

.a55-deck-story-lede,
.a55-deck-scene-head p,
.a55-deck-tickets .mini-copy,
.a55-deck-loader p,
.a55-deck-tagline {
  color: var(--graphite) !important;
}

.a55-deck-command-main h2 {
  color: #f4efe4 !important;
}

.a55-deck-input input {
  color: var(--ink) !important;
}

.a55-deck-cta {
  color: #fff !important;
}

.a55-deck-compass .dash-nav-link.is-active {
  color: #fff !important;
}

.a55-deck-auth-rail .auth-split-tab.is-active {
  color: #fff !important;
}

.a55-deck-ledger .profile-item .v {
  color: var(--ink) !important;
}

/* Packet Satchel cart */
.a55-satchel-ribbon h1,
.a55-satchel-crumb,
.a55-satchel-crumb a,
.a55-satchel-kicker,
.a55-satchel-stat strong,
.a55-satchel-stat span {
  color: #f4efe4 !important;
}

.a55-satchel-stat-total strong {
  color: #bbf7d0 !important;
}

.a55-satchel-deck-head h2,
.a55-satchel-dock-head h3,
.a55-satchel-empty h2,
.a55-satchel-empty-tag,
.a55-satchel-card-body h3,
.a55-satchel-ledger dd {
  color: var(--ink) !important;
}

.a55-satchel-deck-head p,
.a55-satchel-empty p,
.a55-satchel-card-variant,
.a55-satchel-card-unit,
.a55-satchel-ship,
.a55-satchel-fine,
.a55-satchel-ledger dt,
.a55-satchel-dock-head p {
  color: var(--graphite) !important;
}

.a55-satchel-card-line,
.a55-satchel-ledger-grand dd {
  color: var(--signal-deep) !important;
}

.a55-satchel-ship-free {
  color: #166534 !important;
}

.a55-satchel-cta,
.a55-satchel-dock-checkout {
  color: #fff !important;
}

.a55-satchel-qty input,
.a55-satchel-qty button {
  color: var(--ink) !important;
}

.a55-satchel-dock-handle,
.a55-satchel-dock-bar-label strong {
  color: #f8fafc !important;
}

.a55-satchel-dock-bar-label em {
  color: #d4c4a0 !important;
}

.a55-satchel-card-body h3 a {
  color: var(--ink) !important;
}

/* Ledger Console orders */
.a55-ledger-banner h1,
.a55-ledger-dek,
.a55-ledger-crumb,
.a55-ledger-crumb a,
.a55-ledger-kicker {
  color: #f0f4fa !important;
}

.a55-ledger-stat strong,
.a55-ledger-rail-head h2,
.a55-ledger-gate h2,
.a55-ledger-empty h2,
.a55-ledger-row-id,
.a55-ledger-dive-head h2,
.a55-ledger-dive-meta dd,
.a55-ledger-item-toggle strong {
  color: var(--ink) !important;
}

.a55-ledger-gate p,
.a55-ledger-empty p,
.a55-ledger-stat > p,
.a55-ledger-stat > span,
.a55-ledger-loading,
.a55-ledger-dive-head time,
.a55-ledger-dive-meta dt,
.a55-ledger-item-toggle small {
  color: var(--graphite) !important;
}

.a55-ledger-cta,
.a55-ledger-dive-link {
  color: #fff !important;
}

.a55-ledger-dive-link.is-soft {
  color: var(--blueprint) !important;
}

.a55-ledger-dive-link.is-soft:hover {
  color: #fff !important;
}

/* Manifest Atrium checkout */
.a55-atrium-ribbon h1,
.a55-atrium-crumb,
.a55-atrium-crumb a,
.a55-atrium-kicker,
.a55-atrium-milestones li.is-active {
  color: #eef4f8 !important;
}

.a55-atrium-panel-label strong,
.a55-atrium-deck-head h2,
.a55-atrium-deck-totals dd,
.a55-atrium-pay-card strong,
.a55-atrium-pay-single {
  color: var(--ink) !important;
}

.a55-atrium-panel-label small,
.a55-atrium-deck-head p,
.a55-atrium-deck-totals dt,
.a55-atrium-deck-title,
.a55-atrium-legal,
.a55-atrium-field-label,
.a55-atrium-pay-card small {
  color: var(--graphite) !important;
}

.a55-atrium-field input,
.a55-atrium-field textarea {
  color: var(--ink) !important;
  background: #fafbfc !important;
}

.a55-atrium-field input[readonly] {
  color: var(--graphite) !important;
  background: rgba(15, 23, 42, 0.04) !important;
}

.a55-atrium-btn-primary {
  color: #fff !important;
}

.a55-atrium-alert {
  color: var(--signal-deep) !important;
}

.a55-atrium-deck-ship {
  color: var(--success) !important;
}

.a55-atrium-deck-due dd {
  color: var(--blueprint) !important;
}

/* Transit Nexus order status */
.a55-nexus-ribbon h1,
.a55-nexus-meta,
.a55-nexus-crumb,
.a55-nexus-crumb a,
.a55-nexus-kicker,
.a55-nexus-countdown header p,
.a55-nexus-countdown-seg em,
.a55-nexus-arrived-badge {
  color: #eef6ff !important;
}

.a55-nexus-card-head h2,
.a55-nexus-facts dd,
.a55-nexus-line-price,
.a55-nexus-node-copy strong,
.a55-nexus-missing h1,
.a55-nexus-orbit-core strong {
  color: var(--ink) !important;
}

.a55-nexus-card-head p,
.a55-nexus-facts dt,
.a55-nexus-line-title,
.a55-nexus-node-copy small,
.a55-nexus-tickets p,
.a55-nexus-missing p,
.a55-nexus-empty-lines,
.a55-nexus-cancelled p,
.a55-nexus-orbit-core span,
.a55-nexus-orbit-caption {
  color: var(--graphite) !important;
}

.a55-nexus-node.is-on .a55-nexus-node-copy strong {
  color: var(--blueprint) !important;
}

.a55-nexus-facts-total dd {
  color: var(--blueprint) !important;
}

.a55-nexus-cta {
  color: #fff !important;
}

.a55-nexus-field input,
.a55-nexus-field select,
.a55-nexus-field textarea {
  color: var(--ink) !important;
  background: #fafbfc !important;
}

.a55-nexus-cancelled h2 {
  color: var(--signal-deep) !important;
}

.a55-finder button,
.a55-help-seek button {
  color: #fff !important;
}

.a55-finder input,
.a55-help-seek input {
  color: var(--ink) !important;
  background: var(--paper) !important;
}

.a55-gate-progress li:not(.is-on),
.a55-checkout,
.a55-orders,
.page-checkout-gate,
.page-orders-roll,
.page-order-brief,
.page-product-vault,
.page-contact-relay,
.page-order-bloom,
.page-catalog-mosaic {
  color: var(--ink);
}

.page-company-forge,
.page-home-prism .page-main,
.page-help-grove .page-main {
  color: var(--ink);
}
.a55-steps li.is-on span {
  color: #fff !important;
}

/* Force readable links on light pages */
.page-main a:not(.a55-btn):not(.a55-btn-ghost):not(.a55-btn-signal):not(.a55-chip):not(.a55-chips a):not(.a55-atlas-lane):not(.a55-atlas-pill):not(.a55-atlas-card-link):not(.a55-folio-edition):not(.a55-folio-piece-link):not(.a55-folio-tag):not(.a55-orbit-rail-link):not(.a55-aisle):not(.a55-tick):not(.a55-tool):not(.a55-token):not(.dash-nav-link):not(.a55-bloom-action):not(.a55-bloom-action-primary):not([class*="action-primary"]):not([class*="cta"]):not([class*="lane"]):not([class*="card-body"]):not([class*="tile-link"]) {
  color: var(--blueprint) !important;
  text-decoration-thickness: from-font;
}

/* Dark command strips — never apply blueprint link color on green/navy panels */
.page-main .a55-deck-command-actions a,
.page-main .a55-deck-command-actions button,
.a55-deck-command-actions a,
.a55-deck-command-actions button,
[class*="-command-actions"] a,
[class*="-command-actions"] button {
  color: #f8fafc !important;
  text-decoration: none !important;
}

.page-main .a55-deck-command-actions a:hover,
.page-main .a55-deck-command-actions button:hover,
.a55-deck-command-actions a:hover,
.a55-deck-command-actions button:hover {
  color: #fff !important;
}

/* ========== CONTRAST SAFETY NET — all storefront pages ========== */

/* Light page canvases */
.page-shop-folio .page-main,
.page-cart-satchel .page-main,
.page-checkout-atrium .page-main,
.page-orders-ledger .page-main,
.page-order-nexus .page-main,
.page-account-deck .page-main,
.page-track-pulse .page-main,
.page-policy .page-main {
  color: var(--ink) !important;
}

/* Secondary copy on light panels — minimum readable graphite */
.page-main dt,
.page-main .a55-fine,
.a55-mosaic-sort-menu button:not(.is-active),
.a55-mosaic-lane span,
.a55-folio-edition em,
.a55-folio-piece-meta span,
.a55-vault-spec-grid dt,
.a55-atrium-deck-totals dt,
.a55-ledger-dive-meta dt,
.a55-bloom-line dt,
.a55-nexus-facts dt,
.a55-relay-field-label,
.a55pl-tabs a:not(.is-on),
.a55pl-sheet > header p,
.a55-grove-node > div,
.a55-grove-rail-link small,
.a55-grove-bridge-card p,
.a55-deck-story-lede,
.a55-deck-scene-head p,
.a55-deck-tickets .mini-copy,
.a55-deck-loader p,
.a55-deck-tag-dark,
.a55-gate-field > span,
.a55-atrium-field-label,
.a55-atrium-legal,
.a55-atrium-panel-label small,
.a55-atrium-pay-card small,
.a55-ledger-gate p,
.a55-ledger-empty p,
.a55-ledger-stat > p,
.a55-ledger-stat > span,
.a55-ledger-loading,
.a55-ledger-dive-head time,
.a55-ledger-item-toggle small,
.a55-satchel-deck-head p,
.a55-satchel-card-variant,
.a55-satchel-card-unit,
.a55-satchel-fine,
.a55-satchel-ledger dt,
.a55-satchel-dock-head p,
.a55-pulse-lookup-head p,
.a55-pulse-state p,
.a55-pulse-node-body p,
.a55-pulse-hints,
.a55-pulse-ticket-label,
.a55-pulse-ticket-meta dt,
.a55-nexus-card-head p,
.a55-nexus-node-copy small,
.a55-nexus-tickets p,
.a55-nexus-missing p,
.a55-nexus-empty-lines,
.a55-nexus-cancelled p,
.a55-nexus-orbit-caption,
.a55-nexus-orbit-core span,
.a55-bloom-fallback,
.a55-bloom-steps li small,
.a55-bloom-receipt-head p,
.a55-bloom-trail h3,
.a55-relay-panel-head p,
.a55-relay-card small,
.a55-relay-card > p,
.a55-forge-tagline,
.a55-forge-section-head p,
.a55-forge-timeline-event p,
.a55-forge-dl dt,
.a55-forge-lane small,
.a55-forge-place p,
.a55-mosaic-count,
.a55-mosaic-empty,
.a55-mosaic-tile-lane,
.a55-mosaic-tile-meta span,
.a55-folio-empty p,
.a55-folio-piece-meta span,
.a55-folio-showcase-head p,
.a55-folio-stat span,
.a55-help-seek-hint,
.a55-grove-empty {
  color: #314455 !important;
}

/* Dark ribbons & banners — never wash out below 78% white */
.a55-mosaic-crumb,
.a55-mosaic-crumb a,
.a55-forge-crumb,
.a55-forge-crumb a,
.a55-relay-crumb,
.a55-relay-crumb a,
.a55-bloom-crumb,
.a55-bloom-crumb a,
.a55-vault-crumb,
.a55-vault-crumb a,
.a55-nexus-crumb,
.a55-nexus-crumb a,
.a55-atrium-crumb,
.a55-atrium-crumb a,
.a55-ledger-crumb,
.a55-ledger-crumb a,
.a55-satchel-crumb,
.a55-satchel-crumb a,
.a55-folio-crumb,
.a55-folio-crumb a,
.a55-pulse-crumb,
.a55-pulse-crumb a,
.a55-grove-crumb,
.a55-grove-crumb a,
.a55-prism-eyebrow,
.a55-mosaic-kicker,
.a55-forge-kicker,
.a55-relay-kicker,
.a55-bloom-kicker,
.a55-vault-kicker,
.a55-nexus-kicker,
.a55-atrium-kicker,
.a55-ledger-kicker,
.a55-satchel-kicker,
.a55-folio-kicker,
.a55-pulse-kicker,
.a55-grove-eyebrow {
  color: rgba(248, 250, 252, 0.88) !important;
}

.a55-mosaic-dek,
.a55-mosaic-stats dt,
.a55-forge-gallery-caption p,
.a55-relay-dek,
.a55-bloom-dek,
.a55-nexus-meta,
.a55-atrium-milestones li:not(.is-active),
.a55-ledger-dek,
.a55-folio-dek,
.a55-pulse-banner-dek,
.a55-grove-lede,
.a55-grove-seek-hint,
.a55-prism-lede,
.a55-prism-stats span,
.a55-nexus-countdown-seg small,
.a55-nexus-countdown-note,
.a55-satchel-stat span,
.a55-atrium-panel-label small {
  color: rgba(248, 250, 252, 0.8) !important;
}

.a55-mosaic-ribbon h1,
.a55-forge-ribbon h1,
.a55-relay-ribbon h1,
.a55-bloom-celebrate h1,
.a55-vault-intro h1,
.a55-nexus-ribbon h1,
.a55-atrium-ribbon h1,
.a55-ledger-banner h1,
.a55-satchel-ribbon h1,
.a55-folio-masthead-dark h1,
.a55-pulse-banner h1,
.a55-grove-hero h1,
.a55-grove-hero-copy h1,
.a55-prism-caption h1 {
  color: #f8fafc !important;
}

.a55-mosaic-crumb [aria-current="page"],
.a55-forge-crumb [aria-current="page"],
.a55-relay-crumb [aria-current="page"],
.a55-bloom-crumb [aria-current="page"],
.a55-vault-crumb [aria-current="page"],
.a55-nexus-crumb [aria-current="page"],
.a55-atrium-crumb [aria-current="page"],
.a55-ledger-crumb [aria-current="page"],
.a55-satchel-crumb [aria-current="page"],
.a55-folio-crumb [aria-current="page"],
.a55-pulse-crumb [aria-current="page"],
.a55-grove-crumb [aria-current="page"] {
  color: #fff !important;
}

.a55-nexus-countdown-sep {
  color: rgba(255, 255, 255, 0.75) !important;
}

.a55-forge-legal-tabs button:not(.is-active):not([aria-selected="true"]) {
  color: rgba(244, 239, 228, 0.88) !important;
}

/* Policy — full sheet readability */
.page-policy .a55pl-mast h1,
.page-policy .a55pl-body,
.page-policy .a55pl-body h3,
.page-policy .a55pl-body p,
.page-policy .a55pl-body li,
.page-policy .a55pl-cards p,
.page-policy .a55pl-cards h4,
.page-policy .a55pl-sheet > header h2 {
  color: var(--ink) !important;
}

.page-policy .a55pl-tabs a.is-on {
  color: var(--blueprint-deep) !important;
  font-weight: 800 !important;
}

.page-policy .a55pl-tabs a:not(.is-on) {
  color: #314455 !important;
}

.page-policy .a55pl-stamp strong {
  color: var(--blueprint-deep) !important;
}

/* Folio / mosaic cards using inherit */
.a55-folio-edition,
.a55-folio-edition strong,
.a55-folio-piece-link,
.a55-folio-piece-copy h3,
.a55-mosaic-tile-copy h2,
.a55-mosaic-sort-menu button {
  color: var(--ink) !important;
}

.a55-mosaic-sort-menu button.is-active {
  color: var(--blueprint-deep) !important;
}

.a55-mosaic-lane.is-active span {
  color: #fff !important;
}

/* Account deck dark command card */
.a55-deck-command,
.a55-deck-command-main,
.a55-deck-command-main h2,
.a55-deck-command-main p {
  color: #f4efe4 !important;
}

.a55-deck-command-main p {
  color: rgba(248, 250, 252, 0.88) !important;
}

.a55-deck-compass .dash-nav-link:not(.is-active) {
  color: rgba(244, 239, 228, 0.88) !important;
}

.a55-deck-auth-rail .auth-split-tab:not(.is-active) {
  color: #314455 !important;
}

/* Store chrome — account / auth panels */
.auth-split-panel h2,
.auth-form label,
.form-subhead,
.profile-item .v,
.orders-head h3 {
  color: var(--ink) !important;
}

.auth-split-panel .lead,
.profile-item .k {
  color: #314455 !important;
}

.auth-split-tab.is-active {
  color: #d4c4a0 !important;
}

.auth-split-tabs {
  background: var(--blueprint-deep) !important;
}

.auth-split-tab:not(.is-active) {
  color: rgba(248, 250, 252, 0.82) !important;
}

.dash-nav-link:not(.is-active) {
  color: rgba(248, 250, 252, 0.88) !important;
}

.dash-nav-link.is-active {
  color: #fff !important;
}

.auth-dash-sidebar .eyebrow {
  color: #d4c4a0 !important;
}

/* Readonly / disabled fields */
input[readonly],
textarea[readonly],
.a55-atrium-field input[readonly],
.a55-gate-field input[readonly],
.a55-nexus-field input[readonly] {
  color: #314455 !important;
  background: #f1f5f9 !important;
}

/* ========== UNIVERSAL READABILITY v3 — every storefront page ========== */

/* Light canvases: all primary pages */
.page-home-prism .page-main,
.page-shop-folio .page-main,
.page-catalog-mosaic .page-main,
.page-product-vault .page-main,
.page-cart-satchel .page-main,
.page-checkout-atrium .page-main,
.page-orders-ledger .page-main,
.page-order-nexus .page-main,
.page-order-bloom .page-main,
.page-account-deck .page-main,
.page-track-pulse .page-main,
.page-help-grove .page-main,
.page-contact-relay .page-main,
.page-company-forge .page-main,
.page-policy .page-main {
  color: var(--ink) !important;
}

/* Dark ribbons / mastheads — breadcrumb & kicker minimum contrast */
[class*="-ribbon"] [class*="-crumb"],
[class*="-banner"] [class*="-crumb"],
[class*="-masthead"] [class*="-crumb"],
[class*="-celebrate"] [class*="-crumb"],
[class*="-ribbon"] [class*="-kicker"],
[class*="-banner"] [class*="-kicker"],
[class*="-masthead"] [class*="-kicker"] {
  color: rgba(248, 250, 252, 0.88) !important;
}

[class*="-ribbon"] [class*="-crumb"] a,
[class*="-banner"] [class*="-crumb"] a,
[class*="-masthead"] [class*="-crumb"] a,
[class*="-celebrate"] [class*="-crumb"] a {
  color: rgba(248, 250, 252, 0.92) !important;
}

[class*="-ribbon"] [class*="-crumb"] a:hover,
[class*="-banner"] [class*="-crumb"] a:hover,
[class*="-masthead"] [class*="-crumb"] a:hover {
  color: #fff !important;
}

[class*="-ribbon"] [class*="-crumb"] [aria-current="page"],
[class*="-banner"] [class*="-crumb"] [aria-current="page"],
[class*="-masthead"] [class*="-crumb"] [aria-current="page"] {
  color: #fff !important;
}

[class*="-ribbon"] h1,
[class*="-banner"] h1,
[class*="-masthead"] h1,
[class*="-celebrate"] h1 {
  color: #f8fafc !important;
}

[class*="-ribbon"] [class*="-dek"],
[class*="-banner"] [class*="-dek"],
[class*="-masthead"] [class*="-dek"],
[class*="-ribbon"] [class*="-stat"] span,
[class*="-banner"] [class*="-stat"] span {
  color: rgba(248, 250, 252, 0.85) !important;
}

/* Footer — always legible on blueprint-deep */
.a55-titleblock,
.a55-titleblock .a55-tb-meta strong,
.a55-titleblock .a55-tb-meta p,
.a55-titleblock .a55-tb-col h4,
.a55-titleblock .a55-tb-col a,
.a55-titleblock .a55-tb-col p,
.a55-titleblock .a55-tb-hours,
.a55-titleblock .a55-tb-bar,
.a55-titleblock .a55-tb-bar span {
  color: #f1f5f9 !important;
}

.a55-titleblock .a55-tb-col a:hover {
  color: #fff !important;
}

.a55-titleblock .a55-tb-badge {
  color: #d4c4a0 !important;
}

/* Chrome drawer / orbit sheet */
.a55-orbit-sheet-foot,
.a55-slideout-link,
.a55-slideout-foot a {
  color: #314455 !important;
}

.a55-orbit-sheet-foot a {
  color: #0a3d62 !important;
}

/* Never use washed-out slate for readable labels */
.page-main [class*="-card-sku"],
.page-main [class*="-card-unit"],
.page-main [class*="-field-label"],
.a55-deck-input span,
.a55-atrium-field-label,
.a55-gate-field > span {
  color: #475569 !important;
}

/* Forms — inputs always dark on light */
.page-main input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.page-main select,
.page-main textarea {
  color: var(--ink) !important;
}

.page-main input::placeholder,
.page-main textarea::placeholder {
  color: #455667 !important;
  opacity: 1 !important;
}

/* Policy tabs & sheets */
.page-policy .a55pl-tabs a,
.page-policy .a55pl-body,
.page-policy .a55pl-body h3,
.page-policy .a55pl-body p,
.page-policy .a55pl-body li {
  color: var(--ink) !important;
}

.page-policy .a55pl-tabs a:not(.is-on) {
  color: #314455 !important;
}

/* Reduced motion — keep text visible */
@media (prefers-reduced-motion: reduce) {
  .a55-deck-animate,
  .a55-satchel-animate,
  [class*="-animate"] {
    opacity: 1 !important;
    transform: none !important;
  }
}
