/* KS service groups */
.ks-groups{padding:44px 0}.ks-service-group{margin:16px 0;border:1px solid #cbdcec;border-radius:14px;overflow:hidden;background:white;scroll-margin-top:90px}.ks-service-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;background:linear-gradient(105deg,#0b365b 0%,#196195 40%,#b6d5eb 74%,#fff 100%);color:#fff}.ks-service-group>summary::-webkit-details-marker{display:none}.ks-service-group>summary strong{font-size:clamp(21px,3vw,29px);line-height:1.25}.ks-service-group>summary small{display:block;margin-top:7px;font-size:14px;color:#e3eff9}.ks-service-group>summary:after{content:'+';display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:white;color:#15496d;font-size:29px;flex:none}.ks-service-group[open]>summary:after{content:'−'}.ks-service-group summary:focus-visible{outline:3px solid #1687da;outline-offset:-5px}.ks-group-body{padding:28px;animation:ks-reveal .22s ease-out}.ks-group-body .ks-directions{margin-top:22px}.ks-group-body p{line-height:1.7}.ks-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ks-gallery figure{margin:0;background:white;border:1px solid #d9e4ee;border-radius:12px;overflow:hidden}.ks-gallery img{width:100%;height:260px;object-fit:cover;display:block}.ks-gallery figcaption{padding:15px;font-size:14px;line-height:1.6;color:#455e73}.ks-note{font-size:14px;color:#5e7285;line-height:1.6}.ks-scope{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ks-scope article{padding:24px;border:1px solid #d9e4ee;border-radius:12px;background:white}.ks-scope h3{margin-top:0}.ks-service-links{display:flex;flex-wrap:wrap;gap:12px}.ks-service-links a{color:#11598b;background:#eef5fb;padding:10px 15px;border-radius:24px;text-decoration:none}.ks-direction img{aspect-ratio:3/2;object-fit:cover}@keyframes ks-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(max-width:680px){.ks-service-group>summary{padding:20px 16px}.ks-group-body{padding:20px 16px}.ks-gallery,.ks-scope{grid-template-columns:1fr}.ks-gallery img{height:250px}}@media(prefers-reduced-motion:reduce){.ks-group-body{animation:none}}

/* Revision 2: a continuous navy wave, four ventilation directions. */
.ks-groups{position:relative;isolation:isolate;overflow:hidden;padding:100px 0 86px;background:#061d31;color:#fff}
.ks-groups:before{content:"";position:absolute;inset:0 0 auto;height:62px;background:#fff;clip-path:polygon(0 0,100% 0,100% 18%,90% 32%,80% 48%,70% 65%,60% 78%,50% 86%,40% 86%,30% 78%,20% 64%,10% 44%,0 22%);z-index:-1}
.ks-groups:after{content:"";position:absolute;width:120%;height:420px;left:-10%;bottom:-330px;border-radius:50%;border-top:1px solid rgba(60,165,218,.28);z-index:-1;pointer-events:none}
.ks-groups h2{color:#fff;font-size:clamp(34px,4.4vw,58px);line-height:1.1;margin:0 0 34px}
.ks-service-group{border:1px solid rgba(74,155,204,.38);border-radius:12px;margin:18px 0;background:#fff}
.ks-service-group>summary{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#0a2b47,#103e60 70%,#164d70);padding:28px 30px}
.ks-service-group>summary:before{content:"";position:absolute;width:78%;height:230%;right:-12%;top:35%;border-radius:50%;border-top:1px solid rgba(136,205,239,.35);background:rgba(71,146,193,.09);z-index:-1;pointer-events:none;transform:rotate(-8deg)}
.ks-service-group>summary small{color:#b4d1e5;line-height:1.5}
.ks-service-group>summary:after{background:none;color:#b9e3f9;border-radius:0;font-weight:300;font-size:34px;width:32px;height:40px}
.ks-service-group>summary:hover{background:linear-gradient(110deg,#0c304f,#15466a 70%,#1a547a)}
.ks-service-group[open]>summary{border-bottom:1px solid #39708e}
.ks-group-body{color:#14202b;background:#f4f7fa;padding:30px}
.ks-vent-directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:none;margin:28px 0}
.ks-vent-directions .ks-direction{min-height:340px;border-radius:8px}
.ks-vent-directions .ks-direction__body{padding:28px}
.ks-vent-directions .ks-direction h3{font-size:27px}
.ks-vent-directions .ks-direction img{height:100%;aspect-ratio:auto}
.ks-automation h2{max-width:850px;font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 25px}
.ks-automation p:not(.ks-eyebrow){max-width:920px;color:#c0d1dc;font-size:17px;line-height:1.75}
.ks-automation-points{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ks-automation-points span{border:1px solid #326082;padding:12px 16px;color:#cce5f3;font-size:14px}
.ks-team-inline{padding:18px 22px;border-left:3px solid #159ce4;background:#e7f0f6;color:#304d62;line-height:1.7;margin:24px 0}
#events .events{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:680px){#events .events{grid-template-columns:1fr}}
@media(max-width:680px){.ks-groups{padding:82px 0 62px}.ks-service-group>summary{padding:23px 18px}.ks-group-body{padding:22px 16px}.ks-vent-directions{grid-template-columns:1fr}.ks-vent-directions .ks-direction{min-height:310px}.ks-vent-directions .ks-direction__body{padding:24px}.ks-team-inline{padding:16px}}

.ks-groups:before{clip-path:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0H1440V20C1110 32 920 88 630 75C350 62 200 20 0 28Z'/%3E%3C/svg%3E") center top/100% 100% no-repeat}
.ks-video{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:30px;align-items:center;margin-top:36px}.ks-video video{display:block;width:100%;max-height:620px;background:#061d31;border-radius:10px}.ks-video p{line-height:1.7}@media(max-width:680px){.ks-video{grid-template-columns:1fr}.ks-video video{max-height:540px}}
