:root {
  --apex-brand-dark: #1b553c;
  --apex-brand-dark-hover: #123f2d;
  --apex-brand-muted: #628e83;
  --apex-brand-soft: #ebf5e7;
  --apex-brand-bright: #a8d37d;
  --apex-accent: #ed591b;
  --apex-text: #252525;
  --apex-white: #ffffff;
  --apex-border: #cbd9cf;
  --apex-focus: #f2a900;
  --apex-container: 1160px;
  --apex-content: 820px;
  --apex-gutter: clamp(24px, 4vw, 48px);
  --apex-radius-sm: 8px;
  --apex-radius-md: 14px;
  --apex-radius-lg: 22px;
  --apex-space-1: 8px;
  --apex-space-2: 12px;
  --apex-space-3: 16px;
  --apex-space-4: 24px;
  --apex-space-5: 32px;
  --apex-space-6: 48px;
  --apex-space-7: 72px;
  --apex-font: Arial, Helvetica, sans-serif;
  --apex-header-height: 126px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--apex-header-height); }
body { margin: 0; color: var(--apex-text); background: var(--apex-white); font-family: var(--apex-font); font-size: 16px; line-height: 1.55; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--apex-brand-dark); text-underline-offset: 0.18em; }
a:hover { color: var(--apex-brand-dark-hover); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--apex-focus); outline-offset: 3px; }

h1, h2, h3, h4 { margin: 0 0 0.55em; color: var(--apex-brand-dark); font-weight: 700; line-height: 1.16; text-wrap: balance; }
h1 { font-size: clamp(36px, 3.1vw, 48px); }
h2 { font-size: clamp(30px, 2.55vw, 40px); }
h3 { font-size: clamp(22px, 1.8vw, 28px); }
p { margin: 0 0 1em; }

.apex-container { width: min(100% - (2 * var(--apex-gutter)), var(--apex-container)); margin-inline: auto; }
.apex-content-width { max-width: var(--apex-content); }
.apex-main { min-height: 58vh; }
.apex-page-header { padding-top: var(--apex-space-7); padding-bottom: var(--apex-space-5); }
.apex-page-content { padding-bottom: var(--apex-space-6); }
.page-id-20 .apex-page-content h2, .page-id-21 .apex-page-content h2 { margin-top: 1.15em; font-size: clamp(25px, 2vw, 32px); }
.apex-page-cta-wrap { padding-block: var(--apex-space-6) var(--apex-space-7); }

.apex-skip-link { position: fixed; z-index: 10000; top: 12px; left: 12px; padding: 10px 16px; color: var(--apex-white); background: var(--apex-brand-dark); transform: translateY(-150%); }
.apex-skip-link:focus { transform: translateY(0); }

.apex-site-header { position: sticky; z-index: 1000; top: 0; color: var(--apex-brand-dark); background: var(--apex-white); box-shadow: 0 1px 0 rgba(27, 85, 60, 0.12); }
.apex-topbar { overflow: hidden; height: 44px; color: var(--apex-white); background: var(--apex-brand-dark); transition: height 180ms ease, opacity 180ms ease; }
.apex-topbar__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 100%; }
.apex-topbar__message { margin: 0; font-size: 16px; letter-spacing: 0.01em; white-space: nowrap; }
.apex-topbar__highlight { color: var(--apex-brand-bright); }
.apex-nav-shell { background: var(--apex-white); }
.apex-nav-shell__inner { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 44px; align-items: center; min-height: 82px; transition: min-height 180ms ease; }
.apex-brand { display: inline-flex; align-items: center; width: 76px; height: 76px; }
.apex-brand__image { width: 68px; max-height: 68px; object-fit: contain; }
.apex-primary-menu, .apex-footer-menu { display: flex; align-items: center; gap: clamp(20px, 2.25vw, 36px); margin: 0; padding: 0; list-style: none; }
.apex-primary-menu { justify-content: space-between; gap: 24px; }
.apex-primary-menu a { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: var(--apex-brand-dark); font-size: 18px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.apex-primary-menu a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; background: var(--apex-brand-bright); content: ''; transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; }
.apex-primary-menu a:hover::after, .apex-primary-menu .current-menu-item > a::after, .apex-primary-menu .current_page_item > a::after { transform: scaleX(1); }
.apex-header-actions { display: flex; align-items: center; justify-self: end; gap: 12px; }
.apex-header-action { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 5px 7px; border-radius: var(--apex-radius-sm); color: var(--apex-white); font-size: 16px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.apex-header-action:hover { color: var(--apex-white); background: rgba(255,255,255,.1); }
.apex-cart-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding-inline: 5px; border-radius: 999px; color: var(--apex-brand-dark); background: var(--apex-brand-bright); font-size: 11px; font-weight: 700; }
.apex-site-header.is-scrolled .apex-topbar { height: 0; opacity: 0; }

.apex-button-group { display: flex; flex-wrap: wrap; gap: var(--apex-space-2); align-items: center; }
.apex-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 11px 24px; border: 1px solid transparent; border-radius: var(--apex-radius-sm); color: var(--apex-white); background: var(--apex-brand-muted); font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease; }
.apex-button:hover { color: var(--apex-white); transform: translateY(-1px); }
.apex-button--primary { background: var(--apex-brand-dark); }
.apex-button--primary:hover { background: var(--apex-brand-dark-hover); }
.apex-button--accent { background: var(--apex-accent); }
.apex-button--accent:hover { background: #cf4612; }
.apex-button--outline { border-color: var(--apex-brand-dark); color: var(--apex-brand-dark); background: transparent; }
.apex-button--outline:hover { color: var(--apex-white); background: var(--apex-brand-dark); }
.apex-button:disabled { opacity: 0.48; cursor: not-allowed; transform: none; }

.apex-page-cta { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr); align-items: end; height: 326px; min-height: 326px; border-radius: var(--apex-radius-lg); background-color: var(--apex-brand-bright); isolation: isolate; }
.apex-page-cta::before { position: absolute; z-index: -1; inset: 0; overflow: hidden; border-radius: inherit; background-repeat: no-repeat; background-position: right center; background-size: auto 100%; content: ''; opacity: 1; }
.apex-page-cta--pattern-01::before { background-image: url('../svg/pattern-01.svg'); }
.apex-page-cta--pattern-02::before { background-image: url('../svg/pattern-02.svg'); }
.apex-page-cta__content { align-self: center; padding: 46px 28px 46px 62px; }
.apex-page-cta h2 { max-width: 650px; margin-bottom: 20px; font-size: 40px; }
.apex-eyebrow { margin-bottom: 10px; color: var(--apex-brand-dark); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.apex-page-cta__text { max-width: 650px; margin-bottom: 28px; font-size: 18px; line-height: 1.35; }
.apex-page-cta__media { position: relative; z-index: 1; align-self: end; width: 100%; height: 326px; min-width: 0; }
.apex-page-cta__image { position: absolute; right: 0; bottom: 0; width: 430px; max-width: none; object-fit: contain; object-position: right bottom; }
.apex-page-cta .apex-button { min-width: 176px; min-height: 50px; font-size: 19px; }

.apex-site-footer { color: var(--apex-white); background: var(--apex-brand-dark); }
.apex-site-footer__main { display: grid; grid-template-columns: 150px minmax(0, 1fr) 220px; gap: 36px; align-items: center; min-height: 190px; padding-block: 24px; }
.apex-site-footer__logo { width: 138px; max-height: 138px; object-fit: contain; }
.apex-site-footer p { margin-bottom: 7px; }
.apex-site-footer__label { font-weight: 700; }
.apex-site-footer__contact { font-size: 18px; line-height: 1.4; }
.apex-site-footer__contact-row { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.apex-site-footer__email-label { margin-left: 8px; }
.apex-site-footer a { color: var(--apex-white); }
.apex-site-footer__contact a { display: inline-flex; min-height: 24px; align-items: center; text-decoration: none; }
.apex-footer-menu { flex-direction: column; align-items: stretch; gap: 8px; }
.apex-footer-menu a { display: block; min-width: 210px; padding: 5px 18px; border: 1px solid var(--apex-brand-bright); border-radius: 999px; color: var(--apex-brand-bright); background: transparent; font-size: 17px; line-height: 1.25; text-align: center; text-decoration: none; }
.apex-footer-menu a:hover { color: var(--apex-brand-dark); background: var(--apex-brand-bright); }
.apex-site-footer__copyright { margin-top: 12px; color: var(--apex-white); font-size: 16px; text-align: left; }
.apex-site-footer__credit { margin-top: 40px; color: var(--apex-white); font-size: 14px; text-align: right; }
.apex-site-footer__credit a { text-decoration: none; }
.apex-site-footer__credit a:hover, .apex-site-footer__credit a:focus-visible { color: var(--apex-brand-bright); text-decoration: underline; }

.apex-style-guide { padding-bottom: var(--apex-space-7); background: #f8faf8; }
.apex-style-section { margin-bottom: var(--apex-space-6); padding: var(--apex-space-5); border: 1px solid var(--apex-border); border-radius: var(--apex-radius-md); background: var(--apex-white); }
.apex-swatch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.apex-swatch { overflow: hidden; border: 1px solid var(--apex-border); border-radius: var(--apex-radius-sm); }
.apex-swatch__color { display: block; height: 116px; }
.apex-swatch code { display: block; padding: 12px; font-size: 13px; }
.apex-bg-brand-dark { background: var(--apex-brand-dark); }
.apex-bg-brand-muted { background: var(--apex-brand-muted); }
.apex-bg-brand-soft { background: var(--apex-brand-soft); }
.apex-bg-brand-bright { background: var(--apex-brand-bright); }
.apex-display-sample { color: var(--apex-brand-dark); font-size: 40px; font-weight: 700; line-height: 1; }

.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { font-size: 14px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: var(--apex-radius-sm); color: var(--apex-white); background: var(--apex-brand-dark); }
.apex-cart-page { padding-block: 54px 72px; }
.apex-cart-page > .apex-container > h1 { margin-bottom: 30px; }
.apex-cart-page .shop_table { border-color: var(--apex-border); border-radius: var(--apex-radius-md); }
.apex-cart-page .shop_table th { color: var(--apex-brand-dark); }
.apex-cart-page .product-name dl.variation { display: grid; grid-template-columns: max-content 1fr; gap: 2px 8px; font-size: 13px; }
.apex-cart-page .product-name dl.variation dt,
.apex-cart-page .product-name dl.variation dd { float: none; margin: 0; padding: 0; }
.apex-configured-batch-quantity { color: var(--apex-brand-dark); font-size: 13px; font-weight: 700; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { color: var(--apex-white); background: var(--apex-brand-dark); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { color: var(--apex-white); background: var(--apex-brand-dark-hover); }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form { display: none; }
.woocommerce-cart .cart_totals .apex-vat-included td { color: var(--apex-brand-dark); font-size: 14px; font-weight: 700; }

@media (max-width: 1180px) {
  :root { --apex-gutter: 28px; }
  .apex-nav-shell__inner { grid-template-columns: 78px minmax(0, 1fr); gap: 20px; }
  .apex-primary-menu { gap: 16px; }
  .apex-primary-menu a { font-size: 14px; }
  .apex-topbar__message { font-size: 14px; }
  .apex-header-action { font-size: 14px; }
  .apex-site-footer__main { grid-template-columns: 110px minmax(0, 1fr) 210px; }
}

@media (max-width: 1023px) {
  .apex-primary-nav { overflow-x: auto; scrollbar-width: thin; }
  .apex-primary-menu { min-width: max-content; }
  .apex-page-cta { grid-template-columns: 1fr 280px; }
  .apex-page-cta__content { padding: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Home and About desktop compositions. */
.apex-section { padding-block: 66px; }
.apex-section--tight { padding-top: 30px; }
.apex-section-intro { margin-top: -14px; margin-bottom: 30px; font-size: 17px; }
.home-hero { position: relative; overflow: hidden; background: #9fda62; isolation: isolate; }
.home-hero::before { position: absolute; z-index: 0; inset: 0; background-image: url('../svg/pattern-02.svg'); background-repeat: no-repeat; background-position: right center; background-size: auto 100%; content: ''; pointer-events: none; }
.home-hero::after { position: absolute; z-index: 0; right: -8%; bottom: -62%; width: 70%; height: 130%; background: radial-gradient(ellipse at center, rgba(27,85,60,.2), rgba(27,85,60,0) 67%); content: ''; pointer-events: none; }
.home-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 480px minmax(0, 1fr); gap: 24px; align-items: stretch; min-height: 520px; }
.home-hero__copy { align-self: center; padding-block: 54px; }
.home-hero h1 { max-width: 480px; font-size: 46px; }
.home-hero__title-line { display: block; }
.home-hero__copy > div { max-width: 460px; margin-bottom: 24px; }
.home-hero__meta { margin-top: 18px; color: var(--apex-brand-dark); font-size: 12px; }
.home-hero__meta-line { display: block; }
.home-hero__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.home-hero__cards figure { position: relative; height: 342px; margin: 0; overflow: hidden; border-radius: 14px; background: var(--apex-white); }
.home-hero__cards img { box-sizing: border-box; width: 100%; height: 100%; padding: 16px 14px 56px; object-fit: contain; object-position: center; background: var(--apex-white); }
.home-hero__cards figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 12px 8px; color: var(--apex-white); background: var(--apex-brand-dark); font-size: 14px; font-weight: 700; text-align: center; }
.home-hero__visual { position: relative; min-height: 520px; align-self: stretch; }
.home-hero__visual img { position: absolute; right: -24px; bottom: -155px; width: auto; max-width: none; height: 680px; object-fit: contain; object-position: right bottom; }
.apex-card-grid { display: grid; gap: 18px; }
.apex-card-grid--4 { grid-template-columns: repeat(4, 1fr); }
.apex-card-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 36px; }
.apex-card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.apex-info-card { padding: 14px; border-radius: 12px; background: var(--apex-brand-soft); }
.apex-info-card img { box-sizing: border-box; width: 100%; height: 225px; padding: 14px; border-radius: 10px; object-fit: contain; object-position: center; background: var(--apex-white); }
.apex-info-card h3 { margin-top: 16px; font-size: 20px; }
.apex-info-card p { font-size: 14px; line-height: 1.35; }
.home-audience__visuals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.home-audience__visuals figure { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--apex-border); border-radius: 16px; background: var(--apex-white); }
.home-audience__visuals img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%; }
.home-audience__visuals figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 11px 14px; border-radius: 9px; color: var(--apex-white); background: rgba(18, 63, 45, .94); font-size: 15px; font-weight: 700; text-align: center; }
.home-audience__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 26px; }
.home-audience__item { position: relative; min-height: 168px; padding: 24px 82px 24px 22px; border: 1px solid var(--apex-border); border-radius: 12px; background: var(--apex-brand-soft); }
.home-audience__icon { position: absolute; top: 20px; right: 20px; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(18,63,45,.22); border-radius: 50%; color: var(--apex-brand-dark); background: rgba(255,255,255,.56); }
.home-audience__icon svg { width: 25px; height: 25px; }
.home-audience__item h3 { margin: 0 0 10px; font-size: 20px; }
.home-audience__item p { margin: 0; font-size: 14px; line-height: 1.5; }
.apex-slider-arrow { display: grid; width: 46px; height: 46px; place-items: center; border: 0; border-radius: 50%; color: var(--apex-white); background: var(--apex-brand-dark); font-size: 26px; line-height: 1; cursor: pointer; }
.apex-slider-arrow:hover { color: var(--apex-brand-dark); background: var(--apex-brand-bright); }
.apex-slider-arrow:disabled { opacity: .35; cursor: default; }
.apex-product-card { overflow: hidden; border-radius: 14px; background: var(--apex-brand-soft); }
.apex-product-card img { box-sizing: border-box; width: 100%; height: 270px; padding: 18px; object-fit: contain; object-position: center; background: var(--apex-white); }
.apex-product-card > div { min-height: 190px; padding: 24px; }
.apex-product-card h3 { font-size: 22px; }
.apex-product-card a { font-weight: 700; text-decoration: none; }
.apex-product-card { transition: color 180ms ease, background 180ms ease, transform 180ms ease; }
.apex-product-card:hover,.apex-product-card:focus-within { color: var(--apex-white); background: var(--apex-brand-dark); transform: translateY(-2px); }
.apex-product-card:hover h3,.apex-product-card:hover a,.apex-product-card:focus-within h3,.apex-product-card:focus-within a { color: var(--apex-white); }
.home-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; padding: 0; list-style: none; }
.home-steps li { min-height: 245px; padding: 20px; border: 1px solid var(--apex-brand-muted); border-radius: 9px; background: var(--apex-brand-soft); }
.home-steps li > strong { color: var(--apex-brand-dark); font-size: 36px; }
.home-steps h3 { font-size: 18px; }
.home-steps p { font-size: 14px; }
.home-steps__action { display: flex; gap: 30px; align-items: center; justify-content: center; margin-top: 28px; }
.home-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.home-photo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.home-photo-grid img { width: 100%; height: 180px; border-radius: 10px; object-fit: cover; }
.home-photo-grid img:last-child { grid-column: 1 / -1; height: 205px; }
.home-split h3 { font-size: 30px; }
.home-split li { margin-bottom: 8px; color: var(--apex-brand-dark); font-weight: 700; }
.home-split--sustain { grid-template-columns: 1.15fr .85fr; gap: 18px; align-items: stretch; }
.apex-soft-panel { padding: 48px; border-radius: 14px; background: var(--apex-brand-soft); }
.home-sustain .apex-soft-panel { display: flex; min-height: 390px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 54px 48px; }
.home-sustain .apex-soft-panel h3 { max-width: 560px; font-size: 30px; }
.home-sustain .apex-soft-panel p:not(.apex-eyebrow) { max-width: 620px; }
.home-photo-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.home-photo-stack img { width: 100%; height: 188px; border-radius: 10px; object-fit: cover; }
.home-testimonials { text-align: center; }
.home-testimonial-slider { --testimonial-visible: 2; overflow: hidden; }
.home-testimonial-slider__viewport { overflow: hidden; }
.home-testimonial-slider__track { display: flex; gap: 24px; transition: transform .55s ease; }
.home-testimonial-slide { flex: 0 0 calc((100% - (var(--testimonial-visible) - 1) * 24px) / var(--testimonial-visible)); }
.home-testimonials blockquote { display: grid; grid-template-columns: 150px 1fr; gap: 24px; margin: 0; padding: 28px; border: 1px solid var(--apex-brand-muted); border-radius: 12px; text-align: left; }
.testimonial-avatar { display: grid; place-items: center; width: 140px; height: 140px; overflow: hidden; border-radius: 50%; background: #e9ece9; }
.testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-mark { color: var(--apex-brand-bright); font-size: 48px; line-height: .7; }
.home-testimonials footer { display: grid; margin-top: 16px; }
.home-testimonial-slider__dots { display: flex; gap: 0; align-items: center; justify-content: center; margin-top: 16px; }
.home-testimonial-slider__dot { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: transform .2s ease; }
.home-testimonial-slider__dot::before { width: 11px; height: 11px; border: 1px solid var(--apex-brand-dark); border-radius: 50%; background: transparent; content: ""; }
.home-testimonial-slider__dot:hover { transform: scale(1.15); }
.home-testimonial-slider__dot[aria-current="true"]::before { background: var(--apex-brand-dark); }
.home-testimonial-slider__dot:focus-visible { outline: 3px solid var(--apex-brand-bright); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .home-testimonial-slider__track { transition: none; } }
.about-hero img { width: 100%; height: 420px; object-fit: cover; object-position: center 46%; }
.about-intro { padding-block: 66px 70px; color: var(--apex-white); background: var(--apex-brand-dark); }
.about-intro h1 { color: var(--apex-white); }
.about-intro h1 { max-width: 650px; margin-bottom: 28px; font-size: 42px; white-space: pre-line; }
.about-intro__grid { display: grid; grid-template-columns: minmax(0, 2fr) 320px; gap: 74px; }
.about-intro__content > p { max-width: 690px; font-size: 15px; line-height: 1.45; }
.about-intro__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.about-intro__gallery img { width: 100%; height: 192px; border-radius: 10px; object-fit: cover; }
.about-intro dl { margin: 0; }
.about-intro dl div { min-height: 126px; padding: 18px 0 22px; border-bottom: 1px solid var(--apex-brand-muted); text-align: center; }
.about-intro dt { color: var(--apex-brand-bright); font-size: 43px; font-weight: 700; line-height: 1.08; }
.about-intro dd { margin: 12px 0 0; font-size: 15px; font-weight: 700; }
.about-product-strip { padding-block: 54px 46px; background: var(--apex-brand-soft); }
.about-product-slider { display: grid; grid-template-columns: 46px minmax(0,1fr) 46px; gap: 18px; align-items: center; }
.about-product-slider__viewport { overflow: hidden; }
.about-product-slider__track { display: flex; gap: 18px; transition: transform 280ms ease; }
.about-product-slider__track figure { flex: 0 0 calc((100% - 72px) / 5); }
.about-product-strip figure { margin: 0; text-align: center; }
.about-product-strip img { width: 100%; height: 245px; object-fit: contain; }
.about-product-strip figcaption { margin-top: 14px; color: var(--apex-text); font-size: 15px; line-height: 1.25; }
.about-video { position: relative; display: block; }
.about-video img { width: 100%; height: 520px; object-fit: cover; }
.about-video span { position: absolute; top: 50%; left: 50%; display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; color: white; background: rgba(27,85,60,.75); transform: translate(-50%,-50%); }
.about-video--embed { overflow: hidden; aspect-ratio: 16/9; background: #111; }
.about-video--embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.apex-video-modal[hidden] { display: none; }
.apex-video-modal { position: fixed; z-index: 1200; inset: 0; display: grid; padding: clamp(18px,4vw,54px); place-items: center; }
.apex-video-modal__backdrop { position: absolute; inset: 0; background: rgba(7,26,19,.86); }
.apex-video-modal__dialog { position: relative; z-index: 1; width: min(1120px,100%); border-radius: 12px; background: #000; box-shadow: 0 24px 80px rgba(0,0,0,.4); }
.apex-video-modal__frame { overflow: hidden; aspect-ratio: 16/9; border-radius: inherit; }
.apex-video-modal__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.apex-video-modal__close { position: absolute; z-index: 2; top: -18px; right: -18px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--apex-brand-dark); font-size: 27px; line-height: 1; cursor: pointer; }
.apex-video-modal__close:focus-visible { outline: 3px solid var(--apex-brand-bright); outline-offset: 3px; }
body.apex-video-open { overflow: hidden; }
.about-factory__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: start; }
.about-richtext { font-size: 14px; line-height: 1.35; }
.about-richtext h3 { margin: 18px 0 4px; padding-bottom: 6px; border-bottom: 1px solid #999; font-size: 16px; }
.about-richtext ul { margin: 0; padding-left: 20px; }
.about-factory-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.about-factory-gallery img { width: 100%; height: 192px; border-radius: 10px; object-fit: cover; }
.about-factory-gallery img:last-child { grid-column: 1/-1; height: 220px; }
.about-cert { padding-top: 28px; }
.about-cert-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.about-cert-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.about-cert-cards article { display: grid; min-height: 150px; place-content: center; padding: 20px; border-radius: 12px; background: #f2faf7; text-align: center; }
.about-cert-cards small { margin-top: 8px; }
.about-cert-image { width: 100%; border-radius: 14px; }
.about-strength-section { padding-top: 38px; }
.about-strength { padding: 34px 38px 40px; }
.about-strength > p:first-child { margin-bottom: 22px; }
.about-strength h3 { font-size: 19px; }
.about-material-image { width: 100%; margin-block: 14px 24px; }
.about-strength__note { margin: 0 0 28px; }
.about-colors { display: flex; gap: 16px; margin-block: 20px 30px; }
.about-colors div { text-align: center; }
.about-colors span { display: block; width: 74px; height: 74px; border-radius: 50%; background: var(--swatch); }
.about-compositions { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.about-compositions strong { padding: 14px 8px; border-radius: 8px; color: var(--apex-brand-dark); background: var(--apex-white); line-height: 1.2; text-align: center; }
@media (max-width:1180px){.home-hero__grid{grid-template-columns:390px 1fr}.home-hero h1{font-size:38px}.home-hero__cards figure{height:300px}.apex-section{padding-block:54px}.home-split{gap:38px}.about-colors{gap:8px}.about-colors span{width:58px;height:58px}}

/* Library. */
.library-hero img{width:100%;height:420px;object-fit:cover}.library-intro{padding-block:62px 42px}.library-intro__grid{display:grid;grid-template-columns:360px 1fr;gap:86px;align-items:start}.library-intro h1{margin:0;font-size:40px}.library-intro p{margin-top:0;font-size:17px;line-height:1.45}.library-groups{padding-bottom:70px}.library-group{margin-bottom:68px}.library-group__title{margin:0 0 26px;padding:17px 24px;border-radius:13px;color:var(--apex-brand-dark);background:#9fda62;font-size:27px;line-height:1;text-align:center}.library-group__grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:26px}.library-group__copy{display:flex;min-height:520px;padding:38px 30px;flex-direction:column;border:1px solid var(--apex-brand-dark);border-radius:14px}.library-group__copy h3{margin:0 0 22px;font-size:24px;line-height:1.15}.library-group__description{font-size:16px;line-height:1.42}.library-features{display:grid;margin:22px 0 28px;padding:0;grid-template-columns:1fr 1fr;gap:9px;list-style:none}.library-features li{padding:8px 10px;border-radius:5px;color:var(--apex-brand-dark);background:var(--apex-brand-soft);font-size:12px;font-weight:700}.library-features li:before{margin-right:6px;color:#85c94d;content:'●';font-size:8px}.library-group__copy .apex-button{align-self:flex-start;margin-top:auto}.library-slider{min-width:0;outline:none}.library-slider:focus-visible{border-radius:14px;outline:3px solid var(--apex-focus);outline-offset:4px}.library-slider__stage{position:relative;height:414px;overflow:hidden;border:1px solid var(--apex-brand-dark);border-radius:14px}.library-slide{width:100%;height:100%;object-fit:contain}.library-slide[hidden]{display:none}.library-slider__arrow{position:absolute;top:50%;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid #737373;border-radius:50%;color:#333;background:#fff;transform:translateY(-50%);cursor:pointer}.library-slider__arrow--prev{left:18px}.library-slider__arrow--next{right:18px}.library-slider__counter{position:absolute;top:15px;right:18px;padding:5px 10px;border-radius:12px;color:var(--apex-brand-dark);background:var(--apex-brand-soft);font-size:12px}.library-slider__thumbs{display:grid;margin-top:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.library-slider__thumbs button{height:100px;padding:4px;overflow:hidden;border:1px solid var(--apex-brand-dark);border-radius:12px;background:#fff;cursor:pointer}.library-slider__thumbs button[aria-current=true]{box-shadow:inset 0 0 0 3px var(--apex-brand-dark)}.library-slider__thumbs img{width:100%;height:100%;object-fit:contain}

/* Library fidelity refinements. */
.library-slider__stage { background: var(--apex-white); }
.library-slide { box-sizing: border-box; padding: 18px; object-position: center; }
.library-features li:before { display: inline-grid !important; width: 15px; height: 15px; margin-right: 6px !important; place-items: center; border-radius: 50%; color: var(--apex-brand-dark) !important; background: #a8d37d; content: '✓' !important; font-size: 9px !important; }
.library-group__copy .apex-button { width: 230px; align-self: center; }

/* Product size guidance. */
.config-size-guide{background:#fff}.config-size-guide__header{max-width:820px;margin-bottom:38px}.config-size-guide__header h2{font-size:40px}.config-size-guide__header p{font-size:18px}.config-size-guide__grid{display:grid;padding:36px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:52px;border-radius:18px;background:var(--apex-brand-soft)}.config-size-guide__grid--content-only{grid-template-columns:minmax(0,1fr)}.config-size-guide__visual img{width:100%;height:470px;border-radius:14px;background:#fff;object-fit:contain}.config-measurements{display:grid;margin:0 0 30px;padding:0;grid-template-columns:1fr 1fr;gap:14px;counter-reset:measure;list-style:none}.config-measurements li{position:relative;padding:18px 16px 18px 54px;border-radius:10px;background:#fff;counter-increment:measure}.config-measurements li:before{position:absolute;top:16px;left:16px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--apex-brand-dark);content:counter(measure);font-weight:700}.config-measurements strong,.config-measurements span{display:block}.config-measurements span{margin-top:5px;font-size:14px;line-height:1.35}.config-size-guide__content h3{font-size:24px}.config-size-table{width:100%;border-collapse:collapse;background:#fff}.config-size-table th,.config-size-table td{padding:12px;border-bottom:1px solid #cad8cc;text-align:center}.config-size-table thead th{color:#fff;background:var(--apex-brand-dark)}.config-size-guide__note{margin:18px 0 0;padding:14px 16px;border-left:4px solid var(--apex-brand-dark);background:#d9efb7;font-size:14px}
.config-size-guide__grid{grid-template-columns:minmax(0,1fr);gap:28px}.config-size-guide__visual{min-width:0}.config-size-guide__visual img{display:block;width:100%;height:auto;max-height:none}
.config-product-guides{display:grid;min-width:0;gap:30px}.config-product-guide{min-width:0;padding:34px;border:1px solid #c9ddc6;border-radius:18px;background:var(--apex-brand-soft)}.config-product-guide>h3{margin:0 0 24px;color:var(--apex-brand-dark);font-size:29px}.config-product-guide__layout{display:grid;min-width:0;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:34px;align-items:start}.config-product-guide__visual{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:14px;background:#fff}.config-product-guide__visual img{display:block;width:100%;height:auto}.config-product-guide__visual svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.config-product-guide__visual .measure-line{fill:none;stroke:#d21f3c;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.config-product-guide__visual marker path{fill:#d21f3c}.config-product-guide__visual .measure-labels{fill:var(--apex-brand-dark);font-size:5px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:1.5px}.config-measurements--product{min-width:0;margin:0;grid-template-columns:1fr;gap:10px}.config-measurements--product li{min-height:74px}.config-product-guide>.config-size-table-wrap{min-width:0;max-width:100%}.config-size-table--specification{margin-top:26px}.config-size-table--specification th,.config-size-table--specification td{padding:10px}.config-size-recommendations{max-width:820px;margin:38px auto 0;padding:30px;border-radius:18px;background:#f4faef}.config-size-recommendations h3{margin:0 0 18px;font-size:25px}

/* Sustainability, order process and product configurator. */
.apex-wide-hero img,.config-hero>img{width:100%;height:416px;object-fit:cover}.sustain-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.sustain-intro__grid img{width:100%;height:300px;border-radius:18px;object-fit:cover}.sustain-intro h1{font-size:42px}.sustain-intro p{max-width:530px;font-size:20px;line-height:1.45}.sustain-sources{padding-top:22px}.sustain-source-panel{padding:50px 48px 28px;border:1px solid var(--apex-brand-dark);border-radius:24px}.sustain-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;text-align:center}.sustain-source-grid h3{margin-bottom:4px;color:var(--apex-text);font-size:17px}.sustain-source-grid p{font-size:16px}.sustain-source-grid img{width:100%;height:130px;object-fit:contain}.sustain-source-note{margin:34px 0 0;font-size:16px}.sustain-feature__grid{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.sustain-feature__grid.is-image-right .sustain-feature__media{order:2}.sustain-feature__media>img{width:100%;height:370px;border-radius:18px;object-fit:cover}.sustain-feature__content h2{font-size:40px}.sustain-feature__content{font-size:19px;line-height:1.42}.sustain-badge{width:160px;max-height:160px;margin:20px auto 0;object-fit:contain}.sustain-documents{display:flex;gap:10px;align-items:end;min-height:0;margin:0 0 18px}.sustain-documents:empty{display:none}.sustain-documents img{width:calc((100% - 20px)/3);height:190px;object-fit:contain}.sustain-feature--2{padding-top:42px}.sustain-feature--2 .sustain-feature__grid{align-items:end}.sustain-feature--2 .sustain-feature__media>img{height:310px}.sustain-feature--2 .sustain-feature__content{align-self:center}
.process-content{padding-top:70px}.process-content h1{font-size:42px}.process-lead{margin:42px 0 30px;font-size:24px;font-weight:700}.process-content>.apex-container>p:not(.process-lead){font-size:19px}.process-phase>h2{margin:74px 0 38px;padding:20px;border-radius:14px;background:#9fda62;font-size:30px;text-align:center}.process-step{display:grid;grid-template-columns:94px 1fr;gap:28px;margin:38px 28px}.process-step__number{display:grid;width:70px;height:70px;place-items:center;border-radius:50%;color:#fff;background:var(--apex-brand-dark);font-size:32px}.process-step h3{color:var(--apex-text);font-size:25px}.process-step li{margin:4px 0;font-size:18px}.process-products{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:55px 0}.process-products article{padding:14px 14px 30px;border-radius:20px;background:var(--apex-brand-soft);text-align:center}.process-products img{width:100%;height:410px;border-radius:14px;object-fit:cover}.process-products h3{margin:24px 0;font-size:24px}.process-products .apex-button{width:76%}
.config-hero{position:relative;display:block}.config-hero span{position:absolute;top:50%;left:50%;display:grid;width:54px;height:54px;place-items:center;border-radius:50%;color:#fff;background:rgba(37,37,37,.5);transform:translate(-50%,-50%)}.config-main{padding-block:90px 82px}.config-moq{display:grid;grid-template-columns:380px auto 1fr;align-items:center;height:76px;border:2px solid var(--apex-brand-dark);border-radius:14px;overflow:hidden;font-size:21px}.config-moq h1{display:grid;height:100%;place-items:center;margin:0;padding:0 28px;color:#fff;background:var(--apex-brand-dark);font-size:28px}.config-moq b{padding-left:44px;color:var(--apex-brand-dark);font-size:29px}.config-grid{display:grid;grid-template-columns:380px minmax(0,1fr) 360px;gap:20px;margin-top:30px}.config-panel{min-width:0;padding:26px;border-radius:8px;background:#f4faef}.config-panel h2{font-size:20px}.config-controls fieldset{margin:25px 0;padding:0;border:0}.config-controls legend,.config-select>b,.config-upload>b{display:block;margin-bottom:12px;color:var(--apex-brand-dark);font-size:17px;font-weight:700}.config-products{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.config-products input,.config-swatches input{position:absolute;opacity:0}.config-products span{display:grid;grid-template-rows:70px auto;min-height:126px;padding:8px 5px;border:1px solid #333;border-radius:8px;place-items:center;text-align:center;cursor:pointer}.config-products img{width:82px;height:70px;object-fit:contain}.config-products b{font-size:12px;line-height:1.05}.config-products input:checked+span{box-shadow:inset 0 0 0 2px var(--apex-brand-dark)}.config-select select{width:100%;height:44px;padding:0 12px;border:1px solid #333;border-radius:7px;background:transparent}.config-swatches{display:flex;flex-wrap:wrap;gap:13px}.config-swatches label{width:42px;text-align:center;cursor:pointer}.config-swatches span{display:block;width:30px;height:30px;margin:auto;border:1px solid #ccc;border-radius:4px;background:var(--swatch,#fff)}.config-swatches input:checked+span{outline:2px solid var(--apex-brand-dark);outline-offset:2px}.config-swatches small{display:block;margin-top:6px;font-size:9px;line-height:1.05}.config-options label{width:auto}.config-options span{width:auto;height:auto;padding:8px 9px;background:transparent;font-size:11px}.config-embroider{display:flex;gap:12px}.config-embroider label{padding:9px;border:1px solid #333;border-radius:6px;font-size:11px}.config-upload input{width:100%;margin-top:8px}.config-upload>span{display:block;margin-top:8px;padding:14px;border:1px solid #333;border-radius:6px;font-weight:700}.config-upload small{display:block;font-weight:400}.config-preview{display:flex;min-height:920px;flex-direction:column;justify-content:center;text-align:center}.config-preview>img{width:100%;height:680px;object-fit:contain}.config-thumbs{display:flex;gap:8px;justify-content:center}.config-thumbs button{width:64px;height:72px;padding:4px;border:1px solid #d3ddd0;border-radius:6px;background:transparent}.config-thumbs img{width:100%;height:100%;object-fit:contain}.config-preview p{margin-top:18px;font-size:11px}.config-summary dl{margin:0}.config-summary dl div{display:flex;justify-content:space-between;padding:4px 8px;border-bottom:1px solid #777;font-size:12px}.config-summary dd{margin:0;text-align:right}.config-summary table{width:100%;border-collapse:collapse;font-size:11px}.config-summary th,.config-summary td{padding:6px 3px;border-bottom:1px solid #888;text-align:right}.config-summary th:first-child,.config-summary td:first-child{text-align:left}.config-summary input{width:62px}.config-total-row,.config-grand{display:flex;justify-content:space-between;margin:12px 0;font-size:18px}.config-validation{padding:9px 12px;border:1px solid var(--apex-brand-dark);border-radius:8px;background:#d9efb7;color:var(--apex-brand-dark);font-size:12px}.config-grand{padding-top:10px;border-top:1px solid #555;color:var(--apex-brand-dark);font-size:21px}.config-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.config-actions .apex-button{padding-inline:8px}
@media(max-width:1180px){.config-grid{grid-template-columns:330px minmax(0,1fr) 330px}.config-moq{grid-template-columns:330px auto 1fr}.config-preview>img{height:520px}.sustain-feature__grid,.sustain-intro__grid{gap:50px}.process-products img{height:350px}}

/* Product configurator - FA1 desktop fidelity. */
.apex-configurator .config-main{padding-block:88px 76px}.apex-configurator .config-moq{grid-template-columns:380px auto 18px 1fr;height:76px;font-size:18px}.apex-configurator .config-moq h1{padding-inline:30px;font-size:28px;letter-spacing:-.02em}.apex-configurator .config-moq b{padding-left:44px;font-size:28px;line-height:1;white-space:nowrap}.apex-configurator .config-moq>span{color:var(--apex-text);font-size:18px;text-align:center}.apex-configurator .config-moq p{margin:0;font-size:18px;white-space:nowrap}.apex-configurator .config-grid{grid-template-columns:380px minmax(0,1fr) 360px;gap:20px;margin-top:30px;align-items:stretch}.apex-configurator .config-panel{min-height:854px;padding:22px;border-radius:7px;background:#f4faef}.apex-configurator .config-panel h2{margin:0 0 18px;font-size:20px;line-height:1.1}.apex-configurator .config-controls fieldset{margin:0 0 22px}.apex-configurator .config-controls legend,.apex-configurator .config-select>b,.apex-configurator .config-upload>b{margin-bottom:10px;font-size:17px;line-height:1.15}.apex-configurator .config-select{display:block;margin:0 0 23px}.apex-configurator .config-select select{height:42px;padding-inline:13px 38px;border-color:#2f2f2f;border-radius:6px;color:#202020;background-color:transparent;font-size:15px}
.apex-configurator .config-products{gap:8px}.apex-configurator .config-products span{position:relative;display:flex;min-height:126px;padding:8px 4px 7px;flex-direction:column;justify-content:flex-start;border-color:#262626;border-radius:8px}.apex-configurator .config-products img{width:72px;height:78px;margin:0 auto 4px;object-fit:contain}.apex-configurator .config-products b{display:flex;min-height:27px;align-items:center;justify-content:center;font-size:12px;line-height:1.05;text-wrap:balance}.apex-configurator .config-products input:checked+span{box-shadow:none}.apex-configurator .config-products input:checked+span:before{position:absolute;z-index:0;inset:-2px;border:2px solid var(--apex-brand-dark);border-radius:10px;content:'';pointer-events:none}.apex-configurator .config-products input:checked+span:after{z-index:1;top:6px;right:6px;width:18px;height:18px;font-size:11px}
.apex-configurator .config-swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px 4px}.apex-configurator .config-swatches label{width:auto;min-width:0}.apex-configurator .config-swatches span{width:28px;height:28px;border-color:#d4d4d4;border-radius:3px}.apex-configurator .config-swatches input:checked+span{outline-width:2px;outline-offset:2px}.apex-configurator .config-swatches small{min-height:20px;margin-top:5px;font-size:9px;line-height:1.02;text-wrap:balance}.apex-configurator .config-fieldset-base-color,.apex-configurator .config-fieldset-trim{margin-bottom:23px}.apex-configurator .config-fieldset-trim-color{margin-bottom:22px}.apex-configurator .config-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.apex-configurator .config-options label{min-width:0}.apex-configurator .config-options span{display:flex;width:100%;min-height:48px;padding:5px 4px;align-items:center;justify-content:center;gap:4px;border:1px solid #363636;border-radius:6px;cursor:pointer}.apex-configurator .config-options input:checked+span{outline:2px solid var(--apex-brand-dark);outline-offset:2px}.apex-configurator .config-options img{width:16px;height:17px;flex:0 0 16px;object-fit:contain}.apex-configurator .config-options small{margin:0;font-size:9px;line-height:1.05;text-align:center;text-wrap:balance}
.apex-configurator .config-embroider{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.apex-configurator .config-embroider label{display:flex;min-height:44px;padding:6px 10px;align-items:center;justify-content:center;gap:6px;border-color:#363636;font-size:10px;cursor:pointer}.apex-configurator .config-embroider input{position:absolute;opacity:0}.apex-configurator .config-embroider label>span{display:grid;width:17px;height:17px;flex:0 0 17px;place-items:center;border:1px solid #313131;border-radius:50%;font-size:12px;line-height:1}.apex-configurator .config-embroider input:checked+span{color:#fff;background:var(--apex-brand-dark)}.apex-configurator .config-embroider-mark{color:#aa7c18;border-color:#aa7c18!important;font-family:Georgia,serif;font-weight:700}.apex-configurator .config-upload{margin-top:2px}.apex-configurator .config-upload>b{margin-bottom:3px}.apex-configurator .config-upload>b small{display:inline;font-size:13px}.apex-configurator .config-upload>em{display:block;margin-bottom:8px;font-size:9px;font-style:normal;line-height:1.25}.apex-configurator .config-upload input{bottom:0;height:58px}.apex-configurator .config-upload-box{display:grid;min-height:58px;margin:0;padding:6px 8px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;border:1px solid #333;border-radius:6px}.apex-configurator .config-upload-box>i{font-size:20px;font-style:normal;text-align:center}.apex-configurator .config-upload-box strong{display:block;font-size:11px;line-height:1.1}.apex-configurator .config-upload-box small{margin-top:3px;font-size:8px;line-height:1.1}.apex-configurator .config-upload-preview{width:54px;height:44px;border-left:1px solid #777;background-position:center;background-repeat:no-repeat;background-size:contain}.apex-configurator .config-upload-preview[hidden]{display:none}
.apex-configurator .config-preview{display:flex;min-height:854px;padding:8px;flex-direction:column;justify-content:flex-end;text-align:center}.apex-configurator .config-preview-stage{display:grid;min-height:684px;place-items:center}.apex-configurator .config-preview-stage img{width:100%;height:570px;object-fit:contain}.apex-configurator .config-thumbs{display:grid;width:100%;padding-inline:2px;grid-template-columns:repeat(5,1fr);gap:8px}.apex-configurator .config-thumbs button{position:relative;width:100%;height:68px;padding:3px;border-color:#d5dfd2;background:transparent;cursor:pointer}.apex-configurator .config-thumbs button.is-active{border-color:#333}.apex-configurator .config-thumbs img{width:100%;height:100%;object-fit:contain}.apex-configurator .config-preview p{min-height:30px;margin:12px 0 0;font-size:9px;line-height:1.25;text-align:left}
.apex-configurator .config-summary{min-height:854px;padding:22px 18px}.apex-configurator .config-summary-list,.apex-configurator .config-price-list{margin:0}.apex-configurator .config-summary-list div{min-height:27px;padding:4px 6px;align-items:center;font-size:11px;line-height:1.15}.apex-configurator .config-summary-list dd{display:flex;align-items:center;justify-content:flex-end;gap:6px}.apex-configurator .config-summary-list dd i{display:inline-block;width:18px;height:18px;border:1px solid #999;border-radius:2px;background:var(--summary-swatch,transparent)}.apex-configurator .config-size-heading{margin:27px 0 7px!important;padding:0;font-size:20px}.apex-configurator .config-size-note{margin:0 0 12px;font-size:10px;line-height:1.2}.apex-configurator .config-size-scroll{max-height:245px;padding-right:3px;overflow-y:auto;scrollbar-color:var(--apex-brand-dark) transparent;scrollbar-width:thin}.apex-configurator .config-summary table{table-layout:fixed;font-size:10px}.apex-configurator .config-summary th{padding:5px 3px 7px;font-weight:700}.apex-configurator .config-summary td{height:32px;padding:4px 3px}.apex-configurator .config-summary th:nth-child(1){width:21%}.apex-configurator .config-summary th:nth-child(2){width:28%}.apex-configurator .config-summary th:nth-child(3){width:23%}.apex-configurator .config-summary th:nth-child(4){width:28%}.apex-configurator .config-remove-size{width:16px;height:16px;margin-left:5px;font-size:12px;line-height:16px;vertical-align:middle}.apex-configurator .config-quantity{display:grid;width:67px;height:23px;margin-left:auto;grid-template-columns:19px 29px 19px;border:1px solid #747474;border-radius:4px;overflow:hidden}.apex-configurator .config-quantity button{padding:0;border:0;color:#1f1f1f;background:transparent;font-size:13px;line-height:21px;cursor:pointer}.apex-configurator .config-quantity input{width:29px;height:21px;padding:0;border:0;background:transparent;font-size:10px;text-align:center;appearance:textfield}.apex-configurator .config-quantity input::-webkit-inner-spin-button,.apex-configurator .config-quantity input::-webkit-outer-spin-button{margin:0;appearance:none}.apex-configurator .config-restore-size{margin-top:8px}.apex-configurator .config-total-row{margin:11px 0 10px;font-size:18px;line-height:1.1}.apex-configurator .config-validation{min-height:52px;padding:8px 11px;border-radius:8px;white-space:normal;font-size:10px;line-height:1.3}.apex-configurator .config-validation.is-valid{padding-left:38px;background-image:radial-gradient(circle at 18px 16px,var(--apex-brand-dark) 0 8px,transparent 8.5px)}.apex-configurator .config-summary .config-validation+h2{margin:19px 0 8px}.apex-configurator .config-price-list div{padding:4px 5px;font-size:10px}.apex-configurator .config-grand{margin:8px 0 0;padding:9px 5px 0;font-size:20px;line-height:1.1}.apex-configurator .config-tax-note{display:block;margin-top:8px;font-size:9px;text-align:right}.apex-configurator .config-actions{gap:9px;margin-top:14px}.apex-configurator .config-actions .apex-button{min-height:42px;padding:8px 6px;border-radius:5px;font-size:13px}
@media(max-width:1180px){.apex-configurator .config-grid{grid-template-columns:minmax(292px,.95fr) minmax(300px,1fr) minmax(292px,.95fr);gap:14px}.apex-configurator .config-moq{grid-template-columns:330px auto 14px 1fr}.apex-configurator .config-moq b{padding-left:28px}.apex-configurator .config-panel{padding-inline:16px}}
@media(max-width:960px){.apex-configurator .config-moq{grid-template-columns:1fr;height:auto;text-align:center}.apex-configurator .config-moq h1,.apex-configurator .config-moq b,.apex-configurator .config-moq p{padding:12px 18px}.apex-configurator .config-moq>span{display:none}.apex-configurator .config-grid{grid-template-columns:1fr 1fr}.apex-configurator .config-summary{grid-column:1/-1}}

.apex-configurator .config-logo-colors[hidden]{display:none}.apex-configurator .config-logo-colors{max-width:190px;margin-top:-8px}.apex-configurator .config-options{display:flex;flex-wrap:wrap;gap:7px}.apex-configurator .config-options label{max-width:100%}.apex-configurator .config-options span{max-width:100%;min-height:42px;line-height:1.15}.apex-configurator .config-options small{white-space:normal}

/* Configurator fidelity and interaction states. */
.config-products label{position:relative}.config-products input:checked+span:after{position:absolute;top:7px;right:7px;display:grid;width:17px;height:17px;border-radius:50%;content:'✓';place-items:center;color:#fff;background:#222;font-size:10px}.config-upload{position:relative;display:block}.config-upload input{position:absolute;right:0;bottom:0;left:0;width:100%;height:62px;margin:0;opacity:0;cursor:pointer}.config-upload>span{min-height:62px}.config-more-sizes{margin:8px 0 0;padding:0;border:0;color:var(--apex-brand-dark);background:transparent;font-weight:700;cursor:pointer}.config-summary tr[hidden]{display:none}

.apex-configurator .config-validation{white-space:pre-line}

/* Shared product-quality details. */
.apex-product-details{color:var(--apex-text);border-top:1px solid #dfe7dc;background:#f4f7ef}
.apex-product-details__header{display:flex;margin-bottom:36px;align-items:flex-end;justify-content:space-between;gap:24px}
.apex-product-details__header h2{margin:0;color:var(--apex-brand-dark);font-size:clamp(34px,3.2vw,48px)}
.apex-product-details__cta{flex:0 0 auto;min-width:190px}
.apex-product-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.apex-product-details__card{position:relative;padding:36px 32px 32px;overflow:hidden;border:1px solid #d9e3d5;border-radius:16px;background:#fff;box-shadow:0 16px 36px rgba(21,79,54,.08)}
.apex-product-details__card::before{position:absolute;top:0;right:32px;left:32px;height:4px;border-radius:0 0 4px 4px;background:var(--apex-brand-bright);content:''}
.apex-product-details__card h3{margin:0 0 26px;color:var(--apex-brand-dark);font-size:23px;line-height:1.25}
.apex-product-details__block+.apex-product-details__block{margin-top:22px;padding-top:22px;border-top:1px solid #e3eae0}
.apex-product-details__block h4{margin:0 0 10px;color:var(--apex-brand-dark);font-size:16px;letter-spacing:.02em;text-transform:uppercase}
.apex-product-details__block ul{margin:0;padding-left:20px;color:#38483f}
.apex-product-details__block li{margin:7px 0;line-height:1.5}
.apex-product-details__block li::marker{color:var(--apex-brand-muted)}

/* Multiple trim positions and uploaded-logo preview. */
.apex-configurator .config-options input:checked+span{color:#fff;background:var(--apex-brand-dark)}
.apex-configurator .config-options input:checked+span i{filter:invert(1)}
.apex-configurator .config-preview-stage{position:relative;background:transparent}
.apex-configurator .config-preview-stage canvas[data-preview-canvas]{display:block;width:100%;height:500px;object-fit:contain}
.apex-configurator .config-preview-stage [data-preview-stripes]{position:absolute;inset:0;z-index:2;display:block;width:100%;height:500px;pointer-events:none}
.apex-configurator .config-preview-stage [data-preview-stripes]>svg{display:block;width:100%;height:100%}
.apex-configurator .config-preview-stage img[data-preview-logo]{z-index:3}
.apex-configurator .config-fieldset-stripe-count .config-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.apex-configurator .config-fieldset-trim-color legend small{font-size:.72em;font-weight:400}
.apex-configurator [hidden]{display:none!important}
.apex-configurator .config-preview-stage img[data-preview]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.apex-configurator .config-preview-stage img[data-preview-logo]{position:absolute;z-index:2;top:31%;left:55%;width:clamp(30px,4vw,54px);height:clamp(30px,4vw,54px);object-fit:contain;filter:none}
.apex-configurator .config-preview-stage img[data-preview-logo][hidden]{display:none}

/* Compact desktop configurator. */
.apex-configurator .config-summary .config-size-scroll{max-height:230px}.apex-configurator .config-options .config-option-custom>i{display:block;width:14px;height:2px;flex:0 0 14px;border-radius:2px;background:#222;transform:rotate(-45deg)}.apex-configurator .config-options .config-option-custom>i:before{display:none}.apex-configurator .config-options .config-option-custom>i:after{top:-1px;right:-3px}
.apex-configurator .config-size-scroll{max-height:224px}
.apex-configurator .config-panel{height:854px;min-height:854px}.apex-configurator .config-size-scroll{max-height:210px}.apex-configurator .config-option-custom>i{width:14px;height:2px;flex-basis:14px;border-radius:2px;background:#222;transform:rotate(-45deg)}.apex-configurator .config-option-custom>i:after{right:-3px;top:-1px}.apex-configurator .config-option-custom>i:before{display:none}
.apex-configurator .config-products span{min-height:105px;padding-top:5px}.apex-configurator .config-products img{height:59px;margin-bottom:3px}.apex-configurator .config-controls fieldset{margin-bottom:18px}.apex-configurator .config-select{margin-bottom:19px}.apex-configurator .config-options input{position:absolute;opacity:0}.apex-configurator .config-options span{position:relative}.apex-configurator .config-options span>i{display:block;width:16px;height:16px;flex:0 0 16px}.apex-configurator .config-option-neck i:before,.apex-configurator .config-option-neck-hem i:before{display:block;width:15px;height:9px;margin-top:3px;border-top:1.5px solid #222;border-bottom:1.5px solid #222;content:''}.apex-configurator .config-option-neck-hem i:after{display:block;width:15px;margin-top:-5px;border-top:1.5px solid #222;content:''}.apex-configurator .config-option-custom i{position:relative;width:13px;height:3px;margin-right:2px;background:#222;transform:rotate(-45deg)}.apex-configurator .config-option-custom i:after{position:absolute;right:-3px;border-width:1.5px 0 1.5px 3px;border-style:solid;border-color:transparent transparent transparent #222;content:''}.apex-configurator .config-upload-box>i img{width:16px;height:17px;margin:auto;object-fit:contain}.apex-configurator .config-preview{justify-content:flex-start}.apex-configurator .config-preview-stage{min-height:540px}.apex-configurator .config-preview-stage img{height:500px}.apex-configurator .config-validation.is-valid{background-image:var(--success-icon);background-position:12px 10px;background-repeat:no-repeat;background-size:17px 17px}.apex-configurator .config-validation{white-space:pre-line}
.config-panel{padding:18px}.config-panel h2{margin:0 0 13px;line-height:1.15}.config-controls fieldset{margin:14px 0}.config-controls legend,.config-select>b,.config-upload>b{margin-bottom:7px;font-size:15px}.config-select{display:block;margin:14px 0}.config-select select{height:38px}.config-products{gap:8px}.config-products span{grid-template-rows:58px auto;min-height:104px;padding:5px 4px}.config-products img{width:72px;height:58px}.config-products b{font-size:11px}.config-swatches:not(.config-options){display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px 2px}.config-swatches:not(.config-options) label{width:auto;min-width:0}.config-swatches span{width:25px;height:25px}.config-swatches small{margin-top:4px;font-size:8px}.config-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.config-options label{width:auto;min-width:0}.config-options span{display:grid;width:100%;min-height:36px;padding:5px 3px;place-items:center;font-size:9px;line-height:1.05}.config-embroider{gap:7px}.config-embroider label{flex:1;padding:7px 5px;font-size:10px}.config-upload>span{min-height:52px;margin-top:5px;padding:9px 11px;font-size:12px}.config-upload input{height:52px}.config-upload small{font-size:9px}.config-preview{min-height:710px}.config-preview>img{height:520px}.config-thumbs button{width:55px;height:61px}.config-preview p{margin-top:12px}.config-summary>h2:not(:first-child){margin-top:18px}.config-summary dl div{padding:3px 5px;font-size:11px}.config-size-heading{padding-top:2px}.config-size-note{margin:0 0 8px;font-size:10px}.config-size-scroll{max-height:250px;overflow-y:auto;padding-right:3px;scrollbar-width:thin}.config-summary table{font-size:10px}.config-summary th,.config-summary td{padding:4px 2px}.config-summary td:first-child{white-space:nowrap}.config-summary input{width:52px;height:23px}.config-remove-size{width:17px;height:17px;margin-left:5px;padding:0;border:0;border-radius:50%;color:#fff;background:var(--apex-brand-dark);font-size:13px;line-height:17px;cursor:pointer}.config-restore-size{display:flex;gap:6px;margin-top:7px}.config-restore-size[hidden]{display:none}.config-restore-size select,.config-restore-size button{height:28px;border:1px solid var(--apex-brand-dark);border-radius:4px;background:transparent;font-size:10px}.config-total-row,.config-grand{margin:10px 0}.config-validation{padding:7px 8px;white-space:nowrap;font-size:10px}.config-summary .config-validation+h2{margin-top:15px}.config-actions{margin-top:14px}
