@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173c60;--muted:#526a80;--primary:#286ba8;--accent:#ff9d43;--line:#dae4ef;--paper:#f2f7fc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header{min-height:104px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 5%}.brand{display:flex;align-items:center;gap:12px;line-height:1.25}.brand>span:last-child{font-size:11px;font-weight:700;letter-spacing:1.5px}.mark{font:800 46px 'Manrope',sans-serif;letter-spacing:-4px;line-height:1}.mark span{font-size:12px;vertical-align:top;letter-spacing:0}nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--primary);text-decoration:underline;text-underline-offset:6px}.contact-link{border:1px solid var(--line);padding:10px 20px;font-size:14px}.contact-link span{margin-left:22px}.hero{background:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;max-width:1600px;margin:auto}.hero-copy{padding:64px 10% 64px 10%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.9px;display:block;color:var(--primary)}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:600;line-height:1.14;letter-spacing:-1.8px;margin:20px 0}h1{font-size:clamp(42px,4.6vw,72px)}h1 em{font-style:normal;color:var(--primary)}.hero-copy p{max-width:390px;color:var(--muted);margin:26px 0 32px}.button{display:inline-flex;align-items:center;gap:42px;background:var(--primary);color:white;padding:14px 22px;font-size:14px;font-weight:600}.button:hover{background:var(--ink)}.hero-copy .text-link{display:block;margin-top:22px}.text-link{font-size:14px;font-weight:600}.hero-image{position:relative;overflow:hidden;margin:24px 24px 24px 0;background:#244d72}.hero-image>img{width:100%;height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102e4be6)}.photo-label{position:absolute;z-index:1;left:32px;bottom:30px;color:white;display:grid;gap:4px}.photo-label span{font-size:11px;letter-spacing:2px;color:var(--accent)}.photo-label strong{font-size:24px;font-weight:500}.photo-label small{font-size:14px}.strip{padding:24px 5%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--ink);color:white}.strip span{font-size:11px;letter-spacing:1.5px;color:var(--accent)}.strip strong{font-size:15px;font-weight:500}.section{padding:86px 5%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%}h2{font-size:clamp(30px,3vw,44px)}.intro p{color:var(--muted);margin-top:0}.tinted{background:var(--paper)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);background:white;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:var(--primary)}.card-image{height:255px;padding:24px;overflow:hidden;background:white}.card-image img{width:100%;height:100%;object-fit:contain}.projects .card-image{padding:0;height:265px}.projects .card-image img{object-fit:cover}.card-copy{padding:24px}.card-copy .eyebrow{font-size:10px;letter-spacing:1.4px}.card h3{font-size:23px;letter-spacing:-.7px;line-height:1.3;margin:12px 0 24px}.more{font-size:13px;font-weight:600}.page-title{padding:70px 5%;background:var(--paper)}.page-title h1{max-width:1000px;font-size:clamp(36px,5vw,64px)}.page-title p{max-width:650px;color:var(--muted)}.catalog{padding-top:50px}.detail{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:start}.detail article{max-width:760px;overflow-wrap:anywhere}.detail article p{margin:0 0 20px;color:#3f566b}.detail article p:first-child{font-size:22px;color:var(--ink);font-weight:600}.detail aside{display:grid;gap:24px}.detail aside img{width:100%;border:1px solid var(--line);background:var(--paper)}.notice{max-width:720px;border-left:3px solid var(--primary);padding:6px 30px}footer{padding:50px 5%;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}footer p{font-size:15px;margin:0;color:#bfd2e5}footer>div{display:flex;gap:22px;font-size:14px}footer small{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:24px;color:#bfd2e5;font-size:12px}.skip{position:fixed;top:-100px;left:15px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #286ba8;outline-offset:5px}@media(min-width:1600px){header,.strip,footer{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}@media(max-width:900px){header{flex-wrap:wrap;gap:20px}nav{order:3;width:100%;justify-content:space-between;gap:10px}.hero{min-height:auto}.hero-copy{padding:45px 8%}.hero h1{font-size:46px}.strip{flex-wrap:wrap}.strip span{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.intro{gap:6%}.section{padding:58px 5%}footer{grid-template-columns:1fr 1fr}footer>div{grid-column:1/-1}.detail{grid-template-columns:1fr;gap:35px}.detail aside{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.contact-link{padding:8px 12px}.contact-link span{margin-left:7px}.mark{font-size:38px}.brand>span:last-child{font-size:9px}nav{font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6%}.hero h1{font-size:48px}.hero-image{height:340px;margin:0 20px 20px}.hero-image>img{object-position:center 45%}.strip{gap:14px}.strip strong{font-size:13px}.intro,.cards{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:18px}.section{padding:44px 6%}.intro{gap:20px}.card-image{height:250px}.page-title{padding:45px 6%}.detail aside{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}h2{letter-spacing:-1px}.page-title h1{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.type-cover{height:255px;background:#173c60;color:#ff9d43;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.type-cover small{font-size:10px;letter-spacing:2px}.type-cover strong{font:600 42px Manrope,sans-serif;letter-spacing:-2px}.type-cover span{font-size:13px;color:#bfd2e5}

/* MCS identity: original blue, orange, and green with accessible text shades. */
:root{--brand-blue:#5595d2;--brand-orange:#ff9d43;--brand-green:#78bf64}
header{border-top:5px solid var(--brand-orange);border-bottom:1px solid var(--line)}
.brand{letter-spacing:normal}.header-brand{flex:0 1 420px;min-width:240px;max-width:420px}
.header-brand picture{display:block;width:100%}.header-brand img{width:100%;height:auto;max-height:none;object-fit:contain}
.contact-link{white-space:nowrap;border-color:var(--primary);color:var(--primary)}
.contact-link:hover{background:var(--paper)}
.hero-image{border-bottom:6px solid var(--brand-green)}
.hero-copy .eyebrow{color:var(--primary)}
.button{background:var(--primary)}.button:hover{background:var(--ink)}
.strip{border-bottom:5px solid var(--brand-green)}
.card:hover{border-color:var(--brand-blue)}
.type-cover{background:var(--ink);border-top:5px solid var(--brand-orange);border-bottom:5px solid var(--brand-green)}
.type-cover strong{color:white}.type-cover small{color:var(--accent)}
.notice{border-left-color:var(--brand-orange)}
footer{background:white;color:var(--ink);border-top:6px solid var(--brand-blue);align-items:center;grid-template-columns:minmax(260px,1.3fr) 1fr 1fr}
.footer-brand{width:100%;max-width:430px}.footer-brand img{width:100%;height:auto}
footer p,footer small{color:var(--muted)}footer small{border-top-color:var(--line)}
footer a:hover{color:var(--primary)}footer>div{flex-wrap:wrap}
@media(max-width:1100px){header{gap:18px}.header-brand{flex-basis:340px}nav{gap:18px}.contact-link{padding:10px 14px}}
@media(max-width:900px){.header-brand{flex:0 1 420px}footer{grid-template-columns:1.3fr 1fr}}
@media(max-width:600px){header{padding-top:16px;padding-bottom:16px}.header-brand{flex:0 0 90px;min-width:0;max-width:90px}.header-brand img{width:90px;height:auto}.footer-brand{max-width:390px}footer{grid-template-columns:1fr}.contact-link{font-size:14px}}
