/* Readability floor (Gate C2): loaded LAST on every page.
   Sentence-case supporting text that informs a decision (fees, notes, layout captions, summary lines) is at least 15px in a
   darker ink; secondary sentence-case text at least 14px; tracked uppercase labels and buttons at least 13px. */
:root { --rd-ink: #454857; }

/* decision support: fees, price qualifiers, layout captions, compare notes, booking summary */
.bk-fee-note, .bk-folio-note, .bk-rate-note, .bk-rate-why, .bk-rate-terms, .bk-next, .bk-hint,
.pg-cmp-feenote, [data-compare-dialog] td small, .pg-book .bk-fee-note, .pg-book small, .pg-book .text-xs,
.pg-plan figcaption, .pg-planbox p, .pg-note { font-size: 15px; line-height: 1.5; color: var(--rd-ink); }
.pg-plan figcaption span:first-child { color: var(--rs-charcoal, #141829); }
.bk-folio-sum { font-size: 15px; }
.bk-folio-lines dl { font-size: 15px; }
.bk-room-night, .bk-rate-price small, .bk-label small, .pg-price small { font-size: 14px; color: var(--rd-ink); }
.bk-bar-total small { font-size: 14px; }
.bk-promo-msg, .field-error { font-size: 14px; }

/* secondary sentence-case text */
.hm-bar-note, .hm-map-btn small, .rs-datepill, .bk-strip-edit, .mx-sg-tag { font-size: 14px; }
.hm-bar-note { color: var(--rd-ink); }
.link-underline { font-size: 14px; }

/* tracked uppercase labels and buttons: 13px floor (letter-spacing unchanged) */
.rs-btn, .rs-link, .rs-label, .field-label, .chip, .hm-sig-btn, .hm-map-note, .rs-hourline, .rs-hourscale-ticks,
.bk-rail-name, .bk-label, .bk-pill small, .bk-pill-n, .bk-rate-sub, .bk-room-spec, .bk-select, .bk-tag, .bk-demo, .bk-ref,
.bk-native > summary, .bk-folio-title, .pg-specs, .pg-specrow dt, .pg-tab, .hm-bar .field-label { font-size: 13px; }

/* compare: one shared fee note under the desktop table (the phone summary carries its own) */
.pg-cmp-feenote--all { display: block; margin: 10px 0 0; }
/* booking room card: specs in sentence case at a readable size */
.bk-room-spec { font-size: 14px; letter-spacing: .01em; text-transform: none; color: var(--rd-ink); }

@media (max-width: 640px) {
  .bk-bar-total small { font-size: 13px; }
}
@media (max-width: 760px) { .pg-cmp-feenote--all { display: none; } }

/* Brand clock in the logo lockup (motion.js 'clock'): a short brass hour track with a moving dot, then the hotel's time */
.rs-mark .rs-clock { display: inline-flex; align-items: center; gap: .45rem; margin-left: .2rem; letter-spacing: 0; --ck: 0; }
.rs-mark .rs-clock-track { position: relative; display: block; width: 2.1rem; height: 1px; background: rgba(162, 63, 28, .5); }
.rs-mark .rs-clock-dot { display: block; position: absolute; top: 50%; left: calc(var(--ck) * 100%); width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: var(--rs-brass, #BC4C27); opacity: 1; transition: left .35s cubic-bezier(.2, .7, .2, 1); }
.rs-mark .rs-clock-t { font-family: var(--rs-body); font-weight: 500; font-size: 12px; line-height: 1; color: var(--rs-brass-ink, #A23F1C); letter-spacing: .08em; font-variant-numeric: lining-nums tabular-nums; min-width: 2.8em; }
@media (prefers-reduced-motion: reduce) { .rs-mark .rs-clock-dot { transition: none; } }

/* Final panel R2 ------------------------------------------------------------------------------------------------ */
/* offers: title, then one meta line (time · length · price) */
.bk-of-t { display: block; font-weight: 600; }
.bk-of-m { display: block; margin-top: .15rem; font-weight: 400; color: var(--rd-ink); }
.bk-of-p { font-weight: 600; color: var(--rs-charcoal, #141829); }
/* unavailable room: a quiet label on the photo instead of a diagonal tape */
.bk-ribbon { left: 0; right: 0; top: auto; bottom: 0; transform: none; padding: .55rem .8rem; background: rgba(246, 245, 241, .94); color: var(--rs-charcoal, #141829); text-align: left; letter-spacing: .12em; }
/* confirmation: the reference and email never break; actions are a tidy grid on phones */
.bk-ref b, [data-done-ref] { white-space: nowrap; }
.bk-statement dd, .bk-hourline span { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .bk-done-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
  .bk-done-actions > * { width: 100%; justify-content: center; text-align: center; }
  .bk-ref { flex-wrap: wrap; justify-content: center; }
  .hm-hero-kicker { color: #F6F5F1; }
}
