.error-panel,.empty-state{padding:28px;margin:24px auto;border:1px solid #d8e4ea;background:#f7fafb;color:#536b78}.empty-state{text-align:center}.empty-state strong{display:block;font-size:18px;color:var(--ink)}.empty-state p{margin:8px 0 16px}.empty-state button,.catalog-pagination button{min-height:42px;padding:0 20px;border:0;background:var(--blue);color:white;font:inherit;cursor:pointer}.catalog-sidebar{display:flex;flex-direction:column;gap:0}.catalog-sidebar>a,.catalog-sidebar>details>a{padding:12px 16px;border-bottom:1px solid #e2e9ed;color:#365364}.catalog-sidebar>a[aria-current],.catalog-sidebar>details>a[aria-current]{color:var(--blue);font-weight:600;background:#f2f7fa}.catalog-sidebar>details>summary{padding:14px 16px;border-bottom:1px solid #e2e9ed;cursor:pointer;color:var(--ink)}.catalog-sidebar>details>summary::marker{color:var(--blue)}.catalog-sidebar>details>a{display:flex;justify-content:space-between;padding-left:28px;font-size:13px}.catalog-sidebar>details>a small{color:#788b95}.catalog-list-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px}.catalog-list-heading h2{font-size:28px;color:var(--ink)}.catalog-list-heading .eyebrow{margin:0 0 4px}.result-count,.catalog-note{font-size:12px;color:#768b98}.catalog-pagination{display:flex;justify-content:center;margin:34px 0}.catalog-note{text-align:center;margin-top:24px}.content-page{width:100%;padding-top:20px}.content-module{margin:22px 0 44px;font-size:16px;line-height:2;color:#415968}.content-module h2,.content-module h3{color:var(--ink);margin:18px 0}.content-module img{max-width:100%;height:auto}.content-module a{color:var(--blue);text-decoration:underline}.content-module table{width:100%;border-collapse:collapse}.content-module td,.content-module th{border:1px solid #dce5ea;padding:12px;text-align:left}.content-module blockquote{margin:18px 0;padding:12px 22px;border-left:3px solid var(--blue);background:#f4f8fa}.content-page>.button{margin:20px 0}.home-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px;margin-bottom:72px;background:#edf4f7}.home-contact h2{font-size:25px;color:var(--ink)}.home-contact p:last-child{margin-top:8px;color:var(--muted)}.home-quick .quick-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #bad0dc;border-radius:50%;color:var(--blue);font-size:12px}.product-card-copy>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}.product-detail .detail-section>div{line-height:2}.news-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-card{border:1px solid #e0e8ed;background:#fff}.news-card-image{display:block;height:190px;overflow:hidden}.news-card-image img{width:100%;height:100%;object-fit:cover}.news-card-body{padding:18px}.news-card-body h3{font-size:17px;line-height:1.6;margin:8px 0}.news-card-body>p:last-child{font-size:13px;color:var(--muted);line-height:1.8}.news-list-item>div>p:not(.news-meta){color:var(--muted);line-height:1.8}.news-article{max-width:960px}.news-article>header{padding:32px 0;text-align:center;border-bottom:1px solid #dfe7ec}.news-article h1{font-size:32px;line-height:1.5;color:var(--ink)}.article-body{font-size:16px;line-height:2.1;color:#425968}.article-body h2,.article-body h3{margin:26px 0 14px;color:var(--ink)}.article-body img{max-width:100%;height:auto}.article-body table{border-collapse:collapse;width:100%}.article-body td,.article-body th{border:1px solid #dce5ea;padding:10px}.article-pagination{display:flex;justify-content:space-between;padding-top:24px;margin-top:32px;border-top:1px solid #dfe7ec}.product-attributes dd{overflow-wrap:anywhere}.site-header.menu-open .main-nav{display:flex}.menu-toggle{cursor:pointer}.skip-link:focus{z-index:1000}.card-arrow{position:absolute;right:18px;bottom:16px;color:var(--blue)}.button{cursor:pointer}
@media(max-width:760px){.news-cards{grid-template-columns:1fr}.home-contact{align-items:flex-start;flex-direction:column;margin-bottom:40px;padding:24px}.home-contact h2{font-size:22px}.catalog-list-heading{align-items:flex-start;flex-direction:column;gap:7px}.catalog-list-heading h2{font-size:24px}.content-module{font-size:14px}.news-article h1{font-size:25px}.article-body{font-size:14px}.article-pagination{flex-direction:column;gap:16px}.news-card-image{height:210px}}

/* Public theme tokens and readable rich-text blocks. */
.site-frame{min-height:100vh;background:var(--white);color:var(--text);font-family:var(--font-family,Arial,"PingFang SC","Microsoft YaHei",sans-serif)}
.content-page{padding-top:16px}
.content-module{margin:0 auto 24px;padding:36px 42px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;line-height:2}
.content-module .eyebrow{margin-bottom:14px}
.content-module h2,.content-module h3{margin:0 0 16px;color:var(--ink)}
.content-module p+p{margin-top:14px}
.content-module>img{width:100%;max-height:420px;margin:0 0 24px;object-fit:cover}
.home-cms-section{padding-top:0}
.home-cms-heading{font-size:26px;margin-bottom:20px!important}
.product-image-placeholder,.detail-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:180px;background:var(--pale);color:var(--muted)}
.product-image-placeholder>span,.detail-image-placeholder>span{color:var(--blue);font-size:28px;font-weight:700;letter-spacing:-3px}
.product-image-placeholder>small,.detail-image-placeholder>small{font-size:12px}
.detail-image-placeholder{height:280px;min-height:0}
@media(max-width:760px){.content-page{padding-top:8px}.content-module{padding:24px 20px;font-size:14px}.content-module>img{max-height:280px}.home-cms-heading{font-size:22px}.detail-image-placeholder{height:220px}}
.detail-image.has-product-gallery{gap:0}
.product-gallery-stage{position:relative;display:grid;width:100%;min-height:280px;place-items:center;overflow:hidden;background:#f7f9fa}
.product-gallery-stage>img{display:block;width:100%;height:280px;object-fit:contain}
.product-gallery-arrow{position:absolute;top:50%;display:grid;width:36px;height:36px;place-items:center;transform:translateY(-50%);border:1px solid #ffffffa8;border-radius:50%;background:#17384e9c;color:#fff;font:300 28px/1 Arial,sans-serif;cursor:pointer;transition:background .18s ease}
.product-gallery-arrow:hover{background:#17384e}
.product-gallery-arrow:focus-visible,.product-gallery-thumbnails button:focus-visible{outline:3px solid #4b91bd;outline-offset:2px}
.product-gallery-arrow.previous{left:12px}
.product-gallery-arrow.next{right:12px}
.product-gallery-index{position:absolute;right:12px;bottom:10px;padding:4px 8px;border-radius:999px;background:#17384e9c;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}
.product-gallery-thumbnails{display:flex;max-width:100%;gap:8px;overflow-x:auto;padding:12px 1px 2px;scrollbar-width:thin}
.product-gallery-thumbnails button{flex:0 0 64px;width:64px;height:54px;overflow:hidden;padding:2px;border:1px solid var(--line);background:#fff;cursor:pointer}
.product-gallery-thumbnails button.is-active{border:2px solid var(--blue);padding:1px}
.product-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.detail-image.has-product-gallery>figcaption{margin-top:12px}
@media(max-width:760px){.product-gallery-stage,.product-gallery-stage>img{min-height:220px;height:220px}.product-gallery-thumbnails button{flex-basis:56px;width:56px;height:48px}.product-gallery-arrow{width:32px;height:32px}}
.product-gallery-stage{background:#f7f9fa}
.product-gallery-index{font-family:inherit}
.product-gallery-thumbnails button{flex-shrink:0;border-radius:5px;transition:border-color .16s ease}
.product-gallery-thumbnails button:hover{border-color:#8fb6ce}
.page-banner .banner-title{position:relative;color:var(--ink);font-size:38px;font-weight:500;line-height:1.4;text-wrap:balance}
@media(max-width:1280px){.page-banner .banner-title{font-size:34px}}
@media(max-width:760px){.page-banner .banner-title{font-size:28px}}

/* CMS page builder sections and the homepage carousel. */
.cms-hero-carousel{min-height:510px;background:#edf3f6}
.cms-hero-slide{position:relative;min-height:510px;overflow:hidden}
.cms-hero-media{position:absolute;inset:0;display:block;overflow:hidden}
.cms-hero-carousel .home-hero-photo{position:absolute;left:40%;top:0;width:60%;height:100%;object-fit:cover}
.cms-hero-carousel .home-hero-inner{min-height:510px}
.cms-hero-carousel .home-hero-copy{min-height:510px}
.cms-hero-carousel .hero-actions{align-items:center;flex-direction:row}
.cms-hero-carousel.hero-centered .cms-hero-media::after{position:absolute;inset:0;background:linear-gradient(90deg,#092b409c,#092b404d);content:""}
.cms-hero-carousel.hero-centered .home-hero-photo{left:0;width:100%;object-position:center}
.cms-hero-carousel.hero-centered .home-hero-inner{align-items:center;justify-content:center}
.cms-hero-carousel.hero-centered .home-hero-copy{width:min(850px,80%);background:transparent;text-align:center}
.cms-hero-carousel.hero-centered .home-hero-copy h1,.cms-hero-carousel.hero-centered .hero-description,.cms-hero-carousel.hero-centered .hero-eyebrow{color:#fff}
.cms-hero-carousel.hero-centered .hero-actions{justify-content:center}
.cms-hero-controls{position:absolute;right:max(5%,calc((100% - 1280px)/2));bottom:22px;z-index:3;display:flex;align-items:center;gap:12px;padding:6px 9px;border:1px solid #ffffff75;border-radius:999px;background:#163449a8;color:#fff;backdrop-filter:blur(8px)}
.cms-hero-controls>button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:#ffffff1c;color:#fff;font:300 22px/1 Arial,sans-serif;cursor:pointer}
.cms-hero-controls>button:hover{background:#ffffff38}
.cms-hero-dots{display:flex;align-items:center;gap:7px}
.cms-hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff9a;cursor:pointer;transition:width .18s ease,background .18s ease}
.cms-hero-dots button.active{width:22px;border-radius:5px;background:#fff}
.cms-hero-controls button:focus-visible{outline:3px solid #9cdcff;outline-offset:2px}
.hero-fade-enter-active,.hero-fade-leave-active{transition:opacity .24s ease}
.hero-fade-enter-from,.hero-fade-leave-to{opacity:0}
.cms-rendered-section.cms-background-soft{background:#f2f6f8}
.cms-rendered-section.cms-background-brand{background:var(--blue);color:#fff}
.cms-rendered-section.cms-background-brand h2,.cms-rendered-section.cms-background-brand h3,.cms-rendered-section.cms-background-brand .eyebrow{color:#fff}
.cms-width-narrow>.wrap{max-width:760px}
.cms-width-wide>.wrap{width:min(1440px,calc(100% - 64px));max-width:1440px}
.cms-section-description{max-width:660px;margin-top:7px;color:var(--muted);font-size:14px;line-height:1.8}
.cms-product-grid{grid-template-columns:repeat(var(--cms-columns,4),minmax(0,1fr))}
.cms-section-category-grid .field-grid{grid-template-columns:repeat(var(--cms-columns,2),minmax(0,1fr))}
.cms-section-category-grid .section-heading,.cms-section-product-grid .section-heading,.cms-section-news-list .section-heading{align-items:flex-end}
.cms-section-category-grid .field-image img{width:100%;height:100%;object-fit:cover}
.cms-feature-grid{display:grid;grid-template-columns:repeat(var(--cms-columns,3),minmax(0,1fr));gap:20px}
.cms-feature-card{position:relative;display:flex;min-height:220px;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.cms-feature-card:hover{border-color:var(--blue)}
.cms-feature-card>img{width:100%;height:145px;margin:-24px -24px 20px;max-width:calc(100% + 48px);object-fit:cover}
.cms-feature-card h3{margin:2px 0 8px;font-size:20px}
.cms-feature-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8}
.cms-feature-card>span{margin-top:auto;padding-top:18px;color:var(--blue)}
.cms-section-feature-cards:has(.home-quick){padding-block:0}
.cms-image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:52px}
.cms-rendered-section.image-right .cms-image-text>img{order:2}
.cms-image-text>img{width:100%;max-height:520px;object-fit:cover}
.cms-image-text h2{margin:0 0 20px;color:var(--ink);font-size:32px}
.cms-image-text .content-module{margin:0;padding:0;border:0;background:transparent}
.cms-image-text .more-link{margin-top:20px}
.cms-news-list{grid-template-columns:1fr}
.cms-news-list .news-card{display:grid;grid-template-columns:minmax(220px,32%) 1fr}
.cms-news-list .news-card-image{height:100%;min-height:180px}
.cms-contact-callout{max-width:1280px}
.cms-contact-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.cms-contact-inline a{color:inherit;font-size:13px;text-decoration:underline}
.cms-timeline{display:grid;gap:0;max-width:900px;margin-inline:auto}
.cms-timeline-event{display:grid;grid-template-columns:120px minmax(0,1fr);gap:26px;padding:0 0 34px}
.cms-timeline-event>time{position:relative;padding:3px 0 0 23px;border-left:1px solid #c9d9e1;color:var(--blue);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.cms-timeline-event>time::before{position:absolute;top:9px;left:-6px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue);content:""}
.cms-timeline-event>div{padding:0 0 20px;border-bottom:1px solid var(--line)}
.cms-timeline-event h3{margin:0 0 8px;color:var(--ink);font-size:19px}
.cms-timeline-event p{color:var(--muted);font-size:14px;line-height:1.9}
.cms-timeline-event img{width:min(100%,420px);max-height:250px;margin-top:16px;object-fit:cover}
.cms-contact-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);align-items:center;gap:42px}
.cms-contact-details h2{margin:0 0 12px;color:var(--ink);font-size:30px}
.cms-contact-details dl{display:grid;gap:0;margin:18px 0 0}
.cms-contact-details dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.cms-contact-details dt{color:var(--muted);font-size:13px}
.cms-contact-details dd{margin:0;color:var(--ink);font-size:14px;overflow-wrap:anywhere}
.cms-contact-details dd a{color:inherit}
.cms-contact-details>img{width:100%;max-height:390px;object-fit:cover}
.cms-section-rich-text.cms-background-brand .content-module{border-color:#ffffff42;background:#ffffff0d;color:#fff}
.cms-section-rich-text.cms-background-brand .content-module h2,.cms-section-rich-text.cms-background-brand .content-module h3{color:#fff}
.cms-section-rich-text.cms-background-brand .content-module a{color:#fff}
.cms-preview-waiting{color:var(--ink)}
@media(max-width:1100px){.cms-product-grid{grid-template-columns:repeat(min(var(--cms-columns,4),3),minmax(0,1fr))}.cms-hero-carousel .home-hero-copy{width:49%}.cms-hero-carousel .hero-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){
  .cms-hero-carousel,.cms-hero-slide{min-height:0}
  .cms-hero-slide{display:flex;flex-direction:column}
  .cms-hero-carousel .home-hero-inner{order:1;width:100%;min-height:0}
  .cms-hero-carousel .home-hero-copy{width:100%;min-height:0;padding:32px 24px 36px}
  .cms-hero-carousel .home-hero-photo{position:relative;left:auto;top:auto;display:block;width:100%;height:250px;order:2;object-position:center 57%}
  .cms-hero-media{position:relative;inset:auto;order:2;height:250px}
  .cms-hero-carousel .hero-actions{align-items:center;flex-direction:row}
  .cms-hero-carousel.hero-centered .home-hero-copy{width:100%;background:#163449;color:#fff;text-align:left}
  .cms-hero-carousel.hero-centered .home-hero-copy h1,.cms-hero-carousel.hero-centered .hero-description,.cms-hero-carousel.hero-centered .hero-eyebrow{color:#fff}
  .cms-hero-controls{right:16px;bottom:12px;gap:7px;padding:4px 6px}
  .cms-hero-controls>button{width:25px;height:25px}
  .cms-hero-dots{gap:5px}
  .cms-hero-dots button{width:6px;height:6px}
  .cms-hero-dots button.active{width:16px}
  .cms-product-grid,.cms-section-category-grid .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cms-feature-card{min-height:190px;padding:17px}
  .cms-feature-card>img{height:118px;margin:-17px -17px 14px;max-width:calc(100% + 34px)}
  .cms-feature-card h3{font-size:17px}
  .cms-image-text{grid-template-columns:1fr;gap:22px}
  .cms-rendered-section.image-right .cms-image-text>img{order:0}
  .cms-image-text>img{max-height:300px}
  .cms-image-text h2{font-size:25px}
  .cms-timeline-event{grid-template-columns:88px minmax(0,1fr);gap:15px;padding-bottom:25px}
  .cms-timeline-event>time{padding-left:16px;font-size:17px}
  .cms-timeline-event h3{font-size:16px}
  .cms-timeline-event p{font-size:12px}
  .cms-contact-details{grid-template-columns:1fr;gap:22px}
  .cms-contact-details h2{font-size:25px}
  .cms-contact-details dl>div{grid-template-columns:95px minmax(0,1fr);gap:10px;padding:12px 0}
  .cms-news-list .news-card{grid-template-columns:36% 1fr}
  .cms-news-list .news-card-image{min-height:160px}
  .cms-width-wide>.wrap{width:calc(100% - 40px)}
  .cms-section-description{font-size:12px}
}
@media(max-width:420px){.cms-feature-grid{grid-template-columns:1fr}.cms-product-grid{gap:10px}.cms-news-list .news-card{grid-template-columns:1fr}.cms-news-list .news-card-image{height:180px}}
.brand-logo{display:block;width:auto;max-width:152px;height:auto;max-height:48px;object-fit:contain}
.brand-light .brand-logo{max-width:170px;max-height:54px}
.footer-top{grid-template-columns:minmax(220px,1.4fr) repeat(auto-fit,minmax(120px,1fr)) minmax(210px,1.2fr)}
@media(max-width:760px){.brand-logo{max-width:110px;max-height:38px}.brand-light .brand-logo{max-width:130px;max-height:42px}.footer-top{grid-template-columns:1fr 1fr}}
