/* =========================================================
   SIARE STABILITY FIXES — 2026-10-14
   Loaded last on every public page to settle cross-file conflicts.
   Large surfaces use graphite, never pure black. This file intentionally
   fixes colors, sizes and positions without replacing business logic.
========================================================= */
:root {
  --siare-brand-black: #0B0B0B;
  --siare-gold: #C8A96B;
  --siare-paper: #F5F2EA;
  --siare-stone: #E4E1DA;
  --siare-graphite: #292A28;
  --siare-graphite-raised: #363833;
  --siare-cream: #F5F2EA;
  --siare-body-ink: #292A28;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--siare-paper) !important; color: var(--siare-body-ink); scroll-padding-top: 96px; }
body { background-color: var(--siare-paper) !important; color: var(--siare-body-ink); font-size: 16px; line-height: 1.65; overflow-x: clip; }
button, input, select, textarea { font: inherit; }
img, video, iframe { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--siare-gold) !important; outline-offset: 3px !important; }

/* All shared headers and navigation surfaces use graphite. */
.site-header, .site-header.scrolled, .home-page .site-header, .custom-header, .legal-header {
  background: rgba(41,42,40,.97) !important;
  color: var(--siare-cream) !important;
  border-bottom-color: rgba(200,169,107,.46) !important;
}
.site-header .brand, .site-header .brand-name, .custom-brand, .legal-header .brand,
.legal-header .siare-wordmark, .footer-brand, .site-footer .footer-brand,
.contact-footer-brand { color: var(--siare-gold) !important; }
.site-header .brand-tag { color: rgba(245,242,234,.78) !important; }
.site-header .main-nav > a, .main-nav > a, .custom-nav > a {
  color: var(--siare-cream) !important; font-size: 13px !important; line-height: 1.5 !important;
}
.site-header .main-nav > a:hover, .site-header .main-nav > a[aria-current="page"],
.custom-nav > a:hover, .custom-nav > a[aria-current="page"] { color: var(--siare-gold) !important; }
.language-current, .entry-language-current, .custom-language-current {
  color: var(--siare-gold) !important; font-size: 14px !important; min-height: 44px !important;
}
.language-menu, .custom-language-menu, .entry-language-menu {
  background: var(--siare-graphite-raised) !important; color: var(--siare-cream) !important;
  border: 1px solid rgba(200,169,107,.58) !important; z-index: 6000 !important;
}
.language-menu button, .custom-language-menu button, .entry-language-menu button {
  min-height: 46px !important; color: var(--siare-cream) !important; font-size: 14px !important;
  background: transparent !important;
}
.language-menu button:hover, .custom-language-menu button:hover, .entry-language-menu button:hover {
  background: rgba(200,169,107,.18) !important; color: var(--siare-cream) !important;
}
.mobile-menu-toggle, .mobile-toggle, .custom-menu-toggle {
  align-items: center !important; justify-content: center !important; flex: 0 0 48px !important;
  width: 48px !important; min-width: 48px !important; height: 48px !important; min-height: 48px !important;
  border: 1px solid var(--siare-gold) !important; border-radius: 2px !important;
  background: var(--siare-graphite-raised) !important; color: var(--siare-cream) !important;
  font-size: 23px !important; line-height: 1 !important; cursor: pointer !important;
}
.mobile-menu-toggle span { background: var(--siare-gold) !important; }
@media (min-width: 901px) {
  .mobile-menu-toggle, .mobile-toggle, .custom-menu-toggle { display: none !important; }
  .site-header .main-nav, .custom-nav { display: flex; }
}
@media (max-width: 900px) {
  .site-header, .home-page .site-header, .custom-header {
    position: sticky !important; top: 0 !important; z-index: 5000 !important; display: flex !important;
    align-items: center !important; justify-content: space-between !important; gap: 12px !important;
    width: 100% !important; min-height: 72px !important; height: auto !important; padding: 10px 18px !important;
  }
  .home-page .site-header { position: fixed !important; left: 0 !important; right: 0 !important; }
  .site-header .brand, .site-header .brand-name { font-size: 27px !important; max-width: calc(100vw - 116px); }
  .site-header .main-nav {
    display: none !important; position: absolute !important; top: 100% !important; left: 10px !important; right: 10px !important;
    width: auto !important; max-height: calc(100dvh - 92px) !important; overflow: auto !important;
    flex-direction: column !important; align-items: stretch !important; gap: 0 !important; margin: 0 !important;
    padding: 10px 20px 18px !important; background: var(--siare-graphite) !important; color: var(--siare-cream) !important;
    border: 1px solid rgba(200,169,107,.62) !important; box-shadow: 0 18px 40px rgba(20,20,18,.32) !important;
  }
  .site-header .main-nav.open { display: flex !important; }
  .site-header .main-nav.open > a, .site-header .main-nav.open > .nav-link {
    display: flex !important; align-items: center !important; min-height: 50px !important; padding: 12px 0 !important;
    border-bottom: 1px solid rgba(245,242,234,.14) !important; color: var(--siare-cream) !important;
    font-size: 14px !important; line-height: 1.45 !important; white-space: normal !important;
  }
  .site-header .main-nav.open > a:hover { color: var(--siare-gold) !important; }
  .site-header .main-nav.open .language-switch { display: block !important; align-self: flex-start !important; margin: 12px 0 0 !important; }
  .site-header .language-menu { left: 0 !important; right: auto !important; z-index: 6010 !important; }
  .custom-menu-toggle { display: inline-flex !important; margin-left: auto !important; }
  .custom-nav { display: none !important; }
  .custom-nav.is-open { display: flex !important; flex-direction: column !important; position: absolute !important; top: 100% !important; left: 10px !important; right: 10px !important; width: auto !important; max-height: calc(100dvh - 92px) !important; overflow: auto !important; padding: 10px 20px 18px !important; background: var(--siare-graphite) !important; color: var(--siare-cream) !important; border: 1px solid rgba(200,169,107,.6) !important; z-index: 5010 !important; }
  .custom-nav.is-open > a { display:flex !important; align-items:center !important; min-height:50px !important; padding:12px 0 !important; color:var(--siare-cream) !important; font-size:14px !important; border-bottom:1px solid rgba(245,242,234,.14) !important; }
}

/* Brand entry: symmetrical content hierarchy, clear CTA and centered background. */
.entry { position: relative !important; isolation: isolate !important; background-color: var(--siare-graphite) !important; color: var(--siare-cream) !important; min-height: 100svh !important; min-height: 100dvh !important; }
.entry-image { background-color: var(--siare-graphite) !important; }
.entry-image:before { filter: blur(15px) brightness(.76) !important; opacity: .58 !important; background-position: center 52% !important; }
.entry-image:after { background-position: center center !important; background-size: contain !important; }
.entry-shade { background: linear-gradient(90deg,rgba(41,42,40,.48),rgba(41,42,40,.18) 50%,rgba(41,42,40,.48)),linear-gradient(0deg,rgba(41,42,40,.52),transparent 46%,rgba(41,42,40,.30)) !important; }
.entry-topbar { display:flex !important; align-items:center !important; justify-content:space-between !important; }
.entry-brand { color:var(--siare-gold) !important; font-size:clamp(30px,3vw,44px) !important; }
.entry-content { margin-inline:auto !important; align-self:center !important; align-items:center !important; text-align:center !important; width:min(900px,calc(100% - 40px)) !important; }
.entry-eyebrow { color:#E2C78E !important; font-size:clamp(11px,.9vw,13px) !important; letter-spacing:.18em !important; line-height:1.65 !important; }
.entry-content h1 { color:var(--siare-cream) !important; font-size:clamp(70px,13vw,170px) !important; letter-spacing:.14em !important; text-indent:.14em !important; }
.entry-subtitle { color:rgba(245,242,234,.92) !important; font-size:clamp(16px,1.35vw,19px) !important; line-height:1.8 !important; }
.entry-cta { justify-content:center !important; gap:24px !important; min-height:58px !important; min-width:min(320px,100%) !important; padding:0 22px !important; background:var(--siare-gold) !important; border:1px solid var(--siare-gold) !important; color:#292A28 !important; font-size:14px !important; line-height:1.3 !important; letter-spacing:.045em !important; }
.entry-cta *, .entry-cta .entry-arrow { color:#292A28 !important; }
.entry-cta:hover { background:#D8BC80 !important; border-color:#D8BC80 !important; color:#292A28 !important; }
.entry-bottom { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; align-items:center !important; justify-items:center !important; left:clamp(24px,6vw,92px) !important; right:clamp(24px,6vw,92px) !important; gap:20px !important; text-align:center !important; font-size:11px !important; line-height:1.5 !important; letter-spacing:.09em !important; }
.entry-bottom > span { max-width:100% !important; text-align:center !important; }
.entry .entry-legal-links { position:absolute !important; left:18px !important; right:18px !important; top:auto !important; bottom:max(10px,env(safe-area-inset-bottom)) !important; transform:none !important; z-index:20 !important; margin:0 !important; justify-content:center !important; text-align:center !important; }
.entry .entry-legal-links a, .entry .entry-legal-links button { color:var(--siare-cream) !important; font-size:12px !important; min-height:36px !important; }
.entry .entry-legal-links a:hover, .entry .entry-legal-links button:hover { color:var(--siare-gold) !important; }
@media(max-width:700px) {
  .entry:before { inset:12px !important; }
  .entry-topbar { padding:24px 22px !important; }
  .entry-brand { font-size:29px !important; }
  .entry-content { padding:90px 4px 156px !important; width:calc(100% - 36px) !important; }
  .entry-eyebrow { max-width:100% !important; font-size:11px !important; letter-spacing:.10em !important; line-height:1.6 !important; margin-bottom:18px !important; }
  .entry-content h1 { font-size:clamp(58px,16vw,92px) !important; letter-spacing:.09em !important; text-indent:.09em !important; line-height:1 !important; }
  .entry-subtitle { font-size:16px !important; margin:21px auto 25px !important; line-height:1.75 !important; }
  .entry-cta { width:min(100%,360px) !important; min-height:56px !important; gap:12px !important; padding:0 14px !important; font-size:13px !important; }
  .entry-bottom { grid-template-columns:1fr !important; bottom:62px !important; left:22px !important; right:22px !important; gap:3px !important; font-size:10px !important; letter-spacing:.06em !important; }
  .entry .entry-legal-links { left:12px !important; right:12px !important; bottom:max(5px,env(safe-area-inset-bottom)) !important; gap:0 10px !important; }
  .entry .entry-legal-links a,.entry .entry-legal-links button { min-height:30px !important; font-size:11px !important; }
}

/* Home scenes: preserve scene artwork, but set foregrounds per background. */
.home-page { background:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.home-page .manufacturing-section, .home-page .about-section { background-color:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.home-page .shower-collection, .home-page .customization-section, .home-page .contact-section {
  background-color:var(--siare-graphite) !important; color:var(--siare-cream) !important;
}
.home-page .shower-collection .collection-content, .home-page .customization-section .customization-content { color:var(--siare-cream) !important; }
.home-page .shower-collection .collection-content h1, .home-page .shower-collection .collection-content h2,
.home-page .shower-collection .collection-content h3, .home-page .shower-collection .collection-content p,
.home-page .customization-section .customization-content h1, .home-page .customization-section .customization-content h2,
.home-page .customization-section .customization-content h3, .home-page .customization-section .customization-content p { color:var(--siare-cream) !important; }
.home-page .manufacturing-title, .home-page .customization-title, .home-page .about-title, .home-page .contact-section-title { font-size:clamp(36px,5vw,72px) !important; line-height:1.04 !important; }
.home-page .manufacturing-description, .home-page .customization-description, .home-page .about-description,
.home-page .manufacturing-lead, .home-page .customization-lead, .home-page .contact-description,
.home-page .contact-lead, .home-page .about-lead { font-size:clamp(16px,1.15vw,18px) !important; line-height:1.8 !important; }
.home-page .manufacturing-button, .home-page .customization-button, .home-page .collection-button {
  min-height:52px !important; padding:0 22px !important; font-size:14px !important; line-height:1.35 !important;
}
.home-page .contact-section, .home-page .contact-section h1, .home-page .contact-section h2,
.home-page .contact-section h3, .home-page .contact-section p, .home-page .contact-section li,
.home-page .contact-section a, .home-page .contact-section span, .home-page .contact-section strong,
.home-page .contact-section small, .home-page .contact-section label { color:var(--siare-cream) !important; }
.home-page .contact-section .contact-eyebrow, .home-page .contact-section .contact-social-icon,
.home-page .contact-section .contact-action-icon, .home-page .contact-section .contact-link-arrow,
.home-page .contact-section .contact-footer-brand { color:var(--siare-gold) !important; }
.home-page .contact-section svg, .home-page .contact-section svg * { color:var(--siare-gold) !important; stroke:var(--siare-gold) !important; }
.home-page .contact-section .contact-social-link, .home-page .contact-section .contact-action-link {
  background:var(--siare-graphite-raised) !important; color:var(--siare-cream) !important;
  border-color:rgba(200,169,107,.58) !important; min-height:54px !important; font-size:14px !important;
}
.home-page .contact-section .contact-social-link *, .home-page .contact-section .contact-action-link * { color:var(--siare-cream) !important; }
.home-page .contact-section .contact-social-icon, .home-page .contact-section .contact-action-icon,
.home-page .contact-section .contact-link-arrow, .home-page .contact-section .contact-social-link svg,
.home-page .contact-section .contact-social-link svg *, .home-page .contact-section .contact-action-link svg,
.home-page .contact-section .contact-action-link svg * { color:var(--siare-gold) !important; stroke:var(--siare-gold) !important; }
.home-page .contact-section .contact-quote-link { background:var(--siare-gold) !important; color:var(--siare-graphite) !important; border-color:var(--siare-gold) !important; min-height:72px !important; }
.home-page .contact-section .contact-quote-link *, .home-page .contact-section .contact-quote-link strong,
.home-page .contact-section .contact-quote-link small, .home-page .contact-section .contact-quote-link span,
.home-page .contact-section .contact-quote-link svg { color:var(--siare-graphite) !important; stroke:var(--siare-graphite) !important; }
.home-page .contact-section .contact-footer { background:transparent !important; color:rgba(245,242,234,.88) !important; }
.home-page .contact-section .siare-legal-links { position:static !important; inset:auto !important; transform:none !important; width:100% !important; margin:18px 0 0 !important; justify-content:center !important; }
.home-page .contact-section .siare-legal-links a, .home-page .contact-section .siare-legal-links button { color:var(--siare-cream) !important; }

/* Products page: preserve the actual photo and lighten all product-reading areas. */
body:has(.catalog-hero) { background:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.catalog-hero { background-color:var(--siare-graphite) !important; background-image:url("images/siare-collection-redesign.webp") !important; background-size:cover !important; background-position:center 53% !important; color:var(--siare-cream) !important; }
.catalog-hero:before { background:linear-gradient(90deg,rgba(41,42,40,.78) 0%,rgba(41,42,40,.45) 45%,rgba(41,42,40,.10) 100%),linear-gradient(0deg,rgba(41,42,40,.30),transparent 60%) !important; }
.catalog-hero h1, .catalog-hero p, .catalog-hero .eyebrow { color:var(--siare-cream) !important; }
.catalog-hero .eyebrow { color:#E2C78E !important; font-size:13px !important; }
.catalog-hero .hero-lead { font-size:16px !important; line-height:1.8 !important; color:rgba(245,242,234,.94) !important; }
.page-shell { background:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.featured-section { background:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.featured-section h1, .featured-section h2, .featured-section h3, .featured-section p, .featured-section span { color:var(--siare-body-ink); }
.catalog-section { background:var(--siare-stone) !important; color:var(--siare-body-ink) !important; }
.catalog-section h1, .catalog-section h2, .catalog-section h3, .catalog-section p, .catalog-section label { color:var(--siare-body-ink) !important; }
.catalog-section input, .catalog-section select { color:var(--siare-body-ink) !important; background:var(--siare-paper) !important; border-color:#c9c4b9 !important; font-size:15px !important; min-height:46px !important; }
.category-pill, .series-pill, .filter-chip, .category-button, .series-button { min-height:46px !important; padding:10px 15px !important; font-size:14px !important; line-height:1.4 !important; }
.category-pill.active, .series-pill.active { background:var(--siare-graphite) !important; color:var(--siare-cream) !important; border-color:var(--siare-graphite) !important; }
.card-title, .product-card-title, .product-card h3 { font-size:clamp(18px,1.5vw,23px) !important; line-height:1.4 !important; }
.card-subtitle, .product-card-subtitle, .product-description { font-size:15px !important; line-height:1.75 !important; }
.card-cta, .view-details, .card-action, .catalog-hero .hero-cta { min-height:48px !important; font-size:14px !important; }
.site-footer, .footer, .inquiry-footer, .custom-footer, .siare-legal-footer { background:var(--siare-graphite) !important; color:var(--siare-cream) !important; }
.site-footer *, .footer *, .inquiry-footer *, .custom-footer *, .siare-legal-footer * { color:var(--siare-cream); }
.site-footer .footer-brand, .footer .footer-brand, .inquiry-footer .footer-brand, .custom-footer .custom-footer-brand,
.siare-legal-footer .siare-footer-wordmark { color:var(--siare-gold) !important; }

/* Product details: readable light page with an unmistakable return control. */
body:has(#detailBackToCollection) { background:var(--siare-paper) !important; color:var(--siare-body-ink) !important; }
.detail-back-row { display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:14px !important; margin:8px 0 24px !important; padding:12px 0 18px !important; border-bottom:1px solid rgba(41,42,40,.18) !important; }
.detail-back-button, .back-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; min-height:52px !important; padding:0 18px !important; border:1px solid var(--siare-gold) !important; background:var(--siare-stone) !important; color:var(--siare-graphite) !important; font-size:14px !important; font-weight:700 !important; line-height:1.4 !important; letter-spacing:.045em !important; text-decoration:none !important; visibility:visible !important; opacity:1 !important; }
.detail-back-button *, .back-button * { color:var(--siare-graphite) !important; }
.detail-back-button:hover, .back-button:hover { background:var(--siare-graphite) !important; color:var(--siare-cream) !important; }
.detail-back-button:hover *, .back-button:hover * { color:var(--siare-cream) !important; }
.detail-back-kicker { color:#64665E !important; font-size:12px !important; line-height:1.6 !important; }
.breadcrumbs { color:#66675F !important; font-size:12px !important; line-height:1.7 !important; }
.product-info h1 { color:var(--siare-graphite) !important; font-size:clamp(36px,4.5vw,66px) !important; line-height:1.08 !important; }
.product-info .subtitle, .product-info .description, .product-info .note { color:#54564F !important; font-size:15px !important; line-height:1.8 !important; }
.info-block h2, .spec-item, .spec-item span:last-child { color:var(--siare-graphite) !important; }
.spec-item span:first-child { color:#676960 !important; }
.spec-item span:first-child, .spec-item span:last-child, .dimension, .color-chip { font-size:14px !important; line-height:1.6 !important; }
.product-info .button, .actions .button, .action-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:54px !important; padding:12px 18px !important; font-size:14px !important; line-height:1.4 !important; background:var(--siare-graphite) !important; color:var(--siare-cream) !important; border-color:var(--siare-graphite) !important; }
.product-info .button *, .actions .button *, .action-button * { color:inherit !important; }
.product-info .button.secondary, .actions .button.secondary, .action-button.secondary { background:var(--siare-stone) !important; color:var(--siare-graphite) !important; border-color:var(--siare-gold) !important; }
.product-info .button:hover, .actions .button:hover, .action-button:hover { background:var(--siare-gold) !important; color:var(--siare-graphite) !important; border-color:var(--siare-gold) !important; }
.message { background:#FBFAF6 !important; color:var(--siare-graphite) !important; border-color:#D8D2C6 !important; }
.message h1, .message p { color:var(--siare-graphite) !important; }
@media(max-width:700px) { .detail-back-row { flex-direction:column !important; align-items:stretch !important; } .detail-back-button, .back-button { width:100% !important; min-height:54px !important; font-size:14px !important; } }

/* Inquiry form: both contact and product modes share the product preference field,
   upload chooser, and a stable source-aware back button. */
.inquiry-page { background:var(--siare-paper) !important; color:var(--siare-graphite) !important; }
.inquiry-page .inquiry-main { background:var(--siare-paper) !important; color:var(--siare-graphite) !important; padding-top:100px !important; }
.inquiry-page .inquiry-intro h1 { color:var(--siare-graphite) !important; font-size:clamp(36px,5vw,68px) !important; line-height:1.08 !important; }
.inquiry-page .inquiry-eyebrow, .inquiry-page .form-kicker { color:#8C6D3D !important; font-size:13px !important; letter-spacing:.12em !important; }
.inquiry-page .inquiry-lead, .inquiry-page .inquiry-intro p { color:#555750 !important; font-size:16px !important; line-height:1.8 !important; }
.inquiry-back-row { width:min(1120px,100%) !important; margin:0 auto 18px !important; }
.inquiry-back-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; min-height:54px !important; padding:0 19px !important; border:1px solid var(--siare-gold) !important; background:var(--siare-graphite) !important; color:var(--siare-cream) !important; font-size:15px !important; font-weight:700 !important; line-height:1.4 !important; text-decoration:none !important; }
.inquiry-back-button *, .inquiry-back-arrow { color:var(--siare-gold) !important; }
.inquiry-form-section { background:#FBFAF6 !important; color:var(--siare-graphite) !important; border:1px solid #DCD6CA !important; }
.inquiry-form-section h2, .inquiry-form-section legend { color:var(--siare-graphite) !important; }
.inquiry-page .form-field > label, .inquiry-page .product-scope-field legend { color:var(--siare-graphite) !important; font-size:15px !important; line-height:1.55 !important; }
.inquiry-page input:not([type="radio"]):not([type="checkbox"]), .inquiry-page select, .inquiry-page textarea {
  background:#FFFFFF !important; color:var(--siare-graphite) !important; border-color:#C8C5BB !important; font-size:16px !important; line-height:1.5 !important; min-height:48px !important;
}
.inquiry-page textarea { min-height:140px !important; }
.inquiry-page input::placeholder, .inquiry-page textarea::placeholder { color:#6E7068 !important; opacity:1 !important; }
.inquiry-page .field-hint, .inquiry-page .required-note, .inquiry-page .submit-note { color:#686A62 !important; font-size:14px !important; line-height:1.7 !important; }
.product-scope-field { border:1px solid #D3C8B4 !important; background:#F5F2EA !important; padding:18px !important; }
.product-scope-options { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.product-scope-option { display:flex !important; align-items:flex-start !important; gap:12px !important; min-height:86px !important; padding:16px !important; border:1px solid #C8C2B6 !important; background:#FFFFFF !important; color:var(--siare-graphite) !important; cursor:pointer !important; }
.product-scope-option:has(input:checked) { border-color:var(--siare-gold) !important; background:#F0E8D8 !important; box-shadow:inset 0 0 0 1px var(--siare-gold) !important; }
.product-scope-option input[type="radio"] { width:20px !important; height:20px !important; min-height:20px !important; margin-top:2px !important; accent-color:#756044 !important; flex:0 0 20px !important; }
.product-scope-option-content { display:flex !important; flex-direction:column !important; gap:5px !important; }
.product-scope-option-content strong, .product-scope-option strong { color:var(--siare-graphite) !important; font-size:16px !important; line-height:1.45 !important; }
.product-scope-option-content small, .product-scope-option small { color:#5E6058 !important; font-size:14px !important; line-height:1.55 !important; }
.inquiry-submit, .inquiry-add-product, .attachment-choose-button, .inquiry-page .picker-close,
.inquiry-page .inquiry-form button[type="button"] { min-height:52px !important; font-size:14px !important; line-height:1.35 !important; }
.inquiry-submit, .inquiry-add-product, .attachment-choose-button { background:var(--siare-graphite) !important; color:var(--siare-cream) !important; border:1px solid var(--siare-gold) !important; padding:12px 18px !important; font-weight:700 !important; }
.inquiry-submit *, .inquiry-add-product *, .attachment-choose-button * { color:var(--siare-cream) !important; }
.attachment-field { margin-top:8px !important; }
.attachment-dropzone { display:flex !important; align-items:center !important; gap:14px !important; padding:18px !important; min-height:116px !important; border:1px dashed #A99A7B !important; background:#F5F2EA !important; color:var(--siare-graphite) !important; cursor:pointer !important; }
.attachment-dropzone-copy { display:flex !important; flex:1 1 240px !important; flex-direction:column !important; gap:5px !important; min-width:0 !important; color:var(--siare-graphite) !important; }
.attachment-dropzone-copy strong { color:var(--siare-graphite) !important; font-size:16px !important; line-height:1.4 !important; }
.attachment-dropzone-copy span, .attachment-help { color:#5D5F58 !important; font-size:14px !important; line-height:1.65 !important; }
.attachment-upload-icon { display:grid !important; place-items:center !important; width:44px !important; height:44px !important; flex:0 0 44px !important; border:1px solid var(--siare-gold) !important; color:#756044 !important; background:#FFFFFF !important; font-size:26px !important; }
.attachment-choose-button { min-width:170px !important; }
.attachment-preview-card { display:flex !important; align-items:center !important; gap:12px !important; min-width:0 !important; padding:10px !important; background:#FFFFFF !important; border:1px solid #DCD6CA !important; color:var(--siare-graphite) !important; }
.attachment-preview-name { color:var(--siare-graphite) !important; font-size:14px !important; overflow-wrap:anywhere !important; }
.attachment-preview-size { color:#64665F !important; font-size:13px !important; }
.attachment-remove-button { width:36px !important; min-width:36px !important; height:36px !important; min-height:36px !important; background:#EFEAE0 !important; color:var(--siare-graphite) !important; border:1px solid #C8C2B6 !important; font-size:20px !important; }
.attachment-status { color:var(--siare-graphite) !important; background:#F2E8D7 !important; padding:12px !important; font-size:14px !important; line-height:1.65 !important; }
.inquiry-footer { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:16px 24px !important; padding:26px clamp(18px,5vw,60px) !important; background:var(--siare-graphite) !important; color:var(--siare-cream) !important; }
.inquiry-footer .siare-legal-links { flex:0 0 100% !important; margin:4px 0 0 !important; justify-content:center !important; }
@media(max-width:700px) {
  .inquiry-page .inquiry-main { padding:92px 16px 38px !important; }
  .inquiry-back-row { margin:0 0 18px !important; }
  .inquiry-back-button { width:100% !important; min-height:54px !important; font-size:14px !important; }
  .inquiry-form-section { padding:20px 16px !important; }
  .product-scope-options { grid-template-columns:minmax(0,1fr) !important; }
  .product-scope-option { min-height:78px !important; padding:15px 13px !important; }
  .attachment-dropzone { flex-wrap:wrap !important; align-items:flex-start !important; }
  .attachment-dropzone-copy { flex:1 1 calc(100% - 62px) !important; }
  .attachment-choose-button { width:100% !important; min-width:0 !important; }
  .inquiry-submit, .inquiry-add-product { width:100% !important; min-height:54px !important; }
}

/* Legal links belong to page footers. Only the consent Preferences panel is centered. */
.siare-legal-links, .siare-legal-links a, .siare-legal-links button {
  position: static !important; inset: auto !important; top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  transform:none !important; float:none !important; max-width:100% !important;
}
.siare-legal-links { display:flex !important; flex-flow:row wrap !important; align-items:center !important; justify-content:center !important; gap:8px 20px !important; width:100% !important; margin:16px 0 0 !important; line-height:1.5 !important; }
.siare-legal-links a, .siare-legal-links button { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:42px !important; padding:7px 0 !important; background:transparent !important; border:0 !important; color:inherit !important; font-size:13px !important; line-height:1.45 !important; text-decoration:underline !important; text-underline-offset:4px !important; white-space:normal !important; cursor:pointer !important; }
.siare-legal-links a:hover, .siare-legal-links button:hover { color:var(--siare-gold) !important; }
.entry .entry-legal-links { position:absolute !important; left:18px !important; right:18px !important; top:auto !important; bottom:max(10px,env(safe-area-inset-bottom)) !important; transform:none !important; width:auto !important; max-width:none !important; z-index:20 !important; margin:0 !important; }
.legal-page { display:flex !important; flex-direction:column !important; min-height:100vh !important; min-height:100svh !important; min-height:100dvh !important; background:var(--siare-paper) !important; color:var(--siare-graphite) !important; }
.legal-main { flex:1 0 auto !important; width:min(1040px,100%) !important; margin:0 auto !important; padding:clamp(36px,5vw,72px) clamp(20px,5vw,70px) 48px !important; background:var(--siare-paper) !important; color:var(--siare-graphite) !important; }
.legal-main h1 { color:var(--siare-graphite) !important; font-size:clamp(34px,5vw,58px) !important; line-height:1.1 !important; }
.legal-main p, .legal-sections p, .legal-sections li { color:#565850 !important; font-size:16px !important; line-height:1.8 !important; }
.legal-main h2, .legal-sections h2, .legal-sections h3 { color:var(--siare-graphite) !important; font-size:clamp(21px,2.2vw,28px) !important; line-height:1.4 !important; }
.legal-back { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:48px !important; padding:10px 16px !important; background:var(--siare-stone) !important; border:1px solid var(--siare-gold) !important; color:var(--siare-graphite) !important; font-size:14px !important; margin-top:20px !important; }
.legal-footer { position:static !important; inset:auto !important; transform:none !important; flex:0 0 auto !important; display:flex !important; flex-flow:row wrap !important; align-items:center !important; justify-content:space-between !important; gap:12px 24px !important; padding:22px clamp(20px,5vw,70px) !important; background:var(--siare-graphite) !important; color:var(--siare-cream) !important; }
.legal-footer .siare-legal-links { flex:0 0 100% !important; justify-content:center !important; margin-top:6px !important; }
.legal-footer .siare-legal-links a, .legal-footer .siare-legal-links button { color:var(--siare-cream) !important; }
.legal-footer .legal-footer-brand { color:var(--siare-gold) !important; }

/* Cookie consent: a fixed bottom card. The Preferences dialog alone opens in the centre. */
.siare-cookie-banner {
  box-sizing:border-box !important; position:fixed !important; top:auto !important; left:50% !important; right:auto !important;
  bottom:max(12px,env(safe-area-inset-bottom)) !important; transform:translateX(-50%) !important;
  width:min(1040px,calc(100vw - 32px)) !important; min-width:0 !important; max-width:calc(100vw - 32px) !important;
  max-height:min(42dvh,360px) !important; overflow:auto !important; display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; gap:16px 24px !important;
  padding:20px 24px !important; border:1px solid var(--siare-gold) !important; border-radius:2px !important;
  background:var(--siare-paper) !important; color:var(--siare-graphite) !important;
  box-shadow:0 22px 60px rgba(20,20,18,.28) !important; z-index:10000 !important;
}
.siare-cookie-banner[hidden], .siare-cookie-settings[hidden], .siare-cookie-backdrop[hidden] { display:none !important; }
.siare-cookie-banner > div:first-child { min-width:0 !important; }
.siare-cookie-title { color:var(--siare-graphite) !important; font-size:clamp(22px,2vw,28px) !important; line-height:1.2 !important; margin:0 0 8px !important; }
.siare-cookie-copy { color:#555750 !important; font-size:15px !important; line-height:1.65 !important; margin:0 0 10px !important; }
.siare-cookie-links { display:flex !important; flex-flow:row wrap !important; align-items:center !important; gap:8px 16px !important; margin-top:6px !important; }
.siare-cookie-links a { display:inline-flex !important; position:static !important; color:#756044 !important; font-size:13px !important; min-height:32px !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.siare-cookie-actions { display:flex !important; flex-wrap:wrap !important; gap:8px !important; align-items:center !important; justify-content:flex-end !important; min-width:0 !important; }
.siare-cookie-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:120px !important; min-height:48px !important; padding:10px 14px !important; background:transparent !important; color:var(--siare-graphite) !important; border:1px solid var(--siare-graphite) !important; border-radius:0 !important; font-size:14px !important; font-weight:650 !important; line-height:1.35 !important; white-space:normal !important; cursor:pointer !important; }
.siare-cookie-btn-primary { background:var(--siare-graphite) !important; border-color:var(--siare-graphite) !important; color:var(--siare-cream) !important; }
.siare-cookie-btn-primary * { color:var(--siare-cream) !important; }
.siare-cookie-btn:hover { border-color:var(--siare-gold) !important; background:var(--siare-stone) !important; }
.siare-cookie-btn-primary:hover { background:var(--siare-graphite-raised) !important; color:var(--siare-cream) !important; }
.siare-cookie-backdrop { position:fixed !important; inset:0 !important; background:rgba(41,42,40,.65) !important; z-index:10001 !important; }
.siare-cookie-settings { box-sizing:border-box !important; position:fixed !important; top:50% !important; left:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%,-50%) !important; width:min(560px,calc(100vw - 28px)) !important; max-height:min(86dvh,780px) !important; overflow:auto !important; padding:clamp(20px,4vw,30px) !important; background:var(--siare-paper) !important; color:var(--siare-graphite) !important; border:1px solid var(--siare-gold) !important; border-radius:2px !important; box-shadow:0 30px 80px rgba(20,20,18,.32) !important; z-index:10002 !important; }
.siare-cookie-settings h2 { color:var(--siare-graphite) !important; font-size:clamp(25px,4vw,32px) !important; }
.siare-cookie-settings p, .siare-cookie-settings small { color:#555750 !important; font-size:14px !important; line-height:1.7 !important; }
.siare-cookie-settings strong { color:var(--siare-graphite) !important; font-size:15px !important; }
.siare-cookie-settings button { min-height:46px !important; font-size:14px !important; }
body.siare-consent-pending .entry-bottom, body.siare-consent-pending .entry .entry-legal-links { visibility:hidden !important; pointer-events:none !important; }
@media(max-width:900px) {
  .siare-cookie-banner { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; padding:16px !important; max-height:min(64dvh,560px) !important; }
  .siare-cookie-actions { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; justify-content:stretch !important; gap:8px !important; }
  .siare-cookie-btn { min-width:0 !important; width:100% !important; min-height:48px !important; padding:9px 8px !important; font-size:13px !important; }
  .legal-main { padding:34px 20px 40px !important; }
  .legal-footer { align-items:flex-start !important; flex-direction:column !important; }
  .legal-footer .siare-legal-links { justify-content:flex-start !important; }
}
@media(max-width:480px) {
  .siare-cookie-banner {
    left:12px !important; right:12px !important; top:auto !important; bottom:max(8px,env(safe-area-inset-bottom)) !important;
    transform:none !important; width:auto !important; min-width:0 !important; max-width:none !important;
    max-height:min(68dvh,560px) !important; display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    padding:15px !important; gap:11px !important; overflow-y:auto !important;
  }
  .siare-cookie-title { font-size:23px !important; margin-bottom:6px !important; }
  .siare-cookie-copy { font-size:14px !important; line-height:1.55 !important; }
  .siare-cookie-links { gap:6px 14px !important; }
  .siare-cookie-actions { display:grid !important; grid-template-columns:1fr 1fr !important; width:100% !important; gap:7px !important; }
  .siare-cookie-actions .siare-cookie-btn:last-child { grid-column:1 / -1 !important; }
  .siare-cookie-btn { min-width:0 !important; min-height:46px !important; padding:9px 6px !important; font-size:13px !important; }
  .siare-cookie-settings { width:calc(100vw - 24px) !important; max-height:calc(100dvh - 24px) !important; }
  .entry-bottom { bottom:62px !important; }
}

/* The only centered object in this consent flow is the Preferences dialog. */
.siare-cookie-banner, .siare-cookie-links, .siare-legal-links { float:none !important; }
.siare-cookie-banner .siare-cookie-links { position:static !important; transform:none !important; }
.siare-legal-links button[data-open-cookie-settings], .siare-legal-links button[data-open-privacy-choices] { cursor:pointer !important; }

@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* Final readability pass: raise small legacy type sizes and replace large pure-black panels. */
.mf-page { --mf-bg: #292A28 !important; background: #292A28 !important; color: #F5F2EA !important; }
.mf-page::before { opacity: .24 !important; }
.mf-page::after { background: linear-gradient(180deg, rgba(41,42,40,.44), rgba(41,42,40,.72)) !important; }
.custom-header, .custom-nav.is-open, .custom-process, .custom-footer { background: #292A28 !important; color: #F5F2EA !important; }
.custom-process, .custom-process * { color: #F5F2EA; }
.custom-process .custom-eyebrow, .custom-process .custom-step > span, .custom-process .custom-card-number, .custom-process .custom-card-symbol { color: #C8A96B !important; }
.custom-process-heading h2, .custom-process .custom-step h3 { color: #F5F2EA !important; }
.custom-process-heading > p:last-child, .custom-process .custom-step p { color: rgba(245,242,234,.82) !important; }
.custom-footer, .custom-footer a, .custom-footer span { color: rgba(245,242,234,.88) !important; }
.custom-footer .custom-footer-brand { color: #C8A96B !important; }
.custom-nav > a, .custom-nav.is-open > a { color: #F5F2EA !important; font-size: 14px !important; }
.custom-menu-toggle { min-width:48px !important; width:48px !important; min-height:48px !important; height:48px !important; font-size:23px !important; background:#363833 !important; color:#F5F2EA !important; }
.custom-button, .custom-inline-link { min-height:54px !important; font-size:14px !important; line-height:1.45 !important; letter-spacing:.035em !important; }
.custom-eyebrow { font-size:12px !important; letter-spacing:.16em !important; }
.custom-feature-card h3 { font-size:15px !important; line-height:1.5 !important; }
.custom-feature-card p, .custom-process .custom-step p, .custom-section-heading > p, .custom-brief-copy > p:not(.custom-eyebrow), .custom-brief-list p, .custom-final-inner p:not(.custom-eyebrow) { font-size:15px !important; line-height:1.75 !important; }
.custom-card-number, .custom-footer-inner > span:nth-child(2), .custom-footer-inner > div a, .custom-footer-copy, .custom-image-index, .custom-hero-visual figcaption { font-size:12px !important; }
.custom-process .custom-step h3 { font-size:14px !important; letter-spacing:.07em !important; }
.custom-feature-card { min-height:300px !important; }
.custom-footer { padding:30px 0 !important; }
.mf-page .mf-section-title, .mf-page h1, .mf-page h2 { color:#F5F2EA !important; }
.mf-page p, .mf-page li, .mf-page .mf-description, .mf-page .mf-copy { color:rgba(245,242,234,.86) !important; font-size:16px !important; line-height:1.8 !important; }
.mf-page .mf-eyebrow, .mf-page .mf-step-number { color:#C8A96B !important; font-size:12px !important; }
.mf-page .mf-action, .mf-page .mf-button, .mf-page a[role="button"] { min-height:52px !important; font-size:14px !important; color:#F5F2EA !important; }
.mf-page .mf-step-image-wrap { background:#363833 !important; }

/* The catalog header and its controls must remain legible at laptop and phone widths. */
.catalog-return-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; min-height:48px !important; padding:10px 15px !important; background:rgba(41,42,40,.88) !important; color:#F5F2EA !important; border:1px solid #C8A96B !important; font-size:14px !important; }
.catalog-return-button * { color:#F5F2EA !important; }
.featured-section .section-description, .catalog-section .section-description { font-size:15px !important; line-height:1.75 !important; }
.card-meta, .catalog-section .series-label, .catalog-section .count-label, .catalog-section .result-count { font-size:13px !important; line-height:1.5 !important; }

/* Do not let nested selectors turn text/icons black on graphite surfaces. */
:where(.site-header, .custom-header, .contact-section, .custom-process, .custom-footer, .mf-page) svg,
:where(.site-header, .custom-header, .contact-section, .custom-process, .custom-footer, .mf-page) svg * { color:inherit; }
:where(.site-header, .custom-header, .contact-section, .custom-process, .custom-footer, .mf-page) button:where(:not(.entry-cta)):not(.siare-cookie-btn) { color:inherit; }

@media (max-width: 760px) {
  .custom-page-wrap { padding-inline:20px !important; }
  .custom-feature-grid { grid-template-columns:minmax(0,1fr) !important; }
  .custom-feature-card { min-height:0 !important; padding:24px 22px !important; }
  .custom-steps { grid-template-columns:minmax(0,1fr) !important; gap:26px !important; margin-top:38px !important; }
  .custom-final-inner { gap:24px !important; }
  .custom-final-inner .custom-button { width:100% !important; }
  .custom-footer-inner { align-items:flex-start !important; flex-direction:column !important; gap:14px !important; }
  .custom-footer-inner > div { margin-left:0 !important; flex-wrap:wrap !important; gap:16px !important; }
  .custom-footer-inner > span:nth-child(2), .custom-footer-inner > div a, .custom-footer-copy { white-space:normal !important; }
  .mf-page .mf-card-grid { grid-template-columns:minmax(0,1fr) !important; }
  .mf-page .mf-section-title, .mf-page h1 { font-size:clamp(32px,9vw,48px) !important; }
  .custom-nav.is-open { left:10px !important; right:10px !important; }
}
