/* Brand identity follows the current site's body data-brand across every route. */
body[data-brand="bank"] {
  --brand-ink: #172f51;
  --brand-muted: #526781;
  --brand-accent: #275cb7;
  --brand-hover: #19458f;
  --brand-canvas: #f0f5fc;
  --brand-surface: #ffffff;
  --brand-soft: #e3ecfa;
  --brand-border: #cddbef;
  --brand-nav: #132d52;
  --brand-nav-hover: #28476f;
  --brand-highlight: #c6dcff;
  --brand-overlay: #101f3c80;
}
body[data-brand="aurelia"] {
  --brand-ink: #123f45;
  --brand-muted: #466a6e;
  --brand-accent: #08717a;
  --brand-hover: #04545c;
  --brand-canvas: #f0f8f6;
  --brand-surface: #fbfffd;
  --brand-soft: #dcefeb;
  --brand-border: #bbd9d5;
  --brand-nav: #074d55;
  --brand-nav-hover: #12636c;
  --brand-highlight: #b5f1e5;
  --brand-overlay: #073e4880;
}
body[data-brand="maison_vale"] {
  --brand-ink: #482338;
  --brand-muted: #7a5568;
  --brand-accent: #852d51;
  --brand-hover: #64203d;
  --brand-canvas: #fcf4f7;
  --brand-surface: #fffafb;
  --brand-soft: #f3dfe7;
  --brand-border: #e1c4d1;
  --brand-nav: #491a30;
  --brand-nav-hover: #682741;
  --brand-highlight: #f9c8d9;
  --brand-overlay: #38152880;
}
body[data-brand="maison_vale"] .color-swatch {
  background: #652737;
  border-color: var(--brand-surface);
  outline-color: #956175;
}
/* Keep the handbag's handle and silhouette visible in the narrow product crop. */
body[data-brand="maison_vale"] :where(.retail-hero-image img, .product-photo > img) {
  object-position: 62% center;
}
body[data-brand="maison_vale"] .summary-image {
  height: auto;
  aspect-ratio: 3 / 2;
}

/* Shared components use the active brand, including forms, dialogs and receipts. */
body[data-brand]:not([data-brand="admin"]) {
  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --border: var(--brand-border);
  --cream: var(--brand-canvas);
  background: var(--brand-canvas);
  color: var(--brand-ink);
  accent-color: var(--brand-accent);
}
body[data-brand]:not([data-brand="admin"]) :where(.bank-site, .hotel-site, .retail-site) {
  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --border: var(--brand-border);
  background: var(--brand-canvas);
  color: var(--brand-ink);
}
body[data-brand]:not([data-brand="admin"]) :where(a, button, input, select, summary):focus-visible {
  outline-color: var(--brand-accent);
}
body[data-brand]:not([data-brand="admin"]) :where(.eyebrow, .small-label, .text-link, .sidebar-bottom > .icon) {
  color: var(--brand-accent);
}
body[data-brand]:not([data-brand="admin"]) .text-link:hover { color: var(--brand-hover); }
body[data-brand]:not([data-brand="admin"]) :where(.button.dark, .button.brown) {
  background: var(--brand-accent);
  color: #fff;
}
body[data-brand]:not([data-brand="admin"]) :where(.button.dark, .button.brown):hover { background: var(--brand-hover); }
body[data-brand]:not([data-brand="admin"]) .button.outline {
  background: transparent;
  border-color: var(--brand-border);
  color: var(--brand-accent);
}
body[data-brand]:not([data-brand="admin"]) :where(.button.outline:hover, .icon-button:hover) { background: var(--brand-soft); }
body[data-brand]:not([data-brand="admin"]) :where(.pill.green, .pill.tan, .premium-badge, .mini-round, .info-emblem) {
  color: var(--brand-accent);
  background: var(--brand-soft);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) :where(.account-summary, .offer-card, .partner-card, .flight-section, .room-card, .order-summary, .confirmation-card, .transaction-results article, .modal) {
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) :where(.benefit-strip, .public-benefit-strip, .consent-intro, .prefill-note, .saved-card, .payment-connect, .summary-benefit, .mode-status, .claims-details, .admin-entry, .metric-grid > span) {
  background: var(--brand-soft);
  border-color: var(--brand-border);
  color: var(--brand-ink);
}
body[data-brand]:not([data-brand="admin"]) :where(.benefit-strip > span, .benefit-strip small, .benefit-strip > div > .icon, .consent-intro > .icon, .partner-perks span, .consent-promise, .radio-selected, .payment-connect > .icon) {
  color: var(--brand-accent);
}
body[data-brand]:not([data-brand="admin"]) :where(.heading-description, .account-summary > div > span, .account-summary > div > small, .account-summary strong > span, .account-summary strong > small, .offer-state, .card-caption, .room-features, .room-rate > small, .room-rate > div > span, .rate-note, .rating span, .gallery-caption, .breadcrumb-link, .product-delivery, .product-color small, .product-copy > details > p, .product-price s, .price-lines, .checkout-form label, .saved-card > div > span, .checkout-terms, .summary-note, .total-line small, .confirmation-total, .confirmation-note, .friction-summary, .transaction-results p, .modal-description, .modal-fineprint, .consent-option small, .control-label, .control-hint, .control-consents small, .timeline-event p, .timeline-event small, .claims-details > p, .admin-entry small, .metric-grid small) {
  color: var(--brand-muted);
}
body[data-brand]:not([data-brand="admin"]) :where(.room-rate strong, .product-price strong, .modal > h2, .consent-option strong, .timeline-event strong, .control-consents > h3, .control-consents > div > span, .timeline > h3, .claims-details > summary) { color: var(--brand-ink); }
body[data-brand]:not([data-brand="admin"]) :where(.price-lines > .discount, .confirmation-actions .text-link, .transaction-results small, .recovery-note, .control-consents .text-link) { color: var(--brand-accent); }
.retail-site .price-lines > .partnership-discount {
  display: block;
  padding: 0;
  margin: 0 -10px;
  border: 1px solid #cddbef;
  border-radius: 6px;
  overflow: hidden;
  background: #e3ecfa;
  color: #172f51;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.partnership-discount-details { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; }
.partnership-discount-details b { display: block; font-size: 23px; color: #275cb7; }
.partnership-discount-details > strong { font-size: 18px; color: #172f51; }
.partnership-discount small { display: block; margin-top: 4px; font-size: 11px; font-weight: 400; color: #526781; }
.partnership-discount strong, .retail-site .price-lines > div > span:last-child { white-space: nowrap; }
body[data-brand]:not([data-brand="admin"]) :where(.checkout-form input, .control-label select, .claims-details pre) {
  color: var(--brand-ink);
  background: var(--brand-surface);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) .checkout-form input:focus { border-color: var(--brand-accent); }
.checkout-prefill-choice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.checkout-prefill-choice > div { flex: 1 1 250px; }
.checkout-prefill-choice strong { display: block; }
.checkout-prefill-choice p { margin: 5px 0 0; line-height: 1.6; }
.checkout-prefill-choice > button { flex: 0 0 auto; }
body[data-brand]:not([data-brand="admin"]) input { accent-color: var(--brand-accent); }
body[data-brand]:not([data-brand="admin"]) .journey-steps > span { color: var(--brand-muted); }
body[data-brand]:not([data-brand="admin"]) .journey-steps .complete { color: var(--brand-accent); }
body[data-brand]:not([data-brand="admin"]) .journey-steps .current { color: var(--brand-ink); }
body[data-brand]:not([data-brand="admin"]) .journey-steps .complete > b {
  color: var(--brand-accent);
  background: var(--brand-soft);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) .journey-steps > span + span::before { background: var(--brand-border); }
body[data-brand]:not([data-brand="admin"]) .confirmation-check:not(.cancelled) {
  color: var(--brand-accent);
  background: var(--brand-soft);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) .modal-backdrop { background: var(--brand-overlay); }
body[data-brand]:not([data-brand="admin"]) :where(.modal-close, .disconnect-button) { color: var(--brand-accent); }
body[data-brand]:not([data-brand="admin"]) :where(.consent-option, .control-consents, .timeline, .product-copy > details) { border-color: var(--brand-border); }
body[data-brand]:not([data-brand="admin"]) .timeline-icon {
  color: var(--brand-accent);
  background: var(--brand-soft);
  border-color: var(--brand-border);
}
body[data-brand]:not([data-brand="admin"]) .timeline-event::before { background: var(--brand-border); }
body[data-brand]:not([data-brand="admin"]) #toast { background: var(--brand-nav); border-color: var(--brand-accent); color: #fff; }
body[data-brand]:not([data-brand="admin"]) #toast .icon { color: var(--brand-highlight); }
body[data-brand]:not([data-brand="admin"]) .site-footer { background: var(--brand-soft); border-color: var(--brand-border); }
body[data-brand]:not([data-brand="admin"]) :where(.site-footer, .site-footer button, .footer-dot) { color: var(--brand-muted); }

/* Each large masthead makes the current merchant recognizable before browsing. */
body[data-brand]:not([data-brand="admin"]) :where(.bank-nav, .hotel-nav, .retail-nav) {
  background: var(--brand-nav);
  border-color: var(--brand-nav);
  color: #fff;
}
body[data-brand]:not([data-brand="admin"]) :where(.bank-nav, .hotel-nav, .retail-nav) :where(.quiet, .text-link, .circle-link .icon) { color: var(--brand-highlight); }
body[data-brand]:not([data-brand="admin"]) :where(.bank-nav, .hotel-nav, .retail-nav) :where(a, button):focus-visible { outline-color: var(--brand-highlight); }
body[data-brand]:not([data-brand="admin"]) :where(.bank-nav, .hotel-nav, .retail-nav) .icon-button:hover { background: var(--brand-nav-hover); }

/* Alderbank — midnight navy, clear blue, crisp white. */
body[data-brand="bank"] .bank-symbol i { background: #a4c7ff; }
body[data-brand="bank"] .logo-dot { color: #8cb5fa; }
body[data-brand="bank"] .bank-nav-links a:hover { color: #b6d3ff; }
body[data-brand="bank"] .avatar { background: #315077; color: #fff; }
body[data-brand="bank"] .nav-divider { background: #425a7b; }
body[data-brand="bank"] .notification-dot { background: #90b8fd; border-color: #132d52; }
body[data-brand="bank"] .bank-sidebar { background: #e8f0fb; }
body[data-brand="bank"] .sidebar-item { color: #526781; }
body[data-brand="bank"] .sidebar-item:hover { background: #dae6f7; }
body[data-brand="bank"] .sidebar-item.selected { background: #275cb7; color: #fff; }
body[data-brand="bank"] .bank-spotlight { background: #e1ebfc; border-color: #cddbef; }
body[data-brand="bank"] .card-scene { background: radial-gradient(ellipse at 25% 20%, #f4f8ff, #b9cff0 90%); }
body[data-brand="bank"] .card-scene::after { background: #496188; }
body[data-brand="bank"] .spotlight-copy h2 em { color: #275cb7; }
/* Connection state is semantic green/gray, independent of the bank's blue. */
body[data-brand="bank"] .partner-card[data-connected="true"] {
  border-color: #77b89a;
  box-shadow: 0 0 0 1px #77b89a;
}
body[data-brand="bank"] .partner-card[data-connected="true"] .partner-card-copy {
  background: #f3faf6;
}
body[data-brand="bank"] .partner-card[data-connected="false"] { border-color: #bdc7d3; }
body[data-brand="bank"] .partner-status-row { flex-wrap: wrap; gap: 12px; }
body[data-brand="bank"] .partner-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid #bdc7d3;
  border-radius: 100px;
  background: #edf0f4;
  color: #465367;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
body[data-brand="bank"] .partner-status .icon { width: 18px; height: 18px; }
body[data-brand="bank"] .partner-status.connected {
  background: #137346;
  border-color: #137346;
  color: #fff;
}
body[data-brand="bank"] .partner-card-copy .partner-connection-detail {
  margin: 12px 0 0;
  padding-bottom: 14px;
  border-bottom: 1px solid #dce3ea;
  color: #526174;
  font-size: 12px;
}
body[data-brand="bank"] .partner-card[data-connected="true"] .partner-connection-detail {
  color: #175f40;
  border-color: #d0e5d9;
}
body[data-brand="bank"] .partner-card[data-connected="false"] .partner-perks span { color: #526174; }
body[data-brand="bank"] .status-dot.connected { background: #137346; }
.bank-offers .image-offer {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 18px;
  border-radius: 6px;
  background: #fffdf5;
  color: #172f51;
  box-shadow: 0 4px 16px #14271933;
}
.bank-offers .image-offer strong { font-size: 34px; font-weight: 700; line-height: 1; }
.bank-offers .image-offer > span { font-size: 15px; font-weight: 600; line-height: 1.25; }
.bank-offers .offer-bottom { flex-wrap: wrap; gap: 16px; }
body[data-brand="bank"] .bank-offers .offer-state {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid #bbcff2;
  border-radius: 100px;
  background: #eaf1ff;
  color: #23497e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
body[data-brand="bank"] .bank-offers .offer-state.connected {
  background: #137346;
  border-color: #137346;
  color: #fff;
}
.bank-offers .offer-state .icon { width: 24px; height: 24px; stroke-width: 2.4; }
.bank-offers .offer-heading { gap: 16px; margin-bottom: 14px; }
.bank-offers .offer-brand-logo {
  display: block;
  width: 216px;
  max-width: calc(100% - 24px);
  height: auto;
}
.bank-offers .offer-heading .status-dot { width: 18px; height: 18px; flex-shrink: 0; background: #3b67b2; }
.bank-offers .offer-heading .status-dot.connected { box-shadow: 0 0 0 5px #e1f3e8; }
.bank-offers .offer-card:only-child { grid-column: 1 / -1; }
@media (min-width: 901px) {
  .bank-offers .offer-card:only-child { display: grid; grid-template-columns: 44% 56%; }
  .bank-offers .offer-card:only-child .offer-image { height: 100%; min-height: 260px; }
  .bank-offers .offer-card:only-child .offer-copy { display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; }
}
.credit-card {
  background: linear-gradient(118deg, #23497e 0%, #12294d 48%, #366ab0 100%);
  color: #edf4ff;
  border-color: #5077a9;
  box-shadow: 2px 13px 20px #12294d30;
}
.credit-card .card-line { border-color: #c9dcfa35; }
.credit-card .card-network-logo {
  position: absolute;
  right: 8%;
  bottom: 23%;
  width: 21%;
  height: auto;
  padding: 5px 6px;
  background: #fff;
  border-radius: 2px;
  z-index: 2;
}
.connection-bank, .mini-card { background: #132d52; color: #edf4ff; }
.consent-modal .consent-option { padding: 18px 0; }
.consent-modal .consent-option input { width: 20px; height: 20px; accent-color: #1c4e80; }
.consent-modal .consent-option strong { font-size: 14px; line-height: 1.5; }
.consent-modal .consent-option small { font-size: 12px; line-height: 1.65; }
.consent-option .consent-partial { margin-top: 8px; font-weight: 500; }
.saved-card > div { flex: 1; min-width: 0; }
.saved-card .mini-card, .saved-card .radio-selected { flex-shrink: 0; }
.saved-card-network { display: block; width: 52px; height: auto; flex-shrink: 0; }
@media (max-width: 380px) {
  .saved-card-network { width: 42px; }
}
.connection-partner.hotel { background: #dcefeb; border-color: #bbd9d5; color: #08717a; }
.connection-partner.retail { background: #f3dfe7; border-color: #e1c4d1; color: #852d51; }

/* Aurelia — deep ocean teal, sea glass and sand. */
/* Alderbank keeps its own identity wherever it provides the travel benefit. */
.alderbank-benefit {
  width: calc(100% - 56px);
  max-width: 1110px;
  margin: 24px auto 0;
  padding: 24px;
  border: 1px solid #cddbef;
  border-radius: 8px;
  background: #e3ecfa;
  color: #172f51;
}
.stays-main > .alderbank-benefit, .checkout-main > .alderbank-benefit {
  width: 100%;
  max-width: none;
  margin: 0 0 30px;
}
.alderbank-benefit-main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; }
.alderbank-benefit-brand { padding: 20px; border-radius: 6px; background: #132d52; color: #fff; }
.alderbank-benefit .bank-logo { color: #fff; font-size: 27px; line-height: 1.2; white-space: nowrap; }
.alderbank-benefit .bank-symbol i { background: #a4c7ff; }
.alderbank-benefit .logo-dot { color: #8cb5fa; }
.alderbank-benefit-brand > span:last-child { display: block; margin-top: 12px; font-size: 9px; letter-spacing: 1.1px; color: #c6dcff; }
.alderbank-benefit-copy strong { display: block; font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.2; letter-spacing: -.4px; }
.alderbank-benefit-copy small { display: block; margin-top: 10px; font-size: 12px; line-height: 1.6; color: #526781; }
.alderbank-benefit-discount { padding: 18px 20px; border-radius: 6px; background: #275cb7; color: #fff; text-align: center; }
.alderbank-benefit-discount strong { display: block; font-size: 36px; font-weight: 700; line-height: 1; }
.alderbank-benefit-discount > span { display: block; margin-top: 8px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.alderbank-benefit-extras { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #c4d5ee; }
.alderbank-benefit-extras > span { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: #244b75; }
.alderbank-benefit-extras .icon { width: 17px; height: 17px; flex-shrink: 0; }
body[data-brand="aurelia"] .price-lines > .alderbank-discount { padding: 12px; border-radius: 5px; background: #e3ecfa; color: #244b75; font-size: 11px; line-height: 1.5; }
body[data-brand="aurelia"] .alderbank-discount > span:last-child { text-align: right; }
@media (max-width: 760px) {
  .alderbank-benefit-main { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; }
  .alderbank-benefit-brand { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 480px) {
  .alderbank-benefit { width: calc(100% - 40px); padding: 20px; }
  .alderbank-benefit-main { grid-template-columns: minmax(0, 1fr); }
  .alderbank-benefit-copy strong { font-size: 25px; }
  .alderbank-benefit-discount { display: flex; align-items: center; gap: 14px; text-align: left; padding: 16px; }
  .alderbank-benefit-discount > span { margin: 0; }
}
body[data-brand="aurelia"] .hotel-nav .button.dark { background: #b5f1e5; color: #074d55; }
body[data-brand="aurelia"] .hotel-nav .button.dark:hover { background: #d4fff5; }
body[data-brand="aurelia"] .hotel-hero-shade { background: linear-gradient(90deg, #043e4bde 0%, #054c5a83 40%, #054c5a10 78%); }
body[data-brand="aurelia"] .hotel-hero-content .eyebrow { color: #d4fff1; }
body[data-brand="aurelia"] .hotel-hero .button.cream { background: #e1faf1; color: #074d55; border-color: #d4eee7; }
body[data-brand="aurelia"] .hotel-hero .button.cream:hover { background: #fff; }
body[data-brand="aurelia"] .trip-search { background: #fbfffd; border-color: #bbd9d5; box-shadow: 0 5px 25px #064a5618; }
body[data-brand="aurelia"] .trip-search > div { border-color: #bbd9d5; }
body[data-brand="aurelia"] .trip-search label { color: #466a6e; }
body[data-brand="aurelia"] .trip-search select { color: #123f45; }
body[data-brand="aurelia"] .hotel-editorial h2 em { color: #08717a; }
body[data-brand="aurelia"] .flight-option { border-color: #bbd9d5; background: #fbfffd; }
body[data-brand="aurelia"] .flight-option.selected { border-color: #08717a; background: #dcefeb; }
body[data-brand="aurelia"] :is(.flight-option b > small, .flight-option > span > small) { color: #466a6e; }
body[data-brand="aurelia"] .flight-option b > .icon { color: #08717a; }

/* Rose & Reed — oxblood, rose and warm ivory. */
.retail-alderbank-benefit { margin-top: 20px; border: 1px solid #cddbef; border-radius: 8px; overflow: hidden; background: #e3ecfa; color: #172f51; }
.alderbank-private-client-brand { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 17px 20px; background: #132d52; color: #fff; }
.alderbank-private-client-brand .bank-logo { font-size: 25px; line-height: 1.2; white-space: nowrap; color: #fff; }
.alderbank-private-client-brand .bank-symbol i { background: #a4c7ff; }
.alderbank-private-client-brand .logo-dot { color: #8cb5fa; }
.alderbank-private-client-brand > span:last-child { font-size: 9px; letter-spacing: 1px; color: #c6dcff; }
.retail-alderbank-benefit-body { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding: 20px; }
.retail-benefit-percent { padding: 18px; border-radius: 6px; background: #275cb7; color: #fff; text-align: center; }
.retail-benefit-percent strong { display: block; font-size: 36px; line-height: 1; }
.retail-benefit-percent > span { display: block; margin-top: 7px; font-size: 12px; font-weight: 600; letter-spacing: 1px; }
.retail-alderbank-benefit h2 { margin: 0; font-family: var(--serif); font-size: 25px; line-height: 1.15; letter-spacing: -.4px; color: #172f51; }
.retail-alderbank-benefit-body p { margin: 8px 0 0; font-size: 12px; line-height: 1.5; color: #526781; }
.retail-alderbank-benefit .retail-alderbank-delivery { display: flex; align-items: center; gap: 7px; margin: 0 20px; padding: 14px 0; border-top: 1px solid #c4d5ee; font-size: 12px; color: #244b75; }
.retail-alderbank-delivery .icon { width: 17px; height: 17px; }
.partnership-discount .alderbank-private-client-brand { padding: 14px 16px; gap: 8px 16px; }
.partnership-discount .bank-logo { font-size: 23px; }
@media (max-width: 480px) {
  .retail-alderbank-benefit-body { gap: 14px; padding: 18px; }
  .retail-benefit-percent { padding: 16px 12px; }
  .retail-benefit-percent strong { font-size: 32px; }
  .retail-alderbank-benefit h2 { font-size: 23px; }
}
body[data-brand="maison_vale"] .retail-bag span { background: #f9c8d9; color: #491a30; }
body[data-brand="maison_vale"] .retail-nav .favorite .icon { color: #f9c8d9; fill: #f9c8d940; }
body[data-brand="maison_vale"] .retail-hero { background: #5b233e; }
body[data-brand="maison_vale"] .retail-hero h1 { color: #fff8fb; }
body[data-brand="maison_vale"] .retail-hero h1 em { color: #f9c8d9; }
body[data-brand="maison_vale"] .retail-hero-copy .eyebrow { color: #f9c8d9; }
body[data-brand="maison_vale"] .retail-hero-copy > p:not(.eyebrow) { color: #f5dce6; }
body[data-brand="maison_vale"] .collection-caption { color: #f0c7d6; }
body[data-brand="maison_vale"] .retail-hero .button.brown { background: #f9c8d9; color: #491a30; }
body[data-brand="maison_vale"] .retail-hero .button.brown:hover { background: #ffe7ef; }
body[data-brand="maison_vale"] .retail-values { background: #f3dfe7; border-color: #e1c4d1; }
body[data-brand="maison_vale"] :is(.retail-values > span, .retail-values .icon) { color: #852d51; }
body[data-brand="maison_vale"] :is(.retail-welcome h2 em, .product-copy > h1 em, .product-copy > details > summary) { color: #852d51; }
body[data-brand="maison_vale"] .retail-welcome > div:last-child > p { color: #7a5568; }
body[data-brand="maison_vale"] .product-copy > h1 { color: #482338; }
body[data-brand="maison_vale"] .favorite-button { color: #852d51; background: #fff6facf; }
body[data-brand="maison_vale"] .favorite-button.saved .icon { fill: #852d5160; }

/* Bank-hosted consent appears before the first Aurelia offer handoff. */
.offer-consent-page { max-width: 1200px; padding: 32px 40px 64px; margin: auto; }
.offer-consent-back { margin-bottom: 24px; font-size: 13px; }
.offer-consent-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 36px; align-items: start; }
.offer-consent-story { border: 1px solid #d6e0ec; border-radius: 12px; overflow: hidden; background: #eaf0f8; }
.offer-consent-photo { width: 100%; height: 230px; object-fit: cover; }
.offer-consent-story-copy { padding: 28px; }
.offer-consent-story .offer-brand-logo { width: 160px; max-width: 100%; height: auto; margin-bottom: 28px; }
.offer-consent-story h1 { font-size: 40px; line-height: 1.12; letter-spacing: -1px; margin-bottom: 18px; }
.offer-consent-story p:not(.eyebrow) { font-size: 15px; line-height: 1.75; }
.offer-consent-benefits { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0 14px; font-size: 12px; }
.offer-consent-benefits span { display: inline-flex; gap: 7px; align-items: center; }
.offer-consent-story small { font-size: 12px; line-height: 1.7; color: #53657d; }
.offer-consent-choices { padding: 28px 30px; border: 1px solid #d6e0ec; background: #fff; border-radius: 12px; }
.offer-consent-choices h2 { font-size: 34px; line-height: 1.2; letter-spacing: -.7px; margin-bottom: 14px; }
.offer-consent-choices > p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
.offer-consent-choices > p.offer-consent-optional { font-size: 13px; color: #53657d; margin-bottom: 22px; }
.offer-consent-choices .consent-option { gap: 13px; padding: 16px 0; align-items: flex-start; }
.offer-consent-choices .consent-option input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; accent-color: #1c4e80; }
.offer-consent-choices .consent-option strong { font-size: 14px; line-height: 1.5; }
.offer-consent-choices .consent-option small { font-size: 12px; line-height: 1.65; margin-top: 4px; }
.offer-consent-choices .consent-promise { font-size: 12px; line-height: 1.7; margin: 22px 0; }
.offer-consent-choices .consent-promise .icon { flex-shrink: 0; }
.offer-consent-choices .button { font-size: 14px; min-height: 54px; gap: 16px; }
.offer-consent-choices .modal-fineprint { font-size: 11px; line-height: 1.7; margin: 16px 0 0; }
#offer-consent-error:not(:empty) { background: #fff1ed; color: #8d332d; border-radius: 6px; padding: 14px; font-size: 14px; margin-bottom: 18px; }
@media (max-width: 800px) {
  .offer-consent-page { padding: 24px 20px 40px; }
  .offer-consent-layout { grid-template-columns: 1fr; gap: 22px; }
  .offer-consent-story { display: grid; grid-template-columns: 1fr 1.4fr; }
  .offer-consent-photo { height: 100%; min-height: 240px; }
  .offer-consent-story h1 { font-size: 30px; }
  .offer-consent-story .offer-brand-logo { width: 130px; margin-bottom: 18px; }
  .offer-consent-choices { padding: 24px; }
}
@media (max-width: 480px) {
  .offer-consent-page { padding: 20px 16px 32px; }
  .offer-consent-story { display: block; }
  .offer-consent-photo { height: 160px; min-height: 0; }
  .offer-consent-story-copy { padding: 22px; }
  .offer-consent-choices { padding: 24px 20px; }
  .offer-consent-choices h2 { font-size: 30px; }
}

@media (max-width: 640px) {
  body[data-brand="aurelia"] .hotel-hero-shade { background: linear-gradient(90deg, #043e4be8 0%, #054c5a88 65%, #054c5a3d 100%); }
}
