/* The image-led hero establishes CM Systems' own visual direction. */
.site-header{height:94px;padding:0 10.3vw;border-bottom:1px solid rgba(255,255,255,.18);position:absolute;top:0;width:100%;z-index:4;color:#fff}
.brand-mark{width:42px;height:32px;padding:0;border:0;border-radius:0;background:transparent;color:currentColor}.brand-mark svg{display:block;width:100%;height:100%}
.services{background:#f7f5ee}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:62px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:flex;min-height:255px;flex-direction:column;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.service-grid span{font:11px var(--mono);color:#428071}.service-grid h3{font:600 27px/1.05 var(--sans);letter-spacing:-.05em;margin:54px 0 12px}.service-grid p{font-size:15px;line-height:1.52;color:#536760;margin:0;max-width:295px}.service-card b{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:23px;font-size:13px}.service-card i{font-style:normal;font-size:19px;transition:transform .2s ease}.service-card:hover{position:relative;z-index:1;background:#dce8e0;transform:translateY(-4px);box-shadow:0 12px 24px rgba(16,52,47,.12)}.service-card:hover i{transform:translateX(5px)}.service-card:focus-visible{outline:3px solid #9acdbc;outline-offset:-4px}@media(max-width:800px){.service-grid{grid-template-columns:1fr;margin-top:38px}.service-card{min-height:218px}.service-grid h3{margin-top:32px}}
.services-contact{display:flex;align-items:center;justify-content:space-between;gap:38px;margin-top:0;padding:36px 27px;background:#dce8e0;border:1px solid var(--line);border-top:0}.services-contact>div{max-width:680px}.services-contact .eyebrow{margin-bottom:11px;color:#28705e}.services-contact h3{margin:0;font:600 30px/1.05 var(--sans);letter-spacing:-.055em}.services-contact p:not(.eyebrow){margin:12px 0 0;max-width:610px;font-size:15px;line-height:1.55;color:#536760}.services-contact .button{display:inline-flex;flex:0 0 auto;gap:16px;padding:15px 19px;background:var(--deep);color:#fff;font-size:14px;font-weight:600}.services-contact .button span{color:#fff;font:inherit}@media(max-width:800px){.services-contact{align-items:flex-start;flex-direction:column;gap:23px;padding:28px 22px}.services-contact h3{font-size:26px}}
.button,.nav-cta,.panel-links button,.form-submit,.program-card>a,.text-link{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.button:hover,.nav-cta:hover,.form-submit:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(5,31,27,.28)}.panel-links button:hover{transform:translateX(4px);box-shadow:0 5px 12px rgba(5,31,27,.12)}.program-card>a:hover,.text-link:hover{transform:translateX(4px)}.button:hover span,.nav-cta:hover span,.form-submit:hover span,.panel-links button:hover span,.program-card>a:hover span,.text-link:hover span{transform:translateX(4px)}.button span,.nav-cta span,.form-submit span,.panel-links button span,.program-card>a span,.text-link span{transition:transform .18s ease}.button:focus-visible,.nav-cta:focus-visible,.panel-links button:focus-visible,.form-submit:focus-visible,.program-card>a:focus-visible,.text-link:focus-visible{outline:3px solid #9acdbc;outline-offset:4px}
.program-card-cream{background:#d8dfca}.site-preview{position:absolute;right:-17px;bottom:-13px;width:191px;height:174px;background:#f8f5eb;padding:21px;box-shadow:0 8px 20px #43533a2e;transform:rotate(-4deg)}.site-preview b{font:600 19px/.95 var(--sans);letter-spacing:-.07em}.site-preview i{display:block;width:100%;height:52px;background:linear-gradient(130deg,#37594c 0 38%,#a2bf98 38% 62%,#e5c979 62%);margin:16px 0 10px}.site-preview span{font-size:10px;font-weight:600}
.case-points{margin:14px 0 20px;padding:0;list-style:none;font-size:12px;line-height:1.5}.case-points li{display:flex;gap:8px;margin:5px 0}.case-points li:before{content:'✓';font-weight:700}.program-card-dark .case-points{color:#d4e4dc}.program-card>a{margin-top:auto}
.case-showcase{background:#e9e6dd}.case-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:55px}.case-detail{min-height:390px;padding:34px;display:grid;grid-template-columns:1fr 190px;gap:24px;background:#f8f6ef}.case-detail-dark{background:#163d36;color:#f7f5ee}.case-detail-sage{background:#cbd8c6}.case-detail h3{font:600 31px/1.05 var(--sans);letter-spacing:-.05em}.case-detail>div>p:not(.eyebrow){font-size:15px;line-height:1.55}.case-detail a{display:inline-flex;gap:12px;margin-top:20px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px;font-weight:600}.case-detail-dark .eyebrow{color:#a7d4c6}.case-ui{align-self:end;background:#fff;color:#173c36;box-shadow:9px 10px 0 rgba(16,52,47,.14);padding:18px;font-size:12px;line-height:1.45}.case-ui small{display:block;color:#617b73;font:10px var(--mono);letter-spacing:.05em;margin-bottom:12px}.case-ui b{display:block;font-size:14px}.call-ui span,.call-ui strong{display:block}.call-ui strong{font-size:10px;text-transform:uppercase;color:#617b73;margin-top:12px}.call-ui span{font-weight:700;color:#1c6c59}.call-ui hr{border:0;border-top:1px solid #d7dfd9;margin:15px 0}.cal-ui{display:grid;gap:9px}.cal-ui div{border-bottom:1px solid #d8dfd9;padding-bottom:8px}.cal-ui span{display:block;font-size:11px;color:#617b73;margin-top:3px}.report-ui strong{display:block;margin-top:16px;padding:7px 9px;background:#d7ecdf;color:#1c6c59}.guide-ui{background:#f4f0e4}.guide-ui p{font-size:12px}.guide-ui button{border:0;background:#1d6656;color:#fff;padding:9px 11px;font:600 11px var(--sans)}.case-ui.screenshot-ui{padding:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#fff}.screenshot-ui img{display:block;width:100%;height:245px;object-fit:cover;object-position:left top}.screenshot-ui figcaption{padding:11px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#617b73;background:#fff}@media(max-width:900px){.case-showcase-grid{grid-template-columns:1fr}.case-detail{min-height:330px}}@media(max-width:520px){.case-detail{grid-template-columns:1fr;padding:25px}.case-ui{max-width:100%}}
.main-nav>a:not(.nav-cta){opacity:.9}.nav-cta{background:#f5f3ec;color:var(--ink);border:0;border-radius:28px;padding:13px 22px}.menu-toggle{color:#fff}
.hero{min-height:800px;padding:205px 10.3vw 50px;grid-template-columns:minmax(0,1fr) 440px;gap:8vw;position:relative;isolation:isolate;color:#fff;overflow:hidden;background:#102f2b}.hero:before{content:'';position:absolute;inset:-7%;z-index:-2;background:linear-gradient(90deg,rgba(5,26,24,.68) 0%,rgba(8,31,28,.43) 43%,rgba(7,26,24,.13) 100%),url('assets/cm-systems-harbour-hero.png') center/cover no-repeat;animation:hero-flight 28s ease-in-out infinite alternate;will-change:transform}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,rgba(123,183,164,.1),transparent 55%);animation:hero-light 11s ease-in-out infinite alternate;pointer-events:none}@keyframes hero-flight{from{transform:scale(1.1) translate3d(2.2%,.6%,0)}to{transform:scale(1.1) translate3d(-2.2%,-.6%,0)}}@keyframes hero-light{from{opacity:.12;transform:translateX(-3%)}to{opacity:.32;transform:translateX(3%)}}
.hero h1{max-width:650px;font:600 clamp(57px,5.5vw,78px)/1.01 var(--sans)}.hero .lead{font-size:18px;line-height:1.6;max-width:555px}.button-dark{background:#f4f2eb;color:var(--ink);border-radius:28px}
.hero-copy,.hero-panel{animation:hero-enter .7s cubic-bezier(.2,.75,.25,1) both}.hero-panel{animation-delay:.12s}.hero-panel{padding:27px 28px 25px;background:rgba(239,244,235,.73);color:var(--ink);border:1px solid rgba(230,245,236,.72);border-radius:18px;box-shadow:15px 17px 0 rgba(7,28,25,.25);backdrop-filter:blur(18px);position:relative}.hero-panel:before{content:'';display:block;height:5px;background:#9acdbc;margin:-27px -28px 23px;border-radius:18px 18px 0 0}.panel-meta{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#36594f}.panel-progress{display:flex;gap:7px;margin:18px 0 28px}.panel-progress i{height:3px;background:#21705e;flex:1;border-radius:5px}.panel-progress i+i{opacity:.18}.hero-panel h2{font:600 28px/1.08 var(--sans);letter-spacing:-.045em}.hero-panel>p{font-size:14px;line-height:1.5;margin:15px 0 24px;color:#36594f}.panel-links{display:grid;gap:8px}.panel-links button{display:flex;justify-content:space-between;align-items:center;width:100%;color:var(--ink);text-align:left;border:1px solid rgba(45,87,75,.27);border-radius:9px;padding:14px 15px;font:600 14px var(--sans);background:rgba(255,255,255,.26);cursor:pointer;transition:background .18s,border-color .18s}.panel-links button:hover,.panel-links button.selected{background:rgba(201,235,220,.73);border-color:#82b8a6}.panel-links button span{font-size:18px;color:#21705e}.panel-next{display:flex;justify-content:space-between;background:#f4f2eb;color:var(--ink);padding:15px 16px;border-radius:13px;margin-top:12px;font-size:14px;font-weight:600}.hero-panel small{display:block;font-size:11px;line-height:1.45;color:#49685f;margin-top:20px}@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hero:before,.hero:after,.hero-copy,.hero-panel{animation:none!important}}
.panel-next[hidden],.panel-links[hidden],.contact-form[hidden]{display:none}.contact-form{display:grid;gap:13px}.chosen-need{padding:12px 0!important;margin:0!important;border-top:1px solid #d0d5cd;border-bottom:1px solid #d0d5cd;font-size:12px!important;font-weight:600;color:#31574d!important}.contact-form label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--ink)}.contact-form em{font-style:normal;font-weight:400;color:#61736d}.contact-form input,.contact-form textarea{width:100%;border:1px solid #bbc5ba;border-radius:9px;background:#faf8f2;padding:12px 14px;color:var(--ink);font:14px var(--sans);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#21705e;box-shadow:0 0 0 3px rgba(33,112,94,.12)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#76847e}.contact-form textarea{resize:vertical;min-height:82px;line-height:1.4}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-submit{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;background:#1d6656;color:#fff;padding:15px 18px;font:600 14px var(--sans);cursor:pointer;margin-top:2px}.form-submit span{font-size:18px}.form-status{font-size:11px!important;line-height:1.45;margin:0!important;color:#31574d!important}.form-status:empty{display:none}@media(max-width:800px){.form-row{grid-template-columns:1fr}}
@media(max-width:800px){.site-header{height:70px;padding:0 6vw}.main-nav{background:var(--ink);border-bottom-color:rgba(255,255,255,.2)}.hero{min-height:auto;padding:140px 6vw 40px;grid-template-columns:1fr;gap:45px}.hero h1{font-size:52px}.hero-panel{padding:24px;border-radius:22px}}
.form-status.success{color:#1d6656!important}.form-status.error{color:#9b2c2c!important}.form-submit:disabled{cursor:wait;opacity:.72}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-privacy{margin:0!important;color:#49685f!important;font-size:11px!important;line-height:1.45}.form-privacy a{text-decoration:underline;text-underline-offset:2px}
.kontorvagt-shot img{object-position:left 116px}
.references{background:#e9e6dd;border-top:1px solid var(--line)}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:54px;border-top:1px solid rgba(23,60,54,.2);border-left:1px solid rgba(23,60,54,.2)}.reference-grid article{padding:29px;min-height:235px;border-right:1px solid rgba(23,60,54,.2);border-bottom:1px solid rgba(23,60,54,.2)}.reference-grid .eyebrow{margin-bottom:43px;color:#2c7361}.reference-grid h3{font:600 28px/1 var(--sans);letter-spacing:-.055em}.reference-grid article>p:not(.eyebrow){max-width:250px;margin:12px 0 25px;font-size:14px;line-height:1.5;color:#536760}.reference-grid a{font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px}.reference-grid a span{margin-left:12px}@media(max-width:800px){.reference-grid{grid-template-columns:1fr;margin-top:38px}.reference-grid article{min-height:0}.reference-grid .eyebrow{margin-bottom:23px}}
.insights{background:#f7f5ee}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px}.insight-grid article{display:flex;min-height:290px;flex-direction:column;padding:28px;background:#fff;border:1px solid rgba(23,60,54,.14)}.insight-grid .eyebrow{margin-bottom:36px;color:#2c7361}.insight-grid h3{font:600 26px/1.07 var(--sans);letter-spacing:-.055em}.insight-grid article>p:not(.eyebrow){font-size:14px;line-height:1.52;color:#536760}.insight-grid a,.all-insights{margin-top:auto;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px;align-self:flex-start}.all-insights{display:inline-flex;gap:14px;margin-top:34px}.all-insights span{transition:transform .18s ease}.all-insights:hover span{transform:translateX(4px)}@media(max-width:800px){.insight-grid{grid-template-columns:1fr;margin-top:38px}.insight-grid article{min-height:230px}}
.workday-story{display:grid;grid-template-columns:1fr 1.08fr;min-height:620px;background:#e5ddd0}.workday-copy{display:flex;flex-direction:column;justify-content:center;padding:10vw}.workday-copy h2{margin:0;font:600 clamp(39px,4.3vw,61px)/1.03 var(--sans);letter-spacing:-.065em}.workday-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;margin:24px 0 31px;color:#536760}.workday-story>img{display:block;width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center}@media(max-width:800px){.workday-story{grid-template-columns:1fr}.workday-copy{padding:85px 7vw}.workday-story>img{min-height:380px}}
