.hero { position: relative; overflow: hidden; background: var(--color-dark); color: var(--color-on-dark); }
.hero-track { display: flex; transition: transform 450ms ease; }
.hero-slide { position: relative; flex: 0 0 100%; min-height: clamp(28rem, 37.5vw, 45rem); }
.hero-slide picture, .hero-slide picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; z-index: 1; inset-inline: 0; inset-block-end: 0; background: rgba(0, 0, 0, .62); }
.hero-content { padding-block: var(--space-2); }
.hero-content h1, .hero-content h2 { max-width: 30ch; margin-block-end: .35rem; font-size: var(--step-2); }
.hero-content > p { max-width: 52rem; margin-block-end: var(--space-1); color: rgba(255, 255, 255, .82); }
.hero-fallback { display: grid; min-height: clamp(28rem, 37.5vw, 45rem); align-items: end; background: var(--color-dark); }
.hero-fallback > .container { padding-block: var(--space-3); }
.inner-hero .hero-slide { min-height: clamp(15rem, 21.875vw, 26.25rem); }
.inner-hero .hero-content { padding-block: var(--space-3); }
.inner-hero .hero-content h2 { font-size: var(--step-2); }
.carousel-controls { position: absolute; z-index: 2; inset-block-end: var(--space-2); inset-inline-end: max(var(--space-2), calc((100% - var(--container)) / 2)); display: flex; gap: .35rem; }
.carousel-controls button { background: var(--color-surface); color: var(--color-ink); border: 1px solid rgba(0, 0, 0, .12); }
.carousel-controls svg, .rail-controls svg { width: 1.25rem; height: 1.25rem; margin: auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: var(--space-3); margin-block-end: var(--space-4); text-align: start; }
.section-heading h2 { margin-block-end: 0; }
.section-heading-centered { justify-content: center; text-align: center; }
.section-heading-centered p { max-width: 64rem; margin: var(--space-1) auto 0; color: var(--color-ink-soft); }
.home-showcase { padding-block-start: var(--space-3); }
.home-showcase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); align-items: start; }
.home-feature-card { overflow: hidden; background: var(--color-surface-muted); }
.home-feature-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #dfe5e8; }
.home-feature-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.home-feature-card:hover .home-feature-media img { transform: scale(1.015); }
.home-feature-body { padding: var(--space-2) var(--space-3) var(--space-3); text-align: center; }
.home-feature-body h2 { margin-block-end: var(--space-1); font-size: var(--step-1); }
.home-feature-body h2 a { text-decoration: none; }
.home-feature-body p { display: -webkit-box; overflow: hidden; margin-block-end: var(--space-1); color: var(--color-ink-soft); text-align: start; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.video-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 3.25rem; height: 3.25rem; place-items: center; transform: translate(-50%, -50%); background: rgba(0, 0, 0, .72); color: #fff; }
.video-play svg { width: 1.65rem; height: 1.65rem; fill: currentColor; }
.home-products { padding-block-start: var(--space-6); }
.home-products .card-media { aspect-ratio: 1.45 / 1; }
.home-about-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); gap: var(--space-6); align-items: center; padding: var(--space-4); background: var(--color-surface); }
.home-about-copy h2 { position: relative; padding-block-end: var(--space-2); }
.home-about-copy h2::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; width: 3.5rem; height: 3px; background: var(--color-brand); }
.home-about-copy p { color: var(--color-ink-soft); }
.home-about-media .home-feature-body { display: none; }
.home-about-media .home-feature-card { background: var(--color-dark); }
.home-about-media .home-feature-media { aspect-ratio: 16 / 6.5; }
.home-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block-start: var(--space-2); }
.home-metric { display: grid; min-height: 8rem; place-content: center; padding: var(--space-2); text-align: center; background: #ededed; }
.home-metric:nth-child(2) { background: #d8d8d8; }
.home-metric:nth-child(3) { background: #ababab; color: #fff; }
.home-metric:nth-child(4n) { background: #777; color: #fff; }
.home-metric strong { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.1; }
.home-metric span { margin-block-start: .45rem; font-size: var(--step--1); }
.home-partner-frame { position: relative; }
.home-partner-rail { display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.home-partner-rail::-webkit-scrollbar { display: none; }
.home-partner-card { flex: 0 0 100%; scroll-snap-align: start; }
.home-partner-card a { position: relative; display: block; min-height: 24rem; overflow: hidden; background: var(--color-surface-muted); text-decoration: none; }
.home-partner-card img, .home-partner-card .media-empty { width: 100%; height: 100%; min-height: 24rem; object-fit: cover; }
.home-partner-card strong { position: absolute; inset-inline: 0; inset-block-end: 0; padding: var(--space-2) var(--space-3); background: rgba(0, 0, 0, .72); color: #fff; font-size: var(--step-1); }
.rail-controls { position: absolute; inset-block: 0; inset-inline-end: 0; display: grid; width: 7rem; grid-template-rows: 1fr 1fr; background: rgba(255, 255, 255, .94); }
.rail-controls button { display: grid; place-items: center; border: 0; background: transparent; color: var(--color-ink); cursor: pointer; }
.rail-controls button + button { border-block-start: 1px solid var(--color-line); }
.home-news-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0 var(--space-2); }
.home-news-card { display: grid; grid-column: 2; grid-template-columns: 10rem 1fr; gap: var(--space-2); padding: var(--space-2); background: var(--color-surface-muted); border-block-end: .5rem solid var(--color-surface); }
.home-news-featured { grid-column: 1; grid-row: 1 / span 4; grid-template-columns: 1fr; align-content: start; border-inline-end: .5rem solid var(--color-surface); border-block-end: 0; }
.home-news-media { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #e3e3e3; }
.home-news-media img, .home-news-media .media-empty { width: 100%; height: 100%; object-fit: cover; }
.home-news-card h3 { margin-block: .25rem .4rem; font-size: var(--step-0); }
.home-news-card h3 a { text-decoration: none; }
.home-news-card time { color: var(--color-ink-soft); font-size: var(--step--1); }
.home-news-card p { display: -webkit-box; overflow: hidden; margin-block-end: .35rem; color: var(--color-ink-soft); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-news-featured h3 { font-size: var(--step-1); }
.home-news-featured p { -webkit-line-clamp: 5; }
.contact-panel { padding: var(--space-4); background: rgba(255, 255, 255, .07); border-block-start: 3px solid var(--color-brand); }
.contact-panel p { display: grid; }
.contact-panel strong { color: #aeb9c0; font-size: var(--step--1); }
.inquiry-section { background: var(--color-surface-muted); }
.article-detail header { padding-block: var(--space-7) var(--space-4); }
.article-cover { width: 100%; max-height: 36rem; object-fit: cover; margin-block-end: var(--space-4); }
.prose { font-size: var(--step-0); }
.prose > * { max-width: 100%; }
.prose h2, .prose h3 { margin-block-start: 1.8em; }
.prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.prose th, .prose td { padding: .65rem; border: 1px solid var(--color-line); }
.page-breadcrumb-band { background: var(--color-surface-muted); border-block: 1px solid var(--color-line); }
.page-breadcrumb-band .breadcrumbs { margin-block: 0; padding-block: var(--space-2); }
.news-list-section { padding-block-start: var(--space-7); }
.news-list-intro { max-width: 55rem; margin-block-end: var(--space-4); color: var(--color-ink-soft); }
.news-list { display: grid; gap: var(--space-5); }
.news-row { display: grid; min-height: 12.5rem; grid-template-columns: minmax(0, 19rem) minmax(0, 1fr) 8rem; align-items: stretch; background: var(--color-surface-muted); }
.news-row-media { display: block; overflow: hidden; background: #e2e2e2; }
.news-row-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.news-row:hover .news-row-media img { transform: scale(1.015); }
.news-row-body { grid-column: 2; align-self: center; padding: var(--space-3) var(--space-4); }
.news-row-body h2 { margin-block-end: var(--space-1); font-size: var(--step-1); }
.news-row-body h2 a { text-decoration: none; }
.news-row-body p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--color-ink-soft); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.news-row-date { grid-column: 3; grid-row: 1; display: grid; place-content: center; padding: var(--space-2); color: var(--color-ink-soft); font-size: var(--step--1); font-weight: 700; text-align: center; overflow-wrap: anywhere; }
.news-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: var(--space-4); align-items: start; padding-block: var(--space-7); }
.news-article-header { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--space-2); align-items: center; padding-block: var(--space-2); border-block: 1px solid var(--color-line); }
.news-date-badge { display: grid; min-height: 5rem; place-items: center; padding: var(--space-1); background: var(--color-brand); color: #fff; font-weight: 700; text-align: center; overflow-wrap: anywhere; }
.news-article-header h1 { margin: 0; font-size: var(--step-2); }
.article-meta { display: flex; flex-wrap: wrap; gap: .4rem var(--space-2); color: var(--color-ink-soft); font-size: var(--step--1); }
.article-meta a { color: var(--color-brand); }
.article-highlight { margin-block: var(--space-2); padding: var(--space-1) var(--space-2); background: var(--color-brand-soft); color: var(--color-ink-soft); }
.article-prose { min-height: 12rem; padding-block: var(--space-2) var(--space-4); }
.news-related-rail { display: grid; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--color-line); }
.neighbor-card { display: grid; gap: .5rem; text-decoration: none; }
.neighbor-card + .neighbor-card { padding-block-start: var(--space-2); border-block-start: 1px solid var(--color-line); }
.neighbor-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.neighbor-card strong { font-size: var(--step-0); }
.neighbor-card time { color: var(--color-ink-soft); font-size: var(--step--1); }
.article-related-products { padding-block-start: 0; }
.section-context { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.section-navigation { min-width: 0; padding-block: .7rem; }
.section-navigation ul { display: flex; gap: var(--space-2); list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.section-navigation ul::-webkit-scrollbar { display: none; }
.section-navigation li { flex: 0 0 auto; }
.section-navigation a { display: grid; min-width: 8.5rem; min-height: 2.6rem; place-items: center; padding: .4rem var(--space-2); color: var(--color-brand); border: 1px solid var(--color-brand); text-decoration: none; }
.section-navigation a:hover, .section-navigation a.is-current { background: var(--color-brand); color: #fff; }
.information-list-section { padding-block-start: var(--space-6); }
.information-heading { margin-block-end: var(--space-4); text-align: center; }
.information-heading h1 { position: relative; padding-block-end: var(--space-2); }
.information-heading h1::after { content: ""; position: absolute; inset-inline-start: 50%; inset-block-end: 0; width: 3.5rem; height: 3px; transform: translateX(-50%); background: var(--color-brand); }
[dir="rtl"] .information-heading h1::after { transform: translateX(50%); }
.information-heading > p { max-width: 55rem; margin-inline: auto; color: var(--color-ink-soft); }
.information-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: var(--space-4) var(--space-2); }
.information-card { min-width: 0; padding: var(--space-2); background: #f0f1f3; text-align: center; }
.information-card-media { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #fff; }
.information-card-media img, .information-card-media .media-empty { width: 100%; height: 100%; object-fit: contain; transition: transform 350ms ease; }
.information-card:hover img { transform: scale(1.015); }
.information-card h2 { margin: var(--space-2) 0 0; font-size: var(--step-0); font-weight: 500; }
.information-card h2 a { text-decoration: none; }
.information-detail-shell { max-width: 64rem; padding-block: var(--space-7); }
.information-detail-heading { margin-block-end: var(--space-4); }
.information-detail-heading .article-meta { justify-content: center; }
.information-cover { width: 100%; max-height: 40rem; margin-block-end: var(--space-4); object-fit: contain; background: var(--color-surface-muted); }
.page-detail { padding-block-end: var(--space-7); }
.single-page-heading { margin-block-end: var(--space-5); text-align: center; }
.single-page-heading h1, .single-page-heading h2 { position: relative; margin-block-end: var(--space-2); padding-block-end: var(--space-2); }
.single-page-heading h1::after, .single-page-heading h2::after { content: ""; position: absolute; inset-inline-start: 50%; inset-block-end: 0; width: 3.5rem; height: 3px; transform: translateX(-50%); background: var(--color-brand); }
[dir="rtl"] .single-page-heading h1::after, [dir="rtl"] .single-page-heading h2::after { transform: translateX(50%); }
.single-page-heading p { max-width: 55rem; margin-inline: auto; color: var(--color-ink-soft); }
.about-section { padding-block-start: var(--space-6); }
.page-about .single-page-heading { margin-block-end: var(--space-2); border-block-end: 1px solid var(--color-line); }
.page-about .single-page-heading h1 { padding-block-end: var(--space-2); }
.page-about .single-page-heading h1::after { display: none; }
.about-page-content { max-width: 76rem; margin-inline: auto; color: var(--color-ink-soft); line-height: 2; }
.about-page-content .article-cover { max-height: 42rem; object-fit: contain; }
.about-page-content .prose p { margin-block-end: 1.5em; }
.contact-page-section { padding-block-start: var(--space-6); }
.contact-page-intro { max-width: 64rem; margin: 0 auto var(--space-4); }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 2.35fr) minmax(18rem, 1fr); min-height: 28rem; box-shadow: var(--shadow); }
.contact-map-frame { min-width: 0; overflow: hidden; padding: var(--space-2); background: var(--color-surface); border: 1px solid var(--color-line); }
.contact-map-frame > a, .contact-map-frame > img { display: block; width: 100%; height: 100%; }
.contact-map-frame img { width: 100%; height: 100%; object-fit: cover; }
.contact-map-placeholder { display: grid; width: 100%; min-height: 26rem; place-items: center; align-content: center; gap: var(--space-2); padding: var(--space-4); background: #eef3f5; color: var(--color-brand); text-align: center; text-decoration: none; }
.contact-map-placeholder svg { width: 3.5rem; height: 3.5rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact-map-placeholder span { max-width: 34rem; color: var(--color-ink-soft); }
.contact-page-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4rem); background: var(--color-brand); color: var(--color-on-brand); }
.contact-page-card h2 { color: inherit; font-size: var(--step-1); }
.contact-page-address { display: grid; gap: .35rem; margin-block: var(--space-2) 0; }
.contact-page-address strong { color: rgba(255, 255, 255, .72); font-size: var(--step--1); }
.contact-page-address a, .contact-page-address span { color: inherit; text-decoration: none; }
.contact-page-card .contact-channels { gap: .8rem; }
.contact-page-card .contact-channels li > a, .contact-page-card .contact-channels li > span { display: grid; grid-template-columns: minmax(5.5rem, .42fr) 1fr; gap: var(--space-1); color: inherit; }
.contact-page-card .contact-channels strong { color: rgba(255, 255, 255, .72); }
.contact-page-card .contact-channels img { display: none; }
.contact-page-fallback { display: grid; gap: .75rem; }
.contact-page-fallback a, .contact-page-fallback span { color: inherit; overflow-wrap: anywhere; text-decoration: none; }
.contact-inquiry-section { padding-block-start: var(--space-6); }
.contact-inquiry-section .inquiry-shell { max-width: var(--container); margin-inline: auto; }
.contact-inquiry-section .inquiry-shell form { grid-template-columns: 1fr; }
.contact-inquiry-section .inquiry-shell form > * { min-width: 0; }
.product-catalog-section { padding-block-start: var(--space-6); }
.product-list-layout { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.product-sidebar { overflow: hidden; background: #999; color: #fff; }
.product-sidebar-heading { padding: var(--space-2); background: var(--color-brand); }
.product-sidebar-heading h1 { margin: 0; color: #fff; font-size: var(--step-2); }
.product-category-navigation:empty { display: none; }
.product-category-navigation ul { list-style: none; margin: 0; padding: 0; }
.product-category-navigation li + li { border-block-start: 1px solid rgba(255, 255, 255, .25); }
.product-category-navigation a { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: var(--space-1); padding: .65rem var(--space-2); color: #fff; text-decoration: none; }
.product-category-navigation a:hover, .product-category-navigation .is-current a { background: var(--color-brand-dark); }
.product-category-navigation svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .product-category-navigation svg { transform: scaleX(-1); }
.product-list-intro { margin-block-end: var(--space-3); color: var(--color-ink-soft); }
.page-product-list .product-list-grid { gap: var(--space-2); }
.page-product-list .product-card { min-width: 0; }
.page-product-list .product-card .card-media { aspect-ratio: 1.45 / 1; }
.page-product-list .product-card .card-body { text-align: center; }
.page-product-list .product-card .card-title-row { justify-content: center; }
.page-product-list .product-card .card-kicker, .page-product-list .product-card .text-link { display: none; }
.page-product-list .product-card p { display: -webkit-box; overflow: hidden; text-align: start; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-product-detail .product-detail { padding-block: var(--space-5) var(--space-6); }
.product-gallery { min-width: 0; }
.product-gallery-stage { display: grid; aspect-ratio: 1.35 / 1; place-items: center; overflow: hidden; background: var(--color-surface-muted); border: 1px solid var(--color-line); }
.product-gallery-stage button { width: 100%; height: 100%; }
.product-gallery button { padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.product-gallery-stage img, .product-gallery-stage .media-empty { width: 100%; height: 100%; object-fit: contain; }
.product-gallery-thumbs { display: flex; gap: var(--space-1); margin-block-start: var(--space-1); overflow-x: auto; padding-block-end: .25rem; scrollbar-width: thin; }
.product-gallery-thumbs button { flex: 0 0 5.5rem; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-surface); }
.product-gallery-thumbs button:hover, .product-gallery-thumbs button:focus-visible { border-color: var(--color-brand); }
.product-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.product-summary { position: sticky; inset-block-start: calc(var(--header-height) + var(--space-2)); align-self: start; padding-block: var(--space-2); }
.product-summary .eyebrow a { color: inherit; text-decoration: none; }
.product-summary h1 { margin-block-end: var(--space-2); }
.product-summary > p:not(.eyebrow):not(.lead):not(.product-views) { color: var(--color-ink-soft); }
.product-views { color: var(--color-ink-soft); font-size: var(--step--1); }
.product-tags { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: var(--space-2) 0; padding: 0; }
.product-tags li { padding: .3rem .55rem; background: var(--color-surface-muted); color: var(--color-ink-soft); font-size: var(--step--1); }
.product-contact-list { display: grid; margin-block: var(--space-3); border-block: 1px solid var(--color-line); }
.product-contact-list > a, .product-contact-list > div { display: grid; grid-template-columns: minmax(7rem, .35fr) 1fr; gap: var(--space-2); padding-block: .75rem; text-decoration: none; border-block-end: 1px solid var(--color-line); }
.product-contact-list > :last-child { border-block-end: 0; }
.product-contact-list span { color: var(--color-ink-soft); font-size: var(--step--1); }
.product-contact-list strong { overflow-wrap: anywhere; }
.product-summary-actions { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.product-summary-actions .button:not(.button-primary) { border-color: var(--color-brand); color: var(--color-brand); }
.product-content { padding-block-start: var(--space-4); }
.product-section-title { margin-block: var(--space-5) var(--space-2); padding: .65rem var(--space-2); background: var(--color-brand); color: #fff; font-size: var(--step-1); text-align: center; }
.product-content > .product-section-title:first-child { margin-block-start: 0; }
.page-product-detail .specifications { max-width: 44rem; }
.page-product-detail .specifications dt { background: #fff; }
.page-product-detail .specifications > div:nth-child(even) > * { background: #eaf4fa; }
.related-products { padding-block-start: var(--space-4); }
.related-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-1); }
.related-product-grid a { display: grid; min-width: 0; min-height: 4.5rem; place-items: center; gap: var(--space-1); padding: var(--space-2); background: var(--color-surface-muted); text-align: center; text-decoration: none; }
.related-product-grid img { display: none; }
.related-product-grid strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-neighbors-single { grid-template-columns: 1fr; }
.inquiry-section { background: #f2f4f6; }
.page-product-detail .inquiry-layout { grid-template-columns: 1fr; gap: var(--space-3); }
.inquiry-intro { position: static; }
.error-page { display: grid; min-height: 65vh; place-items: center; text-align: center; }
.error-code { margin: 0; color: var(--color-brand); font-size: clamp(6rem, 20vw, 13rem); font-weight: 900; line-height: .8; }
@media (max-width: 960px) {
  .home-showcase-grid, .home-about-panel, .home-news-grid { grid-template-columns: 1fr; }
  .home-about-panel { gap: var(--space-3); }
  .home-news-card, .home-news-featured { grid-column: 1; grid-row: auto; border-inline-end: 0; border-block-end: .5rem solid var(--color-surface); }
  .product-list-layout { grid-template-columns: 1fr; }
  .product-sidebar { display: grid; grid-template-columns: minmax(10rem, auto) 1fr; }
  .product-category-navigation ul { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .product-category-navigation ul::-webkit-scrollbar { display: none; }
  .product-category-navigation li { flex: 0 0 auto; scroll-snap-align: start; border-block-start: 0; border-inline-start: 1px solid rgba(255, 255, 255, .25); }
  .product-summary { position: static; padding-block: 0; }
  .page-product-detail .specifications { max-width: none; }
  .related-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-row { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) 7rem; }
  .news-detail-layout { grid-template-columns: 1fr; }
  .news-related-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-context { align-items: flex-start; flex-direction: column; }
  .section-navigation { width: 100%; }
  .contact-page-grid { grid-template-columns: 1fr; }
  .contact-map-frame { min-height: 24rem; }
}
@media (max-width: 640px) {
  .hero-slide, .hero-fallback { min-height: clamp(27rem, 120vw, 42rem); }
  .hero-content h1, .hero-content h2 { font-size: var(--step-1); }
  .hero-content > p { display: none; }
  .carousel-controls { inset-block-end: var(--space-1); }
  .section-heading { display: block; }
  .home-showcase { padding-block-start: var(--space-2); }
  .home-feature-body { padding: var(--space-2); }
  .home-feature-body p { -webkit-line-clamp: 3; }
  .home-about { padding-block: var(--space-5); }
  .home-about-panel { padding: var(--space-3) var(--space-2); }
  .home-about-media .home-feature-media { aspect-ratio: 16 / 8.5; }
  .home-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-metric { min-height: 7.5rem; }
  .home-partner-card { flex-basis: 88%; }
  .home-partner-card a, .home-partner-card img, .home-partner-card .media-empty { min-height: 19rem; }
  .rail-controls { display: none; }
  .home-news-card { grid-template-columns: 1fr; }
  .home-news-card:not(.home-news-featured) .home-news-media { display: none; }
  .inner-hero .hero-slide { min-height: clamp(17rem, 74vw, 35rem); }
  .product-catalog-section { padding-block: var(--space-3) var(--space-5); }
  .product-sidebar { display: block; }
  .product-sidebar-heading h1 { font-size: var(--step-1); }
  .product-category-navigation ul { display: flex; }
  .page-product-detail .product-detail { padding-block-start: var(--space-3); }
  .product-gallery-stage { aspect-ratio: 1.22 / 1; }
  .product-gallery-thumbs button { flex-basis: 4.5rem; }
  .product-summary h1 { font-size: var(--step-2); }
  .product-summary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-summary-actions .button { padding-inline: var(--space-1); }
  .product-contact-list > a, .product-contact-list > div { grid-template-columns: 1fr; gap: .2rem; }
  .product-section-title { margin-inline: 0; }
  .related-product-grid a { padding: var(--space-1); }
  .related-product-grid img { display: none; }
  .inquiry-layout { gap: var(--space-3); }
  .news-list-section { padding-block-start: var(--space-4); }
  .news-list { gap: var(--space-2); }
  .news-row { grid-template-columns: 1fr auto; min-height: 0; }
  .news-row-media { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .news-row-body { grid-column: 1; padding: var(--space-2); }
  .news-row-date { grid-column: 2; grid-row: 2; max-width: 6.5rem; padding: var(--space-1); }
  .news-row-body p { -webkit-line-clamp: 3; }
  .news-detail-layout { padding-block: var(--space-4); }
  .news-article-header { grid-template-columns: 1fr; }
  .news-date-badge { min-height: auto; width: fit-content; }
  .news-related-rail { grid-template-columns: 1fr; padding: var(--space-2); }
  .neighbor-card { grid-template-columns: 7rem 1fr; align-items: center; }
  .neighbor-card time { grid-column: 2; }
  .section-navigation a { min-width: 7.5rem; }
  .section-context > div { width: 100%; }
  .information-list-section { padding-block-start: var(--space-4); }
  .information-grid { gap: var(--space-2); }
  .information-detail-shell { padding-block: var(--space-4); }
  .page-heading { padding-block: var(--space-4) var(--space-3); }
  .about-section, .contact-page-section { padding-block-start: var(--space-4); }
  .single-page-heading { margin-block-end: var(--space-3); }
  .about-page-content { line-height: 1.8; }
  .contact-page-grid { box-shadow: none; }
  .contact-map-frame { min-height: 22rem; padding: .6rem; }
  .contact-map-placeholder { min-height: 21rem; padding: var(--space-2); }
  .contact-page-card { padding: var(--space-3) var(--space-2); }
  .contact-page-card .contact-channels li > a, .contact-page-card .contact-channels li > span { grid-template-columns: 1fr; gap: .15rem; }
}
