/* KALIENI: terracotta / cream. Human-approved revision 20261030-distinct-professional-themes-v1.
   Loaded last on every published HTML route. Product, finish-swatch and certificate assets are unchanged. */
:root {
  --brand: #a84332;
  --brand-hover: #883427;
  --cream: #fbf4ea;
  --sand: #f1ddc8;
  --cocoa: #56332c;
  --warm-muted: #70534a;
  --warm-line: #d2b6a4;
  --orange: var(--brand);
  --orange-dark: var(--brand);
  --orange-action: var(--brand);
  --orange-action-hover: var(--brand-hover);
  --ink: var(--cocoa);
  --muted: var(--warm-muted);
  --stone: var(--sand);
  --paper: var(--cream);
  --line: var(--warm-line);
  color: var(--cocoa);
  background: var(--cream);
  color-scheme: light;
}
html, body, .locale-page, .customization-preview, .product-search-page, .preview {
  background: var(--cream); color: var(--cocoa);
}
h1, h2, .seo-hero h1, .product-detail h1, .article-hero h1, .cp-hero h1, .locale-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.12;
  text-wrap: balance;
}
h3 { letter-spacing: -.015em; }
a, button, input, textarea, select, summary { touch-action: manipulation; }
button, .button, .primary { line-height: 1.45; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible,
.locale-page a:focus-visible, .locale-page button:focus-visible, .locale-page input:focus-visible, .locale-page select:focus-visible, .locale-page textarea:focus-visible,
.sku-search-form input:focus-visible, .language-selector summary:focus-visible, .language-selector a:focus-visible {
  outline: 3px solid var(--brand); outline-offset: 4px; box-shadow: 0 0 0 2px var(--cream);
}
.site-header, .seo-header, .locale-header, .customization-preview .cp-header, .header { background: var(--cream); color: var(--cocoa); border-bottom: 1px solid var(--line); }
.utility-bar, .seo-utility { background: var(--sand); color: var(--cocoa); }
.brand, .logo, .footer-brand { color: var(--brand); letter-spacing: .055em; }
.desktop-nav, .locale-navigation a, .language-selector, .language-selector .language-selector-panel a, .header nav { color: var(--cocoa); }
.mobile-nav, .product-menu-panel, .resource-menu-panel, .language-selector .language-selector-panel, .seo-utility .seo-language-panel { background: var(--cream); border-color: var(--line); color: var(--cocoa); }
.language-selector-panel a:hover, .language-selector-panel a[aria-current="page"], .seo-utility .seo-language-panel a:hover { background: var(--sand); color: var(--cocoa); }
.eyebrow, .locale-eyebrow, .locale-text-link, .capacity-collection-links a { color: var(--brand); }
.button-primary, .primary, .analytics-consent .analytics-consent-allow { background: var(--brand); border-color: var(--brand); color: #fff; }
.button-primary:hover, .primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); color: #fff; }
.button-outline, .button-light { background: var(--cream); border-color: var(--brand); color: var(--brand); }
.button-outline:hover, .button-light:hover { background: var(--sand); border-color: var(--brand); color: var(--cocoa); }
.capacity-tabs button { background: var(--cream); border-color: var(--line); color: var(--cocoa); }
.capacity-tabs button.active { background: var(--brand); border-color: var(--brand); color: #fff; }

/* A real production film sits beside a solid, readable brand panel. No image tint. */
.hero { min-height: 700px; background: var(--cream); color: #fff; }
.hero::before { content: ""; position: absolute; top: 0; right: 0; width: 49%; height: 100%; background: var(--sand) url('/assets/hero-poster.jpg') center/cover no-repeat; pointer-events: none; }
.hero-video { top: 0; left: auto; right: 0; width: 49%; height: 100%; object-fit: cover; }
.hero-overlay { background: none; }
.hero-content { margin: 0; width: 51%; min-height: 700px; padding: 72px clamp(32px, 4.2vw, 76px); background: var(--brand); display: flex; flex-direction: column; justify-content: center; }
.hero h1 { max-width: 690px; font-size: clamp(45px, 4.25vw, 68px); line-height: 1.08; margin-bottom: 24px; }
.hero-content > p:not(.eyebrow) { color: var(--cream); font-size: 18px; line-height: 1.65; margin-bottom: 26px; }
.hero-actions { gap: 12px; }
.hero-actions .button { min-height: 50px; padding: 12px 18px; font-size: 14px; text-align: center; }
.hero .button-primary, .cp-hero .button-primary, .locale-hero .button-primary { background: var(--cream); color: var(--cocoa); border-color: var(--cream); }
.hero .button-primary:hover, .cp-hero .button-primary:hover, .locale-hero .button-primary:hover { background: var(--sand); color: var(--cocoa); }
.hero .button-secondary, .cp-hero .button-secondary, .locale-hero .button-secondary { background: transparent; border-color: var(--cream); color: #fff; backdrop-filter: none; }
.hero .button-secondary:hover, .cp-hero .button-secondary:hover, .locale-hero .button-secondary:hover { background: var(--brand-hover); color: #fff; }
.hero-content > .hero-chat-note:not(.eyebrow) { color: var(--cream); font-size: 13px; line-height: 1.6; margin: 18px 0 0; }
.hero :focus-visible, .cp-hero-copy :focus-visible, .locale-hero :focus-visible { outline-color: var(--cream); box-shadow: 0 0 0 2px var(--brand-hover); }
.video-controls { background: var(--cream); color: var(--cocoa); border: 1px solid var(--line); }
.video-controls button { background: var(--cream); color: var(--cocoa); }
.portfolio-focus, .products-section, .resources-section, .faq-section { background: var(--cream); }
.portfolio-focus-steps > li, .sourcing-paths, .certificate-showcase-section, .customization-section, .process-section { background: var(--sand); color: var(--cocoa); }
.path-card:hover { background: var(--cream); }
.path-card small, .product-copy p { color: var(--warm-muted); }
.certificate-showcase-card, .certificate-showcase-preview, .product-card, .resource-card { background: var(--cream); border-color: var(--line); }
.certificate-showcase-preview { background: var(--sand); }
.certificate-showcase-badge { background: var(--sand); color: var(--cocoa); }
.factory-evidence-section { background: var(--sand); color: var(--cocoa); }
.factory-evidence-heading > p { color: var(--cocoa); }
.factory-evidence-card { background: var(--cream); border: 1px solid var(--line); }
.factory-evidence-copy p, .factory-evidence-copy a { color: var(--brand); }
.factory-evidence-copy a:hover { color: var(--brand-hover); }
.custom-section { background: var(--sand); color: var(--cocoa); }
.custom-copy > p:not(.eyebrow), .custom-list li, .custom-list li span { color: var(--cocoa); }
.custom-section .eyebrow-light { color: var(--brand); }
.capability-grid, .capability-grid > div { border-color: var(--line); }
.capability-grid span { color: var(--cocoa); }
.capability-grid svg { color: var(--brand); }
.sr-only { color: var(--cocoa); }
.final-cta { background: var(--brand); color: #fff; }
.final-cta .eyebrow, .final-cta p:not(.eyebrow), .cp-final-cta .eyebrow-light { color: var(--cream); }

/* Procurement photos are shown on white, without multiply blends or filters. */
.product-image, .seo-hero figure.contain, .product-detail figure, .sku-product-image,
.portfolio-card img, .locale-categories img, .locale-capacity-link img { background: #fff; }
.product-image img, .seo-hero figure.contain img, .product-detail figure img, .locale-categories img, .locale-capacity-link img { mix-blend-mode: normal; filter: none; }
.product-image:hover img { transform: none; }
.portfolio-card img, .product-image img, .product-detail figure img { object-fit: contain; }

/* The customization page uses the same full-width color system, including its brief. */
.customization-preview-open { --preview-deep: var(--sand); }
.cp-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--cream); min-height: 700px; }
.cp-hero-copy { background: var(--brand); color: #fff; padding: 66px clamp(32px, 4.2vw, 76px); }
.cp-hero h1 { font-size: clamp(46px, 4.25vw, 68px); line-height: 1.08; }
.cp-hero-copy > p:not(.eyebrow), .cp-proof-list { color: var(--cream); }
.cp-hero .eyebrow-light, .cp-proof-list svg { color: var(--cream); }
.cp-hero-visual { min-height: 700px; padding: 72px 32px; background: var(--sand); display: flex; align-items: center; }
.cp-hero-visual > img { height: auto; object-fit: contain; }
.cp-hero-visual::after { display: none; }
.cp-floating-card { background: var(--cream); border: 1px solid var(--line); color: var(--cocoa); box-shadow: 0 8px 24px #56332c12; backdrop-filter: none; }
.cp-floating-card span { background: var(--sand); color: var(--brand); }
.cp-floating-card-top { top: 24px; left: 24px; }
.cp-floating-card-bottom { right: 24px; bottom: 24px; }
.cp-system-strip, .cp-services, .cp-finishes, .cp-deliverables { background: var(--cream); }
.cp-design-studio, .cp-studio-copy, .cp-studio-visual, .cp-box-routes, .cp-brief { background: var(--sand); color: var(--cocoa); }
.cp-studio-panel { color: var(--cocoa); box-shadow: none; border: 1px solid var(--line); }
.cp-studio-tabs, .cp-studio-tabs button { border-color: var(--line); }
.cp-studio-tabs button { color: var(--cocoa); }
.cp-studio-tabs button:hover { background: var(--cream); color: var(--brand); }
.cp-studio-tabs button[aria-selected="true"] { background: var(--brand); color: #fff; }
.cp-studio-copy > p:not(.eyebrow), .cp-studio-detail { color: var(--cocoa); }
.cp-studio-detail { border-color: var(--line); }
.cp-studio-options span { background: var(--cream); color: var(--cocoa); }
.cp-studio-options svg, .cp-studio-detail svg { color: var(--brand); }
.cp-studio-visual::after { display: none; }
.cp-studio-visual img, .cp-service-image img, .cp-finish-image img, .cp-box-gallery img, .cp-method-list img { object-fit: contain; filter: none; }
.cp-service-image, .cp-finish-image { background: #fff; }
.cp-service-card:hover .cp-service-image img, .cp-finish-grid article:hover img { transform: none; }
.cp-service-meta small, .cp-form-disclaimer, .cp-form-disclaimer a { color: var(--warm-muted); }
.cp-service-content button { border-bottom-color: var(--brand); }
.cp-box-copy > p:not(.eyebrow), .cp-box-copy li, .cp-brief-copy > p:not(.eyebrow), .cp-brief-stat span, .cp-brief-note, .cp-brief-note strong { color: var(--cocoa); }
.cp-box-copy .eyebrow-light, .cp-box-copy li svg, .cp-brief .eyebrow-light, .cp-brief-stat strong, .cp-brief-note svg { color: var(--brand); }
.cp-brief-stat { border-color: var(--line); }
.cp-brief-form { background: var(--cream); border: 1px solid var(--line); box-shadow: 0 12px 30px #56332c0a; }
.cp-box-gallery article, .cp-method-list, .cp-deliverable-grid > div { background: var(--cream); color: var(--cocoa); }
.cp-method-list dt, .cp-method-list dd, .cp-service-card p { color: var(--warm-muted); }

/* French and Russian retain their own text, paths and catalogue language labels. */
.locale-hero { background: var(--brand); color: #fff; }
.locale-hero .locale-eyebrow, .locale-page .locale-intro, .locale-hero .locale-note, .locale-hero .locale-text-link { color: var(--cream); }
.locale-hero video { border-color: var(--sand); background: #fff; }
.locale-section-intro, .locale-categories p, .locale-capacity-copy p, .locale-faq details p, .locale-scope { color: var(--warm-muted); }
.locale-capacity-link, .locale-categories article { background: var(--cream); color: var(--cocoa); border-color: var(--line); }
.locale-capacity-copy strong { color: var(--cocoa); }
.locale-stock-note, .locale-custom, .locale-quote { background: var(--sand); color: var(--cocoa); }
.locale-quote { border-top-color: var(--brand); }
.locale-process li { border-color: var(--line); }
.locale-process li > span, .locale-consent a { color: var(--brand); }
.locale-whatsapp p, .locale-form .locale-note { color: var(--cocoa); }

/* Catalogues, search, reference tables and the independent buyer guides. */
.breadcrumbs, .article-meta, .article-comparison-table caption, .sku-search-help { color: var(--warm-muted); }
.seo-hero, .sku-search-hero, .article-hero { border-bottom: 1px solid var(--line); }
.seo-facts, .seo-card, .product-specs, .article-layout aside, .article-table-wrap, .portfolio-card, .portfolio-cta, .reference-table article { background: var(--cream); color: var(--cocoa); border-color: var(--line); }
.seo-facts, .article-comparison-table thead th, .portfolio-note { background: var(--sand); color: var(--cocoa); }
.portfolio-note { border-left-color: var(--brand); }
.portfolio-card p { color: var(--warm-muted); }
.sku-search-hero aside { background: var(--brand); color: #fff; }
.sku-search-hero aside strong, .sku-search-hero aside p { color: var(--cream); }
.sku-search-form input { border-color: var(--line); color: var(--cocoa); }
.sku-card-copy > p { color: var(--warm-muted); }
.seo-system { background: var(--sand); color: var(--cocoa); }
.seo-system .eyebrow { color: var(--brand); }
.seo-system p, .seo-system li { color: var(--cocoa); }
.seo-links, .seo-links a { border-color: var(--line); }
.seo-links a:hover { color: var(--brand); background: var(--cream); }
.seo-product-grid article > p { color: var(--warm-muted); }
.seo-cta .eyebrow, .seo-cta p:not(.eyebrow) { color: var(--cream); }
.portfolio-header { border-color: var(--line); }
.article-body p, .article-comparison-table td, .reference-table p { color: var(--warm-muted); }
.product-comparison, .comparison-panel, .comparison-card { color: var(--cocoa); background: var(--cream); border-color: var(--line); }
.sku-comparison-card, .sku-comparison-card button, .sku-comparison-actions button, .sku-search-results [data-compare-sku] { background: var(--cream); color: var(--cocoa); border-color: var(--line); }
.sku-comparison-actions button:disabled, .sku-search-results [data-compare-sku][aria-pressed="true"] { background: var(--sand); color: var(--warm-muted); }
.sku-comparison-image { background: #fff; }
.sku-comparison-image img { mix-blend-mode: normal; }

/* Featured references are a standalone document; their real finish swatches stay untouched. */
.preview .header, .preview .featured, .preview .collection, .preview .intro { background: var(--cream); color: var(--cocoa); }
.preview .spotlight-copy, .preview .review-notes { background: var(--sand); color: var(--cocoa); }
.cap-choice.is-selected { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.select-cap[aria-pressed="true"] { background: var(--sand); color: var(--cocoa); border-color: var(--brand); }
.preview .card p, .featured-card p, .pair-caption p, .selection-bar small, .featured-intro p:not(.eyebrow), .detail-copy > p, .drawing-hint, .card-ref, .preview dt { color: var(--warm-muted); }
.preview .dialog-head, .preview dialog { background: var(--cream); color: var(--cocoa); }
.preview .header-label, .pair-caption span, .recommended-heading > p,
.preview .number, .preview .spotlight-copy p, .preview .facts span,
.preview .visual-label, .preview .visual-bottom, .preview .collection-heading > p { color: var(--warm-muted); }

/* Shared forms and quiet footer, with explicit readable foregrounds. */
.quote-modal, .quote-context, .locale-result, .analytics-consent, dialog { background: var(--cream); color: var(--cocoa); border-color: var(--line); }
input:not([type="checkbox"]):not([type="radio"]), select, textarea,
.locale-form input:not([type="checkbox"]), .locale-form select, .locale-form textarea {
  background: #fff; color: var(--cocoa); border-color: #9c7a68;
}
input::placeholder, textarea::placeholder { color: var(--warm-muted); opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--brand); }
.form-note, .form-intro, .quantity-note, .analytics-consent p { color: var(--warm-muted); }
.form-error, .locale-form-error, .cp-confirmation-error { color: #8e251f; }
footer, .locale-footer, .cp-footer { background: var(--sand); color: var(--cocoa); border-top: 1px solid var(--line); }
.footer-grid p, .footer-grid a, .footer-grid button, .footer-bottom,
.locale-footer nav a, .cp-footer p, .cp-footer span, footer.portfolio-legal, footer.portfolio-legal p, footer.portfolio-legal a { color: var(--cocoa); }
.footer-grid a:hover, .footer-grid button:hover { color: var(--brand); }
.footer-bottom { border-color: var(--line); }
.footer-main p, .footer-main a, footer > span:last-child, footer > span:last-child a, footer > span:last-child button { color: var(--cocoa); }
.seo-footer-grid p, .seo-footer-grid a:not(.brand) { color: var(--cocoa); }
.preview footer { color: var(--cocoa); }
.oulu-initial-shell { background: var(--cream); color: var(--cocoa); }

@media (max-width: 1100px) {
  .hero-content, .cp-hero-copy { padding: 52px 32px; }
  .hero h1, .cp-hero h1 { font-size: 49px; }
  .hero-actions .button { width: 100%; }
  .cp-hero-visual { padding: 82px 20px; }
}
@media (max-width: 820px) {
  .hero { display: flex; flex-direction: column; min-height: 0; }
  .hero::before { display: none; }
  .hero-content { order: 0; width: 100%; min-height: 0; padding: 46px 24px 38px; }
  .hero-video { position: relative; order: 1; top: auto; left: auto; right: auto; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
  .hero h1 { max-width: 630px; font-size: clamp(40px, 7.5vw, 58px); }
  .hero h1 br { display: initial; }
  .hero-content > p:not(.eyebrow) { max-width: 650px; font-size: 17px; }
  .hero-actions .button { width: auto; max-width: 100%; }
  .hero .video-controls { bottom: 12px; right: 12px; }
  .cp-hero { grid-template-columns: 1fr; min-height: 0; }
  .cp-hero-copy { padding: 46px 24px; }
  .cp-hero h1 { max-width: 630px; font-size: clamp(40px, 7.5vw, 58px); }
  .cp-hero-visual { min-height: 0; padding: 84px 24px; }
  .cp-hero-visual > img { max-height: 620px; }
  .cp-floating-card { width: 210px; padding: 12px 16px; }
  .locale-hero { padding: 46px 24px; }
  .locale-hero h1 { font-size: clamp(36px, 7vw, 50px); }
  .locale-quote { padding: 32px 22px; }
}
@media (max-width: 480px) {
  .hero-actions, .cp-hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .button, .cp-hero-actions .button { width: 100%; min-width: 0; white-space: normal; padding: 13px 16px; }
  .hero h1, .cp-hero h1 { font-size: 40px; }
  .hero-content > p:not(.eyebrow), .cp-hero-copy > p:not(.eyebrow) { font-size: 17px; }
  .hero .hero-chat-note { font-size: 13px; margin-bottom: 0; }
  .cp-proof-list { display: grid; gap: 12px; margin-top: 26px; }
  .cp-brief-form { padding: 24px 18px; }
  .locale-capacity-grid { gap: 12px; }
}
