:root {
  --site-paper: #f8f6ef;
  --site-ink: #242c25;
  --site-muted: #566056;
  --site-pine: #344b3b;
  --site-deep: #202e24;
  --site-sage: #e4e9dc;
  --site-sand: #efe3d6;
  --site-line: #cdd3c7;
}

body { background: var(--site-paper); color: var(--site-ink); }
header, #lang, .quote-button { background: var(--site-paper); color: var(--site-ink); border-color: var(--site-line); }
.logo, .logo span { color: var(--site-pine); }
.preview { background: var(--site-deep); color: #f4f4eb; }
.eyebrow, .arrow-link { color: var(--site-pine); }
.primary { background: var(--site-pine); border-color: var(--site-pine); color: white; }
.primary:hover, .map-current button.primary:hover { background: var(--site-deep); color: white; }
.secondary { border-color: var(--site-line); }
.v3-hero { background: #263e31; }
.v3-hero-overlay { background: linear-gradient(90deg, #17271fef, #22392c82 65%, #22392c22); }
.v3-hero:has(.scene-photo) .v3-hero-overlay { background: linear-gradient(90deg, #17271fee, #22392c87 58%, #22392c22); }
.v3-hero-copy .eyebrow, .factory-banner-copy .eyebrow, .reference-custom .eyebrow { color: #e0e9d4; }
.v3-hero-tabs .slide-tabs button[aria-selected="true"] { background: var(--site-sage); color: var(--site-deep); }
.v3-summary, .v3-company-preview, .v3-quality, .v3-markets, .v3-process { background: var(--site-sage); border-color: var(--site-line); }
.v3-about, .v3-guides { background: var(--site-paper); }
.type-collection { background: var(--site-sage); }
.type-collection:nth-child(2) { background: var(--site-sand); }
.type-collection > a > span, .brand-links a, .mfg-caption > span { color: var(--site-pine); }
.brand-links { border-color: var(--site-line); }
.category-product-photo { display: grid; place-items: center; height: clamp(185px, 25vw, 420px); margin-top: 22px; }
.category-product-photo img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.purchase-section, .contact-section, footer { background: var(--site-deep); color: #f8f6ef; }
.purchase-section .stock-card { background: #293b2e; }
.purchase-section .custom-card, .purchase-section .purchase-info article { background: #e5e9db; color: var(--site-deep); }
.purchase-section .custom-card p, .purchase-section .purchase-info p { color: var(--site-muted); }
.purchase-section .purchase-kicker, .purchase-section .purchase-number { color: inherit; }
.reference-custom { background: linear-gradient(90deg, #1b2b22ea, #263e31a6), url('assets/development.jpg') center / cover; }
.reference-custom-cards article:nth-child(2) { background: #e3e9dfee; }
.reference-custom-foot, .factory-banner-stages { background: #23362be8; }
.v3-factory-banner::before { background: linear-gradient(90deg, #17271feb, #263e3155); }
.section-head p, .reference-about p, .mfg-caption p, .map-heading p, .shipping-details p, .rich-guide p { color: var(--site-muted); }
.reference-about-right article, .reference-stats > div, .mfg-caption { border-color: var(--site-line); }
.company-identity { border-color: #71886c; }
.reference-stats strong, .reference-about-right article > a, .reference-about-right article > button { color: var(--site-pine); }
.guide-photo { background: white; }
.guide-photo img { object-fit: contain; }
.rich-guide, .device-card, .duo-card, .market-document-grid > button { background: #fffdf8; border-color: var(--site-line); color: var(--site-ink); }
.duo-actions, .device-card > div { border-color: var(--site-line); }
.duo-actions button, .device-card button, .duo-cover p { color: var(--site-pine); }
.device-catalog aside, .home-filters button, .map-destinations button { background: #edf0e7; border-color: var(--site-line); color: var(--site-pine); }
.home-filters button.active, .map-destinations button.selected, .map-pin.selected span, .map-current button.primary { background: var(--site-pine); color: white; }
.device-catalog aside .active { color: var(--site-deep); }
.floating-contact a { background: var(--site-pine); color: white; }
.image-pending { color: var(--site-muted); padding: 24px; text-align: center; font-size: 14px; }
.device-card > a .image-pending { display: grid; place-items: center; min-height: 0; aspect-ratio: 1; }
.duo-cover .image-pending { margin: 0; }
/* All carousel slides share one frame, typography and control treatment. */
.v3-hero:has(.scene-photo) {
  background: #17271f;
  height: clamp(680px, 56.25vw, 1080px);
  min-height: 0;
  aspect-ratio: auto;
}
.v3-hero:has(.scene-photo) .v3-hero-copy {
  padding-top: clamp(80px, 7vw, 135px);
  padding-bottom: 150px;
}
.v3-hero:has(.scene-photo) .v3-hero-copy h1 {
  max-width: 43%;
  color: #fff;
  font-size: clamp(36px, 3.8vw, 76px);
  line-height: 1.25;
}
.v3-hero:has(.scene-photo) .v3-hero-copy p {
  max-width: 42%;
  color: #e0e7df;
  font-size: clamp(15px, 1.2vw, 20px);
}
.v3-hero-copy .eyebrow { color: #dce7d7; }
.hero-product-poster img {
  filter: brightness(.88) saturate(.90);
  transform: scale(1.08);
  transform-origin: 78% center;
  object-position: center;
}
html[dir="rtl"] .v3-hero:has(.scene-photo) .v3-hero-overlay { background: linear-gradient(270deg, #17271fee, #22392c87 58%, #22392c22); }
html[dir="rtl"] .v3-factory-banner::before { background: linear-gradient(270deg, #17271feb, #263e3155); }
@media (max-width: 700px) {
  .v3-hero:has(.scene-photo) { height: 850px; min-height: 850px; }
  .v3-hero:has(.scene-photo) .v3-hero-copy { padding: 40px 0 480px; }
  .v3-hero:has(.scene-photo) .v3-hero-copy h1 { max-width: 100%; font-size: 34px; }
  .v3-hero:has(.scene-photo) .v3-hero-copy p { max-width: 100%; font-size: 15px; }
  .v3-hero:has(.hero-product-poster) .hero-product-poster {
    inset: auto 0 80px;
    height: 370px;
  }
  .hero-product-poster img { object-position: 86% center; transform: scale(1.04); transform-origin: 86% center; }
  .category-product-photo { height: clamp(185px, 54vw, 320px); }
  .v3-hero:has(.scene-photo) .v3-hero-overlay,
  html[dir="rtl"] .v3-hero:has(.scene-photo) .v3-hero-overlay {
    background: linear-gradient(180deg, #17271fee, #263e3170 65%, #263e3144);
  }
}

.case-colors { margin: 24px 0; }
.case-colors > p { margin: 0 0 12px; color: var(--site-ink); }
.case-color-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.case-color-option { min-width: 0; padding: 5px; border: 1px solid var(--site-line); background: #fffdf8; color: var(--site-ink); cursor: pointer; }
.case-color-option[aria-pressed="true"] { border: 2px solid var(--site-pine); padding: 4px; }
.case-color-option img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.case-color-option span { display: block; margin: 6px 0 3px; font-size: 12px; line-height: 1.4; }
.case-color-option:focus-visible { outline: 2px solid var(--site-pine); outline-offset: 3px; }

.case-properties { width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 15px; }
.case-properties th { width: 80px; text-align: start; vertical-align: top; color: var(--site-ink); font-weight: 500; }
.case-properties td, .case-properties th { padding: 12px 10px; border-bottom: 1px solid var(--site-line); line-height: 1.7; }
.case-properties td { overflow-wrap: anywhere; }
