/*! moban master stylesheet | 2026-09-21
 * Edit this file directly. Vendor CSS remains separate.
 * Page components keep their own class namespaces; article rules require body.article-template.
 * Keep body and component classes when copying a template.
 */

/* ===== SITE ===== */
/* Shared palette from 资料信息/网站上手手册.md. Do not override these colors per page. */
:root {
  --brand:        #625dff;
  --brand-strong: #4f49e6;
  --brand-light:  #9d99ff;
  --brand-tint:   #f3f3ff;
  --brand-line:   #dedaff;
  --ink:         #121212;
  --ink-muted:   #69647d;
  --line:        #e5e5eb;
  --surface:     #ffffff;
  --surface-alt: #fafafa;
  --danger:    #b42318;
  --font-sans: sans-serif;
  --card-shadow: rgba(98, 93, 255, .12);
  --radius: 10px;
  --focus-ring: 2px solid var(--brand);
  --swiper-theme-color: var(--brand);
  --bs-border-color: var(--line);
  --bs-light-border-subtle: var(--line);
}
body {
  font-family: var(--font-sans);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
}

p { margin-top: 0; margin-bottom: 10px; }
ol,
 ul,
 dl { padding: 0; margin: 0; list-style: none; }

a,
 ins { color: var(--ink); text-decoration: none; background-color: transparent; }
a:hover { color: var(--ink); text-decoration: none; }

img { border: 0; max-width: 100%; height: auto; }

.text-dark { color: var(--ink) !important; }
.border-light { border-color: var(--line) !important; }
*:focus { box-shadow: none; outline: 0; }

*:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px;
  border-radius: 2px;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  padding: 12px 20px;
  background: var(--brand);
  color: var(--surface);
  font-weight: 700;
  border-radius: 0 0 var(--radius) 0;
}
.skip-link:focus {
  left: 0;
  color: var(--surface);
}

@media (prefers-reduced-motion: reduce) {
  *,
 *::before,
 *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
.fs13{font-size:13px!important;}
.fs14{font-size:14px!important;}
.fs15{font-size:15px!important;}
.fs16{font-size:16px!important;}
.fs17{font-size:17px!important;}
.fs18{font-size:18px!important;}
.fs20{font-size:20px!important;}
.fs22{font-size:22px!important;}
.fs24{font-size:24px!important;}
.fs30{font-size:30px!important;}
.fs32{font-size:32px!important;}
.fs34{font-size:34px!important;}
.fs36{font-size:36px!important;}
.fs42{font-size:42px!important;}
.fs44{font-size:44px!important;}
.lh12{line-height:1.2!important;}
.lh14{line-height:1.4!important;}
.lh16{line-height:1.6!important;}
.lh17{line-height:1.7!important;}
.lh18{line-height:1.8!important;}
.lh20{line-height:2!important;}
.top0{top:0px!important;}
.fw400{font-weight:400!important;}
.fw600{font-weight:600!important;}
.fw700{font-weight:700!important;}
.fw800{font-weight:800!important;}
.fw900{font-weight:900!important;}
.gap10{gap:10px!important;}
.h30{height:30px!important;}
.h40{height:40px!important;}
.h60{height:60px!important;}
.h80{height:80px!important;}
.h100{height:100px!important;}
.h220{height:220px!important;}
img.h220{object-fit:cover;}
.py40{padding-top:40px!important;padding-bottom:40px!important;}
.py50{padding-top:50px!important;padding-bottom:50px!important;}
.py80{padding-top:80px!important;padding-bottom:80px!important;}
.mbp15 p{margin-bottom:15px!important;}
.mbli10 li{margin-bottom:10px!important;}
.mbli15 li{margin-bottom:15px!important;}
.bg_none{background:none!important;}

@media (max-width:768px){
  .m_fs12{font-size:12px!important;}
  .m_fs13{font-size:13px!important;}
  .m_fs14{font-size:14px!important;}
  .m_fs15{font-size:15px!important;}
  .m_fs16{font-size:16px!important;}
  .m_fs18{font-size:18px!important;}
  .m_fs20{font-size:20px!important;}
  .m_fs22{font-size:22px!important;}
  .m_fs24{font-size:24px!important;}
  .m_fs28{font-size:28px!important;}
  .m_fs32{font-size:32px!important;}
  .m_lh16{line-height:1.6!important;}
  .m_h50{height:50px!important;}
  .m_py20{padding-top:20px!important;padding-bottom:20px!important;}
  .m_py50{padding-top:50px!important;padding-bottom:50px!important;}
}
img.h60.m_h50 {
  width: auto;
  object-fit: contain;
}
.cxs1200,
.cxs992,
.cxs768{display:none;}
@media (max-width:1199.98px){ .cxs1200{display:block!important;} .bxs1200{display:none!important;} }
@media (max-width:991.98px){ .cxs992{display:block!important;} .bxs992{display:none!important;} }
@media (max-width:768px){ .cxs768{display:block!important;} .bxs768{display:none!important;} }
@media (min-width:992px) and (max-width:1199.98px) {
  header .cxs992 { display:block!important; }
  header .bxs992 { display:none!important; }
  header > .container > .row > div:first-child,

  header > .container > .row > div:last-child {
    flex:0 0 50%;
    width:50%;
  }
}
.color_zi { color: var(--brand); }
.bg_zi { background-color: var(--brand); }
.bg_he { background-color: var(--ink); }
.bg_qianzi { background-color: var(--brand-tint); }
.bg_qianzi.border { border-color: var(--brand-line) !important; }
.color_white_a a { color: var(--surface); }
.border.active { background-color: var(--brand); }
.bg_qianzi .color_zi,

.bg-light .color_zi,

.article-summary .color_zi { color: var(--brand-strong); }

a.color_zi:hover { color: var(--brand-strong); font-weight: 700; }

header button[data-bs-target="#mobile_right_nav"] .icon { fill: var(--ink); }

.faq_card > button { color: var(--ink); -webkit-text-fill-color: var(--ink); }
.faq_card .collapse > div { color: var(--ink); }

.btn_dan { transition: opacity .2s ease, transform .2s ease; }
.btn_dan:hover { opacity: .85; }
.btn_dan.bg_zi:hover,
.btn_dan.bg_zi:focus-visible { background-color: var(--brand-strong); }
.hover_an:hover { transform: translateY(-1px); }
main .site-cta {
  box-sizing: border-box;
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

main .site-cta-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
}

main .site-cta-group > .site-cta {
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
  min-width: 0;
}

.cta_light_btn { color: var(--ink); }
.cta_light_btn:hover { color: var(--brand); }

footer a { transition: color .2s ease; }
footer a:hover,

footer a:focus-visible { color: var(--brand-light) !important; }
footer .color_white_a > a[href="/"]:hover,

footer .color_white_a > a[href="/"]:focus-visible { color: var(--surface) !important; }

.show_m { transition: all .6s ease; }

@media (min-width:1200px) {
  .container { width: calc(100% - 24px); max-width: 1220px; }
}
.header-menu .header-menu-ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  text-align: center;
}
.header-menu .header-menu-ul > li { flex: 0 0 auto; }
.header-menu .header-menu-ul li { display: inline-block; position: relative; }

.header-menu .header-menu-ul li a {
  padding: 15px;
  display: flex;
  font-size: 16px;
  color: var(--ink);
  position: relative;
  font-weight: 700;
  align-items: center;
}
.header-menu .header-menu-ul li a:hover { color: var(--brand); }

.header-menu .header-menu-ul li .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: -5px;
  background: var(--surface);
  width: 320px;
  z-index: 99;
  padding: 10px;
  border-radius: 5px;
  box-shadow: 0 12px 32px rgba(18, 18, 18, .12);
}
.header-menu .header-menu-ul li:hover > .sub-menu,

.header-menu .header-menu-ul li:focus-within > .sub-menu { display: block; }

.header-menu .header-menu-ul li .sub-menu li { width: 100%; }
.header-menu .header-menu-ul li .sub-menu li a {
  font-size: 14px;
  padding: 12px;
  font-weight: 400;
  border-radius: 6px;
}
.header-menu .header-menu-ul li .sub-menu li a:hover { background-color: var(--brand-tint); }
.header-menu .header-menu-ul li .sub-menu li a:after { display: none; }
.header-menu .header-menu-ul li .sub-menu .sub-menu { position: absolute; left: 100%; top: 0; }
.header-menu .header-menu-ul li.has-submenu > a:after {
  content: "";
  width: 6px; height: 6px;
  margin-left: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}
.header-menu .header-menu-ul li.has-submenu:hover > a:after,

.header-menu .header-menu-ul li.has-submenu:focus-within > a:after {
  transform: rotate(-135deg) translateY(-2px);
}
.header-menu .header-menu-ul li.current-menu-item > a,

.header-menu .header-menu-ul li.current-menu-parent > a,

.header-menu .header-menu-ul li.current-menu-ancestor > a {
  color: var(--brand);
}
.header-menu .header-menu-ul > li.current-menu-item > a,

.header-menu .header-menu-ul > li.current-menu-parent > a,

.header-menu .header-menu-ul > li.current-menu-ancestor > a {
  text-decoration-line: underline;
  text-decoration-color: var(--brand);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}
.breadcrumb_loop {
  list-style: none; padding: 0; background: none; margin: 0;
  display: flex; font-size: 12px; font-weight: 300; line-height: 1.4;
}
.breadcrumb_loop li { display: flex; align-items: center; margin: 0; }
.breadcrumb_loop li a { display: flex; }
.breadcrumb_loop li a:after { content: '>'; margin: 0 5px; color: var(--ink-muted); }
.breadcrumb_loop li:last-child a:last-child:after { display: none; }
@media (max-width:768px) {
  .breadcrumb_loop { white-space: nowrap; overflow-x: auto; overflow-y: hidden; }
}
#mobile_right_nav { width: 300px; border: none; overflow-y: auto; }
#mobile_right_nav .menu-zk li { line-height: 60px; position: relative; }
#mobile_right_nav .menu-zk li a {
  font-size: 16px; display: block;
  border-bottom: 1px solid var(--line);
  padding: 0 30px;
}
#mobile_right_nav .menu-zk li:last-child > a { border-bottom: none; }

#mobile_right_nav .menu-zk .sub-menu { background: var(--surface); }
#mobile_right_nav .menu-zk .sub-menu[hidden] { display: none; }
#mobile_right_nav .menu-zk .sub-menu li { line-height: 50px; }
#mobile_right_nav .menu-zk .sub-menu li a {
  font-size: 12px;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  padding-left: 30px;
}

#mobile_right_nav .menu-zk li.current-menu-item > a { color: var(--brand); font-weight: 700; }
.submenu-toggle {
  position: absolute;
  right: 13px;
  top: 8px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  z-index: 2;
}
.submenu-toggle > span,

.submenu-toggle:before,

.submenu-toggle:after { pointer-events: none; }

.submenu-toggle:before,

.submenu-toggle:after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  background: var(--brand);
  border-radius: 1px;
  transition: background-color .2s ease, transform .25s ease;
}
.submenu-toggle:before { width: 10px; height: 2px; transform: translate(-50%, -50%); }
.submenu-toggle:after  { width: 2px;  height: 10px; transform: translate(-50%, -50%); }
.submenu-toggle[aria-expanded="true"]:after { transform: translate(-50%, -50%) scaleY(0); }

.submenu-toggle:hover:before,

.submenu-toggle:hover:after { background: var(--brand-strong); }
.product_carousel_thumbs {
  display: flex;
  flex-direction: column;
  gap: 24px;
  overflow: hidden;
  scroll-behavior: smooth;
}
.product_carousel_thumbs button {
  position: relative;
  background: none;
  height: calc((100% - 4 * 24px) / 5);
  border: none;
  padding: 0;
  cursor: pointer;
}
.product_carousel_thumbs button img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: var(--radius);
}
.product_carousel_thumbs button:after {
  content: ""; position: absolute; inset: 0;
  background: rgb(255 255 255 / 60%);
  pointer-events: none;
  transition: background .3s ease;
}
.product_carousel_thumbs button.active:after { background: rgba(255,255,255,0); }
.product_carousel_thumbs button:before {
  content: ""; position: absolute; inset: 0;
  box-shadow: inset 0 0 0 1px var(--line);
  transition: box-shadow .3s ease;
  border-radius: var(--radius);
}
.product_carousel_thumbs button.active:before {
  box-shadow: inset 0 0 0 2px var(--brand), inset 0 0 0 5px var(--surface);
}
[id^="product_carousel"] .carousel-item { transition: all .2s ease; }

@media (max-width:991.98px) {
  .product_carousel_thumbs {
    flex-direction: row;
    gap: 10px;
    height: auto !important;
    overflow: hidden;
    padding-bottom: 4px;
  }
  .product_carousel_thumbs button {
    flex: 0 0 calc((100% - 40px) / 5);
    width: auto; height: auto;
    aspect-ratio: 1 / 1;
    min-width: 0;
  }
  .product_carousel_thumbs button:nth-child(n+6) { display: none; }
  [id^="product_carousel"] .carousel-control-prev,

  [id^="product_carousel"] .carousel-control-next { display: none; }
}
.swiper-slide { height: auto; }
.swiper-slide > * { height: 100%; }

.swiper { padding-bottom: 4px; }

.swiper-pagination-bullet { background: var(--ink-muted); opacity: .35; }
.swiper-pagination-bullet-active { background: var(--brand); opacity: 1; }

.swiper[data-swiper-skipped],

.swiper[hidden] { display: none !important; }
.height600 { min-height: 0; }
.contact-card {
  border-color: var(--brand-line) !important;
  transition: border-color .2s ease, transform .2s ease;
}
.contact-card:hover { border-color: var(--brand-line) !important; }
.contact-email-link { transition: color .2s ease; }
.contact-email-link:hover { color: var(--brand) !important; }
header .site-logo,

footer .site-logo { width: auto; }

#mobile_right_nav .site-logo {
  width: 40px;
  flex: 0 0 40px;
}
#mobile_right_nav .offcanvas-brand { background-color: var(--brand-tint); }
#mobile_right_nav .btn-close {
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  padding: 5px;
  background-size: 14px auto;
}
@media (max-width:359.98px) {
  header .site-logo + div { display: none; }
}

@media (max-width:575.98px) {
  footer .footer-copyright,

  footer .footer-legal-links { display:block; }
  footer .footer-legal-leading-separator { display:none; }
}

@media (min-width:576px) {
  footer .footer-legal { white-space:normal; }
  footer .footer-copyright,

  footer .footer-legal-links { white-space:nowrap; }
}
@media print {
  header,
 footer,
 .offcanvas,
 .swiper-pagination { display: none !important; }
  a[href^="http"]:after { content: " (" attr(href) ")"; font-size: 11px; }
}
.blog-content a:not(.accordion-button),

.blog-content > ul a { color: var(--brand-strong); }
.list-disc { list-style: disc; }
main > [id],

#main-content { scroll-margin-top: 100px; }
header,
 #mobile_right_nav { line-height: 1; }
header button[data-bs-target="#mobile_right_nav"] { min-width: 24px; min-height: 24px; }
main a.color_zi,

main a.contact-email-link,

main .article-summary a,

main a.fw700.text-decoration-none,

footer .mbli15 a,

footer .footer-legal a,

footer .color_white_a p a,

.js-toc a,

.breadcrumb_loop a { padding-block: 5px; }
#mobile_right_nav .btn-close { width: 26px; height: 26px; }

/* ===== REFERENCE-EDITORIAL ===== */
.editorial-prose ol{list-style-type:decimal!important}
.editorial-prose img{max-width:100%;height:auto}
.editorial-hero{padding:42px 0 48px;background:var(--brand-tint);border-bottom:1px solid var(--line)}
.editorial-crumb{font-size:13px;margin-bottom:24px;color:var(--ink);line-height:1.6}.editorial-crumb a{color:var(--brand)}
.editorial-hero h1{max-width:1040px;font-size:clamp(32px,4vw,52px);line-height:1.18;font-weight:750;color:var(--ink);margin:0 0 22px}
.editorial-lead{font-size:19px;line-height:1.75;max-width:940px;margin:0;color:var(--ink)}
.editorial-body{padding-top:52px;padding-bottom:64px}.editorial-prose{max-width:900px;margin:0 auto;color:var(--ink);font-size:17px;line-height:1.85}
.editorial-prose>h2{font-size:29px;line-height:1.3;font-weight:750;margin:48px 0 20px;color:var(--ink);scroll-margin-top:115px}.editorial-prose>h2:first-child{margin-top:0}
.editorial-prose h3{font-size:22px;line-height:1.45;margin:32px 0 16px;color:var(--ink)}.editorial-prose p{margin:0 0 22px}.editorial-prose ul,
.editorial-prose ol{padding-left:24px;margin:18px 0 28px;list-style:disc}.editorial-prose li{margin:10px 0}
.editorial-prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.editorial-prose a:hover{color:var(--brand-strong)}
.editorial-prose .bw-table-wrap{margin:28px 0}.editorial-prose .bw-table{font-size:15px;line-height:1.7}.editorial-prose .bw-table td,
.editorial-prose .bw-table th{padding:15px;overflow-wrap:anywhere}
.editorial-main .faq_card p:last-child{margin-bottom:0}.editorial-main #product-gallery .fs18{overflow-wrap:anywhere}
@media(max-width:767px){.editorial-hero{padding:28px 0 32px}.editorial-lead{font-size:17px}.editorial-body{padding-top:36px;padding-bottom:40px}.editorial-prose{font-size:16px;line-height:1.8}.editorial-prose>h2{font-size:25px;margin-top:36px}.editorial-prose h3{font-size:21px}.editorial-prose .bw-table{font-size:14px}.editorial-prose .bw-table td,
.editorial-prose .bw-table th{padding:11px}}
@media(max-width:480px){.editorial-crumb{font-size:12px}.editorial-hero h1{font-size:32px}.editorial-prose .bw-table td,
.editorial-prose .bw-table th{padding:9px;font-size:13px}}
.editorial-prose{min-width:0}
.bw-table-wrap{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}

/* ===== REFERENCE-EDITORIAL-PHOTOS ===== */
.editorial-with-photos .editorial-photo-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.editorial-with-photos .editorial-photo{margin:0;min-width:0}
.editorial-with-photos .editorial-photo-frame{aspect-ratio:3/2;background:var(--brand-tint);overflow:hidden;border-radius:6px}
.editorial-with-photos .editorial-photo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.editorial-with-photos .editorial-photo figcaption{font-size:13px;line-height:1.5;color:var(--ink-muted);margin-top:10px}
.editorial-with-photos .editorial-prose{max-width:none}
.editorial-with-photos .editorial-prose>p{max-width:900px}
.editorial-with-photos .editorial-photo-row{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;border-top:1px solid var(--line);margin-top:44px;padding-top:44px}
.editorial-with-photos .editorial-photo-copy h2{font-size:29px;line-height:1.3;font-weight:750;margin:0 0 20px;scroll-margin-top:115px}
.editorial-with-photos .editorial-photo-copy p:last-child{margin-bottom:0}
@media(max-width:991px){.editorial-with-photos .editorial-photo-hero,
.editorial-with-photos .editorial-photo-row{gap:28px}}
@media(max-width:767px){
 .editorial-with-photos .editorial-photo-hero,
.editorial-with-photos .editorial-photo-row{grid-template-columns:1fr;gap:24px}
 .editorial-with-photos .editorial-photo-row{margin-top:34px;padding-top:34px}
 .editorial-with-photos .editorial-photo-copy h2{font-size:25px}
}
.editorial-with-photos .editorial-photo-copy{min-width:0}

/* ===== REFERENCE-CATALOGUE ===== */
.fw-catalogue{color:var(--ink);padding-top:48px;padding-bottom:60px}
.fw-catalogue [hidden]{display:none!important}
.fw-catalogue *{box-sizing:border-box}
.fw-directory-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.fw-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--brand);margin:0 0 10px}
.fw-directory-heading h2{font-size:32px;line-height:1.2;margin:0;color:var(--ink)}
.fw-directory-back{color:var(--brand);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;padding:12px 0}
.fw-directory-back:hover{color:var(--brand-strong);text-decoration:underline}
.fw-catalogue-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.fw-catalogue[data-enhanced] .fw-catalogue-layout{grid-template-columns:218px minmax(0,1fr)}
.fw-filter-panel{border:1px solid var(--brand-line);border-radius:6px;background:var(--surface)}
.fw-filter-panel summary{font-size:17px;font-weight:700;cursor:pointer;padding:20px;list-style-position:inside}
.fw-filter-content{padding:0 16px 20px}
.fw-filter-content h3{border-top:1px solid var(--line);padding-top:20px;font-size:13px;font-weight:700;margin:0 0 12px}
.fw-filter-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 0;font-size:13px;line-height:1.4;cursor:pointer}
.fw-filter-option span{flex:1}
.fw-filter-option small{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}
.fw-catalogue input[type=checkbox]{appearance:auto;width:17px;height:17px;flex:0 0 17px;accent-color:var(--brand);margin:0;cursor:pointer}
.fw-catalogue-controls{display:flex;gap:16px;align-items:end}
.fw-search-field{flex:1;min-width:0}
.fw-sort-field{flex:0 0 164px}
.fw-catalogue-controls label{display:block;font-size:13px;font-weight:600;margin:0 0 7px}
.fw-catalogue-controls input,
.fw-catalogue-controls select{display:block;width:100%;min-height:48px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font:inherit;font-size:14px;color:var(--ink)}
.fw-result-count{font-size:13px;color:var(--ink-muted);margin:18px 0;font-variant-numeric:tabular-nums}
.fw-catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fw-product-card{min-width:0;border:1px solid var(--brand-line);border-radius:6px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:border-color .15s}
.fw-product-card:hover{border-color:var(--brand)}
.fw-card-image{display:block;position:relative;width:100%;aspect-ratio:1/1;background:var(--brand-tint);overflow:hidden}
.fw-card-image img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.fw-card-copy{padding:19px;display:flex;flex-direction:column;flex:1;border-top:1px solid var(--line)}
.fw-card-eyebrow{font-size:11px;font-weight:600;color:var(--brand);margin:0 0 9px;line-height:1.5}
.fw-card-copy h3{font-size:18px;line-height:1.4;margin:0 0 10px;color:var(--ink)}
.fw-card-copy h3 a{color:inherit;text-decoration:none}
.fw-card-copy h3 a:hover{color:var(--brand);text-decoration:underline}
.fw-card-description{font-size:13px;line-height:1.7;color:var(--ink);margin:0 0 20px;flex:1}
.fw-card-link{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none}
.fw-card-link:hover{color:var(--brand-strong);text-decoration:underline}
.fw-card-link span{font-size:20px}
.fw-empty-results{border:1px dashed var(--line);border-radius:6px;padding:48px 24px;text-align:center}
.fw-empty-results h3{font-size:24px;margin-bottom:12px}
.fw-empty-results p{font-size:15px;margin-bottom:24px}
.fw-catalogue .fw-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border-radius:6px;border:1px solid var(--brand);background:var(--brand);color:var(--surface);font-size:14px;line-height:1.35;font-weight:600;text-decoration:none;cursor:pointer}
.fw-catalogue .fw-button:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--surface)}
.fw-text-button{border:0;background:none;color:var(--brand);font-size:13px;text-decoration:underline;min-height:44px;padding:10px 0;cursor:pointer}
.fw-catalogue :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.fw-catalogue+ .editorial-body{border-top:1px solid var(--line)}
@media(min-width:768px){
 .fw-filter-panel{position:sticky;top:var(--catalogue-filter-top,100px);max-height:calc(100vh - var(--catalogue-filter-top,100px) - 16px);max-height:calc(100dvh - var(--catalogue-filter-top,100px) - 16px);overflow-y:auto;scrollbar-gutter:stable}
}
@media(min-width:1600px){.fw-catalogue[data-enhanced] .fw-catalogue-layout{grid-template-columns:236px minmax(0,1fr)}}
@media(max-width:1199px){.fw-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-catalogue[data-enhanced] .fw-catalogue-layout{grid-template-columns:205px minmax(0,1fr);gap:22px}}
@media(max-width:767px){
 .fw-catalogue{padding-top:32px;padding-bottom:36px}
 .fw-directory-heading{align-items:start;gap:12px;flex-direction:column;margin-bottom:20px}
 .fw-directory-heading h2{font-size:27px}
 .fw-directory-back{padding:4px 0}
 .fw-catalogue[data-enhanced] .fw-catalogue-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .fw-filter-panel summary{padding:14px 16px;font-size:15px}
 .fw-filter-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
 .fw-filter-content h3,
.fw-filter-content>button{grid-column:1/-1}
 .fw-catalogue-grid{gap:14px}
 .fw-card-copy{padding:14px}
 .fw-card-copy h3{font-size:16px}
 .fw-card-description{font-size:12px}
 .fw-sort-field{flex-basis:138px}
 .fw-catalogue-controls{gap:10px}
}
@media(prefers-reduced-motion:reduce){.fw-product-card{transition:none}}

/* ===== DIRECTORY-TEMPLATE ===== */
body.directory-template {
  --font-sans: Arial, "Helvetica Neue", sans-serif;
  --radius: 6px;
  color: var(--ink);
  background: var(--surface);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.7;
}
.directory-template h1,

.directory-template h2,

.directory-template h3 { letter-spacing: -.025em; }
.directory-template .editorial-main { color: var(--ink); }
.directory-template .fw-card-image.fw-card-landscape,

.directory-template .fw-card-image.fw-card-landscape img { aspect-ratio: 3 / 2; }
.directory-template .fw-card-image img { object-fit: contain; }
.directory-template .bw-table-wrap { width: 100%; margin: 28px 0; overflow-x: auto; }
.directory-template .bw-table { width: 100%; border-collapse: collapse; text-align: left; color: var(--ink); }
.directory-template .bw-table th,

.directory-template .bw-table td { padding: 15px; border: 1px solid var(--line); vertical-align: top; }
.directory-template .bw-table thead th { background: var(--brand-tint); font-weight: 700; }
.directory-template .bw-table tbody th { width: 38%; font-weight: 600; }
.directory-template .editorial-prose .bw-table a { display: inline-block; padding-block: 4px; }
.directory-template .fw-catalogue + .editorial-body { border-top: 1px solid var(--line); }
@media (max-width: 575px) {
  .directory-template .fw-catalogue-grid { grid-template-columns: minmax(0, 1fr); }
  .directory-template .fw-catalogue-controls { align-items: stretch; flex-direction: column; }
  .directory-template .fw-sort-field { flex-basis: auto; }
  .directory-template .bw-table th,

  .directory-template .bw-table td { padding: 12px; overflow-wrap: anywhere; }
}

/* ===== REFERENCE-BLOG-DIRECTORY ===== */
.editorial-main:has(.fw-blog-directory) .editorial-hero{background:var(--brand-tint);padding:34px 0 38px;border-bottom:1px solid var(--brand-line)}
.editorial-main:has(.fw-blog-directory) .editorial-hero h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em;margin-bottom:16px}
.editorial-main:has(.fw-blog-directory) .editorial-lead{max-width:800px;font-size:18px;line-height:1.7;color:var(--ink-muted)}
.editorial-main:has(.fw-blog-directory) .editorial-crumb{margin-bottom:18px}
.editorial-main:has(.fw-blog-directory) .editorial-body{padding-top:34px;padding-bottom:56px}
.editorial-main:has(.fw-blog-directory) .editorial-prose{max-width:none}
.fw-blog-directory{color:var(--ink);font-size:16px;line-height:1.65}
.fw-blog-directory *{box-sizing:border-box}
.fw-blog-directory [hidden]{display:none!important}
.fw-blog-directory .fw-blog-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.fw-blog-directory .fw-blog-kicker{margin:0 0 5px;color:var(--ink-muted);font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.fw-blog-directory h2{margin:0;font-size:27px;line-height:1.3;letter-spacing:-.025em;font-weight:750;color:var(--ink)}
.fw-blog-directory .fw-blog-back{font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;color:var(--brand)}
.fw-blog-directory .fw-blog-back:hover{color:var(--brand-strong);text-decoration:underline}
.fw-blog-directory .fw-blog-controls{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:17px}
.fw-blog-directory .fw-blog-control-row{display:flex;justify-content:space-between;align-items:center;gap:22px}
.fw-blog-directory .fw-blog-filters{display:flex;flex-wrap:wrap;gap:8px}
.fw-blog-directory .fw-blog-filter{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font:600 13px/1.5 Arial,sans-serif;color:var(--ink-muted);cursor:pointer}
.fw-blog-directory .fw-blog-filter span{font-size:11px;font-variant-numeric:tabular-nums;background:var(--brand-tint);padding:1px 6px;border-radius:3px;color:var(--ink-muted)}
.fw-blog-directory .fw-blog-filter:hover{border-color:var(--brand);color:var(--brand)}
.fw-blog-directory .fw-blog-filter[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:var(--surface)}
.fw-blog-directory .fw-blog-filter[aria-pressed=true] span{background:rgba(255,255,255,.18);color:var(--surface)}
.fw-blog-directory .fw-blog-search{position:relative;display:block;flex:0 1 275px;min-width:200px;margin:0}
.fw-blog-directory .fw-blog-search svg{position:absolute;left:13px;top:14px;width:18px;height:18px;color:var(--ink-muted);pointer-events:none}
.fw-blog-directory .fw-blog-search input{display:block;width:100%;height:46px;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:10px 14px 10px 39px;font:14px/1.5 Arial,sans-serif;color:var(--ink)}
.fw-blog-directory .fw-blog-search input::placeholder{color:var(--ink-muted);opacity:1}
.fw-blog-directory .fw-blog-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fw-blog-directory .fw-blog-result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px;margin-bottom:19px}
.fw-blog-directory .fw-blog-results{margin:0;min-width:0;overflow-wrap:anywhere;font-size:13px;color:var(--ink-muted)}
.fw-blog-directory .fw-blog-clear{padding:4px 0;border:0;background:none;min-height:36px;flex-shrink:0;color:var(--brand);font-size:13px;text-decoration:underline;cursor:pointer}
.fw-blog-directory ul.fw-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;list-style:none;padding:0;margin:0}
.fw-blog-directory .fw-blog-grid>li{display:flex;min-width:0;margin:0;padding:0;list-style:none}
.fw-blog-directory .fw-blog-card{position:relative;display:flex;flex-direction:column;width:100%;border:1px solid var(--brand-line);border-radius:7px;overflow:hidden;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}
.fw-blog-directory .fw-blog-card:hover{border-color:var(--brand);box-shadow:0 5px 18px var(--card-shadow)}
.fw-blog-directory .fw-blog-picture{aspect-ratio:16/9;background:var(--brand-tint);overflow:hidden;border-bottom:1px solid var(--line)}
.fw-blog-directory .fw-blog-picture img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.fw-blog-directory .fw-blog-copy{display:flex;flex-direction:column;flex:1;padding:20px 22px 18px}
.fw-blog-directory .fw-blog-topic{display:block;color:var(--brand);font-size:10px;line-height:1.5;letter-spacing:.07em;font-weight:700;text-transform:uppercase;margin-bottom:10px}
.fw-blog-directory h3{margin:0 0 12px;font-size:20px;line-height:1.38;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.fw-blog-directory h3 a{color:inherit;text-decoration:none}
.fw-blog-directory h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.fw-blog-directory .fw-blog-card:hover h3 a{color:var(--brand)}
.fw-blog-directory .fw-blog-description{margin:0 0 22px;color:var(--ink-muted);font-size:14px;line-height:1.7;flex:1}
.fw-blog-directory .fw-blog-read{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--brand);font-weight:700}
.fw-blog-directory .fw-blog-read svg{width:17px;height:17px}
.fw-blog-directory .fw-blog-empty{padding:45px 20px;text-align:center;background:var(--brand-tint);border:1px solid var(--line);border-radius:7px}
.fw-blog-directory .fw-blog-empty h3{font-size:22px;margin-bottom:10px}
.fw-blog-directory .fw-blog-empty p{font-size:15px;margin-bottom:15px}
.fw-blog-directory .fw-blog-reset{min-height:44px;border:1px solid var(--brand);background:var(--brand);color:var(--surface);border-radius:5px;padding:10px 20px;font:600 14px/1.5 Arial,sans-serif;cursor:pointer}
.fw-blog-directory .fw-blog-resources{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding:25px 28px;background:var(--brand-tint);border:1px solid var(--brand-line);border-radius:7px}
.fw-blog-directory .fw-blog-resources h2{font-size:21px;margin-bottom:6px}
.fw-blog-directory .fw-blog-resources p{font-size:14px;color:var(--ink-muted);margin:0}
.fw-blog-directory .fw-blog-resource-links{display:flex;flex-wrap:wrap;gap:12px 22px}
.fw-blog-directory .fw-blog-resource-links a{font-size:14px;font-weight:600;white-space:nowrap;color:var(--brand)}
.fw-blog-directory .fw-blog-resource-links a:hover{color:var(--brand-strong)}
.fw-blog-directory .fw-blog-reset:hover{background:var(--brand-strong);border-color:var(--brand-strong)}
.fw-blog-directory :is(button,input,a,summary):focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.fw-blog-directory .fw-blog-card:focus-within{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:1199px){.fw-blog-directory .fw-blog-control-row{flex-wrap:wrap}.fw-blog-directory .fw-blog-search{flex-basis:100%;max-width:400px}.fw-blog-directory h3{font-size:19px}.fw-blog-directory .fw-blog-copy{padding:18px}}
@media(max-width:991px){.fw-blog-directory ul.fw-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.fw-blog-directory .fw-blog-resources{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:575px){
 .editorial-main:has(.fw-blog-directory) .editorial-hero{padding:24px 0 28px}
 .editorial-main:has(.fw-blog-directory) .editorial-lead{font-size:16px}
 .editorial-main:has(.fw-blog-directory) .editorial-body{padding-top:26px}
 .fw-blog-directory .fw-blog-topline{align-items:flex-start;gap:14px;margin-bottom:20px}
 .fw-blog-directory h2{font-size:23px}
 .fw-blog-directory .fw-blog-back{font-size:12px;margin-top:4px}
 .fw-blog-directory .fw-blog-kicker{font-size:10px}
 .fw-blog-directory .fw-blog-control-row{gap:16px}
 .fw-blog-directory .fw-blog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 .fw-blog-directory .fw-blog-filter{padding:9px 8px;font-size:12px;gap:6px}
 .fw-blog-directory .fw-blog-search{max-width:none;min-width:0}
 .fw-blog-directory .fw-blog-controls{padding-bottom:18px}
 .fw-blog-directory .fw-blog-result-row{margin-bottom:16px}
 .fw-blog-directory ul.fw-blog-grid{grid-template-columns:1fr;gap:22px}
 .fw-blog-directory .fw-blog-copy{padding:20px}
 .fw-blog-directory h3{font-size:21px}
 .fw-blog-directory .fw-blog-resources{padding:22px;margin-top:30px}
 .fw-blog-directory .fw-blog-resource-links{flex-direction:column;gap:12px}
}
@media(prefers-reduced-motion:reduce){.fw-blog-directory .fw-blog-card{transition:none}}

/* ===== ARTICLE-PAGE ===== */
:where(.article-template) .js-toc {
  background: var(--brand-tint);
  border: 1px solid var(--brand-line);
  border-radius: 16px;
  padding: 22px;
}
:where(.article-template) .js-toc .toc-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
}
:where(.article-template) .js-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
:where(.article-template) .js-toc li {
  break-inside: avoid;
  margin: 0 0 10px;
  padding-left: 16px;
  position: relative;
}
:where(.article-template) .js-toc li::before {
  background: var(--brand);
  border-radius: 50%;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  top: 8px;
  width: 6px;
}
:where(.article-template) .js-toc a {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}
:where(.article-template) .js-toc a:hover {
  text-decoration: underline;
}
:where(.article-template) .article-summary {
  background: var(--brand-tint);
  border-color: var(--brand-line) !important;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--brand) 7%, transparent);
}
:where(.article-template) .article-hero {
  aspect-ratio: 16/9;
  max-height: 500px;
  object-fit: cover;
  width: 100%;
}
:where(.article-template) .article-shell {
  max-width: 1080px;
}
:where(.article-template) .article-title {
  font-size: 48px;
  letter-spacing: -0.035em;
  line-height: 1.12;
  max-width: 900px;
}
:where(.article-template) .article-layout {
  display: grid;
  align-items: start;
  gap: 44px;
  grid-template-columns: 280px minmax(0, 740px);
  justify-content: center;
}
:where(.article-template) .article-layout > .blog-content {
  min-width: 0;
}
:where(.article-template) .article-toc {
  position: sticky;
  top: 100px;
  width: 100%;
}
:where(.article-template) .blog-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 740px;
  width: 100%;
}
:where(.article-template) .blog-content p {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.78;
  margin-bottom: 22px;
}
:where(.article-template) .blog-content > ul {
  background: var(--surface-alt);
  border-left: 3px solid var(--brand);
  border-radius: 0 10px 10px 0;
  list-style: disc;
  margin: 0 0 26px;
  padding: 18px 24px 18px 42px;
}
:where(.article-template) .blog-content li {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.68;
  margin: 7px 0;
}
:where(.article-template) .blog-content h2 {
  border-top: 1px solid var(--line);
  font-size: 26px !important;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin-top: 48px !important;
  padding-top: 38px;
}
:where(.article-template) .blog-content h2:first-of-type {
  border-top: 0;
  margin-top: 32px !important;
  padding-top: 0;
}
:where(.article-template) .blog-content a:not(.accordion-button) {
  color: var(--brand-strong);
  text-decoration: underline;
  text-decoration-color: var(--brand-line);
  text-underline-offset: 3px;
}
:where(.article-template) .article-figure {
  margin: 10px 0 30px;
}
:where(.article-template) .article-figure img {
  aspect-ratio: 3/2;
  border-radius: 12px;
  display: block;
  object-fit: cover;
  width: 100%;
}
:where(.article-template) .article-figure figcaption {
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.55;
  margin-top: 10px;
}
:where(.article-template) .blog-content table th {
  background: var(--brand-tint);
  color: var(--ink);
  font-weight: 700;
}
:where(.article-template) .blog-content table th,
:where(.article-template) 
.blog-content table td {
  font-size: 15px;
  line-height: 1.5;
  padding: 14px;
  vertical-align: top;
}
:where(.article-template) .blog-content .table-responsive {
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: 8px 0 28px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
:where(.article-template) .blog-content .table-responsive table {
  margin-bottom: 0;
}
:where(.article-template) .blog-content .accordion {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
:where(.article-template) .blog-content .accordion-item {
  background: var(--surface);
  border-color: var(--brand-line);
}
:where(.article-template) .blog-content .accordion-button {
  background: var(--surface);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  padding: 18px 20px;
}
:where(.article-template) .blog-content .accordion-button::after {
  background-image: none;
  background-color: var(--ink);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") center / contain no-repeat;
}
:where(.article-template) .blog-content .accordion-button:not(.collapsed)::after { background-color: var(--brand-strong); }
:where(.article-template) .blog-content .accordion-button:not(.collapsed) {
  background: var(--brand-tint);
  box-shadow: inset 3px 0 0 var(--brand);
  color: var(--ink);
}
:where(.article-template) .blog-content .accordion-button:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);
}
:where(.article-template) .blog-content .accordion-body {
  background: var(--brand-tint);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.7;
}
:where(.article-template) .article-meta {
  color: var(--ink-muted);
  font-size: 14px;
}
:where(.article-template) .article-meta span {
  align-items: center;
  display: inline-flex;
}
:where(.article-template) .article-cta {
  background: var(--brand-tint) !important;
  border-color: var(--brand-line) !important;
  border-radius: 14px !important;
}
:where(.article-template) .article-cta > .fw700 {
  font-size: 22px;
}
:where(.article-template) .article-cta > a {
  background: var(--brand);
  border-radius: 8px;
  color: var(--surface) !important;
  display: inline-block;
  padding: 10px 18px;
  text-decoration: none !important;
}
:where(.article-template) .wznrys h2 {
  scroll-margin-top: 110px;
}
@media (max-width: 991.98px) {
  :where(.article-template) .article-title {
    font-size: 40px;
  }
  :where(.article-template) .article-layout {
    grid-template-columns: 1fr;
  }
  :where(.article-template) .article-toc {
    position: static;
  }
  :where(.article-template) .js-toc ul {
    column-count: 2;
    column-gap: 28px;
  }
  :where(.article-template) .blog-content h2 {
    font-size: 23px !important;
  }
}
@media (max-width: 767.98px) {
  :where(.article-template) .blog-content .table-responsive table {
    min-width: 520px;
  }
}
@media (max-width: 575.98px) {
  :where(.article-template) .article-title {
    font-size: 34px;
  }
  :where(.article-template) .article-layout {
    gap: 32px;
  }
  :where(.article-template) .js-toc {
    padding: 20px;
  }
  :where(.article-template) .js-toc ul {
    column-count: 1;
  }
  :where(.article-template) .blog-content p {
    font-size: 16px;
    line-height: 1.75;
  }
  :where(.article-template) .blog-content li {
    font-size: 16px;
  }
  :where(.article-template) .blog-content > ul {
    padding: 15px 18px 15px 34px;
  }
  :where(.article-template) .blog-content h2 {
    margin-top: 38px !important;
    padding-top: 30px;
  }
  :where(.article-template) .blog-content table th,
:where(.article-template) 
  .blog-content table td {
    font-size: 14px;
    padding: 11px;
  }
}
:where(.article-template) .js-toc:empty { display: none; }
:where(.article-template) .blog-content a:not(.accordion-button),
:where(.article-template) 
.breadcrumb-plain a,
:where(.article-template) 
a.text-decoration-none { padding-block: 5px; }

/* ===== COLLECTION-DETAIL-TEMPLATE ===== */
body.collection-detail-template { --font-sans: sans-serif; font-family: var(--font-sans); }
.collection-detail-main { font-size: 16px; line-height: 1.6; }
.collection-detail-main :is(section, h2, h3)[id] { scroll-margin-top: 100px; }
.collection-detail-main .editorial-photo-frame img { object-fit: contain; }
.collection-detail-main .editorial-photo-intro h1 { margin-bottom: 20px; }
.collection-detail-main .editorial-lead { line-height: 1.6; }
.collection-hero-points { margin: 20px 0 24px; padding: 0; list-style: none; }
.collection-hero-points li + li { margin-top: 8px; }
.collection-detail-main .site-cta-group { gap: 10px; }
.collection-detail-main .site-cta { text-decoration: none; }
.collection-section-lead { max-width: 780px; font-size: 17px; line-height: 1.6; margin: 12px 0 0; }
.collection-detail-main .fw-card-copy h3 { margin-bottom: 12px; }
.collection-detail-main .fw-card-link { margin-top: auto; }
.collection-section { padding: 64px 0; border-top: 1px solid var(--line); }
.collection-section-heading { max-width: 900px; margin-bottom: 30px; }
.collection-section-heading :is(h2, h3) { margin: 0 0 16px; }
.collection-section-heading p:last-child { margin-bottom: 0; }
.collection-option-row:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.collection-option-row .editorial-photo-copy h3 { margin-bottom: 18px; line-height: 1.4; }
.collection-option-row .editorial-photo-copy > p { margin: 0 0 22px; }
.collection-option-row .pom-detail-square-photo .editorial-photo-frame { aspect-ratio: 1; }
.collection-option-list { list-style: none; padding: 0; margin: 0 0 20px; }
.collection-option-list li { margin: 0; padding: 14px 0; border-top: 1px solid var(--line); }
.collection-option-list strong { font-weight: 600; }
.collection-text-link { display: inline-flex; align-items: center; gap: 16px; margin: 4px 20px 0 0; padding: 5px 0; color: var(--brand); font-size: 16px; line-height: 1.6; }
.collection-text-link:hover { color: var(--brand-strong); text-decoration: underline; text-underline-offset: 4px; }
.collection-home-section { font-size: 14px; line-height: 1.5; }
.collection-home-section :is(h2, h3, h4) { letter-spacing: normal; }
.collection-partner-row { border: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
.collection-partner-row .editorial-photo { order: -1; }
.collection-capabilities-row .editorial-photo-copy h2 { margin-bottom: 20px; }
.collection-faq-section { border-top: 1px solid var(--line); background: var(--surface-alt); }
.collection-faq-content { max-width: 1040px; }
.collection-faq-section .faq_card { border-radius: 6px !important; }
@media (min-width: 768px) {
  .collection-option-row:nth-of-type(odd) { grid-template-columns: 1fr 1.2fr; }
  .collection-option-row:nth-of-type(odd) > .editorial-photo { order: -1; }
}
@media (max-width: 767px) {
  .collection-section { padding: 40px 0; }
  .collection-section-heading { margin-bottom: 24px; }
  .collection-section-lead { font-size: 15px; }
  .collection-hero-points { margin: 18px 0 22px; }
  .collection-option-row .editorial-photo { order: -1; }
  .collection-option-row .editorial-photo-copy > p { margin-bottom: 16px; }
  .collection-option-list { font-size: 15px; }
}

/* ===== RESOURCES-TEMPLATE ===== */
body.resources-template { --font-sans: sans-serif; font-family: var(--font-sans); }
.resources-template .editorial-lead { line-height: 1.6; }
.resources-template .editorial-prose > :is(p, ul) { max-width: 940px; }
.resources-template .editorial-prose > h2 { border-top: 1px solid var(--line); padding-top: 40px; }
.resources-template .editorial-prose > h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.resources-template .editorial-photo-copy p { margin-bottom: 20px; }
.resources-template .editorial-photo-copy p:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .resources-template .editorial-prose > h2 { padding-top: 28px; }
}

/* ===== SITE-SHELL ===== */
.site-header,

#mobile_right_nav,

.site-footer {
  --font-sans: sans-serif;
  font-family: var(--font-sans);
  color: var(--ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
header.site-header,

#mobile_right_nav { line-height: 1; }
header.site-header { box-shadow: none; }
.site-header .site-logo,

#mobile_right_nav .site-logo,

.site-footer .site-logo { object-fit: contain; }
.site-header .header-menu-ul .sub-menu a:hover { background: var(--brand-tint); }
header.site-header a.btn_dan { background: var(--brand); }
header.site-header a.btn_dan:hover { background: var(--brand-strong); transform: none; box-shadow: none; }
#mobile_right_nav .menu-zk > li > a { padding-right: 65px; }
#mobile_right_nav .menu-zk li.current-menu-item > a,

#mobile_right_nav .menu-zk li.current-menu-parent > a,

#mobile_right_nav .menu-zk li.current-menu-ancestor > a { color: var(--brand); font-weight: 700; }
.site-header :is(a, button):focus-visible,

#mobile_right_nav :is(a, button):focus-visible,

.site-footer a:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
footer.site-footer {
  background: var(--ink) !important;
  color: var(--surface) !important;
  border-top: 1px solid var(--line);
}
footer.site-footer a:not([href="/"]):hover,

footer.site-footer a:not([href="/"]):focus-visible { color: var(--brand-light) !important; }
@media (max-width: 991.98px) {
  footer.site-footer .bxs992 { display: block !important; }
}
@media (max-width: 767.98px) {
  footer.site-footer .row-cols-1 > * { width: 50%; }
  footer.site-footer .row-cols-1 > div:last-child { width: 100%; }
  footer.site-footer .text-md-start { text-align: left !important; }
  footer.site-footer .justify-content-center { justify-content: flex-start !important; }
}

@media (min-width: 769px) and (max-width: 991.98px) {
  #home-hero { min-height: 640px; }
}
@media (min-width: 1050px) and (max-width: 1199.98px) {
  #home-hero { min-height: 470px; }
}
