/* Larger text and simpler rhythm, applied after the base visual system. */
.company-video { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#101721; border-radius:16px; }
.about-image .company-video { max-width:930px; margin:auto; }
body { font-size:16px; }
p { line-height:1.7; }
.eyebrow { font-size:12px; letter-spacing:.09em; color:#586174; }
.header-search input { font-size:15px; }
.header-phone { font-size:15px; }
.header .quote-desktop { font-size:14px; }
.button.small { font-size:14px; padding:13px 17px; }
.nav-row nav { font-size:14px; gap:34px; min-height:50px; }
.button, .text-link { font-size:15px; }
.button { padding:16px 22px; }
.hero-v4 { gap:52px; padding-top:46px; padding-bottom:46px; }
.hero-copy-v4 .eyebrow { font-size:12px; margin-bottom:22px; }
.hero-copy-v4>p { font-size:18px; line-height:1.7; max-width:470px; margin-bottom:30px; }
.hero-copy-v4 .actions .text-link { font-size:15px; }
.service-strip .wrap { padding:21px 0; font-size:15px; color:#565e70; }
.section-heading .text-link, .section-note { font-size:14px; }
.category-photos span { font-size:11px; color:#606a7e; }
.category-photos h3 { font-size:24px; margin:13px 0 10px; }
.category-photos p { font-size:15px; }
.product-text .eyebrow { font-size:12px; color:#646e80; }
.product-text h3 { font-size:19px; line-height:1.5; margin-bottom:19px; }
.product-bottom, .catalogue .product-bottom { font-size:14px; color:#586174; }
.quote-add { width:34px; height:34px; font-size:21px; }
.application-copy>p, .factory-v4 p { font-size:17px; }
.factory-v4 .button { font-size:15px; }
.steps>div>span { font-size:14px; }
.steps h3 { font-size:20px; margin:20px 0 12px; }
.steps p { font-size:16px; }
.faq summary { font-size:17px; line-height:1.6; }
.faq p { font-size:16px; }
.cta p { font-size:17px; }
.cta .eyebrow { font-size:12px; }
.footer-grid p, .footer-grid>div>a:not(.brand), .footer-contact>a { font-size:14px; line-height:1.65; }
.footer-grid h3 { font-size:15px; margin-bottom:20px; }
.footer-company { font-size:15px; line-height:1.6; }
.footer-contact address { font-size:14px; max-width:290px; line-height:1.65; }
.footer-grid { grid-template-columns:1.12fr .9fr 1fr 1.4fr; gap:30px; }
.footer-bottom { font-size:12px; }
.social-label { font-size:12px; color:#5c6679; }
.social-links { gap:22px; }
.social-circle { width:44px; height:44px; }
.social-item { min-width:50px; }
.footer-connect h3 { font-size:20px; margin:0; }
.breadcrumb { font-size:13px; }
.lead, .page-head .lead { font-size:18px; line-height:1.7; }
.page-head .eyebrow { font-size:12px; }
.catalogue-note, .caption, .detail .caption { font-size:14px; color:#646e80; }
.filter { font-size:14px; padding:12px 17px; }
.search input { font-size:15px!important; }
.search { min-width:270px; }
.results-count { font-size:14px; }
.info-rows>div { font-size:15px; }
.detail-guide p { font-size:16px; }
.photo-switch button { font-size:14px; }
.about-grid p:not(.lead), .about-product-groups p { font-size:17px; }
.about-product-groups>a>span { font-size:12px; }
.about-product-groups b { font-size:14px; }
.about-location>div>p, .about-location address p, .about-location address a { font-size:17px; }
.about-location address span { font-size:13px; }
.buyer-grid p, .capability-grid p { font-size:16px; }
.buyer-grid .eyebrow { font-size:13px; }
.article-card>span { font-size:12px; }
.article-card p { font-size:16px; }
.article-card b { font-size:14px; }
.prose p { font-size:18px; line-height:1.8; }
.prose .reading-note { font-size:14px; }
.quote-grid { gap:58px; }
.quote-grid aside>.eyebrow { font-size:12px; }
.quote-grid aside>p { font-size:16px; }
.contact-box>span, .contact-box small { font-size:14px; }
.contact-box>a.email { font-size:17px; }
.quote-explain h3 { font-size:16px; }
.quote-explain p { font-size:15px; }
.form-grid label, .quote-line-fields label { font-size:14px; line-height:1.6; }
input, select, textarea { font-size:16px; padding:13px 12px; }
.check { font-size:14px; line-height:1.6; }
.line-number { font-size:12px; }
.remove-line { font-size:13px; }
.quote-lines-heading h3 { font-size:18px; }
#quote-result p { font-size:16px; }
#quote-preview { font-size:15px; }
/* Keep the moving gallery visually clear; its pause control appears on keyboard focus. */
.flow-bottom { height:0; min-height:0; margin:0; padding:0; }
.flow-toggle { position:absolute; width:1px; height:1px; min-height:0; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.flow-toggle:focus-visible { clip:auto; width:42px; height:42px; right:10px; bottom:10px; border:1px solid #b9c6f5; background:white; z-index:5; display:grid; place-items:center; }
.flow-toggle [aria-hidden] { font-size:19px; }
@media(max-width:1100px) {
 .hero-copy-v4 .actions { gap:18px; }
 .hero-copy-v4 .button { font-size:14px; padding:15px 18px; }
 .hero-copy-v4 .actions .text-link { font-size:14px; }
 .hero-copy-v4 h1 { font-size:61px; }
 .header { gap:20px; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:32px 40px; }
}
@media(max-width:800px) {
 .header { padding:15px 0 12px; gap:14px; }
 .header-search input { font-size:16px; }
 .header .quote-nav { padding:9px 10px; }
 .header .quote-mobile { font-size:11px!important; }
 .nav-row nav { font-size:16px; gap:0; }
 .hero-v4 { padding-top:30px; padding-bottom:35px; gap:29px; }
 .hero-copy-v4 .eyebrow { font-size:11px; letter-spacing:.06em; }
 .hero-copy-v4>p { font-size:17px; line-height:1.65; margin-bottom:25px; }
 .hero-copy-v4 h1 { font-size:54px; }
 .hero-copy-v4 .actions { gap:20px; }
 .hero-copy-v4 .button { font-size:14px; }
 .hero-copy-v4 .actions .text-link { font-size:14px; }
 .service-strip .wrap { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px 24px; font-size:14px; }
 .section-heading .text-link, .section-note { font-size:14px; white-space:normal; }
 .eyebrow { font-size:11px; }
 .category-photos h3 { font-size:22px; }
 .category-photos p { font-size:14px; }
 .category-photos span { font-size:11px; }
 .product-text h3 { font-size:18px; min-height:54px; margin-bottom:15px; }
 .product-text .eyebrow { font-size:11px; }
 .product-bottom, .catalogue .product-bottom { font-size:13px; }
 .product-text { padding:18px 13px 13px; }
 .quote-add { width:32px; height:32px; }
 .application-copy>p, .factory-v4 p { font-size:16px; }
 .factory-v4 .button { font-size:14px; }
 .steps h3 { font-size:18px; }
 .steps p, .faq p { font-size:16px; }
 .faq summary { font-size:16px; }
 .cta p { font-size:16px; }
 .cta .eyebrow { font-size:11px; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
 .footer-grid p, .footer-grid>div>a:not(.brand), .footer-contact>a { font-size:14px; }
 .footer-grid h3 { font-size:15px; }
 .footer-company { font-size:15px; }
 .footer-contact address { font-size:14px; }
 .social-label { font-size:11px; }
 .social-links { gap:18px; }
 .social-item { min-width:46px; }
 .social-circle { width:41px; height:41px; }
 .footer-bottom { font-size:11px; }
 .page-head .lead, .lead { font-size:17px; }
 .page-head .eyebrow { font-size:11px; }
 .breadcrumb { font-size:12px; }
 .filter { font-size:13px; padding:11px 14px; }
 .search input { font-size:16px!important; }
 .search { min-width:0; }
 .caption, .detail .caption, .catalogue-note { font-size:13px; }
 .about-grid p:not(.lead), .about-product-groups p { font-size:16px; }
 .about-product-groups>a>span { font-size:11px; }
 .about-product-groups b { font-size:14px; }
 .about-location>div>p, .about-location address p, .about-location address a { font-size:16px; }
 .about-location address span { font-size:13px; }
 .detail-guide p, .buyer-grid p, .capability-grid p { font-size:16px; }
 .article-card p { font-size:16px; }
 .prose p { font-size:17px; }
 .prose .reading-note { font-size:14px; }
 .quote-grid { gap:30px; }
 .quote-grid .caption { font-size:13px; }
 .quote-grid aside>.eyebrow { font-size:11px; }
 .form-grid label, .quote-line-fields label { font-size:14px; }
 .quote-lines-heading h3 { font-size:17px; }
 .check { font-size:14px; }
 .mobile-quote { font-size:15px; }
 .quote-explain p { font-size:15px; }
 .photo-switch button { font-size:14px; }
}
@media(max-width:540px) {
 .hero-copy-v4 h1 { font-size:52px; }
 .category-photos>a { grid-template-columns:43% 57%; }
 .category-photos>a>div { padding:22px 17px; }
 .category-photos p { padding-right:0; }
 .category-photos b { display:none; }
 .quote-panel { padding:26px 19px; }
}
@media(max-width:380px) {
 .header { gap:9px; }
 .hero-copy-v4 h1 { font-size:49px; }
 .hero-copy-v4 .actions { gap:16px; }
 .hero-copy-v4 .button { padding:15px; font-size:13px; }
 .hero-copy-v4 .actions .text-link { font-size:13px; }
 .product-text h3 { font-size:17px; }
 .product-text .eyebrow { font-size:11px; }
 .social-links { gap:12px; }
 .social-item { min-width:45px; }
 .social-circle { width:39px; height:39px; }
 .social-label { font-size:11px; }
 .footer-bottom { font-size:11px; }
}
/* Quote delivery: keep feedback readable and the original form data in memory. */
.quote-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#send-quote:disabled, #retry-quote:disabled { opacity:.65; cursor:wait; }
.quote-send-status { margin:16px 0 0; min-height:1.7em; }
.quote-reference { border-left:3px solid var(--blue,#2245dc); background:#f4f6fe; padding:14px 16px; font-size:16px; overflow-wrap:anywhere; }
#quote-details { margin:24px 0; }
#quote-details>summary { cursor:pointer; font-size:16px; font-weight:600; }
#quote-preview { white-space:pre-wrap; overflow-wrap:anywhere; margin:18px 0; }
.quote-fallback { margin:20px 0; gap:16px 24px; }
#quote-result[data-delivery="error"] .quote-reference { border-left-color:#ac4f31; }
/* Persistent contact rail; reserve its space instead of covering page content. */
body { padding-right:76px; }
.social-rail { position:fixed; z-index:30; right:10px; top:50%; transform:translateY(-50%); padding:12px 7px; border:1px solid #e2e6f1; border-radius:32px; background:#ffffffed; box-shadow:0 4px 24px #2339570d; }
.social-rail .social-links { flex-direction:column; flex-wrap:nowrap; gap:13px; }
.social-rail .social-item { min-width:44px; gap:4px; }
.social-rail .social-circle { width:40px; height:40px; }
.social-rail .social-label { font-size:10px; }
.social-rail a:focus-visible { outline:2px solid #2548db; outline-offset:3px; border-radius:8px; }
@media(max-width:800px) {
 body { padding-right:54px; }
 .social-rail { right:4px; padding:10px 3px; border-radius:26px; }
 .social-rail .social-links { gap:10px; }
 .social-rail .social-item { min-width:40px; gap:3px; }
 .social-rail .social-circle { width:34px; height:34px; }
 .social-rail .social-circle svg { width:19px; height:19px; }
 .social-rail .social-label { font-size:9px; }
 .header { flex-wrap:wrap; }
 .header .brand { font-size:17px; }
 .header .brand-icon { width:28px; height:28px; }
 .header .quote-nav { margin-left:auto; }
 .header-search { order:4; flex-basis:100%; }
 .header .quote-mobile { font-size:10px!important; }
}
@media(max-height:500px) {
 .social-rail { top:auto; bottom:12px; transform:none; padding:6px 4px; }
 .social-rail .social-links { gap:6px; }
 .social-rail .social-circle { width:30px; height:30px; }
 .social-rail .social-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
}
/* Partner logos supplied by the owner. */
.partners { padding-top:18px; padding-bottom:72px; }
.partners .eyebrow { margin-bottom:12px; }
.partners h2 { margin-bottom:30px; }
.partners-window { overflow:hidden; border-top:1px solid #e2e6ef; border-bottom:1px solid #e2e6ef; background:white; }
.partners-window:focus-visible { outline:2px solid #2548db; outline-offset:5px; }
.partners-track { display:flex; width:max-content; animation:partner-scroll 32s linear infinite; }
.partner-group { display:flex; flex-shrink:0; }
.partner-name { display:grid; place-items:center; width:240px; min-height:132px; padding:24px; color:#2548db; font-size:34px; font-weight:700; letter-spacing:-.04em; white-space:nowrap; }
.partners-window:hover .partners-track,.partners-window:focus-within .partners-track { animation-play-state:paused; }
@keyframes partner-scroll { to { transform:translateX(-50%); } }
@media(max-width:800px) {
 .partners { padding-bottom:45px; }
 .partner-name { width:180px; min-height:104px; font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
 .partners-track { animation:none; width:100%; }
 .partner-group { width:100%; flex-wrap:wrap; justify-content:center; }
 .partner-name { width:auto; flex:1 1 140px; }
 .partners-track>.partner-group[aria-hidden],.partner-repeat { display:none; }
}
.partner-name img { display:block; width:190px; height:90px; object-fit:contain; }
.partner-name img[src$="partner-winmart.jpg"] { width:220px; height:112px; max-width:none; }
@media(max-width:800px) {
 .partner-name { padding:15px; }
 .partner-name img { width:145px; height:74px; }
 .partner-name img[src$="partner-winmart.jpg"] { width:165px; height:86px; }
}
.product-story { margin-top:64px; display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:36px; padding-top:36px; border-top:1px solid #e2e6ef; }
.product-story h2 { font-size:25px; letter-spacing:-.03em; }
.product-story p { font-size:17px; color:#586174; line-height:1.8; }
.product-story .eyebrow { margin-bottom:12px; }
.info-rows b { text-align:right; }
.detail-photo img { object-fit:contain; }
@media(max-width:900px) { .product-story { grid-template-columns:1fr; gap:24px; margin-top:38px; } .product-story h2 { font-size:23px; } .product-story p { font-size:16px; } }
.catalogue-intro { padding-bottom:32px; }
.catalogue-intro h1 { font-size:36px; margin-bottom:16px; }
.catalogue-intro .lead { max-width:880px; margin-bottom:0; font-size:17px; }
.nav-products { position:relative; display:flex; align-items:center; gap:5px; }
.product-dropdown summary { display:grid; place-items:center; list-style:none; cursor:pointer; width:32px; height:40px; border-radius:6px; color:#2548db; }
.product-dropdown summary::-webkit-details-marker { display:none; }
.product-dropdown summary svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.product-dropdown[open] summary svg { transform:rotate(180deg); }
.product-dropdown summary:focus-visible { outline:2px solid #2548db; outline-offset:2px; }
.product-submenu { position:absolute; left:0; top:100%; width:220px; display:flex; flex-direction:column; padding:8px; background:white; border:1px solid #e2e6ef; border-radius:10px; box-shadow:0 10px 30px #23395718; z-index:40; }
.nav-row nav .product-submenu a { padding:13px 14px; border-radius:6px; font-size:15px; white-space:nowrap; }
.product-submenu a:hover,.product-submenu a:focus-visible { background:#f1f4ff; color:#2548db; }
@media(max-width:800px) {
 .catalogue-intro h1 { font-size:30px; }
 .catalogue-intro .lead { font-size:16px; }
 .nav-products { flex-wrap:wrap; justify-content:space-between; }
 .product-dropdown { display:contents; }
 .product-submenu { position:static; width:100%; border:0; border-left:2px solid #dfe5fb; border-radius:0; box-shadow:none; padding:0 0 0 8px; margin-bottom:10px; }
}

/* Homepage product heading links to the complete catalogue. */
.all-products-link { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; }
.all-products-link:hover, .all-products-link:focus-visible { color: var(--blue, #2548db); }

/* Product photos: preserve full frame and the asset's built-in safe margins. */
.product-card .product-image { aspect-ratio:4 / 3; background:#f4f7fa; }
.product-card[data-ai] .product-image img { object-fit:cover; }
.product-image:hover img { transform:none; }

/* Alternate product views and retail context. */
.photo-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.photo-thumbnails button { padding:5px; border:1px solid #dfe3ed; border-radius:8px; background:white; min-width:0; font-size:13px; }
.photo-thumbnails button img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; border-radius:4px; }
.photo-thumbnails button span { display:block; padding:8px 2px; }
.photo-thumbnails button[aria-pressed=true] { border:2px solid #2548db; padding:4px; color:#2548db; }
.application-gallery { display:block; }
.application-gallery .application-copy { max-width:650px; margin:0 auto 30px; text-align:center; }
.application-gallery .application-copy > p { max-width:100%; margin-left:auto; margin-right:auto; }
.retail-gallery { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; }
.retail-gallery figure { margin:0; overflow:hidden; border-radius:12px; }
.retail-gallery figure:first-child { grid-row:span 2; }
.retail-gallery img { width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:4/3; }
.retail-gallery figure:first-child img { aspect-ratio:auto; }
.product-card[data-product=p500c] .product-image img, .product-card[data-product=kiwi] .product-image img, .product-card[data-product=tao] .product-image img { transform:scale(1.10); }
@media(max-width:650px) { .retail-gallery { grid-template-columns:1fr; } .retail-gallery figure:first-child { grid-row:auto; } .retail-gallery figure:first-child img { aspect-ratio:4/3; } .photo-thumbnails button { font-size:11px; } }

/* Extend pastel background behind scaled main photos, without adding hard borders. */
.product-image::before { content:""; position:absolute; inset:-12px; background:var(--product-background) center/cover; filter:blur(18px); }
.product-image img { position:relative; }
.product-card[data-product=p250] .product-image img { transform:scale(.94); }
.product-card[data-product=p500b] .product-image img { transform:scale(.87); }
.product-card[data-product=p500d] .product-image img { transform:scale(.96); }
.product-card[data-product=coc] .product-image img, .product-card[data-product=khay-thuc-pham] .product-image img { transform:scale(.88); }

/* Retail gallery: three equal photographs with no inherited fixed image height. */
.application-gallery .retail-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
.application-gallery .retail-gallery figure:first-child { grid-row:auto; }
.application-gallery .retail-gallery figure img { height:auto; max-height:none; aspect-ratio:4/3; object-fit:cover; }
@media(max-width:650px) { .application-gallery .retail-gallery { grid-template-columns:1fr; } }

/* Curated industry news: source attribution and external reading. */
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.news-card { padding:28px; border:1px solid #e0e4ed; border-radius:12px; background:white; display:flex; flex-direction:column; align-items:flex-start; }
.news-topic { display:inline-block; padding:9px 12px; border-radius:6px; background:#edf1ff; color:#2548db; font-size:12px; font-weight:700; letter-spacing:.07em; }
.news-topic-1 { background:#fff1e6; color:#9a4a15; } .news-topic-2 { background:#edf7ee; color:#2c6639; }
.news-source { margin:25px 0 10px; color:#667085; font-size:14px; }
.news-card h3 { margin:0 0 16px; font-size:23px; line-height:1.4; letter-spacing:-.02em; }
.news-card h3 a:hover { color:#2548db; }
.news-card>p:not(.news-source) { color:#646875; font-size:16px; line-height:1.7; margin:0 0 24px; }
.news-card>.text-link { margin-top:auto; font-size:16px; }
.news-page { padding-bottom:70px; } .news-note { color:#667085; margin-top:25px; font-size:15px; }
@media(max-width:800px) { .news-grid { grid-template-columns:1fr; gap:16px; } .news-card { padding:24px; } .news-card h3 { font-size:22px; } }

.news-date { color:#667085; font-size:13px; display:block; margin:0 0 12px; }
.avatar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.avatar-grid article { padding:20px; border:1px solid #e0e4ed; border-radius:12px; text-align:center; }
.avatar-grid img { display:block; width:100%; height:auto; aspect-ratio:1; }
.avatar-grid h2 { font-size:22px; margin:15px 0; }
.avatar-download-all { display:inline-block; margin:30px 0 70px; }
@media(max-width:650px) { .avatar-grid { grid-template-columns:1fr; } }

/* Soft backdrops keep each news item distinct and readable. */
.news-card { background:linear-gradient(145deg,#f0f4ff 0%,#f8faff 100%); border-color:#dce5fa; box-shadow:0 5px 18px #243d7610; }
.news-card:nth-child(3n+2) { background:linear-gradient(145deg,#fff2e5 0%,#fffaf4 100%); border-color:#efdfcb; }
.news-card:nth-child(3n+3) { background:linear-gradient(145deg,#eaf6ef 0%,#f6fbf8 100%); border-color:#d2e7da; }
.news-card .news-topic { background:#fff9; }
.news-card .news-source,.news-card .news-date { color:#566172; }
.news-card>p:not(.news-source) { color:#505c6b; }

/* Center the homepage category and product section titles. */
.section-heading.section-heading-centered { flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; }
.section-heading-centered > div { width:100%; }
.section-heading-centered h2 { margin-left:auto; margin-right:auto; }
.section-heading-centered .section-note { margin:0; text-align:center; }

/* Compact partner ticker directly below the homepage hero. */
.partners.partners-compact { padding-top:0; padding-bottom:0; }
.partners-compact .partner-name { min-height:96px; padding:12px 24px; }
.partners-compact .partner-name img { height:64px; }
.partners-compact .partner-name img[src$="partner-winmart.jpg"] { height:80px; }
@media(max-width:800px) {
 .partners-compact .partner-name { min-height:80px; padding:8px 15px; }
 .partners-compact .partner-name img { height:52px; }
 .partners-compact .partner-name img[src$="partner-winmart.jpg"] { height:64px; }
}

/* Production equipment story on the company page. */
.production-heading { max-width:760px; margin:0 auto 36px; text-align:center; }
.production-heading h2 { font-size:36px; line-height:1.25; }
.production-heading p { font-size:17px; color:#646e80; margin:0; }
.production-feature { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; background:#f1f5fa; border-radius:16px; overflow:hidden; margin-bottom:26px; }
.production-feature > img { display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; }
.production-feature > div { padding:32px; }
.production-story h3 { font-size:26px; line-height:1.3; margin:12px 0 18px; }
.production-story article p { font-size:17px; color:#586174; margin:0 0 14px; }
.production-story article p:last-child { margin-bottom:0; }
.production-pair { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.production-pair article { border:1px solid #e2e6ef; border-radius:16px; overflow:hidden; background:#fff; }
.production-pair img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.production-pair article > div { padding:28px; }
@media(max-width:800px) { .production-feature { grid-template-columns:1fr; } .production-feature > div { padding:26px; } .production-heading h2 { font-size:30px; } }
@media(max-width:600px) { .production-pair { grid-template-columns:1fr; } .production-story h3 { font-size:23px; } .production-pair article > div { padding:24px; } }

/* Factory video with a lightweight scrolling brand caption. */
.company-video-frame { position:relative; overflow:hidden; border-radius:16px; background:#101721; }
.about-image .company-video-frame { max-width:930px; margin:auto; }
.company-video-frame .company-video { border-radius:0; }
.video-caption-strip { position:absolute; top:0; left:0; right:0; padding:12px 0; overflow:hidden; color:#fff; background:linear-gradient(90deg,#102d46d9,#102d46ad); pointer-events:none; }
.video-caption-track { display:flex; width:max-content; animation:video-caption-scroll 24s linear infinite; }
.video-caption-track span { flex:none; padding:0 36px; white-space:nowrap; font-size:15px; font-weight:600; letter-spacing:.025em; }
@keyframes video-caption-scroll { to { transform:translateX(-50%); } }
@media(max-width:600px) { .video-caption-strip { padding:9px 0; } .video-caption-track span { font-size:13px; padding:0 24px; } }
@media(prefers-reduced-motion:reduce) { .video-caption-track { animation:none; width:100%; justify-content:center; } .video-caption-track span { white-space:normal; text-align:center; font-size:12px; padding:0 10px; } .video-caption-track span+span { display:none; } }

/* Balanced headings and aligned card actions across public pages. */
.page-head h1 { font-size:clamp(32px,3.5vw,48px); line-height:1.18; text-wrap:balance; }
.page-head-about h1 { font-size:clamp(30px,3.3vw,46px); }
.section-heading h2, .production-heading h2, .about-grid h2, .about-location h2 { text-wrap:balance; }
.about-grid, .about-location { align-items:start; }
.product-card { display:flex; flex-direction:column; }
.product-card .product-text { display:flex; flex-direction:column; flex:1; }
.product-card .product-bottom { margin-top:auto; }
@media(max-width:600px) { .page-head h1, .page-head-about h1 { font-size:32px; } }

.company-video-frame.is-video-idle .video-caption-track { animation-play-state:paused; }
