/* Shared finish: restrained industrial presentation and opt-in motion only. */
:root {
  --motion-quick: 200ms;
  --motion-card: 280ms;
  --motion-enter: 500ms;
  --motion-ease: cubic-bezier(.2,.75,.25,1);
}
body { font-family: "Manrope", Arial, "PingFang SC", "Microsoft YaHei", sans-serif; }
h1, h2, h3, h4 { text-wrap: balance; }
a, button, input, select, textarea {
  transition-duration: var(--motion-quick);
  transition-timing-function: var(--motion-ease);
}
.header-cta, .primary-button, .secondary-button, .text-link, .language-toggle, .menu-button,
.desktop-nav a, .desktop-nav a::after, .mobile-nav a, .mobile-nav a::after, .site-footer a, .site-footer a::after,
.featured-category-tab, .featured-product-card__link, .featured-product-carousel__controls button,
.product-section-nav a, .product-media-carousel__arrow, .product-media-carousel__thumb,
.product-category-tree__toggle, .floating-quote-button, .inquiry-form input, .inquiry-form select, .inquiry-form textarea,
.home-video__controls button { transition-duration: var(--motion-quick); transition-timing-function: var(--motion-ease); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--brand-gold-deep);
  outline-offset: 4px;
}
.site-header { box-shadow: 0 1px 0 rgba(86,64,36,.06); backdrop-filter: none; }
.site-header .brand-mark { box-shadow: none; }
.site-header .language-toggle { width: auto; justify-self: end; }
.language-switcher { position: relative; justify-self: end; }
.site-header .language-switcher .language-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; white-space: nowrap; box-shadow: none; }
.language-switcher__short { display: none; }
.language-switcher__chevron { flex: none; transition: transform var(--motion-quick) var(--motion-ease); }
.language-toggle[aria-expanded="true"] .language-switcher__chevron { transform: rotate(180deg); }
.language-switcher__menu { position: absolute; right: 0; top: calc(100% + 12px); z-index: 30; min-width: 176px; max-width: calc(100vw - 32px); padding: 7px; border: 1px solid var(--brand-line); border-radius: 12px; background: #fffdf8; box-shadow: 0 12px 32px rgba(64,48,28,.13); }
.language-switcher__menu[hidden] { display: none; }
.language-switcher__option { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 7px; color: #383127; background: transparent; text-align: left; font: inherit; font-size: 14px; cursor: pointer; }
.language-switcher__option svg { flex: none; visibility: hidden; }
.language-switcher__option[aria-checked="true"] { color: var(--brand-gold-deep); background: var(--brand-gold-soft); }
.language-switcher__option[aria-checked="true"] svg { visibility: visible; }
.language-switcher__option:hover { background: var(--brand-gold-pale); }
.language-switcher__option:focus-visible { outline-offset: -2px; }
@media (max-width: 600px) {
  .language-switcher__current { display: none; }
  .language-switcher__short { display: inline; }
  .site-header .language-switcher .language-toggle { padding-inline: 11px; gap: 7px; }
}
@media (prefers-reduced-motion: no-preference) {
  .language-switcher__menu:not([hidden]) { animation: language-menu-in 160ms ease-out; }
}
@keyframes language-menu-in { from { opacity: .6; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.header-cta, .primary-button, .floating-quote-button {
  background: #896536 !important;
  box-shadow: 0 5px 14px rgba(91,67,36,.10);
}
.header-cta:hover, .primary-button:hover, .secondary-button:hover, .text-link:hover, .language-toggle:hover { transform: none; }
.primary-button svg, .text-link svg { transition: transform var(--motion-quick) var(--motion-ease); }
.primary-button:hover svg, .text-link:hover svg { transform: translateX(3px); }
.inquiry-form label:focus-within { transform: none; }
.inquiry-form, .inquiry-form:focus-within, .inquiry-copy, .site-footer { transform: none; filter: none; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { background: #fff; }
.product-preview-menu::after, .gradient-panel::before, .inquiry-form::after, .header-cta::before, .primary-button::before, .primary-button::after, .secondary-button::after { content: none; }
.section-heading .eyebrow { background: none !important; border: 0 !important; padding: 0; }
.section-heading h2::after { display: none; }
.product-section-nav { top: var(--site-header-height, 94px); }
.product-long-section { scroll-margin-top: calc(var(--site-header-height, 94px) + 72px); }
/* Film remains the lead visual, with a clear edge for copy and accessible playback. */
.home-hero--video { background: #26231f; }
.home-hero--video .home-hero__inner--copy-only {
  width: min(100% - 96px,1280px);
  min-height: clamp(580px,76vh,800px);
  padding-block: 88px 104px;
  grid-template-columns: minmax(0,670px);
  justify-content: start;
}
.home-hero--video .home-hero__copy { max-width: 670px; }
.home-hero--video .home-hero__video-background video { filter: none; object-position: center; }
.home-hero--video .home-hero__video-scrim {
  background: linear-gradient(90deg,rgba(20,22,20,.82) 0%,rgba(20,22,20,.57) 43%,rgba(20,22,20,.08) 78%),linear-gradient(0deg,rgba(20,22,20,.20),transparent 48%);
}
.home-hero--video h1 { color: #fff; font-size: clamp(44px,5vw,70px); line-height: 1.1; letter-spacing: -.045em; font-weight: 600; }
.home-hero--video .eyebrow { color: #e7cc9e !important; font-size: 11px; letter-spacing: .17em; margin-bottom: 24px; }
.home-hero--video .home-hero__lede { color: #f0ece4; margin-top: 28px; font-size: 17px; line-height: 1.8; max-width: 490px; }
.home-hero--video .home-hero__proofs { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 26px 0 34px; }
.home-hero--video .home-hero__proofs li { color: #f0ece4; font-size: 12px; font-weight: 500; }
.home-hero--video .home-hero__proofs li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #d6b47c; }
.home-hero--video .hero-actions { justify-content: flex-start !important; margin: 0; }
.home-hero--video .secondary-button { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(0,0,0,.08); backdrop-filter: none; }
.home-hero--video .secondary-button:hover { background: rgba(255,255,255,.13); }
.home-hero__video-control {
  position: absolute; right: max(48px,calc((100% - 1280px)/2)); bottom: 30px; z-index: 3;
  display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.55); border-radius: 24px;
  color: #fff; background: rgba(20,22,20,.42); font: inherit; font-size: 12px; cursor: pointer;
}
.home-hero__video-control > span { display: inline-flex; align-items: center; gap: 8px; }
.home-hero__video-control:hover { background: rgba(20,22,20,.75); }
.home-hero__video-control[hidden], [data-video-icon][hidden] { display: none !important; }
.home-hero--video a:focus-visible, .home-hero__video-control:focus-visible { outline-color: #efd6ac; }
.home-hero, .featured-products, .home-advantages, #solutions, #contact { scroll-margin-top: calc(var(--site-header-height, 94px) + 20px); }
.home-proof-nav__item { min-height: 90px; padding: 18px 22px; }
.featured-products, .home-advantages, .home-about, .home-video { padding-block: 88px; }
.featured-products .featured-products__heading { max-width: none; text-align: left !important; margin: 0 0 34px; }
.featured-products__heading h2 { max-width: 760px; margin-left: 0 !important; font-size: clamp(30px,3vw,44px); line-height: 1.25; font-weight: 600; }
.featured-products__heading > p { margin-left: 0 !important; }
.featured-product-carousel { box-shadow: none; }
.featured-category-tab { min-height: 80px; }
.featured-category-tab small { font-size: 11px; }
.featured-category-tab.is-active { background: var(--brand-gold-deep); }
.featured-product-carousel__track { position: relative; align-items: stretch; }
.featured-category-panel { padding: 28px; }
.featured-product-grid { align-items: stretch; }
.featured-product-card { display: flex; flex-direction: column; border-radius: 6px; box-shadow: none; transition: transform var(--motion-card) var(--motion-ease), box-shadow var(--motion-card) var(--motion-ease), border-color var(--motion-card); }
.featured-product-card__media { aspect-ratio: 1.5; padding: 30px 14px 14px; background: #fff !important; border-bottom: 1px solid var(--brand-line); }
.featured-product-card__media img { object-fit: contain; object-position: center; transition: transform var(--motion-card) var(--motion-ease); }
.featured-product-card__model { color: var(--brand-gold-deep); background: var(--brand-gold-pale); font-size: 10px; border-radius: 2px; }
.featured-product-card__body { flex: 1; padding: 20px; min-height: 235px; }
.featured-product-card__category { display: none; }
.featured-product-card h4 { font-weight: 650; font-size: 17px; }
.featured-product-card__body > p:not(.featured-product-card__category) { font-size: 13px; }
.featured-product-card:hover { transform: translateY(-3px); box-shadow: 0 9px 20px rgba(63,47,27,.07); }
.featured-product-card:hover .featured-product-card__media img { transform: scale(1.02); }
.catalog-product-card, .related-product-card, .product-card.motion-surface { transition: transform var(--motion-card) var(--motion-ease), box-shadow var(--motion-card) var(--motion-ease), border-color var(--motion-card); }
.catalog-product-card::after, .related-product-card::after, .product-card::after { content: none; }
.catalog-product-card:hover, .related-product-card:hover, .product-card.motion-surface:hover { transform: translateY(-3px); border-color: var(--brand-gold) !important; box-shadow: 0 9px 20px rgba(63,47,27,.07) !important; }
.product-card.motion-surface { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--brand-line); border-radius: 6px; background: #fff; }
.product-card .product-body { flex: 1; padding: 22px; }
.product-card .product-body h3 { font-size: 20px; line-height: 1.35; }
.product-card .product-body p { color: var(--brand-muted); line-height: 1.65; }
.product-card .product-image { display: grid; width: 100%; align-items: end; justify-items: start; padding: 14px; background-position: center; background-color: #fff; background-size: contain; background-repeat: no-repeat; min-height: 0; aspect-ratio: 1.5; }
.product-card .product-image span { padding: 5px 8px; color: var(--brand-gold-deep); background: var(--brand-gold-pale); font-size: 11px; }
.catalog-product-image { background: #fff; aspect-ratio: 1.5; }
.catalog-product-image__asset { transition: transform var(--motion-card) var(--motion-ease); }
.catalog-product-card:hover .catalog-product-image__asset { transform: scale(1.02); }
.home-advantages__inner { gap: 72px; align-items: center; grid-template-columns: 1fr 1.1fr; }
.home-advantages__media { min-height: 340px; display: grid; align-items: center; border: 0; box-shadow: none; }
.home-advantages__media img { height: auto; padding: 36px 16px 80px; }
.home-advantages__media-label { left: 24px; bottom: 24px; padding: 0; background: none; color: var(--brand-gold-deep); font-size: 11px; font-weight: 500; }
.home-advantages h2, .home-about h2 { font-size: clamp(30px,3vw,44px); line-height: 1.25; font-weight: 600; }
.home-advantages__grid { gap: 0 28px; border: 0; background: none; }
.home-advantages__grid article { padding: 22px 0; min-height: 130px; background: none; border-top: 1px solid var(--brand-line); }
.home-advantages__grid article > span { display: none; }
.home-advantages__grid h3 { font-weight: 600; font-size: 15px; }
.home-advantages__grid p { font-size: 13px; }
.home-video__intro { max-width: 500px; }
.home-video video { background: #2d271f; }
.home-video__controls button { min-width: 44px; min-height: 44px; }
/* With JS disabled, show native controls; custom controls opt in only after initialization. */
.home-video__controls { display: none; }
.home-video.is-enhanced .home-video__controls { display: flex; }
.home-video.has-video-error .home-video__controls { display: none; }
.home-video__status { position: absolute; left: 24px; bottom: 20px; padding: 8px 12px; margin: 0; color: #fff; background: #332a20; font-size: 13px; }
/* A self-contained, manually selected display. Both routes load these base styles. */
.home-showcase { padding: 88px 0; color: #f7f3eb; background: #25241f; }
.home-showcase__inner { width: min(100% - 80px, 1280px); margin: 0 auto; }
.home-showcase__intro { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: 60px; margin-bottom: 38px; }
.home-showcase__intro .eyebrow { margin: 0 0 20px; color: #d8bd8f !important; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.home-showcase__intro h2 { margin: 0; color: #f7f3eb; font-size: clamp(30px,3.2vw,44px); font-weight: 500; line-height: 1.2; letter-spacing: -.035em; }
.home-showcase__intro > p { max-width: 380px; margin: 0 0 3px auto; color: #c9c5bb; font-size: 14px; line-height: 1.8; }
.home-showcase__tabs { display: flex; border-bottom: 1px solid #5d574a; margin-bottom: 24px; }
.home-showcase__tabs[hidden] { display: none; }
.home-showcase__tabs button { position: relative; display: flex; align-items: baseline; gap: 14px; min-width: 0; min-height: 68px; padding: 15px 28px 19px; border: 0; border-radius: 0; color: #bbb7ae; background: transparent; font: inherit; cursor: pointer; transition: color 200ms ease, background 200ms ease; }
.home-showcase__tabs button:first-child { padding-left: 0; }
.home-showcase__tabs button::after { position: absolute; bottom: -1px; left: 28px; right: 28px; height: 2px; background: #d8bd8f; content: ''; transform: scaleX(0); transform-origin: left; transition: transform 200ms ease; }
.home-showcase__tabs button:first-child::after { left: 0; }
.home-showcase__tabs button[aria-selected="true"] { color: #fffaf0; }
.home-showcase__tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.home-showcase__tabs button:hover { color: #fffaf0; }
.home-showcase__tab-number { font-size: 11px; letter-spacing: .08em; color: #d8bd8f; }
.home-showcase__tab-label { font-size: 17px; font-weight: 500; }
.home-showcase__tab-model { font-size: 11px; letter-spacing: .04em; }
.home-showcase__stage { display: grid; gap: 24px; }
.home-showcase__panel { display: grid; grid-template-columns: 55% minmax(0,1fr); min-height: 560px; min-width: 0; color: #2a2823; background: #f5f1e9; }
.home-showcase.is-enhanced .home-showcase__stage { gap: 0; }
/* Inactive chapters contribute their natural height, preventing layout jumps on selection. */
.home-showcase.is-enhanced .home-showcase__panel { grid-area: 1 / 1; visibility: hidden; pointer-events: none; }
.home-showcase.is-enhanced .home-showcase__panel.is-active { visibility: visible; pointer-events: auto; }
.home-showcase__media { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #d3d0c6; }
.home-showcase__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 60%; }
.home-showcase__media figcaption { position: absolute; left: 22px; bottom: 20px; max-width: calc(100% - 44px); margin: 0; padding: 7px 10px; color: #fff; background: rgba(24,25,22,.76); font-size: 11px; line-height: 1.5; }
.home-showcase__content { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 44px 48px; }
.home-showcase__eyebrow { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; color: #80613b; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.home-showcase__content h3 { margin: 0; color: #2a2823; font-size: clamp(30px,2.9vw,40px); line-height: 1.22; font-weight: 500; letter-spacing: -.035em; }
.home-showcase__body { margin: 26px 0 0; color: #625c52; font-size: 14px; line-height: 1.85; }
.home-showcase__points { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 26px 0 0; padding: 0; list-style: none; }
.home-showcase__points li { display: flex; align-items: center; gap: 8px; color: #68573f; font-size: 11px; line-height: 1.6; }
.home-showcase__points li::before { content: ''; width: 4px; height: 4px; background: #a68753; }
.home-showcase__link { display: inline-flex; align-items: center; gap: 18px; align-self: flex-start; min-height: 44px; margin-top: 28px; border-bottom: 1px solid #b7a88c; color: #624c2e; font-size: 13px; font-weight: 600; text-decoration: none; transition: color 200ms ease, border-color 200ms ease; }
.home-showcase__link svg { transition: transform 200ms ease; }
.home-showcase__link:hover { color: #29261f; border-color: #685131; }
.home-showcase__link:hover svg { transform: translateX(3px); }
.home-showcase__tabs button:focus-visible { outline-color: #ead2a6; outline-offset: -5px; }
.home-showcase__panel:focus-visible { outline-offset: -4px; }
@keyframes showcase-image-in { from { opacity: .45; transform: scale(1.015); } to { opacity: 1; transform: scale(1); } }
@keyframes showcase-copy-in { from { opacity: .65; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.home-showcase.has-switched .is-active .home-showcase__media img { animation: showcase-image-in 450ms var(--motion-ease) both; }
.home-showcase.has-switched .is-active h3, .home-showcase.has-switched .is-active .home-showcase__body, .home-showcase.has-switched .is-active .home-showcase__points { animation: showcase-copy-in 350ms var(--motion-ease) both; }
@media (max-width: 1050px) {
  .home-showcase__inner { width: calc(100% - 48px); }
  .home-showcase__intro { gap: 32px; }
  .home-showcase__content { padding: 36px 32px; }
  .home-showcase__panel { grid-template-columns: 53% minmax(0,1fr); }
}
@media (max-width: 860px) {
  .home-showcase { padding-block: 64px; }
  .home-showcase__intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 26px; }
  .home-showcase__intro > p { max-width: 560px; margin: 0; }
  .home-showcase__panel { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; min-height: 0; }
  .home-showcase__media { aspect-ratio: 3 / 2; }
  .home-showcase__content { justify-content: flex-start; padding: 36px; }
  .home-showcase__tabs button { flex: 1; }
}
@media (max-width: 600px) {
  .home-showcase { padding-block: 52px; }
  .home-showcase__inner { width: calc(100% - 32px); }
  .home-showcase__intro h2 { font-size: 29px; line-height: 1.3; }
  .home-showcase__intro .eyebrow { margin-bottom: 16px; }
  .home-showcase__intro > p { font-size: 13px; }
  .home-showcase__tabs { margin-bottom: 18px; }
  .home-showcase__tabs button { display: grid; grid-template-columns: 18px 1fr; gap: 5px 8px; padding: 14px 12px 16px; text-align: left; min-height: 76px; }
  .home-showcase__tabs button::after { left: 12px; right: 12px; }
  .home-showcase__tab-label { font-size: 14px; line-height: 1.5; }
  .home-showcase__tab-model { grid-column: 2; font-size: 10px; }
  .home-showcase__content { padding: 30px 24px; }
  .home-showcase__content h3 { font-size: 29px; }
  .home-showcase__eyebrow { margin-bottom: 18px; }
  .home-showcase__body { font-size: 13px; margin-top: 22px; }
  .home-showcase__points { margin-top: 22px; }
  .home-showcase__media figcaption { left: 14px; bottom: 14px; max-width: calc(100% - 28px); font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-showcase.has-switched .is-active .home-showcase__media img, .home-showcase.has-switched .is-active h3, .home-showcase.has-switched .is-active .home-showcase__body, .home-showcase.has-switched .is-active .home-showcase__points { animation: none; }
  .home-showcase__tabs button, .home-showcase__tabs button::after, .home-showcase__link, .home-showcase__link svg { transition: none; }
}

@keyframes refinement-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.refinement-enter { animation: refinement-enter var(--motion-enter) var(--motion-ease) both; }
@media (max-width: 1024px) {
  .home-hero--video .home-hero__inner--copy-only { width: calc(100% - 64px); }
  .home-advantages__inner { gap: 30px; }
}
@media (max-width: 860px) {
  .home-hero--video .home-hero__inner--copy-only { min-height: 580px; padding-block: 70px 110px; }
  .home-hero--video .home-hero__copy { max-width: 600px; }
  .home-hero--video h1 { font-size: 48px; }
  .home-hero--video .home-hero__video-scrim { background: linear-gradient(90deg,rgba(20,22,20,.82),rgba(20,22,20,.36)); }
  .home-hero__video-control { right: 32px; bottom: 24px; }
  .home-advantages__inner { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .home-hero--video .home-hero__inner--copy-only { width: calc(100% - 40px); min-height: 590px; padding-top: 62px; }
  .home-hero--video h1 { font-size: 40px; line-height: 1.13; letter-spacing: -.04em; }
  .home-hero--video .eyebrow { margin-bottom: 20px; font-size: 10px; }
  .home-hero--video .home-hero__lede { margin-top: 24px; font-size: 15px; line-height: 1.75; }
  .home-hero--video .home-hero__proofs { gap: 8px 16px; margin-block: 22px 28px; }
  .home-hero--video .hero-actions { flex-direction: row; gap: 10px; }
  .home-hero--video .hero-actions a { padding-inline: 17px; min-height: 46px; font-size: 12px; }
  .home-hero__video-control { right: 20px; bottom: 22px; }
.featured-products, .home-advantages, .home-about, .home-video { padding-block: 56px; }
  .featured-products__heading h2 { font-size: 29px !important; }
  .home-proof-nav__item { min-height: 82px; padding: 15px; }
  .featured-category-panel { padding: 18px; }
  .featured-product-card__media { aspect-ratio: 1.6; }
  .home-advantages__grid { column-gap: 20px; }
  .home-advantages__grid article { padding: 18px 0; }
}
@media (hover: none) {
  .featured-product-card:hover, .catalog-product-card:hover, .related-product-card:hover, .product-card.motion-surface:hover { transform: none; box-shadow: none !important; }
  .featured-product-card:hover .featured-product-card__media img, .catalog-product-card:hover .catalog-product-image__asset { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html, .featured-product-carousel__track { scroll-behavior: auto; }
  .refinement-enter { animation: none; }
  a, button, input, select, textarea, .featured-product-card, .featured-product-card__media img, .catalog-product-card, .catalog-product-image__asset, .related-product-card, .product-card.motion-surface { transition: none !important; }
}
