/* Shared colour layer; layouts, content, original logo and photography stay intact. */
:root {
  color-scheme:dark;
  --paper:#090909;
  --surface:#12110f;
  --surface-raised:#1b1915;
  --ink:#f2ede4;
  --muted:#b2a99b;
  --gold:#d8c3a0;
  --gold-light:#ebdcc2;
  --gold-deep:#c9b18a;
  --on-gold:#17130d;
  --line:#3c352b;
  --control-line:#897960;
}
html,body { background:var(--paper); color:var(--ink); }
::selection { background:var(--gold); color:var(--on-gold); }
a,button { -webkit-tap-highlight-color:#d8c3a022; }
button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus,
.language-switch button:focus-visible,.intro-skip:focus-visible,.preview-tools button:focus-visible {
  outline-color:var(--gold-light);
}
.skip-link { background:var(--gold); color:var(--on-gold); }

/* Brand introduction and navigation */
#preloader { background:#000; }
#preloader .pre-word { color:var(--gold-light); }
.intro-skip { color:var(--gold); border-color:var(--control-line); }
.intro-skip:hover { background:var(--surface); color:var(--gold-light); }
.site-header { background:var(--paper); border-bottom-color:var(--line); }
.brand,.footer-wordmark { color:var(--gold); }
.site-nav a { color:var(--muted); transition:color .2s ease; }
.site-nav a:hover,.site-nav a[aria-current],.menu-toggle { color:var(--gold-light); }
.site-nav a::after { background:var(--gold); }
.language-switch { background:var(--surface); border-color:var(--line); box-shadow:inset 0 1px 0 #ffffff04; }
.language-switch::before { background:linear-gradient(125deg,var(--gold-light),var(--gold-deep)); box-shadow:0 2px 8px #0005,inset 0 1px 0 #ffffff38; }
.language-switch button { color:var(--muted); }
.language-switch button:hover { color:var(--gold-light); }
.language-switch button[aria-pressed=true] { color:var(--on-gold); }

/* The photograph remains monochrome; the overlay protects text contrast. */
.home-hero { background:var(--paper); color:var(--ink); }
.hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.2) 78%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 65%); }
.hero-copy h1 { color:var(--gold-light); }
.hero-copy h1 span { color:var(--ink); }
.hero-copy .eyebrow,.hero-index,.scroll-cue { color:var(--gold-light); }
.hero-index i { background:var(--gold); }
.scroll-cue span { border-color:var(--control-line); background:#09090955; }
.hero-button { background:var(--gold); border-color:var(--gold); color:var(--on-gold); transition:background .2s ease,border-color .2s ease; }
.hero-button:hover { background:var(--gold-light); border-color:var(--gold-light); }

/* Sections and page titles */
.content-section { background:var(--paper); }
.dark-section,.page-heading { background:var(--surface); color:var(--ink); }
.page-heading { border-color:var(--line); }
.contact-band { background:var(--surface); border-color:var(--line); }
.section-heading h2,.page-heading h1,.contact-band h2,.detail-title,.enquiry-layout aside h2 { color:var(--gold); }
.section-heading .eyebrow,.page-heading .eyebrow,.eyebrow,.section-marker { color:var(--gold-deep); }
.breadcrumbs,.page-intro,.field-note,.company-location,.company-facts dt { color:var(--muted); }
.breadcrumbs a:hover,.text-link,.text-button { color:var(--gold); }
.text-link:hover,.text-button:hover { color:var(--gold-light); }
.text-link { border-bottom-color:var(--control-line); }
.empty-state,.company-identity,.company-location,.company-facts>div { border-color:var(--line); }
.empty-rule { background:var(--gold); }
.empty-state h3,.company-name,.company-facts dd,.contact-identity { color:var(--ink); }
.empty-state p,.contact-band p:not(.eyebrow) { color:var(--muted); }
.company-location a { color:var(--gold); border-color:var(--control-line); }
.company-location a:hover { background:var(--surface-raised); }

/* Catalogue, form controls and interaction states */
.solid-button { background:var(--gold); color:var(--on-gold); border-color:var(--gold); }
.solid-button:hover { background:var(--gold-light); border-color:var(--gold-light); }
.outline-button { background:transparent; color:var(--gold); border-color:var(--control-line); }
.outline-button:hover { background:var(--surface-raised); border-color:var(--gold); }
#categoryButtons button { background:var(--surface); color:var(--ink); border-color:var(--control-line); }
#categoryButtons button:hover { background:var(--surface-raised); }
#categoryButtons button[aria-pressed=true] { background:var(--gold); color:var(--on-gold); border-color:var(--gold); }
input,textarea,select { background:var(--surface); color:var(--ink); border-color:var(--control-line); accent-color:var(--gold); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
input:autofill { box-shadow:0 0 0 1000px var(--surface) inset; -webkit-text-fill-color:var(--ink); caret-color:var(--ink); }
.view-switch button,#pagination button { background:var(--surface); color:var(--ink); border-color:var(--control-line); }
.view-switch button:hover,#pagination button:not(:disabled):hover { background:var(--surface-raised); color:var(--gold-light); }
.view-switch button[aria-pressed=true] { background:var(--gold); color:var(--on-gold); border-color:var(--gold); }
.result-card,.spec-table th,.spec-table td { border-color:var(--line); }
.result-card h3 { color:var(--ink); }
.result-card h3 a:hover { color:var(--gold); }
.result-card p { color:var(--muted); }
.result-card img,.detail-image { background:var(--surface-raised); }
.spec-table th { color:var(--gold); }
.notice,.form-status { background:var(--surface-raised); color:var(--ink); border-color:var(--gold); }
.notice p { color:var(--muted); }
.form-status[data-error=true] { border-color:var(--gold-light); }
dialog { background:var(--surface); color:var(--ink); border-color:var(--control-line); box-shadow:0 20px 80px #0009; }
dialog h2 { color:var(--gold); }
dialog::backdrop { background:#000b; }

/* Footer and local-preview controls */
.site-footer { background:#060606; color:var(--ink); border-top:1px solid var(--line); }
.footer-top { border-color:var(--line); }
.footer-top nav,.footer-bottom { color:var(--muted); }
.footer-top nav a:hover,.footer-bottom a:hover { color:var(--gold-light); }
.preview-tools { background:#12110ff5; border-color:var(--control-line); color:var(--muted); }
.preview-tools button,.preview-home { background:var(--gold); color:var(--on-gold); border:1px solid var(--gold); }
.preview-tools button:hover,.preview-home:hover { background:var(--gold-light); }
.noscript-note { background:var(--surface); color:var(--ink); border-color:var(--line); }
@media(max-width:900px) { .site-nav { background:var(--paper); border-color:var(--line); } .site-header .menu-toggle { color:var(--gold); } }
@media(prefers-reduced-motion:reduce) { .hero-button,.site-nav a { transition:none; } }
@media(forced-colors:active) { .language-switch button[aria-pressed=true] { color:ButtonText; } }

/* Source-catalogue product centre: restrained black / champagne framing. */
.catalogue-overview { display:inline-block; color:var(--gold); border:1px solid var(--control-line); padding:10px 16px; font-size:12px; letter-spacing:.06em; margin:24px 0 0; }
body[data-page=products] .page-heading { padding-bottom:44px; }
.catalogue-sidebar { align-self:start; position:sticky; top:108px; }
#categoryButtons button { border-radius:3px; line-height:1.5; transition:background .18s,color .18s; }
.result-card { background:var(--surface); border:1px solid var(--line); padding:0; display:flex; flex-direction:column; transition:border-color .2s ease; }
.result-card:hover { border-color:var(--gold); }
.result-card .card-image-link { display:block; background:#f6f5f2; }
.result-card img { display:block; aspect-ratio:1.15; padding:18px; margin:0; background:#f6f5f2; object-fit:contain; }
.result-card>div { padding:22px; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.result-card h3 { font-size:18px; font-weight:500; margin:9px 0 14px; }
.result-card .card-meta { color:var(--gold); font-size:10px; letter-spacing:.02em; }
.card-summary { margin:0 0 16px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.result-card .text-link { margin-top:auto; color:var(--gold); }
.result-card .card-variants { font-size:10px; margin:0 0 16px; }
.result-grid.is-list .result-card { display:grid; grid-template-columns:180px minmax(0,1fr); }
.result-grid.is-list .card-image-link { display:flex; align-items:center; }
.result-grid.is-list .result-card:not(:has(img)) { display:block; }
.result-grid.is-list .result-card>div { padding:20px; }
.detail-image { background:#f6f5f2; padding:24px; max-height:620px; }
.detail-title { font-size:clamp(28px,3.5vw,46px); line-height:1.3; }
.catalogue-source { border-top:1px solid var(--control-line); margin-top:24px; }
.catalogue-source summary { cursor:pointer; color:var(--gold); padding:18px 0; font-size:13px; line-height:1.7; }
.catalogue-source summary:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.table-scroll { overflow:auto; max-width:100%; }
.spec-table { margin:6px 0 24px; line-height:1.8; }
.spec-table caption { text-align:left; font-size:11px; padding:10px 8px; color:var(--muted); }
.spec-table td:first-child { min-width:130px; }
.source-credit { font-size:11px; color:var(--muted); line-height:1.9; }
.source-warning { border-left:2px solid var(--gold); background:var(--surface-raised); padding:14px; font-size:12px; color:var(--gold-light); line-height:1.8; }
@media(max-width:900px) { .catalogue-sidebar { top:92px; } .result-card>div { padding:18px; } }
@media(max-width:680px) { .catalogue-sidebar { position:static; } #categoryButtons { flex-wrap:nowrap; overflow-x:auto; padding-bottom:12px; } #categoryButtons button { flex:0 0 auto; white-space:nowrap; padding:11px 14px; } .result-grid.is-list .result-card { grid-template-columns:100px minmax(0,1fr); } .result-card img { aspect-ratio:1.3; } .detail-image { max-height:440px; } }
@media(prefers-reduced-motion:reduce) { .result-card,#categoryButtons button { transition:none; } }
