/* Heritage Glaze: colour-only overrides for Yuan Travel.
   Six supplied swatches; pale and text tones are accessible mixtures of them.
   Layout, type, imagery, and motion remain in the existing stylesheets. */
:root {
  --heritage-navy: #222c53;
  --heritage-rust: #812d16;
  --heritage-orange: #fb8b05;
  --heritage-teal: #009477;
  --heritage-taupe: #a1876e;
  --heritage-mist: #d1c4bf;
  --paper: #f3efed;
  --white: #ffffff;
  --ink: var(--heritage-navy);
  --orange: var(--heritage-rust);
  --orange-type: var(--heritage-rust);
  --yellow: var(--heritage-orange);
  --blue: var(--heritage-navy);
  --green: var(--heritage-teal);
  --muted: #554f5e;
  --line: var(--heritage-mist);
  --heritage-surface: #ede7e5;
  --heritage-surface-strong: #e1d9d5;
  --heritage-control-line: #927c6b;
  --heritage-rust-wash: #f3e7e1;
  --heritage-navy-wash: #e8eaf0;
  --heritage-teal-wash: #e6f2ee;
  --heritage-teal-type: #006c57;
  --heritage-orange-type: #9f5100;
  --heritage-focus: var(--heritage-navy);
}

/* Shared text and controls. */
button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.interest-options input:focus-visible + span {
  outline-color: var(--heritage-focus);
}

::selection { color: var(--heritage-navy); background: var(--heritage-orange); }
.button-dark { color: var(--white); background: var(--heritage-navy); }
.button-dark:hover { color: var(--white); background: var(--heritage-rust); }
.button-orange { color: var(--white); background: var(--heritage-rust); }
.button-orange:hover { color: var(--white); background: var(--heritage-navy); }
.button-outline { color: var(--ink); border-color: var(--heritage-control-line); }
.button-outline:hover { color: var(--ink); background: var(--heritage-surface); }

.hero-sub p,
.intro-copy,
.section-heading > p,
.journey-info > p:not(.eyebrow),
.way-panel-copy > .eyebrow,
.way-panel-copy > p:not(.eyebrow),
.chapter-body > p,
.privacy-copy p,
.hero-pagination button {
  color: var(--muted);
}
.hero-pagination button.active,
.privacy-copy .privacy-lead { color: var(--ink); }
.section-number { color: var(--muted); }
.planning-steps .mono { color: var(--heritage-rust); }

.site-header.scrolled {
  background: rgba(243, 239, 237, .96);
  box-shadow: 0 1px 0 rgba(34, 44, 83, .1);
}
.hero-stamp { background: var(--heritage-rust); color: var(--white); }
.hero-stamp svg text { fill: var(--white); }
.hero-next:hover,
.journey-photo:hover .image-arrow {
  color: var(--white);
  background: var(--heritage-rust);
  border-color: var(--heritage-rust);
}

/* Warm neutral surfaces replace the former grey-green surfaces. */
.journeys,
.moments,
.journey-promise,
.chapters,
.care-values,
.receipt,
.brief-preview,
.way-tags > span {
  background: var(--heritage-surface);
}
/* The brand introduction and FAQ share the existing pale section surface. */
.home-page #introduction,
.home-page #questions {
  background: var(--heritage-surface);
  border: 0;
}

/* Let spacing carry the introduction and FAQ, without structural rules. */
.home-page #introduction .care-strip,
.home-page #introduction .care-strip > div,
.home-page #questions .faq-list details {
  border: 0;
}

/* Keep the mist background only on the home page's six-city photo rail. */
.home-page .home-destinations {
  background: var(--heritage-mist);
  --line: color-mix(in srgb, var(--heritage-navy) 20%, var(--heritage-mist));
}
.planner-sidebar { background: var(--heritage-surface-strong); }
.destination-photo { background: var(--heritage-mist); }
.moment { box-shadow: 0 8px 20px rgba(34, 44, 83, .03); }
.filter { border-color: var(--heritage-control-line); }
.filter.active,
.filter:hover { color: var(--white); background: var(--ink); border-color: var(--ink); }
.chapter { border-top-color: var(--line); }
.chapter-ideas span { border-color: var(--heritage-control-line); }
.info-dialog a { border-bottom-color: var(--heritage-control-line); }

/* Rust carries the connection message; light text keeps it readable. */
.marquee,
.closing,
.small-close {
  background: var(--heritage-rust);
  color: var(--white);
  --heritage-focus: var(--white);
}
.small-close h2 > span { color: var(--heritage-mist); }
.closing .button-dark,
.small-close .button-dark { color: var(--heritage-navy); background: var(--white); }
.closing .button-dark:hover,
.small-close .button-dark:hover { color: var(--heritage-navy); background: var(--heritage-mist); }
.closing-ring { border-color: rgba(255, 255, 255, .44); }
.closing-ring::before { border-color: rgba(255, 255, 255, .25); }
.closing-ring::after { background: var(--white); }

/* The existing dark sections become navy, with orange reserved for accents. */
.story,
.rhythm,
.about-quote,
.site-footer {
  background: var(--heritage-navy);
  color: var(--paper);
  --orange: var(--heritage-orange);
  --muted: var(--heritage-mist);
  --heritage-focus: var(--heritage-orange);
}
.story .eyebrow { color: var(--paper); }
.story .mono,
.story-definition > span,
.story-lead,
.story-step p,
.story-bottom .small-chinese,
.rhythm > div > p:last-child,
.footer-top > p,
.footer-bottom,
.footer-bottom button {
  color: var(--heritage-mist);
}
.story .orbit-two { border-color: var(--heritage-taupe); }
.story-orbit { border-color: var(--heritage-orange); }
.story-character,
.story-signoff,
.story .orange-word,
.story .section-number,
.rhythm h2 > span,
.rhythm-list li::before,
.about-quote > span,
.about-quote em {
  color: var(--heritage-orange);
}
.story-step h3 > span { color: var(--heritage-mist); }
.story-step.active h3 > span { color: var(--heritage-orange); }
.story .orbit-dot,
.story-progress > i { background: var(--heritage-orange); }
.story-step.active { border-top-color: var(--heritage-orange); }
.footer-top nav a:hover,
.footer-top nav button:hover,
.footer-bottom a:hover,
.footer-bottom button:hover { color: var(--heritage-orange); }

/* Each Yuan category retains its own colour through the existing ring motion. */
.way-tab[data-way="connection"] {
  --way-color: var(--heritage-rust);
  --way-hover-ink: var(--paper);
}
.way-tab[data-way="wholeness"] {
  --way-color: var(--heritage-orange);
  --way-hover-ink: var(--heritage-navy);
}
.way-tab[data-way="origin"] {
  --way-color: var(--heritage-navy);
  --way-hover-ink: var(--paper);
}
.way-tab[data-way="renewal"] {
  --way-color: var(--heritage-teal);
  --way-hover-ink: #10172f;
}
.way-tab[data-way] {
  --way-label-color: var(--way-color);
  --way-inner-color: var(--heritage-navy);
  color: var(--way-label-color);
  transition: background-color .3s ease, color .3s ease;
}
.way-tab[data-way] > span:first-child,
.way-tab[data-way] > span:nth-child(2),
.way-tab[data-way] small { color: inherit; }
.way-tab.active { background: var(--heritage-surface); border-bottom-color: var(--way-color); }
.way-orbit > .orbit-outer { border-color: currentColor; }
.way-orbit > .orbit-inner { border-color: var(--way-inner-color); }
.way-orbit > .orbit-core { background: currentColor; }
.way-tab[data-way]:focus-visible {
  --way-label-color: var(--way-hover-ink);
  --way-inner-color: var(--way-hover-ink);
  background: var(--way-color);
}
@media (hover: hover) and (pointer: fine) {
  .way-tab[data-way]:hover {
    --way-label-color: var(--way-hover-ink);
    --way-inner-color: var(--way-hover-ink);
    background: var(--way-color);
  }
}
.way-tags > span { color: var(--ink); }
@media (max-width: 560px) {
  .way-tab.active { box-shadow: inset 0 -3px var(--way-color); }
}

.about-character,
.plan-photo > span,
.gate-character { color: var(--white); background: var(--heritage-rust); }
.meaning-grid article:nth-child(1) > span,
.meaning-grid article:nth-child(3) > span { color: var(--white); }
.meaning-grid article:nth-child(2) > span,
.meaning-grid article:nth-child(4) > span { color: var(--heritage-navy); }

/* Forms, receipts, and status messages use the same palette as the pages. */
input:not([type="checkbox"]),
select,
textarea,
#enquiry-form input:not([type="checkbox"]),
#enquiry-form select,
#enquiry-form textarea,
.inbox-toolbar input,
.inbox-toolbar select,
#detail-form select,
#detail-form textarea {
  color: var(--ink);
  background: var(--white);
  border-color: var(--heritage-control-line);
}
input::placeholder,
textarea::placeholder { color: var(--muted); opacity: 1; }
.interest-options span { color: var(--ink); border-color: var(--heritage-control-line); }
.interest-options input:checked + span { color: var(--white); background: var(--ink); border-color: var(--ink); }
#enquiry-form [aria-invalid="true"] { border-color: var(--heritage-rust) !important; }
#enquiry-form .field-error,
#admin-message.error { color: var(--heritage-rust); }
#form-status:not(:empty) { color: var(--ink); background: var(--heritage-teal-wash); border-left-color: var(--heritage-teal); }
#form-status.error { color: var(--heritage-rust); background: var(--heritage-rust-wash); border-left-color: var(--heritage-rust); }
.no-script { color: var(--heritage-rust); background: var(--heritage-rust-wash); }
#brief-status { color: var(--heritage-teal-type); }
.planner-sidebar h2 > span { color: var(--heritage-rust); }
.planner-character::before { border-color: rgba(129, 45, 22, .4); }

.stat-card,
.table-wrap { background: var(--white); }
.stat-card:hover { border-color: var(--heritage-rust); background: var(--heritage-rust-wash); }
#enquiries-table th,
.traveller-note > p { background: var(--heritage-surface); }
#enquiries-table tbody tr:hover { background: var(--heritage-rust-wash); }
.status-badge,
.status-pill { color: var(--ink); background: var(--heritage-surface); }
.status-new,
[data-status="new"] { color: var(--heritage-rust); background: var(--heritage-rust-wash); }
.status-contacted,
[data-status="contacted"] { color: var(--heritage-navy); background: var(--heritage-navy-wash); }
.status-planning,
[data-status="planning"] { color: var(--heritage-teal-type); background: var(--heritage-teal-wash); }
.status-closed,
[data-status="closed"] { color: var(--muted); background: var(--heritage-surface); }

dialog::backdrop { background: rgba(34, 44, 83, .72); }
.inbox-dialog::backdrop { background: rgba(34, 44, 83, .7); }
dialog .dialog-close:hover { color: var(--white); background: var(--heritage-rust); }
