/* Shared colour roles for the Cashmere and Navy hospitality editions. */
::selection { background: var(--ink); color: var(--light-ink); }
.button-light:hover, .button-dark:hover { background: var(--button-hover); border-color: var(--button-hover); }
.site-header, .site-header.is-scrolled, .site-header.menu-is-open { background: var(--header-bg); color: var(--header-ink); border-color: var(--header-line); }
.site-header .wordmark { color: var(--header-ink); }
.site-header .wordmark > span, .header-phone { color: var(--header-accent); }
.site-header nav a:hover, .header-phone:hover { color: var(--header-accent); }
.hero { background: var(--hero-bg); color: var(--hero-ink); }
.hero::after { border-color: var(--hero-line); }
.hero h1 em, .hero h2 em { color: var(--hero-accent); }
.hero-eyebrow { color: var(--hero-label); }
.hero-eyebrow::before { background: var(--hero-label); }
.hero-description { color: var(--hero-muted); }
.hero-shade {
  background:
    linear-gradient(90deg,rgba(var(--hero-rgb),.99) 0%,rgba(var(--hero-rgb),.95) 25%,rgba(var(--hero-rgb),.88) 43%,rgba(var(--hero-rgb),.72) 58%,rgba(var(--hero-rgb),.13) 82%,rgba(var(--hero-rgb),.03) 100%),
    linear-gradient(0deg,rgba(var(--hero-rgb),.98) 0%,rgba(var(--hero-rgb),.70) 12%,transparent 38%,transparent 85%,rgba(var(--hero-rgb),.16) 100%);
}
.hero .button-light { background: var(--hero-button-bg); color: var(--hero-button-ink); border-color: var(--hero-button-bg); }
.hero .button-light:hover { background: var(--hero-button-hover); color: var(--hero-button-ink); border-color: var(--hero-button-hover); }
.quiet-link.light { color: var(--hero-ink); border-color: var(--hero-rule); }
.quiet-link.light:hover { color: var(--hero-accent); border-color: var(--hero-accent); }
.hero-bottom { border-color: var(--hero-line); }
.slide-tab, .slide-tab small { color: var(--hero-muted); }
.slide-tab.is-active, .slide-tab.is-active small, .slide-tab:hover { color: var(--hero-accent); }
.progress-line { background: var(--hero-rule); }
.progress-line::after { background: var(--hero-accent); }
.hero-controls button { background: var(--control-bg); color: var(--hero-ink); border-color: var(--hero-rule); }
.hero-controls button:hover { background: var(--hero-button-bg); color: var(--hero-button-ink); border-color: var(--hero-button-bg); }
.service-note { background: var(--ivory); color: var(--ink); border-color: var(--line); }
.care-card .photograph { border-color: var(--line); }
.photo-link { background: var(--bronze-deep); color: var(--champagne); border-color: var(--champagne); }
.photograph:hover .photo-link { background: var(--champagne); color: var(--bronze-deep); }
.silk-feature { background: var(--bronze-panel); color: var(--light-ink); }
.photo-label { background: var(--bronze-deep); color: var(--light-ink); border-color: var(--panel-line); }
.linen-tags span { border-color: var(--panel-line); color: var(--light-muted); }
.silk-copy .button-dark, .contact-form .button-light { background: var(--champagne); color: var(--bronze-deep); border-color: var(--champagne); }
.silk-copy .button-dark:hover, .contact-form .button-light:hover { background: var(--gold-hover); color: var(--bronze-deep); border-color: var(--gold-hover); }
.atelier-photo::after { background: linear-gradient(transparent,var(--photo-shadow)); }
.retail-wrap { background: var(--cashmere-light); }
.contact { background: var(--bronze-deep); border-color: var(--panel-line); }
.contact-copy .contact-prep, .contact-email { border-color: var(--panel-line); }
.contact-number:hover, .contact-email:hover { color: var(--gold-hover); }
.contact-form { background: var(--bronze-panel); border-color: var(--panel-line); }
.contact-form input, .contact-form textarea, .contact-form select { color: var(--light-ink); border-color: var(--field-line); }
.contact-form input::placeholder, .contact-form textarea::placeholder, .optional { color: var(--placeholder); }
.contact-form select, .contact-form option { background: var(--bronze-panel); color: var(--light-ink); }
.site-footer { background: var(--footer-bg); border-color: var(--panel-line); }
.footer-bottom, .footer-email { border-color: var(--panel-line); }
.hero :focus-visible, .site-header :focus-visible { outline-color: var(--hero-ink); }
.silk-feature :focus-visible, .contact :focus-visible, .site-footer :focus-visible { outline-color: var(--gold-hover); }
.legal-hero { background: var(--hero-bg); color: var(--hero-ink); border-color: var(--hero-line); }
.legal-hero .eyebrow, .legal-hero h1 em, .legal-meta { color: var(--hero-label); }
.legal-hero .legal-lead { color: var(--hero-muted); }
.legal-home:hover { color: var(--header-accent); }
@media (max-width: 1000px) {
  .site-header nav { background: var(--header-bg); color: var(--header-ink); border-color: var(--header-line); }
  .hero-shade { background: linear-gradient(90deg,rgba(var(--hero-rgb),.98),rgba(var(--hero-rgb),.90) 55%,rgba(var(--hero-rgb),.55)),linear-gradient(0deg,rgba(var(--hero-rgb),.98),transparent 42%); }
}
@media (max-width: 760px) {
  .hero-shade { background: linear-gradient(90deg,rgba(var(--hero-rgb),.98),rgba(var(--hero-rgb),.91) 55%,rgba(var(--hero-rgb),.74)),linear-gradient(0deg,rgba(var(--hero-rgb),.98),transparent 48%); }
}
@media print {
  .legal-hero { background: white; color: black; }
  .legal-hero .eyebrow, .legal-hero h1 em, .legal-hero .legal-lead, .legal-meta { color: black; }
}
