.preview-notice{background:#fff4cb;padding:12px}.unavailable{padding:80px 24px;min-height:45vh}.sidebar .filter-button{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e8eef5}.sidebar [aria-current=page]{background:#edf5ff;color:#0069ed}.side-contact-body{padding:16px}.side-contact-body p{margin-bottom:14px}.detail-panel{padding:24px;background:white;border:0;border-radius:0;box-shadow:none}.detail-panel h1{font-size:32px;color:#00346e;margin-bottom:22px}.product-summary{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;margin-bottom:26px}.product-summary>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.product-summary p{margin:12px 0 24px}.detail-content img{max-width:100%;height:auto;display:block;border-radius:6px}.detail-content figure{margin:16px 0 24px}.detail-content figcaption{text-align:center;margin:10px 0;color:#123d76}.detail-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.detail-content td,.detail-content th{padding:10px;border:1px solid #cedbe8}.detail-content p{margin:16px 0}.pagination a{padding:9px 15px;border:1px solid #d7e4f1;border-radius:5px}.pagination [aria-current]{background:#0874ff;color:white}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.lang-en .hero :is(h1,.hero-title){font-size:clamp(30px,4vw,58px)}.lang-en .category-icons a{font-size:13px}.lang-en .footer-products{grid-template-columns:1fr 1fr}.lang-en .home-about-copy p{text-indent:0}.lang-en .header-phone{white-space:nowrap}@media(max-width:767px){.product-summary{grid-template-columns:1fr}.detail-panel{padding:16px}.detail-panel h1{font-size:26px}.lang-en .navigation{gap:12px;font-size:13px}.lang-en .header-phone{font-size:12px}.lang-en .hero :is(h1,.hero-title){font-size:32px}.lang-en .footer-products{grid-template-columns:1fr}.detail-content{overflow-wrap:anywhere}}
.filters a{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 18px;font-size:17px;color:#123d76;border-bottom:1px solid #e5edf6;min-height:48px}.filters a:hover,.filters a[aria-current]{background:#edf5ff;color:#006dff}.filters a:focus-visible{outline:3px solid #006dff;outline-offset:-3px}@media(max-width:767px){.filters a{font-size:15px;padding:12px}.detail-panel{margin-top:16px}}
.detail-phone{font-size:28px;font-weight:700;color:#0874ff}.button-outline{background:white;color:#0874ff;border:1px solid #0874ff}.product-summary .button{margin-bottom:10px;padding:12px 18px;min-width:0}

/* Approved image treatment: stretch content photos to 4:3 without cropping. */
.page-index .image-card img,
:is(.page-products, .page-factory) .listing-grid .image-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: fill;
}

/* Factory thumbnails keep their 4:3 frame and crop from the top-left. */
.page-factory .listing-grid .image-card img {
  object-fit: cover;
  object-position: left top;
}

/* Keep one opposite-language action at the top right, beside the phone. */
.header-top { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:28px; }
.header-top .brand, .header-top .brand > span { min-width:0; }
.header-top .brand strong, .header-top .brand small { white-space:normal; }
.header-top .header-phone { margin-left:0; }
.language-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid #0874ff; border-radius:6px; color:#0063db; background:#fff; font-size:15px; font-weight:600; white-space:nowrap; }
.language-toggle:hover { background:#edf5ff; }
.language-toggle:focus-visible { outline:3px solid #0874ff; outline-offset:3px; }
@media(max-width:767px) {
  .header-top { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .header-top .brand { grid-column:1; grid-row:1; }
  .header-top .header-phone { grid-column:1 / -1; grid-row:2; margin-left:62px; }
  .header-top .language-toggle { grid-column:2; grid-row:1; align-self:start; font-size:13px; padding:8px 12px; }
}
@media(max-width:767px) {
  .lang-en .navigation { gap:6px; }
  .lang-en .navigation a { min-width:0; white-space:normal; text-align:center; font-size:12px; }
}

.breadcrumb { min-width:0; max-width:100%; }
.breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; justify-content:inherit; gap:2px 8px; list-style:none; margin:0; padding:0; }
.breadcrumb li { display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; }
.breadcrumb a { display:inline-flex; align-items:center; min-height:44px; color:#52677f; }
.breadcrumb a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.breadcrumb [aria-current="page"] { color:var(--navy); overflow-wrap:anywhere; }
.breadcrumb-separator { width:14px; height:14px; flex:none; color:#718198; }
.detail-phone a { display:inline-flex; align-items:center; gap:10px; }
.detail-phone .icon { flex:none; width:26px; height:26px; }
.quote-wechat { display:inline-block; position:relative; vertical-align:top; }
.quote-wechat .wechat-qr-panel { display:none; position:absolute; left:0; bottom:100%; z-index:20; width:220px; max-width:calc(100vw - 72px); padding:14px; background:#fff; border-radius:8px; box-shadow:0 6px 24px #123d7630; text-align:center; color:#123d76; }
.quote-wechat[data-qr-open="true"] .wechat-qr-panel { display:block; }
.quote-wechat .wechat-qr-panel img { display:block; width:100%; height:auto; }
.quote-wechat .wechat-qr-panel small { display:block; margin-top:8px; font-size:13px; }

/* All site imagery uses square corners, including clipping containers. */
body img { border-radius: 0 !important; }
body .image-card,
body .about-photos figure,
body .about-photos figcaption,
body .portrait,
body .contact-factory {
  border-radius: 0;
}

/* Align category title and breadcrumb across the listing header. */
.listing-heading { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; margin-bottom:24px; }
.listing-heading .list-title { margin:0; text-align:left; }
.listing-heading .breadcrumb { margin:0 0 0 auto; justify-content:flex-end; text-align:right; font-size:14px; }
:is(.page-products,.page-factory) .sidebar-card,
:is(.page-products,.page-factory) .sidebar-card h2,
:is(.page-products,.page-factory) .sidebar-contact { border-radius:0; }

/* Shared editorial hierarchy and image treatment. */
main .section-title { font-size:var(--font-h2); font-weight:750; line-height:1.35; }
.home-about .section-title:before,.home-factory .section-title:before { display:block; }
.home-about .section-title:after,.home-factory .section-title:after { content:none; }
.about-features .section-title { font-size:var(--font-h2); }
.message-grid .section-title { white-space:normal; }
.detail-panel .record-title { font-size:32px; line-height:1.3; color:var(--navy); margin:0 0 22px; overflow-wrap:anywhere; }
.subsection-title,.location-details h3,.feature-card h3 { font-size:20px; line-height:1.4; font-weight:700; }
.product-summary>img { object-fit:fill; }
.detail-content img { object-fit:contain; }
.about-photos figure { aspect-ratio:4/3; }
.about-photos figure img { width:100%; height:100%; object-fit:contain; }
.lang-en .category-icons a { white-space:normal; overflow-wrap:anywhere; line-height:1.45; }
.category-icons a { min-width:0; }
.image-card span { overflow-wrap:anywhere; }
.navigation a { display:flex; align-items:center; justify-content:center; min-height:44px; }
.pagination a, .pagination-disabled { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.pagination-disabled { padding:9px 15px; border:1px solid #d7e4f1; border-radius:5px; color:#8b99aa; background:#edf2f7; cursor:default; }
.pagination a, .pagination-disabled { white-space:nowrap; }
@media(max-width:767px) {
  .pagination { gap:4px; }
  .pagination a, .pagination-disabled { padding:8px; font-size:14px; }
}
.filters [aria-current=page] { font-weight:700; box-shadow:inset 3px 0 var(--blue); }
.header a:focus-visible,main a:focus-visible,main button:focus-visible,.footer a:focus-visible,.footer button:focus-visible { outline:3px solid #0874ff; outline-offset:3px; }
.footer-social .social-trigger { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.skip-link:focus { z-index:100000; top:calc(12px + var(--wp-admin--admin-bar--height,0px)); }
#main:focus { outline:none; }
.form-status { overflow-wrap:anywhere; }
@media(max-width:767px) {
  .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .filters a { width:auto; margin:0; border:1px solid var(--border); padding:10px; min-height:44px; }
  .sidebar .filter-button { padding:10px; }
  .filters a>span { display:none; }
  .detail-panel { padding:16px 0; }
  .detail-panel .record-title { font-size:26px; }
  .section-title.center { text-align:center; }
  .section-title.center:before,.section-title.center:after { flex-shrink:0; width:24px; }
  .listing-heading { gap:10px; }
  .listing-heading .breadcrumb { width:100%; margin-left:0; justify-content:flex-start; text-align:left; }
  .lang-en .header-phone strong { font-size:14px; }
  .quote-wechat .wechat-qr-panel { max-width:calc(100vw - 40px); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
.footer-grid>div,.footer-products { min-width:0; }
.footer-products a,.footer .contact-list span { overflow-wrap:anywhere; }
@media(max-width:767px) {
  .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
  .footer .footer-products {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;
    grid-auto-flow:row;
    gap:4px 0;
  }
  .footer-products a { min-width:0; min-height:44px; display:flex; align-items:center; overflow-wrap:break-word; word-break:normal; line-height:1.5; }
}

/* Increase the brand/phone area by one third and restore top-right switching. */
@media(min-width:768px) {
  .header-top { height:96px; }
  .header-top .language-toggle { align-self:start; margin-top:12px; }
}
@media(max-width:767px) {
  .header-top { min-height:136px; padding-block:16px; }
}

/* Compact, neutral language switch. */
.header-top .language-toggle { height:30px; min-height:30px; padding:0 12px; font-size:14px; line-height:20px; font-weight:400; color:#526176; border-color:#d1d9e2; background:transparent; }
.header-top .language-toggle:hover { color:#334155; background:#f7f9fc; border-color:#aab6c4; }

/* Balance the introduction columns without shortening the full company profile. */
@media(min-width:768px) {
  .home-about-grid { align-items:stretch; }
  .home-about-copy { display:flex; flex-direction:column; justify-content:flex-start; min-width:0; min-height:0; contain:size; }
  .home-about-copy p { margin:0; flex-shrink:0; -webkit-line-clamp:var(--home-about-lines,6); }
  .home-about-details { margin-top:16px; }
  .about-intro { align-items:stretch; }
  .about-photos { contain:none; align-self:start; padding-top:0; display:grid; grid-template-rows:auto; gap:12px; min-height:0; }
  .about-photos figure { aspect-ratio:4/3; min-height:0; margin:0; }
}
@media(min-width:768px) {
  .about-intro { row-gap:18px; }
  .about-intro>div:first-child { display:contents; }
  .about-intro>div:first-child>.section-title { grid-column:1 / -1; grid-row:1; margin-bottom:0; }
  .about-copy { grid-column:1; grid-row:2; }
  .about-photos { grid-column:2; grid-row:2; }
}
@media(min-width:768px) and (max-width:1023px) {
  .about-intro { grid-template-columns:minmax(0,1fr); }
  .about-copy { grid-column:1; grid-row:2; }
  .about-photos { grid-column:1; grid-row:3; contain:none; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; }
  .about-photos figure { aspect-ratio:4/3; }
}
.home-about-copy .home-about-details { align-self:flex-start; }

/* Shared square content surface for catalogue and detail pages. */
.list-panel { min-width:0; padding:20px 24px 24px; background:#fff; border-radius:0; box-shadow:0 4px 22px #4aa8ff0b; align-self:start; }
.list-panel .detail-panel { padding:0; margin:0; background:transparent; }
@media(max-width:767px) {
  .list-panel { padding:18px 16px; }
}

.home-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.home-section-heading .section-title { margin-bottom:0; }
.home-section-more { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; color:var(--blue); font-size:16px; }
.home-showcase-card { margin:0; cursor:default; }
.home-showcase-card:hover { box-shadow:var(--shadow); }
.home-showcase-card figcaption { padding:0; }
.home-about-grid:not(:has(>img)) { grid-template-columns:1fr; }
.home-about-grid:not(:has(>img)) .home-about-copy { contain:none; }
.inquiry-verification { margin:16px 0; min-width:0; }
.inquiry-verification small { display:block; color:var(--muted); margin-top:8px; font-size:13px; }
#verification-status { font-size:14px; margin:8px 0; }
#verification-retry { min-height:40px; font-size:14px; padding:8px 12px; }

.verification-row { display:flex; align-items:center; gap:12px; }
#inquiry-turnstile { flex:1; min-width:150px; }
.verification-row #verification-retry { flex:0 0 auto; width:auto; margin:0; min-height:44px; max-width:100px; }
@media(max-width:359px) {
  .verification-row { gap:8px; }
  .verification-row #verification-retry { max-width:96px; padding-inline:8px; }
}

#verification-status:empty { display:none; }

/* Contact directory: personal contact at left, original business card at right. */
.contact-directory-layout {display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:32px;align-items:center;}
.contact-directory .section-title {margin-bottom:8px;}
.contact-directory-intro {margin:0 0 24px 18px;color:var(--muted);font-size:16px;}
.contact-person-row,.contact-wechat-row {display:grid;grid-template-columns:minmax(100px,.44fr) minmax(0,1fr);gap:24px;align-items:center;}
.contact-person-photo {display:block;width:100%;height:auto;aspect-ratio:.88;object-fit:cover;object-position:center top;}
.contact-person-name {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:22px;}
.contact-person-name strong {font-size:30px;line-height:1.25;}
.contact-person-name span {font-size:18px;}
.contact-directory-phone {display:flex;align-items:center;gap:14px;}
.contact-directory-icon {display:flex;align-items:center;justify-content:center;flex:0 0 44px;height:44px;background:#edf1f5;border-radius:50%;}
.contact-directory-icon .icon {width:26px;height:26px;}
.contact-directory-phone small {display:block;font-size:16px;color:var(--muted);margin-bottom:4px;}
.contact-directory-phone strong {font-size:clamp(22px,2.35vw,34px);line-height:1.2;white-space:nowrap;}
.contact-wechat-row {border-top:1px solid var(--border);padding-top:20px;margin-top:20px;}
.contact-wechat-code {width:100%;height:auto;aspect-ratio:1;object-fit:contain;}
.contact-wechat-details h3 {font-size:20px;margin:0 0 4px;}
.contact-wechat-id {font-size:19px;margin:0 0 10px;}
.contact-wechat-hint {font-size:15px;color:var(--muted);margin:0 0 12px;}
.contact-wechat-details .button {min-height:44px;padding:8px 18px;font-size:16px;}
.contact-directory-card {min-width:0;border-left:1px solid var(--border);padding-left:32px;}
.contact-directory-card figure {margin:20px 0 0;}
.contact-directory-card img {width:100%;height:auto;display:block;object-fit:contain;}
@media(max-width:1100px) and (min-width:901px) {
 .contact-directory-layout {gap:20px;}
 .contact-directory-card {padding-left:20px;}
 .contact-person-row,.contact-wechat-row {gap:14px;}
 .contact-directory-icon {display:none;}
 .contact-person-name strong {font-size:26px;}
}
@media(max-width:900px) {
 .contact-directory-layout {grid-template-columns:1fr;gap:28px;}
 .contact-directory-card {border-left:0;border-top:1px solid var(--border);padding:24px 0 0;}
 .contact-person-row,.contact-wechat-row {grid-template-columns:minmax(110px,.4fr) minmax(0,1fr);}
 .contact-directory-phone strong {font-size:28px;}
}
@media(max-width:480px) {
 .contact-person-row,.contact-wechat-row {grid-template-columns:100px minmax(0,1fr);gap:14px;}
 .contact-person-name {margin-bottom:12px;gap:4px;}
 .contact-person-name strong {font-size:24px;}
 .contact-person-name span {font-size:15px;}
 .contact-directory-phone {gap:0;}
 .contact-directory-icon {display:none;}
 .contact-directory-phone strong {font-size:21px;}
 .contact-wechat-id {font-size:17px;}
 .contact-wechat-details .button {padding:8px 10px;font-size:15px;}
}

/* Keep the supporting card within the contact-detail rows, below the main heading. */
@media(min-width:901px) {
 .contact-directory-layout {align-items:stretch;row-gap:0;}
 .contact-directory-left {display:contents;}
 .contact-directory-left > .section-title {grid-column:1/-1;grid-row:1;}
 .contact-directory-intro {grid-column:1/-1;grid-row:2;}
 .contact-person-row {grid-column:1;grid-row:3;}
 .contact-wechat-row {grid-column:1;grid-row:4;}
 .contact-directory-card {grid-column:2;grid-row:3 / 5;contain:size;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;}
 .contact-directory-card .section-title {font-size:24px;margin:0;}
 .contact-directory-card figure {min-height:0;margin:0;display:flex;align-items:center;justify-content:center;}
 .contact-directory-card img {width:100%;height:100%;min-height:0;object-fit:contain;}
}

/* Contact label and number have separate hover treatments. */
.contact-directory-phone {display:grid;grid-template-columns:16px minmax(0,1fr);gap:4px 6px;align-items:center;justify-items:start;color:var(--navy);}
.contact-directory-phone > span:last-child {display:contents;}
.contact-directory-phone .contact-directory-icon {display:flex;grid-column:1;grid-row:1;width:16px;height:16px;min-width:0;flex:none;background:none;border-radius:0;color:var(--muted);}
.contact-directory-phone .contact-directory-icon .icon {width:16px;height:16px;}
.contact-directory-phone small {grid-column:2;grid-row:1;font-size:16px;line-height:1.5;margin:0;color:var(--muted);}
.contact-directory-phone strong {grid-column:1/-1;grid-row:2;text-align:left;color:var(--navy);transition:color .15s ease;}
.contact-directory-phone:hover,.contact-directory-phone:focus-visible {color:var(--navy);}
.contact-directory-phone:hover strong,.contact-directory-phone:focus-visible strong {color:#0066ff;}
.contact-wechat-details .button,
.contact-wechat-details .button:hover,
.contact-wechat-details .button:focus,
.contact-wechat-details .button:active {color:var(--navy);background:#fff;border-color:#7a8aa0;box-shadow:none;transform:none;}

.location-map-preview {display:flex;position:relative;align-items:center;align-self:center;min-width:0;background:#f1f6fa;cursor:zoom-in;}
.location-map-preview img {display:block;width:100%;height:auto;object-fit:contain;}
.location-map-preview > span {position:absolute;right:12px;bottom:12px;padding:6px 12px;background:#fff;color:var(--navy);font-size:14px;border:1px solid var(--border);}
.location-lightbox[open] {display:flex;align-items:center;justify-content:center;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 24px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;}
.location-lightbox::backdrop {background:rgba(55,60,66,.82);}
.location-lightbox > img {display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.location-lightbox-close {position:absolute;top:16px;right:20px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:#454b52;color:#fff;padding:9px;cursor:pointer;}
.location-lightbox-close svg {display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.location-lightbox-close:hover {background:#222a33;}
.location-lightbox-close:focus-visible {outline:3px solid #fff;outline-offset:4px;}
@media(max-width:767px){.location-map-preview {margin-bottom:24px;}.location-map-preview > span {font-size:12px;right:6px;bottom:6px;padding:4px 8px;}.location-lightbox[open] {padding:64px 12px;}}

/* Keep the original photograph intact; the blue treatment is a CSS overlay. */
.contact-factory::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(4,42,95,.78) 0%,rgba(5,56,119,.56) 8%,rgba(8,67,134,.18) 18%,rgba(8,67,134,0) 31%);}
.contact-factory figcaption {z-index:1;background:none;color:#fff;}
.contact-factory figcaption h2,.contact-factory figcaption p {color:#fff;text-shadow:0 1px 3px rgba(0,24,65,.4);}
@media(max-width:767px){.contact-factory {aspect-ratio:1;min-height:0;}}

/* Reserve the bright primary action for submitting an enquiry. */
.page-contact .contact-sections .button:not([type="submit"]),
.page-contact .contact-sections .button:not([type="submit"]):is(:hover,:focus,:active) {background:#fff;color:var(--navy);border:1px solid #7a8aa0;box-shadow:none;transform:none;}
.page-contact .location-details > div > .icon {color:var(--muted);}
.page-contact .location-details .button .icon {color:inherit;}
.page-contact .contact-directory-phone:is(:hover,:focus-visible) strong {color:var(--navy);}

/* Manual recovery is only shown on an error; it never narrows the widget. */
.inquiry-verification {position:relative;}
.verification-row #verification-retry {position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #7a8aa0;border-radius:50%;background:#fff;color:var(--muted);}
.verification-row #verification-retry[hidden] {display:none;}
#verification-retry svg {width:22px;height:22px;}
.inquiry-verification:has(#verification-retry:not([hidden])) #verification-status {padding-right:56px;min-height:44px;}

@media(min-width:768px) {
 .home-about-copy {row-gap:16px;}
 .home-about-copy .home-about-details {margin-top:auto;}
}

/* Homepage About photo keeps its natural 2:1 proportions. */
.page-index .home-about-grid > img {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;}

@media(min-width:768px) {
 .page-index .home-about-grid > img {height:var(--home-about-photo-height,auto);width:auto;max-width:100%;justify-self:start;}
}

@media(min-width:768px) {
 .page-index .home-about-grid {grid-template-columns:var(--home-about-photo-width,43%) minmax(0,1fr);}
}

/* Keep profile imagery secondary while preserving each complete 4:3 photograph. */
@media(min-width:1024px) {
  .about-intro { grid-template-columns:minmax(0,1fr) 22%; column-gap:36px; }
  .about-copy { align-self:start; }
  .about-copy p { font-size:20px; line-height:1.8; }
}

/* Homepage factory captions follow the company profile photo labels. */
.home-factory-grid .home-showcase-card { position:relative; }
.home-factory-grid .home-showcase-card img { display:block; }
.home-factory-grid .home-showcase-card figcaption {
  position:absolute; bottom:0; left:0; max-width:100%;
  padding:4px 16px; background:#0860ffe0; color:#fff; text-align:left;
  font-size:20px; line-height:1.5; border-radius:0;
}
.home-factory-grid .home-showcase-card figcaption span {
  display:block; min-height:0; padding:0; font-size:inherit; color:inherit;
}
@media(max-width:1279px) {
  .home-factory-grid .home-showcase-card figcaption {font-size:15px; padding:4px 12px;}
}
@media(max-width:767px) {
  .home-factory-grid .home-showcase-card figcaption {font-size:16px;}
}

/* Transparent product illustrations, aligned by their shared square canvas. */
.home-products .category-icons { gap:20px; margin:28px 0 36px; }
.home-products .category-icons a { font-size:16px; font-weight:700; line-height:1.5; white-space:normal; color:var(--navy); }
.home-products .category-icons a > span {
  width:100%; max-width:110px; height:auto; aspect-ratio:1;
  margin:0 auto 12px; border:1px solid #d6e5ff; border-radius:50%;
  background:#fff; box-shadow:none;
}
.home-products .category-icons a img {
  display:block; width:100%; height:100%; max-width:100%;
  object-fit:contain; mix-blend-mode:normal; transform:none;
}
@media(max-width:1023px) and (min-width:768px) {
  .home-products .category-icons { gap:12px; }
  .home-products .category-icons a { font-size:13px; }
}
@media(max-width:767px) {
  .home-products .category-icons { gap:20px 12px; margin:20px 0 28px; }
  .home-products .category-icons a { font-size:15px; }
  .home-products .category-icons a > span { max-width:90px; margin-bottom:8px; }
}

/* Locally prepared long-image sections meet without artificial gaps. */
.detail-content .product-detail-slices { width:100%; max-width:900px; margin-inline:auto; }
.detail-content .product-detail-slices figure { margin:0; padding:0; }
.detail-content .product-detail-slices img { display:block; width:100%; height:auto; margin:0; }

/* Shared bridge banner: full-width photo, with readable existing navy copy. */
.hero .hero-image {width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;mask-image:none;-webkit-mask-image:none;}
.hero:before {content:none;}
.hero:after {display:block;background:linear-gradient(90deg,rgba(234,247,255,.92) 0%,rgba(234,247,255,.72) 27%,rgba(234,247,255,.15) 53%,transparent 70%);}
@media(max-width:767px){.hero .hero-image{object-position:60% center;}.hero:after{background:linear-gradient(90deg,rgba(234,247,255,.9),rgba(234,247,255,.55) 65%,rgba(234,247,255,.12));}}

/* Let international phone numbers wrap within the narrow English contact card. */
.lang-en .contact-directory-phone strong { white-space:normal; }

/* Compact English banner typography across home, listing and detail pages. */
.lang-en .hero :is(h1,.hero-title) {letter-spacing:0;word-spacing:normal;line-height:1.1;}
.lang-en .hero .eyebrow {letter-spacing:.3px;line-height:1.2;margin-bottom:6px;}
.lang-en .hero .hero-description {letter-spacing:0;word-spacing:normal;line-height:1.35;margin-top:12px;}
@media(max-width:767px){
  .lang-en .hero :is(h1,.hero-title) {line-height:1.15;}
  .lang-en .hero .hero-description {margin-top:10px;}
}

/* International enquiry phone: separate, accessible country-code selection. */
.message-panel .inquiry-phone-row{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:10px;align-items:stretch;}
.message-panel .inquiry-phone-row select{width:100%;min-width:0;min-height:44px;padding:10px 8px;border:1px solid #cfe2ff;border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:16px;}
.message-panel .inquiry-phone-row input{min-width:0;margin:0;}
.message-panel .inquiry-phone-row select:focus-visible{outline:2px solid #0866ff;outline-offset:2px;}
.message-panel .inquiry-phone-hint{margin:6px 0 12px;font-size:13px;line-height:1.5;color:#60758d;}

/* Use the same mobile footer link rhythm in both languages. */
@media(max-width:767px) {
  .footer .footer-products { gap:0; }
  .footer .footer-grid>div:first-child>a,
  .footer .footer-products a {
    display:flex;
    align-items:center;
    min-height:44px;
    padding-block:8px;
    font-size:16px;
    line-height:1.5;
  }
}
