/* Seven connected solutions. Every destination stays visible and is a native link. */
.solutions-section{background:#f6f6f0;padding:32px 4.5% 36px;scroll-margin-top:65px}
.solutions-heading{margin:26px 0 10px;align-items:center}
.solutions-heading h2{font-size:clamp(34px,3.35vw,53px);line-height:1.06;letter-spacing:-.045em}
.solutions-heading p{font-size:13px;max-width:310px;margin:0;line-height:1.6}
.sn-touch-hint{display:none}
.solution-network{position:relative;isolation:isolate;max-width:1440px;margin:0 auto;color:#264a39}
.sn-stage{position:relative;height:clamp(515px,41vw,590px);isolation:isolate}
.sn-stage:before{content:"";position:absolute;inset:7% 15%;background:radial-gradient(ellipse,#e4ecdc70,transparent 68%);pointer-events:none;z-index:-1}
.sn-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.sn-orbit{fill:none;stroke:#a8bba2;stroke-width:.65;opacity:.3;stroke-dasharray:2 8}
.sn-wire{fill:none;stroke:#b5c5af;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .3s,opacity .3s,stroke-width .3s}
.sn-flow{fill:none;stroke:#608958;stroke-width:2;stroke-linecap:round;stroke-dasharray:12 380;opacity:0;vector-effect:non-scaling-stroke}
.sn-connection.is-active .sn-wire{stroke:#70966b;stroke-width:1.5}
.sn-connection.is-active .sn-flow{opacity:1;animation:sn-transmit 3.7s linear infinite}
@keyframes sn-transmit{to{stroke-dashoffset:-392}}
.sn-nodes{list-style:none;padding:0;margin:0}
.sn-node{position:absolute;width:22%;max-width:285px;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;text-align:center}
.sn-node:nth-child(-n+4){top:16%}.sn-node:nth-child(n+5){top:84%}
.sn-link{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 6px 8px;text-decoration:none;color:inherit;border-radius:12px;outline-offset:3px;-webkit-tap-highlight-color:#9bbd8b35}
.sn-art{display:block;width:100%;height:clamp(112px,10.8vw,162px);object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 68% 69% at 50% 52%,#000 49%,transparent 91%);transform:translateY(0) scale(1);transition:transform .55s cubic-bezier(.2,.75,.3,1),filter .45s;filter:saturate(.86)}
.sn-name{display:flex;align-items:baseline;justify-content:center;gap:9px;font-size:clamp(12px,1.12vw,17px);font-weight:500;letter-spacing:-.025em;line-height:1.25;margin-top:0;white-space:nowrap;transition:color .3s}
.sn-number{font-size:9px;color:#71876b;font-weight:400;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.sn-open{display:flex;align-items:center;justify-content:center;gap:15px;font-size:10px;font-weight:400;letter-spacing:.03em;color:#71846b;margin-top:8px;transition:color .3s}
.sn-open svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s}
.sn-link:focus-visible{outline:2px solid #547846;background:#e5ecda80}
.sn-node.is-active .sn-art{transform:translateY(-5px) scale(1.065);filter:saturate(1.04)}
.sn-node.is-active .sn-name,.sn-node.is-active .sn-open{color:#22603b}
.sn-node.is-active .sn-number{color:#2f683e}
.sn-node.is-active .sn-open svg{transform:translate(2px,-2px)}
.sn-description{display:none}
.sn-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:350px;max-width:34%;min-height:152px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:3;padding:8px 22px;background:radial-gradient(ellipse at center,#f6f6f0 56%,#f6f6f0e6 73%,#f6f6f000 100%)}
.sn-hub-top{display:flex;align-items:center;justify-content:center;gap:10px;color:#6e8265;font-size:8px;letter-spacing:.14em;font-weight:500;margin-bottom:12px}
.sn-hub-top:before{content:"";width:5px;height:5px;border-radius:50%;background:#77a26b;box-shadow:0 0 0 4px #92b27916}
.sn-hub-copy{width:100%;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sn-hub-title{font-size:25px;font-weight:450;line-height:1.06;letter-spacing:-.035em;margin:0;max-width:310px;text-wrap:balance}
.sn-hub-title.sn-wordmark{font-size:49px;letter-spacing:-.06em;font-weight:600;line-height:.95}
.sn-wordmark:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#8ba978;margin:0 0 5px 4px}
.sn-hub-description{font-size:12px;line-height:1.5;color:#60775b;margin:11px 0 0;max-width:295px;text-wrap:pretty}
.sn-hub-link{display:inline-flex;align-items:center;gap:18px;margin-top:12px;padding:5px 0;border-bottom:1px solid #8aa47a;color:#345f41;font-size:10px;line-height:1.4;text-decoration:none;min-height:29px}
.sn-hub-link[hidden]{display:none}
.sn-hub-link:focus-visible{outline:2px solid #547846;outline-offset:5px}
.sn-hub-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.sn-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d8e0d0;padding:18px 0 0;font-size:10px;color:#728269;line-height:1.5}
.sn-footer p{margin:0;max-width:660px}
.sn-footer span{white-space:nowrap;letter-spacing:.1em;font-size:8px}
.sn-footer i{display:inline-block;width:5px;height:5px;background:#729269;border-radius:50%;margin-right:7px}
.solutions-menu{position:relative}
.solutions-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:12px 0;font-size:13px}
.solutions-menu>summary::-webkit-details-marker{display:none}
.solutions-menu>summary:focus-visible{outline:2px solid #dce6ca;outline-offset:6px}
.solutions-submenu{position:absolute;top:100%;left:-24px;min-width:292px;padding:10px 22px;background:#f6f6f0;color:#244333;border:1px solid #d2dcca;border-radius:5px;box-shadow:0 18px 40px #111a2220;z-index:60;max-height:calc(100svh - 115px);overflow-y:auto}
.main-nav .solutions-submenu a{display:flex;align-items:center;gap:16px;font-size:13px;padding:14px 0;white-space:nowrap;color:#244333}
.solutions-submenu a+a{border-top:1px solid #dce2d5}
.solutions-submenu a span{font-size:9px;color:#839077}
.main-nav .solutions-submenu a:hover,.main-nav .solutions-submenu a:focus-visible{color:#52734a}
.solutions-submenu a:focus-visible{outline:2px solid #608355;outline-offset:3px}
@media(min-width:1600px){.sn-stage{height:590px}.sn-art{height:165px}.sn-hub{width:390px}.sn-hub-title{font-size:30px}.sn-hub-description{font-size:13px}}
@media(min-width:801px) and (max-height:760px){.solutions-section{padding-top:22px;padding-bottom:24px}.solutions-heading{margin-top:18px;margin-bottom:4px}.solutions-heading h2{font-size:35px}.sn-stage{height:430px}.sn-art{height:105px}.sn-hub{min-height:148px;padding-top:10px;padding-bottom:10px}.sn-hub-copy{min-height:100px}.sn-hub-title{font-size:23px}.sn-hub-title.sn-wordmark{font-size:43px}.sn-hub-top{font-size:7px;margin-bottom:8px}.sn-hub-description{font-size:11px;margin-top:8px}.sn-hub-link{margin-top:6px}.sn-footer{padding-top:13px}}
@media(min-width:801px) and (max-width:1050px){.sn-name{white-space:normal;max-width:180px;font-size:13px;min-height:32px;align-items:center}.sn-number{display:none}.sn-node{width:23%}.sn-hub{max-width:36%;padding:10px}.sn-hub-title{font-size:24px}.sn-hub-description{font-size:11px}.sn-art{height:113px}}
@media(min-width:1051px) and (max-height:760px){.sn-stage{height:445px}}
@media(min-width:801px) and (max-width:1050px) and (max-height:760px){.sn-stage{height:480px}.sn-art{height:93px}}
@media(max-width:800px){
 .solutions-section{padding:30px 5% 32px;scroll-margin-top:65px}
 .solutions-heading{display:block;margin:24px 0 20px}
 .solutions-heading h2{font-size:clamp(34px,6.5vw,48px)}
 .solutions-heading p{font-size:12px;margin-top:17px;max-width:390px}
 .sn-desktop-hint{display:none}.sn-touch-hint{display:inline}
 .sn-stage{height:auto;padding-top:0}
 .sn-wires{display:none}
 .sn-hub{position:relative;left:auto;top:auto;transform:none;max-width:100%;width:auto;min-height:0;margin:0 0 25px;padding:18px 15px;border-top:1px solid #d2deca;border-bottom:1px solid #d2deca;background:#eaf0e160;border-radius:0}
 .sn-hub-top{margin-bottom:9px}
 .sn-hub-copy{min-height:0}
 .sn-hub-title.sn-wordmark{font-size:34px}
 .sn-hub-title{font-size:22px}
 .sn-hub-description{font-size:11px;margin-top:8px;max-width:340px}
 .sn-hub-link{margin-top:8px}
 .sn-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;position:relative}
 .sn-nodes:before{content:"";position:absolute;top:-25px;bottom:110px;left:50%;width:1px;background:#c7d5be}
 .sn-node,.sn-node:nth-child(n){position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;min-width:0}
 .sn-node:before{content:"";position:absolute;top:65px;width:7px;height:1px;right:-7px;background:#afc4a4}
 .sn-node:nth-child(even):before{left:-7px;right:auto}
 .sn-node:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
 .sn-node:last-child:before{width:1px;height:20px;top:-18px;left:50%}
 .sn-link{padding:0 4px 13px;background:#f6f6f0}
 .sn-art{height:clamp(107px,22vw,165px);filter:none}
 .sn-name{font-size:clamp(13px,2.5vw,18px);white-space:normal;gap:5px;min-height:34px;align-items:center;max-width:200px}
 .sn-number{font-size:8px}
 .sn-description{display:block;font-size:11px;line-height:1.5;font-weight:400;color:#6f8066;margin-top:7px;max-width:210px}
 .sn-open{margin-top:12px;font-size:10px}
 .sn-footer{align-items:flex-start;font-size:9px;margin-top:18px}
 .sn-footer span{display:none}
}
@media(max-width:360px){.solutions-section{padding-left:4%;padding-right:4%}.solutions-count{display:none}.sn-number{display:none}.sn-nodes{gap:15px 10px}.sn-description{font-size:10px}.sn-name{font-size:12px}.sn-art{height:101px}}
@media(prefers-reduced-motion:reduce){.sn-art,.sn-wire,.sn-name,.sn-open,.sn-open svg{transition:none!important}.sn-flow{animation:none!important}.sn-node.is-active .sn-art{transform:none}}
