.sol-page,.sol-page *,.sol-page *::before,.sol-page *::after{box-sizing:border-box}
.sol-page{width:100%;max-width:1360px;margin:0 auto;padding:32px 12px 76px;color:#46574f}
.sol-shell{width:100%;overflow:hidden;border:1px solid #d8e0da;background:#fff;box-shadow:0 8px 32px rgba(28,62,44,.06)}
.sol-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:18px 34px;border-bottom:1px solid #e0e7e1;color:#88948c;font-size:12px;line-height:1.5}
.sol-breadcrumbs a{color:#467257;text-decoration:none}
.sol-breadcrumbs a:hover{text-decoration:underline}
.sol-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:34px;align-items:center;padding:42px 42px 46px;background:linear-gradient(115deg,#f7faf7 0%,#fff 66%);border-bottom:1px solid #dce5de}
.sol-hero-copy{min-width:0}
.sol-eyebrow,.sol-section-kicker{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:#4d8060;font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.sol-eyebrow::before,.sol-section-kicker::before{content:"";display:block;width:24px;height:2px;flex:none;background:#4d8463}
.sol-hero h1{max-width:780px;margin:0;color:#173f2f;font-size:clamp(32px,3.6vw,47px);font-weight:760;line-height:1.11;letter-spacing:-.9px}
.sol-lead{max-width:720px;margin:17px 0 0;color:#5b6c62;font-size:16px;line-height:1.8}
.sol-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:25px}
.sol-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 18px;border:1px solid #173f2f;background:#e74c3c;color:#fff;text-decoration:none;font-size:12px;font-weight:750;line-height:1.35;transition:background .18s ease,transform .18s ease,border-color .18s ease}
.sol-btn:hover{transform:translateY(-1px);border-color:#174b33;background:#174b33;color:#fff}
.sol-btn span{font-size:17px;line-height:1}
.sol-secondary-link{display:inline-flex;align-items:center;gap:7px;color:#3f7657;text-decoration:none;font-size:12px;font-weight:750}
.sol-secondary-link:hover{text-decoration:underline}
.sol-hero-media{display:flex;align-items:center;justify-content:center;min-width:0;min-height:280px;margin:0;padding:18px;border:1px solid #dce5de;background:linear-gradient(135deg,#f7faf7,#eef4ef)}
.sol-hero-media img{display:block;width:100%;max-height:385px;aspect-ratio:4/3;object-fit:contain}
.sol-section{padding:38px 42px;border-bottom:1px solid #e2e8e3}
.sol-section-heading{max-width:760px;margin-bottom:21px}
.sol-section-kicker{margin-bottom:8px;font-size:10px}
.sol-section h2,.sol-related h2{margin:0;color:#214f3b;font-size:clamp(23px,2.2vw,30px);font-weight:750;line-height:1.25;letter-spacing:-.4px}
.sol-richtext{max-width:940px}
.sol-richtext p{margin:0;color:#627168;font-size:14px;line-height:1.9}
.sol-richtext p+p{margin-top:13px}
.sol-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sol-benefit-card{min-width:0;padding:20px;border:1px solid #dce5de;background:#fbfcfb}
.sol-benefit-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;margin-bottom:15px;border:1px solid #d1dfd4;background:#f3f8f4;color:#477357;font-size:11px;font-weight:800}
.sol-benefit-card h3,.sol-step h3{margin:0;color:#2a5941;font-size:16px;font-weight:750;line-height:1.4}
.sol-benefit-card p,.sol-step p{margin:8px 0 0;color:#68776e;font-size:12px;line-height:1.8}
.sol-steps{background:#fbfcfb}
.sol-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sol-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}
.sol-step-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #cfded2;background:#fff;color:#427253;font-size:13px;font-weight:800}
.sol-note{display:flex;align-items:flex-start;gap:12px;margin:26px 42px 0;padding:16px 18px;border:1px solid #d8e2da;border-left:3px solid #5d8b6b;background:#fafcfb}
.sol-note-mark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;border:1px solid #b8cdbd;border-radius:50%;color:#467257;font-size:12px;font-weight:800}
.sol-note p{margin:0;color:#6b7971;font-size:11px;line-height:1.75}
.sol-related{padding:8px 42px 38px}
.sol-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:19px}
.sol-related-card{position:relative;display:flex;flex-direction:column;gap:9px;min-height:112px;padding:17px 42px 17px 17px;border:1px solid #dce5de;background:#fff;color:inherit;text-decoration:none;transition:border-color .18s ease,background .18s ease}
.sol-related-card:hover{border-color:#9fbea7;background:#f8fbf8}
.sol-related-card>span:first-child{color:#66806e;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sol-related-card strong{color:#2b5941;font-size:14px;line-height:1.45}
.sol-related-arrow{position:absolute;right:16px;bottom:16px;color:#4c7c5d;font-size:18px}
.sol-not-found{padding:60px 28px;text-align:center}
.sol-not-found h1{margin:0;color:#214f3b;font-size:30px}
.sol-not-found p{margin:12px 0 22px;color:#6b7971;font-size:14px}
.sol-not-found .sol-btn{display:inline-flex}

.sol-gallery{display:flex;flex-direction:column;gap:12px;padding:18px;min-height:0}
.sol-gallery-viewport{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#fff;border:1px solid #e2e8e3}
.sol-slide{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease}
.sol-slide.is-active{opacity:1;visibility:visible}
.sol-slide img{display:block;width:100%;height:100%;object-fit:contain;padding:10px}
.sol-gallery-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#8a958e;font-size:13px;padding:30px}
.sol-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid #cfdad1;background:rgba(255,255,255,.94);color:#365f47;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease}
.sol-gallery-nav:hover{background:#fff;border-color:#9fbea7}
.sol-gallery-nav svg{width:20px;height:20px}
.sol-gallery-prev{left:10px}
.sol-gallery-next{right:10px}
.sol-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.sol-thumb{padding:0;border:1px solid #dce5de;background:#fff;cursor:pointer;aspect-ratio:1/1;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.sol-thumb img{width:100%;height:100%;object-fit:contain;display:block;padding:4px}
.sol-thumb:hover{border-color:#9fbea7}
.sol-thumb.is-active{border-color:#3f7657;box-shadow:0 0 0 2px rgba(63,118,87,.18)}

#solution-form{scroll-margin-top:120px}

@media(max-width:980px){
  .sol-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:22px;padding:34px 28px}
  .sol-section{padding:32px 28px}
  .sol-note{margin-right:28px;margin-left:28px}
  .sol-related{padding-right:28px;padding-left:28px}
  .sol-step-list{grid-template-columns:1fr}
  .sol-step{max-width:760px}
}
@media(max-width:720px){
  .sol-page{padding:20px 7px 48px}
  .sol-breadcrumbs{padding:14px 18px;font-size:11px}
  .sol-hero{grid-template-columns:1fr;padding:27px 19px 24px}
  .sol-hero h1{font-size:34px}
  .sol-lead{font-size:14px;line-height:1.75}
  .sol-hero-media{min-height:210px}
  .sol-hero-media img{max-height:300px}
  .sol-gallery{padding:12px}
  .sol-gallery-nav{width:34px;height:34px}
  .sol-section{padding:27px 19px}
  .sol-benefit-grid{grid-template-columns:1fr}
  .sol-benefit-card{padding:17px}
  .sol-note{margin:20px 19px 0;padding:14px}
  .sol-related{padding:3px 19px 26px}
  .sol-related-grid{grid-template-columns:1fr}
  .sol-related-card{min-height:90px}
  #solution-form{scroll-margin-top:80px}
}
@media(max-width:460px){
  .sol-hero h1{font-size:29px}
  .sol-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .sol-btn{width:100%}
  .sol-section h2,.sol-related h2{font-size:23px}
  .sol-hero-media{padding:12px}
}
@media(prefers-reduced-motion:reduce){
  .sol-page *,.sol-page *::before,.sol-page *::after{transition-duration:.01ms!important;scroll-behavior:auto!important}
}