.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(190,201,190,.9); box-shadow: 0 8px 30px rgba(0,47,26,.06); backdrop-filter: blur(14px); }
.cf-global-header { transition: box-shadow .24s ease, background .24s ease; }
.header-shell { height: 80px; display: flex; align-items: center; gap: 28px; transition: height .24s ease; }
.site-logo { position: relative; flex: 0 0 220px; width: 220px; max-width: 220px; height: 68px; display: flex; align-items: center; }
.site-logo-img, .cf-logo-img { display: block; object-fit: contain; object-position: left center; transition: opacity .32s ease, transform .32s ease; }
.cf-logo-full { width: 220px; max-width: 220px; max-height: 52px; opacity: 1; }
.cf-logo-icon { position: absolute; left: 0; top: 50%; width: 220px; max-width: 220px; max-height: 64px; transform: translateY(-50%); opacity: 0; pointer-events: none; }
.primary-nav { flex: 1; }
.primary-menu { display: flex; justify-content: center; gap: 6px; padding: 0; margin: 0; list-style: none; }
.primary-menu li { position: relative; }
.primary-menu a { position: relative; display: block; padding: 30px 11px; color: #3f4940; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; transition: color .2s ease; }
.primary-menu > li > a:hover { color: var(--cf-primary); }
.primary-menu .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 260px; padding: 10px; margin: 0; list-style: none; background: #fff; border: 1px solid var(--cf-line); box-shadow: 0 18px 50px rgba(0,0,0,.12); border-radius: 0 0 4px 4px; }
.primary-menu li:hover > .sub-menu { display: block; }
.primary-menu .sub-menu .sub-menu { left: calc(100% - 8px); top: -10px; border-radius: 4px; }
.primary-menu .sub-menu li.menu-item-has-children > a { padding-right: 34px; }
.primary-menu .sub-menu li.menu-item-has-children > a::after { content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; color: var(--cf-primary); transform: translateY(-50%) rotate(45deg); }
.primary-menu .sub-menu a { padding: 12px 14px; font-size: 13px; letter-spacing: .02em; text-transform: none; border-radius: 4px; }
.primary-menu .sub-menu a:hover { background: #f1f5f2; color: var(--cf-primary); }
.nav-toggle { display: none; }
.cf-header-tools { display: flex; align-items: center; gap: 12px; }
.cf-search-toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--cf-line); border-radius: 50%; background: #fff; color: var(--cf-deep); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.cf-search-toggle:hover, .cf-search-toggle[aria-expanded="true"] { background: var(--cf-primary); border-color: var(--cf-primary); color: #fff; }
.cf-search-toggle:focus { outline: none; }
.cf-search-toggle:focus-visible { outline: none; border-color: var(--cf-primary); box-shadow: 0 0 0 3px rgba(0,105,55,.14); }
.cf-search-toggle .cf-icon { width: 20px; height: 20px; }
body.cf-search-open { overflow: hidden; }
body.cf-search-open .site-header { z-index: 200; transform: none !important; backdrop-filter: none !important; }
.cf-header-search { position: fixed; inset: 0; z-index: 1000; overflow: hidden; visibility: hidden; opacity: 0; pointer-events: none; background: linear-gradient(132deg, #12282b 0%, #18383a 48%, #0b4936 100%); color: #fff; transition: opacity .32s ease, visibility .32s ease; }
.cf-header-search::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .34; background: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px); background-size: 72px 72px; }
.cf-header-search::after { content: ""; position: absolute; right: -12vw; bottom: -34vw; width: 76vw; height: 76vw; border: 1px solid rgba(225,193,95,.18); border-radius: 50%; box-shadow: 0 0 0 12vw rgba(225,193,95,.025), 0 0 0 24vw rgba(225,193,95,.018); pointer-events: none; }
.cf-header-search.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.cf-header-search-shell { position: relative; z-index: 2; height: 100%; min-height: 100svh; display: flex; align-items: center; justify-content: center; padding-top: 88px; padding-bottom: 72px; }
.cf-header-search-content { width: min(100%, 1040px); transform: translateY(24px); opacity: 0; transition: transform .42s ease .08s, opacity .42s ease .08s; }
.cf-header-search.is-open .cf-header-search-content { transform: translateY(0); opacity: 1; }
.cf-header-search-kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; color: #e1c15f; font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.cf-header-search-kicker::before { content: ""; width: 42px; height: 1px; background: currentColor; }
.cf-header-search-content h2 { max-width: 900px; margin: 0 0 20px; color: #fff; font-size: clamp(48px, 6.2vw, 86px); line-height: .98; letter-spacing: -.035em; }
.cf-header-search-intro { max-width: 710px; margin: 0 0 46px; color: rgba(238,244,243,.68); font-size: 18px; line-height: 1.7; }
.cf-header-search-form { width: 100%; }
.cf-header-search-field { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 12px 12px 12px 26px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.98); box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.cf-header-search-field > .cf-icon { width: 28px; height: 28px; color: #9b7721; }
.cf-header-search-field input { width: 100%; min-width: 0; height: 74px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #26363b; font-size: clamp(20px, 2.1vw, 30px); line-height: 1.25; outline: 0; box-shadow: none; }
.cf-header-search-field input::placeholder { color: #859195; opacity: 1; }
.cf-header-search-field button[type="submit"] { min-height: 62px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 28px; border: 0; border-radius: 0; background: #006937; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.cf-header-search-field button[type="submit"]:hover { background: #095540; transform: translateX(-2px); }
.cf-header-search-field button[type="submit"] .cf-icon { width: 18px; height: 18px; }
.cf-header-search-hints { margin: 18px 0 0; color: rgba(238,244,243,.58); font-size: 13px; line-height: 1.7; }
.cf-header-search-hints span { margin-right: 18px; color: #e1c15f; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }
.cf-search-close { position: absolute; top: 32px; right: 0; min-width: 108px; height: 48px; display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.78); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }
.cf-search-close:hover { color: #e1c15f; }
.cf-search-close .cf-icon { width: 25px; height: 25px; }
.cf-search-close:focus-visible, .cf-header-search-field input:focus-visible, .cf-header-search-field button:focus-visible { outline: 2px solid #e1c15f; outline-offset: 4px; }
@media (max-width: 720px) {
  .cf-header-search-shell { align-items: flex-start; padding-top: 128px; padding-bottom: 40px; }
  .cf-header-search-content h2 { font-size: clamp(42px, 13vw, 62px); }
  .cf-header-search-intro { margin-bottom: 34px; font-size: 16px; }
  .cf-header-search-field { grid-template-columns: 26px minmax(0, 1fr); gap: 12px; padding: 12px 14px; }
  .cf-header-search-field > .cf-icon { width: 22px; height: 22px; }
  .cf-header-search-field input { height: 60px; font-size: 18px; }
  .cf-header-search-field button[type="submit"] { grid-column: 1 / -1; min-height: 54px; width: 100%; }
  .cf-header-search-hints { font-size: 12px; }
  .cf-header-search-hints span { display: block; margin: 0 0 5px; }
  .cf-search-close { top: 24px; right: 20px; }
}
.site-main { min-height: 60vh; }
body.home .site-header { position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: transparent; box-shadow: none; backdrop-filter: none; transition: background .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease; }
body.home.admin-bar .site-header { top: 32px; }
body.home:not(.cf-header-scrolled):not(.nav-open) .cf-logo-full { opacity: 0; pointer-events: none; }
body.home:not(.cf-header-scrolled):not(.nav-open) .cf-logo-icon { opacity: 1; }
body.home .primary-menu > li > a { color: rgba(255,255,255,.92); text-shadow: 0 1px 18px rgba(0,0,0,.22); }
body.home .primary-menu > li > a:hover { color: var(--cf-lime); }
body.home .nav-toggle { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
body.home:not(.cf-header-scrolled):not(.nav-open) .cf-search-toggle { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
body.home.cf-header-scrolled .site-header,
body.home.nav-open .site-header { background: rgba(255,255,255,.96); border-bottom-color: rgba(190,201,190,.9); box-shadow: 0 8px 30px rgba(0,47,26,.06); backdrop-filter: blur(14px); }
body.cf-header-scrolled .header-shell { height: 72px; }
body.home.cf-header-scrolled .primary-menu > li > a,
body.home.nav-open .primary-menu > li > a { color: #3f4940; text-shadow: none; }
body.home.cf-header-scrolled .primary-menu > li > a:hover,
body.home.nav-open .primary-menu > li > a:hover { color: var(--cf-primary); }
.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-parent > a,
.primary-menu > li.current-menu-ancestor > a,
.primary-menu > li.cf-menu-current-section > a { color: var(--cf-primary); }
.primary-menu > li.current-menu-item > a::after,
.primary-menu > li.current-menu-parent > a::after,
.primary-menu > li.current-menu-ancestor > a::after,
.primary-menu > li.cf-menu-current-section > a::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 19px; height: 2px; background: currentColor; }
.primary-menu .sub-menu li.current-menu-item > a,
.primary-menu .sub-menu li.current-menu-parent > a,
.primary-menu .sub-menu li.current-menu-ancestor > a { background: #eef7f1; color: var(--cf-primary); }
body.home:not(.cf-header-scrolled):not(.nav-open) .primary-menu > li.current-menu-item > a,
body.home:not(.cf-header-scrolled):not(.nav-open) .primary-menu > li.cf-menu-current-section > a { color: var(--cf-lime); }
body.home.cf-header-scrolled .primary-menu > li.current-menu-item > a,
body.home.cf-header-scrolled .primary-menu > li.cf-menu-current-section > a,
body.home.nav-open .primary-menu > li.current-menu-item > a,
body.home.nav-open .primary-menu > li.cf-menu-current-section > a { color: var(--cf-primary); }
body.home.cf-header-scrolled .nav-toggle,
body.home.nav-open .nav-toggle { background: #fff; border-color: var(--cf-line); color: var(--cf-primary); }
.hero { min-height: 640px; position: relative; display: flex; align-items: center; color: #fff; overflow: hidden; }
.page-hero { min-height: 440px; }
.hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,31,25,.78), rgba(4,31,25,.26)); }
.hero-content { position: relative; z-index: 2; max-width: 900px; margin-left: max(20px, calc((100vw - var(--cf-shell))/2)); }
.hero-content p { max-width: 660px; font-size: 19px; }
.section, .cf-section { padding: 112px 0; }
.section-muted { background: rgb(245 245 245 / 1); }
.section-heading { margin-bottom: 34px; }
.split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; align-items: center; }
.image-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: end; }
.image-pair img { border-radius: 4px; aspect-ratio: 4 / 3; object-fit: cover; }
.card-grid { display: grid; gap: 24px; }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.content-shell { max-width: 980px; }
.archive-layout { display: grid; grid-template-columns: 260px 1fr; gap: 48px; align-items: start; }
.product-hero-grid, .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.site-footer { background: #2f3033; color: #fff; padding: 74px 0 42px; }
.cf-global-footer-cta { padding: 56px 0; background: linear-gradient(135deg, #00351e, #006937); color: #fff; }
.cf-global-footer-cta .site-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; }
.cf-global-footer-cta .eyebrow { color: var(--cf-lime); }
.cf-global-footer-cta h2 { max-width: 900px; color: #fff; font-size: 38px; margin-bottom: 12px; }
.cf-global-footer-cta p:not(.eyebrow) { max-width: 820px; margin: 0; color: rgba(255,255,255,.76); }
.cf-global-footer-cta button { min-height: 54px; padding: 0 28px; border: 1px solid rgba(255,255,255,.72); border-radius: 4px; background: #fff; color: var(--cf-deep); font-weight: 900; cursor: pointer; }
.cf-conversion-rail { position: fixed; right: 18px; top: 50%; z-index: 80; display: grid; gap: 8px; transform: translateY(-50%); }
.cf-conversion-rail a, .cf-conversion-rail button { width: 56px; min-height: 56px; padding: 0; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,105,55,.2); border-radius: 4px; background: rgba(255,255,255,.97); color: var(--cf-deep); box-shadow: 0 12px 32px rgba(0,47,26,.14); cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease; }
.cf-conversion-rail a:hover, .cf-conversion-rail button:hover { transform: translateX(-4px); background: var(--cf-primary); color: #fff; }
.cf-conversion-rail .cf-conversion-whatsapp { background: var(--cf-primary); color: #fff; }
.cf-conversion-rail .cf-icon { width: 25px; height: 25px; stroke-width: 1.9; }
.footer-grid { display: grid; grid-template-columns: minmax(300px, 1.25fr) minmax(140px, .6fr) minmax(210px, .86fr) minmax(300px, 1.24fr); gap: 42px; align-items: start; }
.footer-logo, .cf-footer-logo { width: 236px; max-height: 64px; object-fit: contain; object-position: left center; margin-bottom: 24px; background: transparent; }
.footer-brand p { color: rgba(226,226,229,.74); max-width: 390px; font-size: 14px; line-height: 1.72; margin-bottom: 24px; }
.site-footer h6 { color: #fff; font-size: var(--cf-title-h6); line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 22px; font-weight: 600; }
.footer-menu { list-style: none; padding: 0; margin: 0; }
.footer-menu a, .social-links a { display: block; width: fit-content; color: rgba(226,226,229,.7); margin-bottom: 10px; font-size: 13px; line-height: 1.42; transition: color .2s ease, transform .2s ease; }
.footer-menu a:hover, .social-links a:hover { color: var(--cf-lime); transform: translateX(2px); }
.cf-footer-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.cf-footer-socials a { width: 46px; height: 46px; padding: 0; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.9); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.cf-footer-socials a:hover { background: var(--cf-primary); border-color: var(--cf-primary); color: #fff; transform: translateY(-2px); }
.cf-footer-contact-list { display: grid; gap: 15px; }
.cf-footer-contact-list p { display: grid; grid-template-columns: 24px 1fr; gap: 11px; align-items: start; color: rgba(226,226,229,.76); font-size: 13px; line-height: 1.62; margin: 0; }
.cf-footer-contact-list a { color: rgba(226,226,229,.86); transition: color .2s ease; }
.cf-footer-contact-list a:hover { color: var(--cf-lime); }
.cf-icon { width: 24px; height: 24px; display: inline-block; flex: 0 0 auto; vertical-align: middle; color: currentColor; }
.cf-social-icon { width: 19px; height: 19px; display: block; }
.cf-footer-contact-list .cf-icon { color: var(--cf-lime); width: 21px; height: 21px; margin-top: 2px; }
.cf-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 60px; padding-top: 26px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: rgba(226,226,229,.52); font-size: 12px; }
.cf-footer-bottom p { margin: 0; }
.cf-footer-bottom div { display: flex; gap: 26px; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }
.cf-footer-bottom a:hover { color: #fff; }
.cf-page-hero { min-height: 520px; display: flex; align-items: flex-end; color: #fff; background-size: cover; background-position: center; padding: 112px 0 88px; }
.cf-page-hero h1 { max-width: 900px; color: #fff; font-size: var(--cf-title-h1); line-height: 1.04; margin-bottom: 24px; text-shadow: 0 4px 24px rgba(0,0,0,.26); }
.cf-page-hero p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.86); font-size: 19px; line-height: 1.75; }
.cf-page-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: -58px; position: relative; z-index: 2; }
.cf-page-stats article { background: #fff; border: 1px solid rgba(190,201,190,.8); padding: 28px; min-height: 220px; box-shadow: 0 18px 44px rgba(0,69,55,.08); }
.cf-page-stats strong { display: block; color: var(--cf-primary); font-size: 34px; line-height: 1.05; margin-bottom: 18px; font-weight: 900; }
.cf-page-stats h3 { color: var(--cf-deep); font-size: 20px; margin-bottom: 10px; }
.cf-page-stats p { color: var(--cf-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.cf-about-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 76px; align-items: start; }
.cf-about-layout aside { position: sticky; top: 108px; padding: 34px; background: #f5f5f5; border-left: 4px solid var(--cf-primary); }
.cf-about-layout aside h2 { color: var(--cf-deep); font-size: var(--cf-title-h2-compact); line-height: 1.12; }
.cf-about-layout aside p { color: var(--cf-muted); margin: 0; }
.cf-about-layout section { padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid var(--cf-line); }
.cf-about-layout section:last-child { margin-bottom: 0; }
.cf-about-layout h3 { color: var(--cf-deep); font-size: 31px; margin-bottom: 14px; }
.cf-about-layout section p { color: #3f4940; font-size: 17px; line-height: 1.75; margin: 0; }
.cf-nav-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-nav-cards a { display: block; padding: 30px; background: #fff; border: 1px solid rgba(190,201,190,.8); min-height: 210px; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.cf-nav-cards a:hover { border-color: var(--cf-primary); transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,69,55,.08); }
.cf-nav-cards h3 { color: var(--cf-deep); font-size: 24px; }
.cf-nav-cards p { color: var(--cf-muted); }
.cf-nav-cards span { color: var(--cf-primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.cf-section-title { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .7fr); gap: 60px; align-items: end; margin-bottom: 38px; }
.cf-section-title .eyebrow { grid-column: 1 / -1; margin-bottom: -34px; }
.cf-section-title h2 { color: #002f1a; font-size: var(--cf-title-h2); margin: 0; }
.cf-section-title p:not(.eyebrow) { color: var(--cf-muted); line-height: 1.75; margin: 0; }
.cf-gallery-grid { display: grid; grid-template-columns: 1.24fr .76fr; gap: 22px; }
.cf-gallery-grid figure { position: relative; min-height: 300px; margin: 0; overflow: hidden; background: #e7ece8; border: 1px solid var(--cf-line); }
.cf-gallery-grid figure.large { grid-row: span 2; min-height: 630px; }
.cf-gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.cf-gallery-grid figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 4px;
  background: linear-gradient(135deg, #00351e, var(--cf-green) 58%, #006937);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .07em;
  box-shadow: 0 18px 42px rgba(0,47,26,.28);
}
.cf-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cf-process-grid article { background: #fff; border: 1px solid rgba(190,201,190,.8); padding: 26px; min-height: 245px; }
.cf-process-grid span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; background: var(--cf-primary); color: #fff; font-weight: 900; margin-bottom: 20px; }
.cf-process-grid h3 { color: var(--cf-deep); font-size: 21px; }
.cf-process-grid p { color: var(--cf-muted); margin: 0; }
.cf-split-media { display: grid; grid-template-columns: .95fr 1.05fr; gap: 46px; align-items: stretch; }
.cf-split-media > img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; border: 1px solid var(--cf-line); }
.cf-split-media > div { padding: 44px; background: #002f1a; color: #fff; display: grid; align-content: center; }
.cf-split-media h2 { color: #fff; font-size: var(--cf-title-h2); }
.cf-split-media p { color: rgba(255,255,255,.82); line-height: 1.75; }
.cf-split-media ul { display: grid; gap: 12px; padding-left: 20px; margin: 10px 0 0; color: rgba(255,255,255,.9); }
.cf-cert-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.cf-cert-grid article { background: #fff; border: 1px solid rgba(190,201,190,.8); overflow: hidden; }
.cf-cert-grid a { display: block; background: #f5f5f5; }
.cf-cert-grid img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; padding: 12px; transition: transform .2s ease; }
.cf-cert-grid a:hover img { transform: scale(1.025); }
.cf-cert-grid div { padding: 20px; border-top: 1px solid var(--cf-line); }
.cf-cert-grid h3 { color: var(--cf-deep); font-size: 18px; margin-bottom: 8px; }
.cf-cert-grid p { color: var(--cf-muted); font-size: 14px; margin: 0; }
.cf-image-pair-wide { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cf-image-pair-wide img { width: 100%; height: auto; object-fit: contain; background: #fff; border: 1px solid var(--cf-line); }
.cf-about-hero { min-height: 660px; display: flex; align-items: center; color: #fff; background-size: cover; background-position: center; overflow: hidden; }
.cf-about-hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, .82fr); gap: 72px; align-items: center; padding: 96px 0; }
.cf-about-hero-grid--single { grid-template-columns: minmax(0, 1fr); }
.cf-about-hero-grid--single .cf-about-hero-copy { max-width: 900px; }
.cf-about-hero-copy h1 { max-width: 860px; color: #fff; font-size: var(--cf-title-h1); line-height: 1.04; margin-bottom: 24px; text-shadow: 0 4px 24px rgba(0,0,0,.24); }
.cf-about-hero-copy > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.75; }
.cf-about-hero-copy .eyebrow { color: var(--cf-lime); }
.cf-about-hero-images { position: relative; min-height: 470px; }
.cf-about-hero-images img { position: absolute; object-fit: cover; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.cf-about-hero-images .primary { right: 0; top: 0; width: 82%; height: 420px; border-radius: 4px; }
.cf-about-hero-images .secondary { left: 0; bottom: 0; width: 52%; height: 250px; border: 8px solid #fff; border-radius: 4px; }
.cf-heritage-hero-card { align-self: stretch; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 4px; background: rgba(255,255,255,.1); box-shadow: 0 28px 80px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.cf-heritage-hero-card > span { padding: 24px 28px 0; color: var(--cf-lime); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 54px; line-height: 1; font-weight: 900; }
.cf-heritage-hero-card img { width: 100%; height: 320px; object-fit: cover; margin-top: 22px; }
.cf-heritage-hero-card div { padding: 24px 28px 30px; }
.cf-heritage-hero-card strong { display: block; color: #fff; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 25px; line-height: 1.15; margin-bottom: 10px; }
.cf-heritage-hero-card p { color: rgba(255,255,255,.74); margin: 0; }
.cf-heritage-hero-image-only { display: block; min-height: 470px; }
.cf-heritage-hero-image-only img { width: 100%; height: 100%; min-height: 470px; margin-top: 0; object-fit: cover; }
.cf-about-hero-advantage { min-height: 660px; background: #f5f5f5; color: var(--cf-ink); }
.cf-about-advantage-hero { display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: center; padding: 96px 0; }
.cf-about-advantage-media { position: relative; min-height: 520px; border-radius: 4px; overflow: hidden; box-shadow: 0 28px 80px rgba(8,51,38,.16); }
.cf-about-advantage-media img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.cf-about-advantage-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,47,26,.68), rgba(0,47,26,.04)); }
.cf-about-advantage-media div { position: absolute; z-index: 2; left: 26px; right: 26px; bottom: 26px; padding: 20px 22px; border-radius: 4px; background: rgba(255,255,255,.92); }
.cf-about-advantage-media strong { display: block; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 24px; line-height: 1.12; }
.cf-about-advantage-media span { color: var(--cf-muted); font-size: 14px; font-weight: 900; }
.cf-about-hero-advantage .cf-about-hero-copy h1 { color: #002f1a; text-shadow: none; }
.cf-about-hero-advantage .cf-about-hero-copy > p:not(.eyebrow) { color: var(--cf-muted); }
.cf-about-hero-advantage .cf-about-hero-copy .eyebrow { color: var(--cf-primary); }
.cf-about-chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.cf-about-chip-row span { display: inline-flex; min-height: 38px; align-items: center; padding: 0 14px; border-radius: 4px; background: #fff; border: 1px solid rgba(190,201,190,.8); color: var(--cf-deep); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.cf-about-editorial { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, .76fr); gap: 72px; align-items: center; }
.cf-about-editorial h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-about-editorial p:not(.eyebrow) { color: var(--cf-muted); font-size: 18px; line-height: 1.78; }
.cf-about-editorial figure { margin: 0; overflow: hidden; border-radius: 4px; background: #fff; box-shadow: 0 24px 70px rgba(8,51,38,.1); }
.cf-about-editorial figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cf-about-editorial figcaption { padding: 18px 22px; color: var(--cf-deep); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.cf-about-link-stack { display: grid; gap: 12px; margin-top: 32px; }
.cf-about-link-stack a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid rgba(190,201,190,.8); border-radius: 4px; background: #fff; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 21px; font-weight: 900; box-shadow: 0 12px 36px rgba(8,51,38,.05); }
.cf-about-link-stack span { color: var(--cf-muted); font-family: Inter, sans-serif; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cf-about-link-stack a:hover { border-color: rgba(0,105,55,.36); transform: translateY(-2px); }
.cf-about-mosaic { display: grid; grid-template-columns: .8fr 1.2fr .8fr; gap: 22px; align-items: stretch; }
.cf-about-mosaic article { position: relative; min-height: 420px; overflow: hidden; border-radius: 4px; background: var(--cf-deep); color: #fff; box-shadow: 0 24px 70px rgba(8,51,38,.12); }
.cf-about-mosaic article.wide { min-height: 520px; }
.cf-about-mosaic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.cf-about-mosaic article:hover img { transform: scale(1.05); }
.cf-about-mosaic article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,47,26,.84), rgba(0,47,26,.1)); }
.cf-about-mosaic h3, .cf-about-mosaic p { position: relative; z-index: 2; margin-left: 28px; margin-right: 28px; }
.cf-about-mosaic h3 { margin-top: 280px; color: #fff; font-size: 26px; line-height: 1.15; }
.cf-about-mosaic article.wide h3 { margin-top: 380px; }
.cf-about-mosaic p { color: rgba(255,255,255,.78); }
.cf-about-overview { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(420px, .72fr); gap: 70px; align-items: center; }
.cf-about-overview-copy h2, .cf-about-value-panel h2, .cf-about-factory-brief h2, .cf-about-closing h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-about-overview-copy p:not(.eyebrow), .cf-about-value-panel p:not(.eyebrow), .cf-about-factory-brief p:not(.eyebrow), .cf-about-closing p:not(.eyebrow) { color: var(--cf-muted); font-size: 18px; line-height: 1.78; }
.cf-about-profile-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.cf-about-profile-actions a, .cf-about-inline-link, .cf-about-closing button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 4px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.cf-about-profile-actions a:first-child, .cf-about-closing button { border: 0; background: linear-gradient(135deg, var(--cf-primary), var(--cf-deep)); color: #fff; box-shadow: 0 18px 42px rgba(0,65,42,.18); cursor: pointer; }
.cf-about-profile-actions a:last-child, .cf-about-inline-link { border: 1px solid rgba(0,105,55,.22); background: #fff; color: var(--cf-deep); }
.cf-about-profile-actions a:hover, .cf-about-inline-link:hover, .cf-about-closing button:hover { transform: translateY(-2px); }
.cf-about-profile-card { position: relative; overflow: hidden; border-radius: 4px; background: #fff; box-shadow: 0 28px 80px rgba(8,51,38,.12); }
.cf-about-profile-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cf-about-profile-card div { position: absolute; left: 22px; right: 22px; bottom: 22px; padding: 20px 22px; border-radius: 4px; background: rgba(255,255,255,.94); box-shadow: 0 16px 46px rgba(8,51,38,.12); }
.cf-about-profile-card strong { display: block; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 24px; line-height: 1.12; margin-bottom: 8px; }
.cf-about-profile-card span { color: var(--cf-muted); font-size: 14px; font-weight: 600; line-height: 1.55; }
.cf-about-value-panel { display: grid; grid-template-columns: .82fr 1.18fr; gap: 58px; align-items: start; }
.cf-about-values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cf-about-values-grid article { position: relative; overflow: hidden; min-height: 260px; padding: 28px; border: 1px solid rgba(190,201,190,.78); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-about-values-grid article::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--cf-primary), var(--cf-lime)); }
.cf-about-values-grid .cf-icon { width: 44px; height: 44px; padding: 10px; border-radius: 4px; color: var(--cf-primary); background: rgba(0,105,55,.09); }
.cf-about-values-grid h3 { color: var(--cf-deep); font-size: 24px; line-height: 1.15; margin: 22px 0 12px; }
.cf-about-values-grid p { color: var(--cf-muted); font-size: 15px; line-height: 1.7; margin: 0; }
.cf-about-capability-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cf-about-capability-strip article { position: relative; overflow: hidden; min-height: 150px; padding: 26px 24px; border-radius: 4px; background: linear-gradient(135deg, #00351e, #095540 58%, #006937); box-shadow: 0 22px 60px rgba(8,51,38,.14); }
.cf-about-capability-strip article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(180deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 44px 44px; opacity: .28; }
.cf-about-capability-strip strong, .cf-about-capability-strip span { position: relative; z-index: 1; display: block; }
.cf-about-capability-strip strong { color: var(--cf-lime); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 42px; line-height: .95; margin-bottom: 18px; }
.cf-about-capability-strip span { color: rgba(255,255,255,.78); font-size: 14px; font-weight: 900; line-height: 1.45; }
.cf-about-factory-brief { display: grid; grid-template-columns: .9fr 1.1fr; gap: 68px; align-items: center; }
.cf-about-factory-media { position: relative; min-height: 520px; }
.cf-about-factory-media img { position: absolute; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 70px rgba(8,51,38,.14); }
.cf-about-factory-media .main { left: 0; top: 0; width: 82%; height: 390px; }
.cf-about-factory-media .sub { right: 0; bottom: 0; width: 56%; height: 300px; border: 8px solid #fff; }
.cf-about-process-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 26px; }
.cf-about-process-list span { display: inline-flex; min-height: 38px; align-items: center; padding: 0 14px; border-radius: 4px; background: rgba(0,105,55,.08); color: var(--cf-deep); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cf-about-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cf-about-hub-grid a { position: relative; min-height: 430px; overflow: hidden; border-radius: 4px; background: var(--cf-deep); box-shadow: 0 24px 70px rgba(8,51,38,.12); }
.cf-about-hub-grid img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.cf-about-hub-grid a:hover img { transform: scale(1.05); }
.cf-about-hub-grid a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,47,26,.86), rgba(0,47,26,.12)); }
.cf-about-hub-grid div { position: absolute; z-index: 1; left: 26px; right: 26px; bottom: 26px; }
.cf-about-hub-grid span { display: inline-flex; min-height: 32px; align-items: center; padding: 0 12px; border-radius: 4px; background: rgba(183,243,151,.16); color: var(--cf-lime); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 16px; }
.cf-about-hub-grid h3 { color: #fff; font-size: 25px; line-height: 1.16; margin: 0; }
.cf-about-closing { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 42px; align-items: center; padding: 42px; border-radius: 4px; background: #fff; box-shadow: 0 22px 70px rgba(8,51,38,.08); }
.cf-about-closing h2 { max-width: 720px; }
.cf-about-closing p { max-width: 780px; margin-bottom: 0; }
.cf-heritage-timeline { display: grid; gap: 22px; }
.cf-heritage-timeline article { display: grid; grid-template-columns: 74px minmax(0, 1fr) 340px; gap: 26px; align-items: center; padding: 22px; border: 1px solid rgba(190,201,190,.78); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-heritage-timeline article > span { width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--cf-primary); color: #fff; font-weight: 900; }
.cf-heritage-timeline h3 { color: var(--cf-deep); font-size: 28px; line-height: 1.12; margin-bottom: 10px; }
.cf-heritage-timeline p { color: var(--cf-muted); margin: 0; }
.cf-heritage-timeline img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; }
.cf-story-band { display: grid; grid-template-columns: .95fr 1.05fr; gap: 54px; align-items: center; }
.cf-story-band > img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 70px rgba(8,51,38,.12); }
.cf-story-band h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-story-band p:not(.eyebrow) { color: var(--cf-muted); font-size: 18px; line-height: 1.78; }
.cf-advantage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cf-advantage-grid article { padding: 28px; border: 1px solid rgba(190,201,190,.78); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-advantage-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #d8e0dc; border-radius: 8px; background: #eef2f0; color: var(--cf-primary); }
.cf-advantage-grid .cf-advantage-icon .cf-icon { width: 24px !important; height: 24px !important; padding: 0 !important; border-radius: 0; background: transparent; color: inherit; }
.cf-advantage-grid h3 { color: var(--cf-deep); font-size: 23px; line-height: 1.16; margin-top: 22px; }
.cf-advantage-grid p { color: var(--cf-muted); margin: 0; }
.cf-advantage-split { display: grid; grid-template-columns: .88fr 1.12fr; gap: 64px; align-items: center; }
.cf-advantage-slider { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #dfe7e2; box-shadow: 0 24px 70px rgba(8,51,38,.16); }
.cf-advantage-slider-track, .cf-advantage-slide { position: absolute; inset: 0; }
.cf-advantage-slide { margin: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; }
.cf-advantage-slide.is-active { opacity: 1; visibility: visible; }
.cf-advantage-slide img { width: 100%; height: 100%; object-fit: cover; }
.cf-advantage-slider-dots { position: absolute; z-index: 2; left: 50%; bottom: 18px; display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(20,43,42,.64); box-shadow: 0 8px 26px rgba(8,51,38,.22); backdrop-filter: blur(8px); transform: translateX(-50%); }
.cf-advantage-slider-dots button { width: 10px; height: 10px; padding: 0; border: 1px solid rgba(255,255,255,.82); border-radius: 50%; background: transparent; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.cf-advantage-slider-dots button:hover, .cf-advantage-slider-dots button.is-active { border-color: #e1c15f; background: #e1c15f; transform: scale(1.18); }
.cf-advantage-slider-dots button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.cf-advantage-split h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-advantage-split p:not(.eyebrow), .cf-advantage-split li { color: var(--cf-muted); font-size: 17px; line-height: 1.75; }
.cf-advantage-split ul { display: grid; gap: 10px; margin: 26px 0 0; padding-left: 20px; }
.cf-factory-process-visual { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cf-factory-process-visual article { overflow: hidden; border: 1px solid rgba(190,201,190,.78); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-factory-process-visual img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cf-factory-process-visual .cf-factory-process-icon { display: grid; width: 42px; height: 42px; place-items: center; margin: 22px 22px 0; border: 1px solid #d8e0dc !important; border-radius: 8px !important; background: #eef2f0 !important; color: var(--cf-primary) !important; }
.cf-factory-process-visual .cf-factory-process-icon .cf-icon { width: 24px !important; height: 24px !important; padding: 0 !important; border-radius: 0; background: transparent; color: inherit; }
.cf-factory-process-visual h3 { margin: 16px 22px 10px; color: var(--cf-deep); font-size: 22px; line-height: 1.15; }
.cf-factory-process-visual p { margin: 0 22px 24px; color: var(--cf-muted); }
.cf-heritage-closing-section { background: #f5f5f5; overflow: hidden; }
.cf-heritage-closing { display: grid; grid-template-columns: .92fr 1.08fr; gap: 58px; align-items: center; }
.cf-heritage-closing-media { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 4px; background: #dfe7e2; box-shadow: 0 28px 80px rgba(8,51,38,.16); }
.cf-heritage-closing-main { width: 100%; height: 100%; object-fit: cover; object-position: 46% center; border-radius: 4px; }
.cf-heritage-closing-copy h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-heritage-closing-copy > p:not(.eyebrow) { max-width: 760px; color: var(--cf-muted); font-size: 18px; line-height: 1.75; }
.cf-heritage-commitments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 34px 0; }
.cf-heritage-commitments article { padding: 22px; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: #fff; box-shadow: 0 16px 46px rgba(8,51,38,.06); }
.cf-heritage-commitments span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; margin-bottom: 18px; border-radius: 50%; background: rgba(0,105,55,.1); color: var(--cf-primary); font-size: 12px; font-weight: 900; }
.cf-heritage-commitments h3 { color: var(--cf-deep); font-size: 21px; line-height: 1.15; margin-bottom: 10px; }
.cf-heritage-commitments p { color: var(--cf-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.cf-heritage-final-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 28px; border-radius: 4px; background: var(--cf-deep); color: #fff; }
.cf-heritage-final-cta strong { display: block; max-width: 620px; color: #fff; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 26px; line-height: 1.14; }
.cf-heritage-final-cta p { max-width: 620px; color: rgba(255,255,255,.74); margin: 10px 0 0; }
.cf-heritage-final-cta > div:last-child { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.cf-heritage-final-cta button, .cf-heritage-final-cta a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: 4px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.cf-heritage-final-cta button { border: 0; background: #fff; color: var(--cf-deep); }
.cf-heritage-final-cta a { border: 1px solid rgba(255,255,255,.35); color: #fff; }
.cf-product-material { display: grid; grid-template-columns: .92fr 1.08fr; gap: 54px; align-items: center; }
.cf-product-material img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--cf-line); }
.cf-product-material h2 { color: #002f1a; font-size: var(--cf-title-h2); }
.cf-product-material p:not(.eyebrow) { color: var(--cf-muted); font-size: 18px; line-height: 1.75; }
.cf-product-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.cf-product-highlights span { padding: 14px 16px; background: #fff; border-left: 3px solid var(--cf-primary); color: var(--cf-deep); font-weight: 900; }
.cf-product-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: -12px 0 38px; }
.cf-product-tabs a { padding: 10px 16px; border: 1px solid var(--cf-line); color: var(--cf-deep); font-size: 13px; font-weight: 900; }
.cf-product-tabs a:hover { background: var(--cf-primary); border-color: var(--cf-primary); color: #fff; }
.cf-product-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.cf-product-card { position: relative; overflow: hidden; min-width: 0; display: flex; flex-direction: column; padding: 14px; border: 1px solid rgba(190,201,190,.62); border-radius: 4px; background: linear-gradient(180deg, #fff, #f7faf7); box-shadow: 0 18px 55px rgba(8,51,38,.07); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cf-product-card:hover { transform: translateY(-4px); border-color: rgba(0,105,55,.24); box-shadow: 0 26px 72px rgba(8,51,38,.12); }
.cf-product-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--cf-primary), var(--cf-lime)); opacity: .82; }
.cf-product-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #e9eee9; margin: 0; }
.cf-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cf-product-card:hover .cf-product-media img { transform: scale(1.05); }
.cf-product-body { padding: 22px 8px 8px; display: flex; flex-direction: column; flex: 1; }
.cf-product-body h4 { font-size: var(--cf-title-h4); line-height: 1.22; margin-bottom: 12px; }
.cf-product-body h4 a:hover { color: var(--cf-primary); }
.cf-product-body > p:not(.eyebrow) { color: var(--cf-muted); margin-bottom: 0; }
.cf-product-body .eyebrow { display: inline-flex; width: fit-content; min-height: 28px; align-items: center; padding: 0 10px; border-radius: 4px; background: rgba(0,105,55,.08); letter-spacing: .1em; }
.cf-product-body > div { display: none; }
.cf-product-body button { border: 1px solid var(--cf-primary); background: transparent; color: var(--cf-primary); padding: 9px 13px; font-weight: 900; cursor: pointer; }
.cf-product-body button:hover { background: var(--cf-primary); color: #fff; }
.cf-product-support-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-product-support-grid article { padding: 30px; background: #fff; border: 1px solid var(--cf-line); }
.cf-product-support-grid .cf-icon { color: var(--cf-primary); width: 36px; height: 36px; }
.cf-product-support-grid h3 { color: var(--cf-deep); font-size: 24px; margin-top: 18px; }
.cf-product-support-grid p { color: var(--cf-muted); margin: 0; }
.cf-product-detail-hero { background: #f5f5f5; padding: 96px 0; }
.product-hero-grid h1 { color: #002f1a; font-size: var(--cf-title-h1); line-height: 1.04; margin-bottom: 24px; }
.product-hero-grid .lead { max-width: 680px; font-size: 20px; line-height: 1.7; color: #3f4940; }
.product-media { background: #fff; border: 1px solid var(--cf-line); }
.product-media img { width: 100%; height: auto; object-fit: contain; }
.cf-product-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.cf-product-feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.cf-product-feature-list article { padding: 22px; background: #f5f5f5; border: 1px solid var(--cf-line); }
.cf-product-feature-list .cf-icon { color: var(--cf-primary); width: 32px; height: 32px; }
.cf-product-feature-list h3 { color: var(--cf-deep); font-size: 20px; margin-top: 14px; }
.cf-product-feature-list p { color: var(--cf-muted); font-size: 15px; margin: 0; }
.cf-product-spec-panel { position: sticky; top: 110px; padding: 28px; border: 1px solid var(--cf-line); background: #fff; box-shadow: 0 18px 44px rgba(0,69,55,.08); }
.cf-product-spec-panel h2 { font-size: var(--cf-title-h2-compact); line-height: 1.12; color: var(--cf-deep); }
.cf-product-spec-panel .button { width: 100%; margin-top: 20px; }
.cf-product-page { position: relative; overflow: hidden; background: linear-gradient(180deg, #f5f5f5 0%, #fff 100%); padding: 34px 0 92px; }
.cf-product-page::before { content: ""; position: absolute; inset: 0 0 auto; height: 420px; background: linear-gradient(135deg, rgba(0,105,55,.08), rgba(183,243,151,.05)); pointer-events: none; }
.cf-product-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #68736e; font-size: 13px; font-weight: 600; margin-bottom: 32px; }
.cf-product-breadcrumb a { color: var(--cf-primary); }
.cf-product-breadcrumb strong { color: var(--cf-deep); }
.cf-product-breadcrumb, .cf-product-showcase { position: relative; z-index: 1; }
.cf-product-showcase { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 64px; align-items: start; }
.cf-product-gallery { min-width: 0; }
.cf-product-main-image { position: relative; overflow: hidden; border-radius: 4px; background: linear-gradient(180deg, #fff, #f7faf7); border: 1px solid rgba(190,201,190,.72); padding: clamp(16px, 2vw, 26px); box-shadow: 0 30px 90px rgba(8,51,38,.12); }
.cf-product-main-image::before { content: ""; position: absolute; left: 24px; right: 24px; bottom: -54px; height: 130px; border-radius: 4px 4px 0 0; background: linear-gradient(0deg, rgba(183,243,151,.18), rgba(183,243,151,0)); filter: blur(16px); pointer-events: none; }
.cf-product-main-image img { width: 100%; aspect-ratio: 1 / .78; object-fit: contain; }
.cf-product-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.cf-product-thumbs figure { overflow: hidden; border-radius: 4px; background: #fff; border: 1px solid rgba(190,201,190,.72); margin: 0; padding: 8px; box-shadow: 0 12px 30px rgba(8,51,38,.06); }
.cf-product-thumbs img { width: 100%; aspect-ratio: 1 / .78; object-fit: cover; border-radius: 4px; }
.cf-product-summary { position: relative; overflow: hidden; border-radius: 4px; background: #fff; border: 1px solid rgba(190,201,190,.72); padding: clamp(30px, 4vw, 48px); box-shadow: 0 30px 90px rgba(8,51,38,.12); }
.cf-product-summary::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--cf-primary), var(--cf-lime)); }
.cf-product-summary h1 { color: #002f1a; font-size: var(--cf-title-h1); line-height: 1.04; margin-bottom: 24px; }
.cf-product-summary .lead { color: #34413a; max-width: 720px; }
.cf-product-meta-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }
.cf-product-meta-tags span { padding: 9px 12px; border-radius: 4px; background: rgba(0,105,55,.08); border: 1px solid rgba(0,105,55,.16); color: var(--cf-primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-product-quick-specs { overflow: hidden; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: linear-gradient(180deg, #fff, #f8faf8); margin: 26px 0; }
.cf-product-quick-specs dl { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; margin: 0; padding: 17px 20px; border-bottom: 1px solid rgba(190,201,190,.7); }
.cf-product-quick-specs dl:last-child { border-bottom: 0; }
.cf-product-quick-specs dt { color: var(--cf-deep); font-weight: 900; }
.cf-product-quick-specs dd { margin: 0; color: var(--cf-muted); }
.cf-product-bullets { display: grid; gap: 10px; margin: 0; padding-left: 20px; color: #34413a; }
.cf-product-anchor-nav { position: sticky; top: 80px; z-index: 12; background: rgba(255,255,255,.94); border-top: 1px solid var(--cf-line); border-bottom: 1px solid var(--cf-line); backdrop-filter: blur(14px); }
.cf-product-anchor-nav .site-shell { display: flex; flex-wrap: wrap; gap: 24px; min-height: 58px; align-items: center; }
.cf-product-anchor-nav a { color: var(--cf-deep); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-product-anchor-nav a:hover { color: var(--cf-primary); }
.cf-product-copy-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 68px; align-items: start; }
.cf-product-copy-grid h2, .cf-product-process h2, .cf-product-quality h2, .cf-product-faq h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-product-copy-grid p, .cf-product-process p, .cf-product-quality p, .cf-product-faq p { color: var(--cf-muted); font-size: 17px; line-height: 1.75; }
.cf-product-attribute-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cf-product-attribute-grid article { position: relative; overflow: hidden; background: #fff; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; padding: 28px; min-height: 280px; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-product-attribute-grid article::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--cf-primary), var(--cf-lime)); }
.cf-product-attribute-grid .cf-icon { color: var(--cf-primary); width: 42px; height: 42px; padding: 9px; border-radius: 4px; background: rgba(0,105,55,.09); margin-bottom: 22px; }
.cf-product-attribute-grid h3 { color: var(--cf-deep); font-size: 22px; }
.cf-product-attribute-grid p { color: var(--cf-muted); margin: 0; }
.cf-product-process { display: grid; grid-template-columns: 1.08fr .92fr; gap: 54px; align-items: center; }
.cf-product-step-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.cf-product-step-list article { background: #fff; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; padding: 22px; box-shadow: 0 16px 46px rgba(8,51,38,.05); }
.cf-product-step-list span { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: var(--cf-primary); color: #fff; font-weight: 900; margin-bottom: 18px; }
.cf-product-step-list h3 { color: var(--cf-deep); font-size: 20px; }
.cf-product-process-media { display: grid; gap: 18px; }
.cf-product-process-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; box-shadow: 0 20px 60px rgba(8,51,38,.1); }
.cf-product-factory-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 20px; }
.cf-product-factory-grid figure { margin: 0; background: #fff; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; overflow: hidden; box-shadow: 0 18px 55px rgba(8,51,38,.07); }
.cf-product-factory-grid img { width: 100%; height: 340px; object-fit: cover; }
.cf-product-factory-grid figure:first-child img { height: 430px; }
.cf-product-factory-grid figcaption { padding: 16px 18px; color: var(--cf-deep); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-product-quality { display: grid; grid-template-columns: .92fr 1.08fr; gap: 58px; align-items: center; }
.cf-product-quality img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; box-shadow: 0 22px 70px rgba(8,51,38,.1); }
.cf-product-quality ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.cf-product-quality li { position: relative; padding-left: 20px; color: #34413a; font-weight: 900; }
.cf-product-quality li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; background: var(--cf-primary); }
.cf-product-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 58px; align-items: start; }
.cf-product-faq details { background: #fff; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; padding: 22px 24px; margin-bottom: 14px; box-shadow: 0 12px 36px rgba(8,51,38,.05); }
.cf-product-faq summary { color: var(--cf-deep); cursor: pointer; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 22px; font-weight: 900; line-height: 1.2; }
.cf-product-faq details p { margin: 16px 0 0; }
.cf-product-story { background: #fff; }
.cf-product-story-hero { padding: 52px 0 72px; background: linear-gradient(180deg, #f7faf7 0%, #fff 100%); border-bottom: 1px solid rgba(190,201,190,.58); }
.cf-product-story-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 42px; color: #68736e; font-size: 13px; font-weight: 600; }
.cf-product-story-breadcrumb a { color: var(--cf-primary); }
.cf-product-story-breadcrumb strong { color: var(--cf-deep); }
.cf-product-story-head { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 72px; align-items: end; }
.cf-product-story-head h1 { max-width: 980px; color: #002f1a; font-size: var(--cf-title-h1); line-height: 1.02; margin-bottom: 26px; }
.cf-product-story-head > div > p:not(.eyebrow) { max-width: 820px; color: #3f4940; font-size: 21px; line-height: 1.72; margin: 0; }
.cf-product-story-summary { position: relative; overflow: hidden; padding: 28px; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: #fff; box-shadow: 0 22px 70px rgba(8,51,38,.09); }
.cf-product-story-summary::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--cf-primary), var(--cf-lime)); }
.cf-product-story-summary span { display: inline-flex; min-height: 30px; align-items: center; margin-bottom: 16px; padding: 0 12px; border-radius: 4px; background: rgba(0,105,55,.08); color: var(--cf-primary); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.cf-product-story-summary strong { display: block; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 25px; line-height: 1.15; margin-bottom: 22px; }
.cf-product-story-summary button, .cf-product-story-card button { width: 100%; min-height: 54px; border: 0; border-radius: 4px; background: linear-gradient(135deg, var(--cf-primary), var(--cf-deep)); color: #fff; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; box-shadow: 0 16px 38px rgba(0,65,42,.18); }
.cf-product-story-feature { margin-top: -34px; }
.cf-product-story-feature img { width: 100%; max-height: 680px; object-fit: contain; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: linear-gradient(180deg, #fff, #f7faf7); padding: clamp(18px, 3vw, 42px); box-shadow: 0 32px 100px rgba(8,51,38,.12); }
.cf-product-story-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 76px; align-items: start; padding-top: 92px; padding-bottom: 80px; }
.cf-product-story-content { min-width: 0; max-width: 900px; }
.cf-product-story-section { padding: 0 0 68px; margin-bottom: 68px; border-bottom: 1px solid rgba(190,201,190,.62); }
.cf-product-story-section:last-child { margin-bottom: 0; }
.cf-product-story-section h2 { max-width: 820px; color: #002f1a; font-size: 42px; line-height: 1.08; margin-bottom: 24px; }
.cf-product-story-section h3 { color: var(--cf-deep); font-size: 23px; line-height: 1.16; margin-bottom: 10px; }
.cf-product-story-section p { color: #3f4940; font-size: 18px; line-height: 1.88; margin-bottom: 24px; }
.cf-product-story-note { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 22px; margin-top: 34px; padding: 24px 26px; border-left: 4px solid var(--cf-primary); background: #f5f5f5; }
.cf-product-story-note strong { color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 22px; line-height: 1.15; }
.cf-product-story-note span { color: #53605a; line-height: 1.72; }
.cf-product-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.cf-product-story-grid article { padding: 24px; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: #fff; box-shadow: 0 14px 44px rgba(8,51,38,.05); }
.cf-product-story-grid span { display: inline-flex; min-height: 32px; align-items: center; margin-bottom: 18px; padding: 0 12px; border-radius: 4px; background: rgba(0,105,55,.08); color: var(--cf-primary); font-size: 12px; font-weight: 600; }
.cf-product-story-grid p { color: var(--cf-muted); font-size: 15px; line-height: 1.7; margin: 0; }
.cf-product-story-wide { margin: 38px 0; overflow: hidden; border-radius: 4px; border: 1px solid rgba(190,201,190,.72); background: #fff; box-shadow: 0 22px 70px rgba(8,51,38,.08); }
.cf-product-story-wide img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cf-product-story-wide figcaption { padding: 16px 20px; color: var(--cf-deep); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.cf-product-story-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cf-product-story-steps article { padding: 24px; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: linear-gradient(180deg, #fff, #f8faf8); }
.cf-product-story-steps b { display: block; color: var(--cf-primary); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 30px; line-height: 1; margin-bottom: 18px; }
.cf-product-story-steps p { color: var(--cf-muted); font-size: 15px; line-height: 1.72; margin: 0; }
.cf-product-story-split { display: grid; grid-template-columns: minmax(0, .94fr) minmax(320px, 1.06fr); gap: 38px; align-items: center; }
.cf-product-story-split img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; border: 1px solid rgba(190,201,190,.72); box-shadow: 0 22px 70px rgba(8,51,38,.08); }
.cf-product-story-split ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.cf-product-story-split li { position: relative; padding-left: 22px; color: #34413a; font-weight: 600; line-height: 1.7; }
.cf-product-story-split li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--cf-primary); }
.cf-product-story-faq details { border-top: 1px solid rgba(190,201,190,.72); padding: 24px 0; }
.cf-product-story-faq details:last-child { border-bottom: 1px solid rgba(190,201,190,.72); }
.cf-product-story-faq summary { cursor: pointer; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 24px; font-weight: 600; line-height: 1.2; }
.cf-product-story-faq p { margin: 16px 0 0; color: var(--cf-muted); }
.cf-product-story-sidebar { position: sticky; top: 108px; display: grid; gap: 18px; }
.cf-product-story-card { padding: 26px; border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-product-story-card h2 { color: var(--cf-deep); font-size: 28px; line-height: 1.12; margin-bottom: 14px; }
.cf-product-story-card p { color: var(--cf-muted); font-size: 15px; line-height: 1.72; }
.cf-product-story-card strong { display: block; color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 20px; line-height: 1.15; margin-bottom: 16px; }
.cf-product-story-card ul { display: grid; gap: 10px; margin: 0; padding-left: 18px; color: #3f4940; font-size: 14px; line-height: 1.58; }
.cf-product-story-toc a { display: block; padding: 11px 0; border-bottom: 1px solid rgba(190,201,190,.58); color: #53605a; font-size: 14px; font-weight: 600; }
.cf-product-story-toc a:last-child { border-bottom: 0; }
.cf-product-story-toc a:hover { color: var(--cf-primary); }
.cf-solution-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-solution-overview-grid a { display: block; background: #fff; border: 1px solid var(--cf-line); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.cf-solution-overview-grid a:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,69,55,.08); }
.cf-solution-overview-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cf-solution-overview-grid div { padding: 26px; }
.cf-solution-overview-grid h3 { color: var(--cf-deep); font-size: 24px; }
.cf-solution-overview-grid p { color: var(--cf-muted); }
.cf-solution-overview-grid span { color: var(--cf-primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.cf-solution-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 58px; align-items: center; }
.cf-solution-detail h2, .cf-solution-panels h2, .cf-solution-case h2 { color: #002f1a; font-size: var(--cf-title-h2); }
.cf-solution-detail ul { display: grid; gap: 16px; padding: 0; margin: 24px 0 0; list-style: none; }
.cf-solution-detail li { padding: 18px 20px; background: #f5f5f5; border-left: 3px solid var(--cf-primary); color: #3f4940; font-weight: 600; }
.cf-solution-detail img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--cf-line); }
.cf-solution-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cf-solution-panels article { padding: 36px; background: #fff; border: 1px solid var(--cf-line); min-height: 300px; }
.cf-solution-panels p:not(.eyebrow), .cf-solution-case p { color: var(--cf-muted); font-size: 17px; line-height: 1.75; }
.cf-solution-case { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: start; }
.cf-solution-case > div { padding: 34px; border: 1px solid var(--cf-line); background: #fff; }
.cf-solution-case h3 { color: var(--cf-deep); font-size: 22px; margin-top: 24px; }
.cf-solution-detail-rich { grid-template-columns: .86fr 1.14fr; gap: 72px; }
.cf-solution-copy-panel { padding: 36px; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #fff; box-shadow: 0 22px 70px rgba(8,51,38,.07); }
.cf-solution-detail-rich li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: start; padding: 18px; border: 1px solid rgba(190,201,190,.7); border-left: 0; border-radius: 4px; background: #f8faf8; }
.cf-solution-detail-rich li span { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--cf-primary); color: #fff; font-weight: 900; }
.cf-solution-media-stack { position: relative; min-height: 560px; }
.cf-solution-media-stack img { border: 0; box-shadow: 0 26px 80px rgba(8,51,38,.16); }
.cf-solution-media-stack .primary { width: 78%; height: 470px; object-fit: cover; border-radius: 4px; }
.cf-solution-media-stack .secondary { position: absolute; right: 0; bottom: 54px; width: 48%; height: 270px; object-fit: cover; border: 10px solid #fff; border-radius: 4px; }
.cf-solution-media-stack div { position: absolute; left: 42px; bottom: 0; max-width: 360px; padding: 22px; border-radius: 4px; background: var(--cf-deep); color: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.2); }
.cf-solution-media-stack strong { display: block; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 24px; line-height: 1.12; margin-bottom: 8px; }
.cf-solution-media-stack span { color: rgba(255,255,255,.74); line-height: 1.55; }
.cf-solution-product-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-solution-product-row article { overflow: hidden; border: 1px solid rgba(190,201,190,.76); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-solution-product-row img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.cf-solution-product-row div { padding: 24px; }
.cf-solution-product-row span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; margin-bottom: 18px; border-radius: 50%; background: rgba(0,105,55,.1); color: var(--cf-primary); font-weight: 900; }
.cf-solution-product-row h3 { color: var(--cf-deep); font-size: 24px; line-height: 1.16; }
.cf-solution-product-row p { color: var(--cf-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.cf-solution-strength { display: grid; grid-template-columns: .95fr 1.05fr; gap: 58px; align-items: center; }
.cf-solution-strength h2 { color: #002f1a; font-size: var(--cf-title-h2); }
.cf-solution-strength p { color: var(--cf-muted); font-size: 18px; line-height: 1.75; }
.cf-solution-strength img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 70px rgba(8,51,38,.13); }
.cf-solution-strength-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.cf-solution-strength-grid span { padding: 14px 16px; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #f5f5f5; color: var(--cf-deep); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-solution-case-rich { grid-template-columns: .95fr 1fr .9fr; gap: 24px; align-items: stretch; }
.cf-solution-case-rich figure { overflow: hidden; margin: 0; border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.07); }
.cf-solution-case-rich figure img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.cf-solution-case-rich figcaption { padding: 14px 18px; color: var(--cf-deep); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-solution-case-rich > div { border-radius: 4px; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-solution-case-rich button { min-height: 50px; margin-top: 18px; padding: 0 18px; border: 0; border-radius: 4px; background: var(--cf-primary); color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.cf-contact-map-section { width: 100%; margin: 0; padding: 0; background: #eef1f1; }
.cf-contact-map-block { display: block; width: 100%; margin: 0; padding: 0; }
.cf-contact-map-block > div { padding: 42px; border-radius: 4px; background: #fff; border: 1px solid rgba(190,201,190,.72); box-shadow: 0 20px 60px rgba(8,51,38,.06); }
.cf-contact-map-block h2 { color: #002f1a; font-size: var(--cf-title-h2); line-height: 1.08; }
.cf-contact-map-block p:not(.eyebrow) { color: var(--cf-muted); font-size: 18px; line-height: 1.75; }
.cf-contact-map-block iframe { display: block; width: 100%; height: 50vh; min-height: 320px; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; filter: saturate(.92) contrast(.98); }
.cf-support-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-support-grid a, .cf-download-list article, .cf-oem-flow article, .cf-contact-support article { padding: 30px; background: #fff; border: 1px solid var(--cf-line); display: block; }
.cf-support-grid .cf-icon, .cf-contact-support .cf-icon { color: var(--cf-primary); width: 38px; height: 38px; }
.cf-support-grid h3, .cf-download-list h3, .cf-oem-flow h3, .cf-contact-support h3 { color: var(--cf-deep); font-size: 24px; margin-top: 16px; }
.cf-support-grid p, .cf-download-list p, .cf-oem-flow p, .cf-contact-support p { color: var(--cf-muted); margin: 0; }
.cf-support-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; align-items: center; }
.cf-support-feature img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--cf-line); }
.cf-support-feature h2 { color: #002f1a; font-size: var(--cf-title-h2); }
.cf-support-feature p:not(.eyebrow) { color: var(--cf-muted); font-size: 17px; line-height: 1.75; }
.cf-support-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.cf-support-checks span { padding: 14px 16px; background: #fff; border-left: 3px solid var(--cf-primary); color: var(--cf-deep); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cf-download-list { display: grid; gap: 18px; }
.cf-faq-board { display: grid; grid-template-columns: .72fr 1.28fr; gap: 34px; align-items: start; }
.cf-faq-board-aside { position: sticky; top: 112px; padding: 36px; border-radius: 4px; background: #0b4f3f; color: #fff; overflow: hidden; }
.cf-faq-board-aside::after { content: ""; position: absolute; right: -80px; bottom: -90px; width: 220px; height: 220px; border: 42px solid rgba(183,243,151,.18); border-radius: 50%; }
.cf-faq-board-aside .eyebrow { color: var(--cf-lime); }
.cf-faq-board-aside h2 { color: #fff; font-size: 36px; line-height: 1.08; margin-bottom: 18px; }
.cf-faq-board-aside p { color: rgba(255,255,255,.74); margin-bottom: 28px; }
.cf-faq-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.cf-faq-tags span { display: inline-flex; min-height: 32px; align-items: center; padding: 0 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 4px; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.cf-faq-board-aside button { position: relative; z-index: 1; width: 100%; min-height: 52px; border: 0; border-radius: 4px; background: #fff; color: var(--cf-deep); font-weight: 900; text-transform: uppercase; letter-spacing: .07em; cursor: pointer; }
.cf-faq-list { display: grid; gap: 16px; }
.cf-faq-list details { border: 1px solid rgba(190,201,190,.72); border-radius: 4px; background: #fff; box-shadow: 0 16px 48px rgba(8,51,38,.06); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cf-faq-list details[open] { border-color: rgba(0,105,55,.34); box-shadow: 0 24px 64px rgba(8,51,38,.1); }
.cf-faq-list details:hover { transform: translateY(-2px); }
.cf-faq-list summary { position: relative; display: grid; grid-template-columns: 46px 1fr 42px; gap: 18px; align-items: center; padding: 24px 26px; color: var(--cf-deep); cursor: pointer; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 23px; font-weight: 900; line-height: 1.18; list-style: none; }
.cf-faq-list summary::-webkit-details-marker { display: none; }
.cf-faq-list summary > span { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0,105,55,.08); color: var(--cf-primary); font-size: 13px; font-weight: 900; letter-spacing: .06em; }
.cf-faq-list summary::after { content: ""; width: 42px; height: 42px; display: block; border-radius: 4px; background-color: #f5f5f5; background-image: linear-gradient(currentColor,currentColor), linear-gradient(currentColor,currentColor); background-position: center, center; background-size: 14px 1.5px, 1.5px 14px; background-repeat: no-repeat; color: var(--cf-primary); }
.cf-faq-list details[open] summary::after { background-color: var(--cf-primary); background-image: linear-gradient(currentColor,currentColor); background-size: 14px 1.5px; color: #fff; }
.cf-faq-list details p { margin: 0; padding: 0 26px 26px 90px; color: #53605a; font-size: 17px; line-height: 1.75; }
.cf-download-list article { display: grid; grid-template-columns: 44px 1fr auto; gap: 20px; align-items: center; }
.cf-download-list .cf-icon { color: var(--cf-primary); width: 34px; height: 34px; }
.cf-download-list button { border: 1px solid var(--cf-primary); background: var(--cf-primary); color: #fff; padding: 12px 16px; font-weight: 900; cursor: pointer; }
.cf-download-list button:hover { background: var(--cf-deep); border-color: var(--cf-deep); }
.cf-video-grid, .cf-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-video-grid article, .cf-case-grid article { background: #fff; border: 1px solid var(--cf-line); overflow: hidden; }
.cf-video-grid img, .cf-case-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cf-video-grid div, .cf-case-grid div { padding: 24px; }
.cf-video-grid .cf-icon { color: var(--cf-primary); width: 38px; height: 38px; }
.cf-video-grid button { margin-top: 18px; border: 1px solid var(--cf-primary); background: transparent; color: var(--cf-primary); padding: 10px 14px; font-weight: 900; cursor: pointer; }
.cf-video-grid button:hover { background: var(--cf-primary); color: #fff; }
.cf-case-grid ul { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cf-case-grid li { color: #34413a; font-size: 14px; font-weight: 900; padding-left: 18px; position: relative; }
.cf-case-grid li::before { content: ""; width: 7px; height: 7px; background: var(--cf-primary); position: absolute; left: 0; top: .65em; }
.cf-oem-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cf-oem-flow span { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: var(--cf-primary); color: #fff; font-weight: 900; }
.cf-oem-visual-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cf-oem-visual-flow article { overflow: hidden; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #fff; box-shadow: 0 20px 60px rgba(8,51,38,.06); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.cf-oem-visual-flow article:hover { transform: translateY(-3px); border-color: rgba(0,105,55,.34); box-shadow: 0 28px 72px rgba(8,51,38,.1); }
.cf-oem-step-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #e9eee9; }
.cf-oem-step-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.cf-oem-visual-flow article:hover img { transform: scale(1.06); }
.cf-oem-step-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,47,26,.44), rgba(0,47,26,0)); }
.cf-oem-step-media span { position: absolute; left: 18px; bottom: 18px; z-index: 2; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; background: var(--cf-primary); color: #fff; font-weight: 900; box-shadow: 0 12px 28px rgba(0,0,0,.22); }
.cf-oem-visual-flow article > div { padding: 26px; }
.cf-oem-visual-flow h3 { color: var(--cf-deep); font-size: 24px; line-height: 1.15; margin-bottom: 12px; }
.cf-oem-visual-flow p { color: var(--cf-muted); margin: 0; }
.cf-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.cf-blog-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
.cf-blog-nav a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border: 1px solid rgba(190,201,190,.82); border-radius: 4px; color: var(--cf-deep); background: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.cf-blog-nav a:hover, .cf-blog-nav a.is-active { background: var(--cf-primary); border-color: var(--cf-primary); color: #fff; box-shadow: 0 12px 28px rgba(0,105,55,.16); }
.cf-blog-grid .cf-news-card { min-width: 0; }
.cf-empty-state { grid-column: 1 / -1; padding: 46px; background: #f5f5f5; border: 1px solid var(--cf-line); }
.cf-empty-state h2 { color: var(--cf-deep); font-size: var(--cf-title-h2-compact); line-height: 1.12; }
.cf-empty-state p { max-width: 680px; color: var(--cf-muted); }
.cf-empty-state button { border: 0; background: var(--cf-primary); color: #fff; padding: 13px 18px; font-weight: 900; cursor: pointer; }
.cf-search-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 42px; align-items: start; }
.cf-search-form { position: sticky; top: 110px; padding: 28px; background: #f5f5f5; border-left: 4px solid var(--cf-primary); }
.cf-search-form form { display: grid; gap: 12px; }
.cf-search-form input[type="search"] { width: 100%; min-height: 48px; border: 1px solid var(--cf-line); padding: 0 14px; }
.cf-search-form input[type="submit"], .cf-search-form button { min-height: 48px; border: 0; background: var(--cf-primary); color: #fff; font-weight: 900; cursor: pointer; }
.cf-search-results { display: grid; gap: 18px; }
.cf-search-result { padding: 28px; background: #fff; border: 1px solid var(--cf-line); }
.cf-search-result h2 { font-size: var(--cf-title-h2-compact); line-height: 1.12; color: var(--cf-deep); }
.cf-search-result h2 a:hover { color: var(--cf-primary); }
.cf-search-result p:not(.eyebrow) { color: var(--cf-muted); margin: 0; }
.cf-error-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cf-error-actions a { padding: 30px; background: #fff; border: 1px solid var(--cf-line); }
.cf-error-actions .cf-icon { color: var(--cf-primary); width: 38px; height: 38px; }
.cf-error-actions h2 { color: var(--cf-deep); font-size: var(--cf-title-h2-compact); line-height: 1.12; margin-top: 18px; }
.cf-error-actions p { color: var(--cf-muted); margin: 0; }
.cf-article-hero { min-height: 560px; }
.cf-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.cf-article-main { min-width: 0; }
.cf-article-intro-card { margin-bottom: 28px; padding: 34px 38px; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #fff; box-shadow: 0 24px 70px rgba(8,51,38,.07); }
.cf-article-intro-card p { max-width: 860px; color: #34413a; font-size: 20px; line-height: 1.75; margin: 0; }
.cf-article-meta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.cf-article-meta-row span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 4px; background: rgba(0,105,55,.08); color: var(--cf-primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-article-featured { margin: 0 0 28px; overflow: hidden; border-radius: 4px; background: #e9eee9; box-shadow: 0 22px 60px rgba(8,51,38,.08); }
.cf-article-featured img { width: 100%; max-height: 520px; object-fit: cover; }
.cf-article-content { max-width: none; padding: 52px 58px; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #fff; box-shadow: 0 24px 70px rgba(8,51,38,.07); }
.cf-article-content > *:first-child { margin-top: 0; }
.cf-article-content > *:last-child { margin-bottom: 0; }
.cf-article-content p { color: #34413a; font-size: 18px; line-height: 1.9; margin-bottom: 24px; }
.cf-article-content h2 { padding-top: 18px; margin: 48px 0 18px; color: #002f1a; font-size: 34px; line-height: 1.14; }
.cf-article-content h3 { margin: 34px 0 14px; color: var(--cf-deep); font-size: 24px; line-height: 1.18; }
.cf-article-content ul, .cf-article-content ol { display: grid; gap: 10px; margin: 0 0 28px; padding-left: 22px; color: #34413a; font-size: 17px; line-height: 1.75; }
.cf-article-content li::marker { color: var(--cf-primary); font-weight: 900; }
.cf-article-content blockquote { margin: 34px 0; padding: 26px 30px; border-left: 4px solid var(--cf-primary); background: #f5f5f5; color: #20352b; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 24px; font-weight: 900; line-height: 1.35; }
.cf-article-content img { border-radius: 4px; margin: 28px 0; }
.cf-article-content table { width: 100%; border-collapse: collapse; margin: 30px 0; font-size: 15px; }
.cf-article-content th, .cf-article-content td { border: 1px solid var(--cf-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.cf-article-content th { background: #f5f5f5; color: var(--cf-deep); font-weight: 900; }
.cf-article-action-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; margin-top: 30px; padding: 38px; border-radius: 4px; background: var(--cf-deep); color: #fff; }
.cf-article-action-panel h2 { color: #fff; font-size: 34px; line-height: 1.12; margin-bottom: 12px; }
.cf-article-action-panel p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.78); margin: 0; }
.cf-article-action-panel .eyebrow { color: var(--cf-lime); }
.cf-article-action-panel button, .cf-article-help-card button { min-height: 48px; border: 0; border-radius: 4px; background: var(--cf-primary); color: #fff; padding: 0 18px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.cf-article-aside { position: sticky; top: 110px; display: grid; gap: 18px; }
.cf-article-side-card { padding: 28px; border: 1px solid rgba(190,201,190,.74); border-radius: 4px; background: #fff; box-shadow: 0 18px 55px rgba(8,51,38,.06); }
.cf-article-meta-list { display: grid; gap: 15px; margin: 22px 0 0; }
.cf-article-meta-list div { padding-bottom: 15px; border-bottom: 1px solid rgba(190,201,190,.62); }
.cf-article-meta-list div:last-child { padding-bottom: 0; border-bottom: 0; }
.cf-article-meta-list dt { color: #7b857f; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.cf-article-meta-list dd { margin: 4px 0 0; color: var(--cf-deep); font-weight: 900; }
.cf-article-toc, .cf-article-note-list { display: grid; gap: 10px; margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(190,201,190,.62); }
.cf-article-toc strong, .cf-article-note-list strong { color: var(--cf-deep); font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 18px; line-height: 1.18; }
.cf-article-toc a, .cf-article-note-list span { display: block; padding: 11px 12px; border-radius: 4px; background: #f5f5f5; color: #34413a; font-size: 14px; font-weight: 900; line-height: 1.35; }
.cf-article-toc a:hover { background: rgba(0,105,55,.1); color: var(--cf-primary); }
.cf-article-help-card { background: #f5f5f5; }
.cf-article-help-card .cf-icon { width: 42px; height: 42px; color: var(--cf-primary); margin-bottom: 16px; }
.cf-article-help-card h3 { color: var(--cf-deep); font-size: 24px; }
.cf-article-help-card p { color: var(--cf-muted); }
.cf-article-help-card button { width: 100%; }
.cf-article-back-link { display: inline-flex; align-items: center; gap: 8px; color: var(--cf-primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cf-article-back-link .cf-icon { width: 16px; height: 16px; transform: rotate(180deg); }
.cf-related-articles .cf-section-head { margin-bottom: 34px; }
.cf-contact-layout, .cf-contact-inquiry { display: grid; grid-template-columns: .88fr 1.12fr; gap: 34px; align-items: stretch; }
.cf-contact-command { position: relative; overflow: hidden; padding: 44px; border-radius: 4px; background: linear-gradient(150deg, #00351e, #095540 62%, #006937); color: #fff; box-shadow: 0 26px 80px rgba(8,51,38,.16); }
.cf-contact-command::after { content: ""; position: absolute; right: -150px; top: -150px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.cf-contact-command .eyebrow { color: var(--cf-lime); }
.cf-contact-command h2, .cf-contact-form-card h2 { font-size: var(--cf-title-h2); }
.cf-contact-command h2 { color: #fff; line-height: 1.06; }
.cf-contact-command-head { position: relative; z-index: 1; }
.cf-contact-command-head > p:not(.eyebrow) { color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.75; }
.cf-contact-info h2, .cf-contact-form h2 { color: #002f1a; font-size: var(--cf-title-h2); }
.cf-contact-info > p:not(.eyebrow), .cf-contact-form > p:not(.eyebrow) { color: var(--cf-muted); font-size: 17px; line-height: 1.75; }
.cf-contact-response { position: relative; z-index: 1; display: grid; gap: 12px; margin-top: 34px; padding: 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 4px; background: rgba(255,255,255,.08); }
.cf-contact-response strong { color: #fff; font-family: "Hanken Grotesk", Inter, sans-serif; font-size: 22px; line-height: 1.14; margin-bottom: 4px; }
.cf-contact-response div { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.14); }
.cf-contact-response span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(183,243,151,.16); color: var(--cf-lime); font-weight: 900; }
.cf-contact-response p { color: rgba(255,255,255,.76); margin: 0; }
.cf-contact-list { display: grid; gap: 20px; margin-top: 34px; }
.cf-contact-list article { display: grid; grid-template-columns: 54px 1fr; gap: 16px; align-items: start; }
.cf-contact-command .cf-contact-list { position: relative; z-index: 1; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.16); }
.cf-contact-list .cf-icon { width: 54px; height: 54px; padding: 13px; display: inline-flex; align-items: center; justify-content: center; background: rgba(0,105,55,.1); color: var(--cf-primary); border-radius: 4px; }
.cf-contact-command .cf-contact-list .cf-icon { background: rgba(255,255,255,.12); color: var(--cf-lime); }
.cf-contact-list h3 { color: var(--cf-deep); font-size: 17px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.cf-contact-command .cf-contact-list h3 { color: #fff; }
.cf-contact-list p { color: #34413a; margin: 0; }
.cf-contact-command .cf-contact-list p { color: rgba(255,255,255,.74); }
.cf-contact-socials { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.cf-contact-socials a { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.15); border-radius: 4px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.92); transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.cf-contact-socials a:hover { transform: translateY(-2px); border-color: rgba(183,243,151,.58); background: rgba(183,243,151,.16); color: var(--cf-lime); }
.cf-contact-socials .cf-social-icon { width: 20px; height: 20px; }
.cf-contact-form { padding: 38px; border-radius: 0; }
.cf-contact-form-card { overflow: hidden; border: 1px solid rgba(190,201,190,.78); border-radius: 4px; background: #fff; box-shadow: 0 24px 70px rgba(8,51,38,.09); }
.cf-contact-form-top { display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: start; padding: 36px 38px 28px; border-bottom: 1px solid rgba(190,201,190,.72); background: linear-gradient(180deg, #fff, #f7faf7); }
.cf-contact-form-top > span { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; background: rgba(0,105,55,.1); color: var(--cf-primary); }
.cf-contact-form-top .cf-icon { width: 34px; height: 34px; }
.cf-contact-form-top h2 { color: #002f1a; line-height: 1.08; }
.cf-contact-form-top p:not(.eyebrow) { color: var(--cf-muted); margin-bottom: 0; }
.cf-contact-form-body { padding: 34px 38px 38px; }
.cf-contact-support { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) {
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 80px; background: #fff; border-bottom: 1px solid var(--cf-line); }
  body.cf-header-scrolled .primary-nav { top: 72px; }
  body.nav-open .primary-nav { display: block; }
  .primary-menu { display: block; width: min(var(--cf-shell), calc(100% - 40px)); margin: 0 auto; padding: 14px 0; }
  .primary-menu a { padding: 12px 0; }
  .primary-menu > li.current-menu-item > a::after,
  .primary-menu > li.current-menu-parent > a::after,
  .primary-menu > li.current-menu-ancestor > a::after,
  .primary-menu > li.cf-menu-current-section > a::after { left: 0; right: auto; bottom: 5px; width: 30px; }
  .primary-menu .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding-left: 16px; }
  .nav-toggle { display: inline-flex; margin-left: auto; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--cf-line); border-radius: 4px; background: #fff; color: var(--cf-primary); }
  .cf-header-tools { margin-left: 0; }
  .cf-search-toggle { border-radius: 4px; }
  .header-cta, .button.header-cta, .cf-quote { display: none; }
  .split, .product-hero-grid, .contact-grid, .archive-layout { grid-template-columns: 1fr; }
  .card-grid.three, .card-grid.four, .card-grid.five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .cf-page-stats, .cf-nav-cards, .cf-process-grid, .cf-cert-grid, .cf-product-archive-grid, .cf-product-support-grid, .cf-product-feature-list, .cf-product-attribute-grid, .cf-product-step-list, .cf-solution-overview-grid, .cf-solution-product-row, .cf-support-grid, .cf-video-grid, .cf-case-grid, .cf-oem-flow, .cf-oem-visual-flow, .cf-contact-support, .cf-about-values-grid, .cf-about-capability-strip, .cf-about-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cf-about-layout, .cf-section-title, .cf-gallery-grid, .cf-split-media, .cf-product-showcase, .cf-product-copy-grid, .cf-product-process, .cf-product-factory-grid, .cf-product-quality, .cf-product-faq, .cf-product-material, .cf-product-detail-layout, .cf-product-story-head, .cf-product-story-layout, .cf-product-story-split, .cf-solution-detail, .cf-solution-panels, .cf-solution-case, .cf-solution-strength, .cf-contact-map-block, .cf-support-feature, .cf-article-layout, .cf-search-layout, .cf-contact-layout, .cf-contact-inquiry, .cf-faq-board, .cf-heritage-closing, .cf-about-hero-grid, .cf-about-advantage-hero, .cf-about-editorial, .cf-story-band, .cf-advantage-split, .cf-about-overview, .cf-about-value-panel, .cf-about-factory-brief, .cf-about-closing { grid-template-columns: 1fr; }
  .cf-about-hero { min-height: 0; }
  .cf-about-hero-grid, .cf-about-advantage-hero { padding: 86px 0; }
  .cf-about-hero-images { min-height: 420px; }
  .cf-about-mosaic, .cf-advantage-grid, .cf-factory-process-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cf-heritage-timeline article { grid-template-columns: 64px minmax(0, 1fr); }
  .cf-heritage-timeline img { grid-column: 1 / -1; }
  .cf-advantage-slider { max-width: 760px; }
  .cf-heritage-closing-media { min-height: 0; aspect-ratio: 16 / 10; }
  .cf-heritage-closing-main { min-height: 0; }
  .cf-heritage-commitments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cf-heritage-final-cta { grid-template-columns: 1fr; }
  .cf-heritage-final-cta > div:last-child { justify-content: flex-start; }
  .cf-faq-board-aside { position: relative; top: auto; }
  .cf-article-layout aside { position: static; }
  .cf-article-aside { position: static; grid-row: 1; }
  .cf-article-main { grid-row: 2; }
  .cf-article-action-panel { grid-template-columns: 1fr; }
  .cf-search-form { position: static; }
  .cf-product-spec-panel { position: static; }
  .cf-product-story-sidebar { position: static; grid-row: 1; }
  .cf-product-story-content { grid-row: 2; max-width: none; }
  .cf-product-story-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cf-about-layout aside { position: static; }
  .cf-gallery-grid figure.large { min-height: 420px; }
}
@media (max-width: 640px) {
  .site-shell { width: min(var(--cf-shell), calc(100% - 28px)); }
  .header-shell { height: 80px; gap: 12px; }
  .site-logo { flex-basis: 196px; width: 196px; height: 62px; }
  .cf-logo-full { width: 196px; max-height: 52px; }
  .cf-logo-icon { width: 196px; max-height: 58px; }
  .footer-logo, .cf-footer-logo { width: 196px; max-height: 58px; }
  .px-margin-desktop { padding-left: 20px !important; padding-right: 20px !important; }
  .text-headline-xl { font-size: var(--cf-title-h1) !important; line-height: 48px !important; }
  .text-headline-lg { font-size: var(--cf-title-h2) !important; line-height: 40px !important; }
  .hero { min-height: 540px; }
  .section { padding: 64px 0; }
  .card-grid.three, .card-grid.four, .card-grid.five, .footer-grid, .image-pair { grid-template-columns: 1fr; }
  .cf-page-hero { min-height: 440px; padding: 80px 0 58px; }
  .cf-page-stats, .cf-nav-cards, .cf-process-grid, .cf-cert-grid, .cf-image-pair-wide, .cf-product-archive-grid, .cf-product-support-grid, .cf-product-feature-list, .cf-product-highlights, .cf-product-thumbs, .cf-product-attribute-grid, .cf-product-step-list, .cf-product-story-grid, .cf-product-story-steps, .cf-solution-overview-grid, .cf-solution-product-row, .cf-solution-strength-grid, .cf-support-grid, .cf-video-grid, .cf-case-grid, .cf-oem-flow, .cf-oem-visual-flow, .cf-blog-grid, .cf-error-actions, .cf-contact-support, .cf-support-checks, .cf-about-mosaic, .cf-advantage-grid, .cf-factory-process-visual, .cf-about-values-grid, .cf-about-capability-strip, .cf-about-hub-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .cf-about-hero-grid, .cf-about-advantage-hero { padding: 72px 0; gap: 36px; }
  .cf-about-hero-copy h1 { font-size: var(--cf-title-h1); }
  .cf-about-hero-images, .cf-about-advantage-media { min-height: 0; }
  .cf-about-hero-images { display: grid; gap: 14px; }
  .cf-about-hero-images img, .cf-about-hero-images .primary, .cf-about-hero-images .secondary { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; border-width: 0; border-radius: 4px; }
  .cf-about-profile-card { border-radius: 4px; }
  .cf-about-profile-card div { position: relative; left: auto; right: auto; bottom: auto; border-radius: 0; box-shadow: none; }
  .cf-about-values-grid article { min-height: 0; }
  .cf-about-capability-strip strong { font-size: 36px; }
  .cf-about-factory-media { display: grid; gap: 14px; min-height: 0; }
  .cf-about-factory-media img, .cf-about-factory-media .main, .cf-about-factory-media .sub { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; border-width: 0; border-radius: 4px; }
  .cf-about-hub-grid a { min-height: 360px; }
  .cf-about-closing { padding: 28px; border-radius: 4px; gap: 24px; }
  .cf-about-closing button { width: 100%; }
  .cf-heritage-hero-card { border-radius: 4px; }
  .cf-heritage-hero-card > span { font-size: 42px; }
  .cf-heritage-hero-image-only { min-height: 0; }
  .cf-heritage-hero-image-only img { min-height: 0; aspect-ratio: 4 / 3; }
  .cf-about-advantage-media img { min-height: 0; aspect-ratio: 4 / 3; }
  .cf-about-editorial figure, .cf-about-mosaic article, .cf-story-band > img { border-radius: 4px; }
  .cf-about-link-stack a { display: grid; gap: 6px; font-size: 20px; }
  .cf-about-mosaic article, .cf-about-mosaic article.wide { min-height: 360px; }
  .cf-about-mosaic h3, .cf-about-mosaic article.wide h3 { margin-top: 230px; }
  .cf-heritage-timeline article { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .cf-heritage-timeline article > span { width: 46px; height: 46px; }
  .cf-heritage-timeline h3 { font-size: 24px; }
  .cf-advantage-slider { max-width: none; }
  .cf-advantage-slider-dots { bottom: 14px; }
  .cf-product-page { padding: 24px 0 58px; }
  .cf-heritage-closing-media { min-height: 0; aspect-ratio: auto; }
  .cf-heritage-closing-main { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-position: center; border-radius: 4px; }
  .cf-heritage-commitments { grid-template-columns: 1fr; }
  .cf-heritage-final-cta { padding: 24px; border-radius: 4px; }
  .cf-heritage-final-cta strong { font-size: 24px; }
  .cf-heritage-final-cta > div:last-child { display: grid; grid-template-columns: 1fr; }
  .cf-heritage-final-cta button, .cf-heritage-final-cta a { width: 100%; }
  .cf-faq-board-aside { padding: 28px; border-radius: 4px; }
  .cf-faq-board-aside h2 { font-size: 30px; }
  .cf-faq-list summary { grid-template-columns: 38px 1fr 34px; gap: 12px; padding: 20px; font-size: 20px; }
  .cf-faq-list summary > span { width: 38px; height: 38px; }
  .cf-faq-list summary::after { width: 34px; height: 34px; font-size: 24px; }
  .cf-faq-list details p { padding: 0 20px 22px 70px; font-size: 16px; }
  .cf-contact-command, .cf-contact-form-card { border-radius: 4px; }
  .cf-contact-command { padding: 30px; }
  .cf-contact-response div, .cf-contact-list article { grid-template-columns: 1fr; }
  .cf-contact-form-top { grid-template-columns: 1fr; padding: 28px; }
  .cf-contact-form-body { padding: 28px; }
  .cf-contact-map-block iframe { height: 50vh; min-height: 320px; border-radius: 0; }
  .cf-solution-copy-panel { padding: 26px; border-radius: 4px; }
  .cf-solution-detail-rich li { grid-template-columns: 1fr; }
  .cf-solution-media-stack { min-height: 0; display: grid; gap: 14px; }
  .cf-solution-media-stack .primary, .cf-solution-media-stack .secondary { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; border-width: 0; border-radius: 4px; }
  .cf-solution-media-stack div { position: relative; left: auto; bottom: auto; max-width: none; border-radius: 4px; }
  .cf-solution-product-row article, .cf-solution-case-rich figure, .cf-solution-case-rich > div { border-radius: 4px; }
  .cf-article-hero { min-height: 480px; }
  .cf-article-intro-card, .cf-article-content, .cf-article-action-panel, .cf-article-side-card { border-radius: 4px; }
  .cf-article-intro-card, .cf-article-content, .cf-article-action-panel { padding: 26px; }
  .cf-article-content h2 { font-size: 28px; }
  .cf-article-content h3 { font-size: 22px; }
  .cf-article-content p { font-size: 17px; line-height: 1.82; }
  .cf-article-action-panel h2 { font-size: 28px; }
  .cf-product-summary { padding: 28px; }
  .cf-product-quick-specs dl { grid-template-columns: 1fr; gap: 6px; }
  .cf-product-anchor-nav { position: static; }
  .cf-product-factory-grid img, .cf-product-factory-grid figure:first-child img { height: auto; aspect-ratio: 4 / 3; }
  .cf-product-story-hero { padding: 36px 0 56px; }
  .cf-product-story-head { gap: 32px; }
  .cf-product-story-head h1 { font-size: var(--cf-title-h1); margin-bottom: 20px; }
  .cf-product-story-head > div > p:not(.eyebrow) { font-size: 18px; line-height: 1.68; }
  .cf-product-story-feature { margin-top: -24px; }
  .cf-product-story-feature img { border-radius: 4px; padding: 16px; }
  .cf-product-story-layout { padding-top: 58px; padding-bottom: 58px; gap: 34px; }
  .cf-product-story-section { padding-bottom: 46px; margin-bottom: 46px; }
  .cf-product-story-section h2 { font-size: 32px; }
  .cf-product-story-section p { font-size: 16px; line-height: 1.78; }
  .cf-product-story-note { grid-template-columns: 1fr; padding: 22px; }
  .cf-product-story-card, .cf-product-story-summary { border-radius: 4px; padding: 22px; }
  .cf-product-story-wide, .cf-product-story-split img { border-radius: 4px; }
  .cf-download-list article { grid-template-columns: 1fr; }
  .cf-page-stats article { min-height: 0; }
  .cf-section-title .eyebrow { grid-column: auto; margin-bottom: 0; }
  .cf-split-media > img { min-height: 300px; }
  .cf-split-media > div { padding: 30px; }
  .site-footer { padding: 64px 0 36px; }
  .cf-global-footer-cta { padding: 44px 0; }
  .cf-global-footer-cta .site-shell { grid-template-columns: 1fr; gap: 24px; }
  .cf-global-footer-cta h2 { font-size: 30px; }
  .cf-global-footer-cta button { width: 100%; }
  .cf-header-tools .header-cta { display: none; }
  .cf-header-search-form { min-height: 86px; grid-template-columns: 22px minmax(0,1fr) 40px; gap: 9px; }
  .cf-header-search-form button[type="submit"] { display: none; }
  .cf-conversion-rail { left: 12px; right: 12px; top: auto; bottom: 10px; grid-template-columns: repeat(3, 1fr); gap: 7px; transform: none; }
  .cf-conversion-rail a, .cf-conversion-rail button { width: 100%; min-height: 54px; border-radius: 4px; }
  body { padding-bottom: 78px; }
  .cf-footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 42px; }
}

/* Solutions overview 2026 */
.cf-solutions-hero {
  position: relative;
  min-height: 570px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background-image: var(--cf-solutions-hero);
  background-size: cover;
  background-position: center;
}
.cf-solutions-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 35, 28, .55);
}
.cf-solutions-hero .site-shell { position: relative; z-index: 1; width: 100%; }
.cf-solutions-hero-copy { max-width: 690px; padding-left: 30px; border-left: 4px solid #d2ab43; }
.cf-solutions-hero .eyebrow { color: #e1c56f; }
.cf-solutions-hero h1 { max-width: 680px; margin: 12px 0 22px; color: #fff; font-size: clamp(46px, 5vw, 72px); line-height: 1.02; letter-spacing: -.035em; }
.cf-solutions-hero-copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.88); font-size: 19px; line-height: 1.72; }
.cf-solutions-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.cf-solutions-hero-actions a,
.cf-solutions-hero-actions button { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.72); border-radius: 4px; color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.cf-solutions-hero-actions a { border-color: var(--cf-primary); background: var(--cf-primary); }
.cf-solutions-hero-actions button { background: rgba(5,48,35,.35); }
.cf-solutions-hero-actions .cf-icon { width: 16px; height: 16px; }
.cf-solutions-index { border-bottom: 1px solid #e3e9e4; background: #fff; box-shadow: 0 10px 34px rgba(8,51,38,.05); }
.cf-solutions-index .site-shell { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); }
.cf-solutions-index a { min-height: 94px; padding: 14px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; border-right: 1px solid #e3e9e4; color: #284039; text-align: center; font-size: 12px; font-weight: 800; line-height: 1.25; transition: color .2s ease, background .2s ease; }
.cf-solutions-index a:first-child { border-left: 1px solid #e3e9e4; }
.cf-solutions-index a:hover { color: var(--cf-primary); background: #f7faf7; }
.cf-solutions-index .cf-icon { width: 25px; height: 25px; color: var(--cf-primary); stroke-width: 1.7; }
.cf-solutions-intro { padding: 96px 0 62px; background: #fff; }
.cf-solutions-intro-grid { display: grid; grid-template-columns: .84fr 1.16fr; gap: 30px 90px; align-items: end; }
.cf-solutions-intro h2,
.cf-solutions-scenarios h2,
.cf-solutions-system h2,
.cf-solutions-proof h2,
.cf-solutions-process h2,
.cf-solutions-final h2 { margin: 8px 0 0; color: #103a2d; font-size: clamp(36px, 3.4vw, 52px); line-height: 1.08; letter-spacing: -.025em; }
.cf-solutions-intro-grid > p { max-width: 680px; margin: 0; color: #65746d; font-size: 17px; line-height: 1.75; }
.cf-solutions-principles { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 22px; border-top: 1px solid #dfe7e1; border-bottom: 1px solid #dfe7e1; }
.cf-solutions-principles article { position: relative; padding: 26px 26px 28px 36px; border-right: 1px solid #dfe7e1; }
.cf-solutions-principles article:last-child { border-right: 0; }
.cf-solutions-principles article > .cf-icon { position: absolute; left: 8px; top: 29px; width: 19px; height: 19px; color: var(--cf-primary); }
.cf-solutions-principles h3 { margin: 0 0 8px; color: #1b4236; font-size: 17px; }
.cf-solutions-principles p { margin: 0; color: #78857f; font-size: 14px; line-height: 1.55; }
.cf-solutions-scenarios { padding: 48px 0 100px; background: #fff; scroll-margin-top: 90px; }
.cf-solutions-scenarios-head { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: end; margin-bottom: 38px; }
.cf-solutions-scenarios-head > p { margin: 0; color: #65746d; font-size: 17px; line-height: 1.72; }
.cf-solutions-scenario-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.cf-solutions-scenario-card { position: relative; min-height: 510px; overflow: hidden; border-radius: 4px; background: #0b5a3b; box-shadow: 0 14px 42px rgba(9,61,43,.09); }
.cf-solutions-scenario-card img { width: 100%; height: 245px; display: block; object-fit: cover; transition: transform .45s ease; }
.cf-solutions-scenario-card > div { min-height: 265px; padding: 28px; color: #fff; background: #0b5a3b; }
.cf-solutions-scenario-card > div > span { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; border-radius: 4px; background: rgba(255,255,255,.12); color: #dcefe3; }
.cf-solutions-scenario-card > div > span .cf-icon { width: 21px; height: 21px; }
.cf-solutions-scenario-card h3 { margin: 0 0 12px; color: #fff; font-size: 25px; line-height: 1.18; }
.cf-solutions-scenario-card p { min-height: 66px; margin: 0 0 20px; color: rgba(255,255,255,.77); font-size: 15px; line-height: 1.55; }
.cf-solutions-scenario-card strong { display: inline-flex; align-items: center; gap: 7px; color: #ead47e; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.cf-solutions-scenario-card strong .cf-icon { width: 15px; height: 15px; }
.cf-solutions-scenario-card:hover img { transform: scale(1.035); }
.cf-solutions-system { padding: 104px 0; background: #f5f7f5; }
.cf-solutions-system .site-shell { display: grid; gap: 62px; }
.cf-solutions-system-row { display: grid; grid-template-columns: .82fr 1.18fr; gap: 68px; align-items: center; }
.cf-solutions-system-row.is-reverse { grid-template-columns: 1.12fr .88fr; }
.cf-solutions-system-copy > p:not(.eyebrow) { margin: 18px 0 0; color: #66736d; font-size: 17px; line-height: 1.72; }
.cf-solutions-system-copy ul { display: grid; gap: 13px; margin: 26px 0 0; padding: 0; list-style: none; }
.cf-solutions-system-copy li { display: flex; align-items: center; gap: 10px; color: #344d44; font-size: 14px; font-weight: 700; }
.cf-solutions-system-copy li .cf-icon { width: 19px; height: 19px; color: var(--cf-primary); }
.cf-solutions-product-composition { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px; border: 1px solid #dfe7e1; border-radius: 4px; background: #fff; }
.cf-solutions-product-composition img { width: 100%; height: 225px; object-fit: cover; object-position: center; background: #fff; }
.cf-solutions-product-composition img:last-child { grid-column: 1 / -1; height: 255px; object-fit: cover; }
.cf-solutions-system-scene { width: 100%; min-height: 440px; object-fit: cover; border-radius: 4px; }
.cf-solutions-support { border-top: 1px solid #dfe7e1; border-bottom: 1px solid #dfe7e1; background: #fff; }
.cf-solutions-support .site-shell { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.cf-solutions-support article { padding: 42px 30px; border-right: 1px solid #dfe7e1; text-align: center; }
.cf-solutions-support article:first-child { border-left: 1px solid #dfe7e1; }
.cf-solutions-support .cf-icon { width: 38px; height: 38px; color: var(--cf-primary); stroke-width: 1.6; }
.cf-solutions-support h3 { margin: 18px 0 10px; color: #164433; font-size: 20px; }
.cf-solutions-support p { margin: 0; color: #75827c; font-size: 14px; line-height: 1.62; }
.cf-solutions-proof { padding: 92px 0; color: #fff; background: #075337; }
.cf-solutions-proof-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 68px; align-items: center; }
.cf-solutions-proof .eyebrow { color: #e4cb79; }
.cf-solutions-proof h2 { color: #fff; }
.cf-solutions-proof-grid > div > p:not(.eyebrow) { color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.7; }
.cf-solutions-proof img { width: 100%; min-height: 410px; object-fit: cover; border-radius: 4px; }
.cf-solutions-proof-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 30px; }
.cf-solutions-proof-points span { padding-right: 14px; border-right: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.45; }
.cf-solutions-proof-points span:last-child { border-right: 0; }
.cf-solutions-proof-points strong { display: block; margin-bottom: 6px; color: #f0d87e; font-size: 30px; line-height: 1; }
.cf-solutions-process { padding: 100px 0; background: #fff; }
.cf-solutions-process-head { text-align: center; }
.cf-solutions-process-grid { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 48px; }
.cf-solutions-process-grid::before { content: ""; position: absolute; left: 10%; right: 10%; top: 31px; z-index: 0; border-top: 1px dashed #93b4a4; }
.cf-solutions-process-grid article { position: relative; z-index: 1; padding: 0 20px; text-align: center; }
.cf-solutions-process-grid article > span { position: relative; z-index: 1; width: 62px; height: 62px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; border-radius: 50%; background: var(--cf-primary); color: #fff; font-weight: 900; }
.cf-solutions-process-grid article > .cf-icon { position: relative; z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--cf-primary); box-shadow: 0 0 0 9px #fff; }
.cf-solutions-process-grid h3 { margin: 13px 0 8px; color: #173f33; font-size: 21px; }
.cf-solutions-process-grid p { margin: 0 auto; max-width: 230px; color: #76837d; font-size: 14px; line-height: 1.6; }
.cf-solutions-final { padding: 72px 0; color: #fff; background: #0a6542; }
.cf-solutions-final .site-shell { display: grid; grid-template-columns: 1fr auto auto; gap: 20px; align-items: center; }
.cf-solutions-final .eyebrow { color: #e3ca76; }
.cf-solutions-final h2 { max-width: 800px; color: #fff; font-size: clamp(34px,3.3vw,50px); }
.cf-solutions-final p:not(.eyebrow) { max-width: 750px; color: rgba(255,255,255,.75); font-size: 16px; line-height: 1.7; }
.cf-solutions-final button,
.cf-solutions-final a { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #fff; border-radius: 4px; font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.cf-solutions-final button { background: #fff; color: var(--cf-primary); }
.cf-solutions-final a { color: #fff; }
.cf-solutions-final .cf-icon { width: 16px; height: 16px; }

@media (max-width: 1024px) {
  .cf-solutions-index .site-shell { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cf-solutions-intro-grid,
  .cf-solutions-scenarios-head,
  .cf-solutions-system-row,
  .cf-solutions-system-row.is-reverse,
  .cf-solutions-proof-grid { grid-template-columns: 1fr; }
  .cf-solutions-principles,
  .cf-solutions-support .site-shell { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cf-solutions-scenario-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cf-solutions-final .site-shell { grid-template-columns: 1fr auto; }
  .cf-solutions-final .site-shell > div { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .cf-solutions-hero { min-height: 560px; background-position: 66% center; }
  .cf-solutions-hero-copy { padding-left: 20px; }
  .cf-solutions-hero h1 { font-size: 43px; }
  .cf-solutions-hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .cf-solutions-hero-actions { flex-direction: column; align-items: stretch; }
  .cf-solutions-index .site-shell { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cf-solutions-index a { min-height: 88px; }
  .cf-solutions-intro,
  .cf-solutions-scenarios,
  .cf-solutions-system,
  .cf-solutions-proof,
  .cf-solutions-process { padding-top: 66px; padding-bottom: 66px; }
  .cf-solutions-intro-grid { gap: 24px; }
  .cf-solutions-principles,
  .cf-solutions-scenario-grid,
  .cf-solutions-support .site-shell,
  .cf-solutions-process-grid,
  .cf-solutions-proof-points { grid-template-columns: 1fr; }
  .cf-solutions-principles article,
  .cf-solutions-support article { border-right: 0; border-bottom: 1px solid #dfe7e1; }
  .cf-solutions-scenario-card { min-height: 0; }
  .cf-solutions-scenario-card > div { min-height: 0; }
  .cf-solutions-scenario-card p { min-height: 0; }
  .cf-solutions-product-composition { grid-template-columns: 1fr; }
  .cf-solutions-product-composition img:last-child { grid-column: auto; }
  .cf-solutions-system-scene { min-height: 310px; }
  .cf-solutions-process-grid::before { display: none; }
  .cf-solutions-final .site-shell { grid-template-columns: 1fr; }
  .cf-solutions-final .site-shell > div { grid-column: auto; }
}

.cf-home-hero { min-height: 90vh; position: relative; display: flex; align-items: center; overflow: hidden; color: #fff; }
.cf-home-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.01); }
.cf-home-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,85,64,.86), rgba(9,85,64,.42), rgba(9,85,64,.08)); }
.cf-home-hero-inner { position: relative; z-index: 2; padding-bottom: 100px; }
.cf-home-hero-copy { max-width: 900px; }
.cf-home-hero h1 { color: #fff; line-height: 1.04; margin-bottom: 30px; text-shadow: 0 4px 24px rgba(0,0,0,.28); }
.cf-home-hero p { max-width: 690px; color: rgba(255,255,255,.78); font-size: 20px; line-height: 1.75; }
.cf-pill { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; margin-bottom: 32px; border: 1px solid rgba(255,255,255,.22); border-radius: 4px; background: rgba(255,255,255,.1); color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; }
.cf-pill span { width: 8px; height: 8px; border-radius: 50%; background: var(--cf-lime); }
.cf-hero-stats { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 28px 0; background: rgba(0,0,0,.3); border-top: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(18px); }
.cf-stat-row { display: flex; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.cf-stat-row div { display: flex; align-items: center; gap: 14px; }
.cf-stat-row strong { color: var(--cf-lime); font-size: 28px; line-height: 1; }
.cf-stat-row span { color: rgba(255,255,255,.72); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; line-height: 1.35; }
.cf-muted { background: rgb(245 245 245 / 1); }
.cf-section-head { margin-bottom: 64px; }
.cf-section-head.split-head { display: flex; justify-content: space-between; gap: 48px; align-items: flex-end; }
.cf-section-head h2 { margin-bottom: 0; }
.cf-section-head p:last-child { margin-bottom: 0; color: var(--cf-muted); }
.cf-head-note { max-width: 470px; padding-left: 26px; border-left: 2px solid var(--cf-primary); color: var(--cf-muted); }
.cf-category-layout { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.cf-category-card { position: relative; min-height: 260px; grid-column: span 4; overflow: hidden; border-radius: 4px; color: #fff; background: #12382e; }
.cf-category-card.large { grid-column: span 8; min-height: 520px; }
.cf-category-card.tall { grid-column: span 4; min-height: 520px; }
.cf-category-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .7s ease; }
.cf-category-card:hover img { transform: scale(1.08); }
.cf-category-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,85,64,.86), rgba(9,85,64,.08)); }
.cf-category-card div { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 34px; }
.cf-category-card span { display: block; margin-bottom: 8px; color: var(--cf-lime); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.cf-category-card h3 { color: #fff; font-size: 32px; line-height: 1.12; }
.cf-category-card p { max-width: 420px; color: rgba(255,255,255,.75); }
.cf-category-card b { text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.cf-heritage { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.cf-heritage-copy p { color: var(--cf-muted); font-size: 18px; }
.cf-mini-stats { display: flex; gap: 40px; border-top: 1px solid var(--cf-line); margin-top: 44px; padding-top: 40px; flex-wrap: wrap; }
.cf-mini-stats strong { display: block; color: var(--cf-primary); font-size: 32px; line-height: 1; margin-bottom: 8px; }
.cf-mini-stats span { color: #6a726d; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.cf-heritage-images { position: relative; padding: 32px 0; }
.cf-heritage-images .top { width: 76%; overflow: hidden; border-radius: 4px; box-shadow: 0 28px 80px rgba(0,0,0,.2); }
.cf-heritage-images .bottom { width: 58%; margin-left: auto; margin-top: -64px; overflow: hidden; border-radius: 4px; border: 8px solid #fff; box-shadow: 0 28px 80px rgba(0,0,0,.2); background: #fff; }
.cf-heritage-images img { width: 100%; height: auto; display: block; }
.cf-featured-products { background: rgb(245 245 245 / 1); }
.cf-product-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.cf-partner { background: var(--cf-deep); color: #fff; position: relative; overflow: hidden; }
.cf-section-head.centered { text-align: center; max-width: 760px; margin-left: auto; margin-right: auto; }
.cf-section-head.dark h2, .cf-section-head.dark p { color: #fff; }
.cf-section-head.dark .eyebrow { color: var(--cf-lime); }
.cf-partner-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.cf-partner-grid > div { padding: 36px; border: 1px solid rgba(255,255,255,.12); border-radius: 4px; background: rgba(255,255,255,.06); }
.cf-partner-grid span { color: var(--cf-lime); font-size: 34px; font-weight: 900; }
.cf-partner-grid h3 { color: #fff; margin-top: 22px; }
.cf-partner-grid p { color: rgba(255,255,255,.62); }
.cf-partner-banner { margin-top: 72px; height: 380px; position: relative; overflow: hidden; border-radius: 4px; box-shadow: 0 28px 80px rgba(0,0,0,.25); }
.cf-partner-banner img { width: 100%; height: 100%; object-fit: cover; }
.cf-partner-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,85,64,.72), rgba(9,85,64,.05)); }
.cf-partner-banner div { position: absolute; z-index: 2; left: 70px; top: 50%; transform: translateY(-50%); max-width: 430px; }
.cf-partner-banner h3 { color: #fff; font-size: 34px; }
.cf-partner-banner p { color: rgba(255,255,255,.82); }
.cf-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.cf-cert-band { background: #f5f5f5; border-top: 1px solid var(--cf-line); }
.cf-cert-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: center; }
.cf-cert-layout p { color: var(--cf-muted); font-size: 18px; }
.cf-cert-band .cf-cert-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cf-cert-band .cf-cert-grid div { padding: 28px; background: #fff; border: 1px solid rgba(190,201,190,.5); border-radius: 4px; }
.cf-cert-band .cf-cert-grid strong { display: block; margin-bottom: 6px; color: var(--cf-ink); text-transform: uppercase; letter-spacing: .08em; }
.cf-cert-band .cf-cert-grid span { color: var(--cf-muted); font-size: 13px; }
.cf-home-cert-icon { color: var(--cf-primary); width: 42px; height: 42px; }
@media (max-width: 1024px) {
  .cf-section-head.split-head, .cf-heritage, .cf-cert-layout { grid-template-columns: 1fr; display: grid; }
  .cf-category-card, .cf-category-card.large, .cf-category-card.tall { grid-column: span 12; min-height: 360px; }
  .cf-product-strip, .cf-partner-grid, .cf-news-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cf-home-hero { min-height: 760px; }
  .cf-product-strip, .cf-partner-grid, .cf-news-grid, .cf-cert-grid { grid-template-columns: 1fr; }
  .cf-partner-banner div { left: 28px; right: 28px; }
}

/* News detail template: Songrock-style article layout with Chunfeng styling. */
.cf-news-detail-page {
  background: #fff;
}
.cf-news-detail-hero {
  padding: 54px 0 62px;
  background: linear-gradient(180deg, #f7faf7, #fff);
  border-bottom: 1px solid rgba(190,201,190,.62);
}
.cf-news-detail-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .62fr);
  gap: 64px;
  align-items: center;
}
.cf-news-detail-back-row {
  margin-bottom: 30px;
}
.cf-news-detail-back-row a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cf-primary);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cf-news-detail-back-row .cf-icon {
  width: 16px;
  height: 16px;
  transform: rotate(180deg);
}
.cf-news-detail-hero-copy h1 {
  max-width: 930px;
  margin: 0 0 24px;
  color: #002f1a;
  font-size: var(--cf-title-h1);
  line-height: 1.04;
}
.cf-news-detail-hero-copy > p:not(.eyebrow) {
  max-width: 780px;
  color: #34413a;
  font-size: 19px;
  line-height: 1.72;
}
.cf-news-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
}
.cf-news-detail-meta span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 4px;
  background: rgba(0,105,55,.08);
  color: var(--cf-primary);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cf-news-detail-meta time { margin-left: 5px; }
.cf-news-detail-hero-media {
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid rgba(190,201,190,.72);
  background: #e9eee9;
  box-shadow: 0 26px 80px rgba(8,51,38,.1);
}
.cf-news-detail-hero-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.cf-news-detail-body-section {
  padding: 82px 0;
}
.cf-news-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 920px) 330px;
  gap: 62px;
  align-items: start;
}
.cf-news-detail-entry {
  max-width: none;
  padding: 0;
  background: transparent;
}
.cf-news-detail-entry > *:first-child {
  margin-top: 0;
}
.cf-news-detail-entry p {
  color: #34413a;
  font-size: 18px;
  line-height: 1.9;
  margin: 0 0 26px;
}
.cf-news-detail-entry h2 {
  max-width: 820px;
  margin: 56px 0 20px;
  color: #002f1a;
  font-size: 36px;
  line-height: 1.12;
}
.cf-news-detail-entry h3 {
  margin: 36px 0 14px;
  color: var(--cf-deep);
  font-size: 25px;
  line-height: 1.18;
}
.cf-news-detail-entry ul,
.cf-news-detail-entry ol {
  display: grid;
  gap: 10px;
  margin: 0 0 30px;
  padding-left: 22px;
  color: #34413a;
  font-size: 17px;
  line-height: 1.76;
}
.cf-news-detail-entry li::marker {
  color: var(--cf-primary);
  font-weight: 600;
}
.cf-news-detail-entry blockquote {
  margin: 36px 0;
  padding: 28px 32px;
  border-left: 4px solid var(--cf-primary);
  background: #f5f5f5;
  color: #20352b;
  font-family: "Hanken Grotesk", Inter, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.36;
}
.cf-news-detail-sidebar {
  position: sticky;
  top: 108px;
  display: grid;
  gap: 18px;
}
.cf-news-recent-card,
.cf-news-subscribe-card {
  padding: 26px;
  border: 1px solid rgba(190,201,190,.72);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(8,51,38,.06);
}
.cf-news-recent-card dl {
  display: grid;
  gap: 14px;
  margin: 20px 0 0;
}
.cf-news-recent-card dl div {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(190,201,190,.62);
}
.cf-news-recent-card dt {
  color: #7b857f;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.cf-news-recent-card dd {
  margin: 4px 0 0;
  color: var(--cf-deep);
  font-weight: 600;
}
.cf-news-recent-card nav {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(190,201,190,.62);
}
.cf-news-recent-card nav strong,
.cf-news-subscribe-card h3 {
  color: var(--cf-deep);
  font-family: "Hanken Grotesk", Inter, sans-serif;
  font-size: 22px;
  line-height: 1.16;
}
.cf-news-recent-card nav a {
  position: relative;
  display: block;
  padding: 11px 12px 11px 30px;
  border-radius: 4px;
  background: #f5f5f5;
  color: #34413a;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}
.cf-news-recent-card nav a::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cf-primary);
  transform: translateY(-50%);
}
.cf-news-recent-card nav a:hover {
  background: rgba(0,105,55,.1);
  color: var(--cf-primary);
}
.cf-news-subscribe-card {
  background: #f5f5f5;
}
.cf-news-subscribe-card .cf-icon {
  width: 42px;
  height: 42px;
  color: var(--cf-primary);
  margin-bottom: 16px;
}
.cf-news-subscribe-card p {
  color: var(--cf-muted);
}
.cf-news-subscribe-card button,
.cf-news-detail-cta-panel button {
  min-height: 50px;
  border: 0;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--cf-primary), var(--cf-deep));
  color: #fff;
  padding: 0 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  cursor: pointer;
}
.cf-news-subscribe-card button {
  width: 100%;
}
.cf-news-detail-cta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  margin-top: 44px;
  padding: 38px;
  border-radius: 4px;
  background: var(--cf-deep);
  color: #fff;
}
.cf-news-detail-cta-panel .eyebrow {
  color: var(--cf-lime);
}
.cf-news-detail-cta-panel h2 {
  color: #fff;
  font-size: 34px;
  line-height: 1.12;
  margin-bottom: 12px;
}
.cf-news-detail-cta-panel p:not(.eyebrow) {
  max-width: 760px;
  color: rgba(255,255,255,.78);
  margin: 0;
}

@media (max-width: 1024px) {
  .cf-news-detail-hero-grid,
  .cf-news-detail-layout,
  .cf-news-detail-cta-panel {
    grid-template-columns: 1fr;
  }
  .cf-news-detail-sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .cf-news-detail-hero {
    padding: 38px 0 44px;
  }
  .cf-news-detail-body-section {
    padding: 56px 0;
  }
  .cf-news-detail-entry p {
    font-size: 17px;
    line-height: 1.82;
  }
  .cf-news-detail-entry h2 {
    font-size: 29px;
  }
  .cf-news-detail-cta-panel,
  .cf-news-recent-card,
  .cf-news-subscribe-card {
    border-radius: 4px;
    padding: 24px;
  }
}

/* Product detail stabilization: article-style layout inspired by Songrock, using Chunfeng tokens. */
.cf-product-story {
  background: #fff;
}
.cf-product-story-hero {
  padding: 54px 0 46px !important;
  background: #f7faf7 !important;
  border-bottom: 1px solid rgba(190,201,190,.62);
}
.cf-product-story-breadcrumb {
  margin-bottom: 36px !important;
}
.cf-product-story-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 56px !important;
  align-items: start !important;
}
.cf-product-story-head h1 {
  max-width: 920px !important;
  margin: 0 0 22px !important;
  color: #002f1a !important;
  font-size: var(--cf-title-h1) !important;
  line-height: 1.04 !important;
}
.cf-product-story-head > div > p:not(.eyebrow) {
  max-width: 800px !important;
  margin: 0 !important;
  color: #34413a !important;
  font-size: 19px !important;
  line-height: 1.72 !important;
}
.cf-product-story-summary,
.cf-product-story-card {
  border-radius: 4px !important;
  box-shadow: 0 16px 48px rgba(8,51,38,.07) !important;
}
.cf-product-story-feature {
  margin-top: 34px !important;
}
.cf-product-story-feature img {
  width: 100% !important;
  max-height: 560px !important;
  object-fit: contain !important;
  padding: 28px !important;
  border-radius: 4px !important;
  box-shadow: 0 22px 70px rgba(8,51,38,.08) !important;
}
.cf-product-story-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 920px) 320px !important;
  gap: 60px !important;
  align-items: start !important;
  padding-top: 76px !important;
  padding-bottom: 72px !important;
}
.cf-product-story-content {
  max-width: none !important;
  min-width: 0 !important;
}
.cf-product-story-section {
  padding-bottom: 54px !important;
  margin-bottom: 54px !important;
}
.cf-product-story-section h2 {
  max-width: 780px !important;
  color: #002f1a !important;
  font-size: 38px !important;
  line-height: 1.12 !important;
  margin-bottom: 20px !important;
}
.cf-product-story-section p {
  color: #34413a !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
}
.cf-product-story-grid,
.cf-product-story-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.cf-product-story-grid article:first-child {
  grid-column: 1 / -1;
}
.cf-product-story-wide {
  margin: 34px 0 !important;
  border-radius: 4px !important;
}
.cf-product-story-wide img {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}
.cf-product-story-split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 34px !important;
  align-items: start !important;
}
.cf-product-story-split img {
  border-radius: 4px !important;
}
.cf-product-story-sidebar {
  position: sticky !important;
  top: 108px !important;
  display: grid !important;
  gap: 18px !important;
}

@media (max-width: 1024px) {
  .cf-product-story-head,
  .cf-product-story-layout,
  .cf-product-story-split {
    grid-template-columns: 1fr !important;
  }
  .cf-product-story-sidebar,
  .cf-product-story-content {
    grid-row: auto !important;
  }
  .cf-product-story-sidebar {
    position: static !important;
  }
}

@media (max-width: 640px) {
  .cf-product-story-hero {
    padding: 38px 0 34px !important;
  }
  .cf-product-story-head h1 {
    font-size: var(--cf-title-h1) !important;
  }
  .cf-product-story-head > div > p:not(.eyebrow) {
    font-size: 17px !important;
  }
  .cf-product-story-feature {
    margin-top: 22px !important;
  }
  .cf-product-story-feature img {
    padding: 16px !important;
  }
  .cf-product-story-layout {
    padding-top: 48px !important;
    gap: 34px !important;
  }
  .cf-product-story-grid,
  .cf-product-story-steps {
    grid-template-columns: 1fr !important;
  }
  .cf-product-story-section h2 {
    font-size: 30px !important;
  }
}

/* Products: progressive three-level mega menu sourced from the catalog taxonomy. */
.primary-menu > .cf-menu-section-products > .sub-menu { display: none !important; }
.cf-product-mega { display: none; }

@media (min-width: 1101px) {
  .primary-menu > .cf-menu-section-products { position: static; }
  .cf-product-mega {
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    width: min(1320px, calc(100vw - 48px));
    padding: 22px 30px 30px;
    color: #173d31;
    background: #fff;
    border: 1px solid #dce5df;
    border-top: 2px solid var(--cf-primary);
    box-shadow: 0 28px 72px rgba(11, 45, 36, .18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 10px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .primary-menu > .cf-menu-section-products:hover > .cf-product-mega,
  .primary-menu > .cf-menu-section-products:focus-within > .cf-product-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }
  .cf-product-mega-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 34px;
    margin-bottom: 10px;
    padding-bottom: 13px;
    border-bottom: 1px solid #e5ebe7;
  }
  .cf-product-mega-topline > span {
    color: #7b8580;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .cf-product-mega .cf-product-mega-topline a {
    padding: 5px 0;
    color: var(--cf-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: none;
  }
  .cf-product-mega-grid {
    display: grid;
    grid-template-columns: 250px 280px minmax(300px, 1fr) 260px;
    min-height: 390px;
  }
  .cf-mega-column {
    min-width: 0;
    padding: 6px 26px;
    border-right: 1px solid #e5ebe7;
  }
  .cf-mega-roots { padding-left: 0; }
  .cf-mega-third { border-right: 0; }
  .cf-product-mega a { text-transform: none; letter-spacing: 0; }
  .cf-product-mega .cf-mega-root,
  .cf-product-mega .cf-mega-second-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 56px;
    padding: 9px 12px;
    color: #345048;
    border-bottom: 1px solid #edf1ee;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.3;
  }
  .cf-product-mega .cf-mega-root::after,
  .cf-product-mega .cf-mega-second-link::after { display: none; }
  .cf-product-mega .cf-mega-root:hover,
  .cf-product-mega .cf-mega-root.is-active,
  .cf-product-mega .cf-mega-second-link:hover,
  .cf-product-mega .cf-mega-second-link.is-active {
    color: var(--cf-primary);
    background: #f3f8f5;
  }
  .cf-product-mega .cf-mega-root.is-active { box-shadow: inset 3px 0 0 var(--cf-primary); }
  .cf-mega-root-icon {
    width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cf-primary);
  }
  .cf-mega-root-icon svg { width: 23px; height: 23px; }
  .cf-mega-arrow { color: #9ba8a1; font-size: 21px; font-weight: 400; }
  .cf-product-mega .cf-mega-second-link {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 48px;
    padding: 9px 10px;
  }
  .cf-mega-panel[hidden] { display: none !important; }
  .cf-product-mega .cf-mega-third-heading {
    display: block;
    margin: 1px 0 14px;
    padding: 10px 0 12px;
    color: #0b503c;
    border-bottom: 2px solid #dbe8e1;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
  }
  .cf-product-mega .cf-mega-third-link {
    display: block;
    padding: 7px 0;
    color: #4f625c;
    font-size: 13px;
    font-weight: 550;
    line-height: 1.4;
  }
  .cf-product-mega .cf-mega-third-link:hover { color: var(--cf-primary); transform: translateX(3px); }
  .cf-product-mega .cf-mega-feature {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    margin-left: 26px;
    padding: 0 0 18px;
    color: #173d31;
    background: #f5f7f6;
    border: 1px solid #e0e6e2;
    overflow: hidden;
  }
  .cf-mega-feature-media {
    display: block;
    height: 220px;
    margin-bottom: 17px;
    background: #fff;
  }
  .cf-mega-feature-media img { width: 100%; height: 100%; object-fit: contain; padding: 13px; }
  .cf-mega-feature-label,
  .cf-mega-feature strong,
  .cf-mega-feature-cta { margin-left: 18px; margin-right: 18px; }
  .cf-mega-feature-label { margin-bottom: 7px; color: #8c9691; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
  .cf-mega-feature strong { color: #173d31; font-size: 14px; line-height: 1.45; }
  .cf-mega-feature-cta { margin-top: auto; padding-top: 14px; color: var(--cf-primary); font-size: 12px; font-weight: 800; }
}

@media (max-width: 1100px) {
  .primary-menu > .cf-menu-section-products > .cf-product-mega {
    position: static;
    display: block;
    width: 100%;
    padding: 0 0 8px 14px;
    background: transparent;
  }
  .cf-product-mega-topline,
  .cf-mega-second,
  .cf-mega-third,
  .cf-mega-feature { display: none !important; }
  .cf-product-mega-grid { display: block; min-height: 0; }
  .cf-mega-roots { display: grid; grid-template-columns: 1fr; padding: 0; border: 0; }
  .primary-menu .cf-product-mega .cf-mega-root {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    color: #53645e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
  }
  .cf-mega-root-icon { display: inline-flex; color: var(--cf-primary); }
  .cf-mega-root-icon svg { width: 19px; height: 19px; }
}
