:root{--blue:#1856a0;--navy:#122c49;--ink:#24384c;--muted:#576b7d;--light:#eef4fa}*{box-sizing:border-box}body{margin:0;font:17px/1.7 system-ui,sans-serif;color:var(--ink);background:#fff}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #edb748;outline-offset:5px}img{max-width:100%;display:block}header{border-bottom:1px solid #dce5ed;background:#fff}.wrap{width:min(1180px,90%);margin:auto}.head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand{font-size:23px;font-weight:800;color:var(--blue);text-decoration:none;line-height:1.2}.brand small{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:6px}nav{display:flex;gap:26px;font-size:14px}nav a{text-decoration:none}nav a:hover{color:var(--blue)}.crumb{font-size:13px;color:var(--muted);padding:25px 0}.hero{background:var(--light);padding:0 0 64px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}h1{font-size:clamp(36px,4.5vw,60px);line-height:1.08;letter-spacing:-2px;margin:20px 0}h2{font-size:clamp(27px,3vw,38px);line-height:1.2;letter-spacing:-1px;margin:10px 0 26px}h3{font-size:20px;line-height:1.35}p{margin:0 0 20px}.hero-photo{width:100%;height:430px;object-fit:cover;border-radius:3px}.photo{background:#d8e4ef;overflow:hidden}.photo img{min-height:240px;object-fit:cover;width:100%}.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;padding:12px 23px;margin-top:10px;font-size:14px;font-weight:700}.section{padding:76px 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}.service-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.service-list li{padding:18px 0;border-top:1px solid #dce5ed;display:flex;gap:16px;font-size:15px}.service-list span{font-weight:700;color:var(--blue);font-size:12px;padding-top:3px}.band{background:var(--navy);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.band .eyebrow{color:#a7ceff}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.gallery img{height:300px;width:100%;object-fit:cover}footer{background:var(--light);padding:42px 0;font-size:14px}.foot{display:flex;justify-content:space-between;gap:30px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:white;padding:12px;z-index:3}@media(max-width:760px){.head{align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap;gap:10px 22px}.hero-grid,.intro-grid,.split{grid-template-columns:1fr;gap:28px}.hero-photo{height:280px}.section{padding:46px 0}.hero{padding-bottom:40px}.service-list{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.foot{flex-direction:column}h1{letter-spacing:-1px}}
.head{gap:30px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-logo{width:78px;height:56px;object-fit:contain}.main-nav{align-items:center;gap:20px}.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none}.nav-group summary:after{content:'⌄';margin-left:6px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:focus-visible{outline:3px solid #edb748;outline-offset:5px}.nav-panel{position:absolute;top:34px;left:0;z-index:10;display:flex;flex-direction:column;min-width:265px;padding:12px;background:#fff;box-shadow:0 12px 35px #12345624;border:1px solid #dce5ed}.nav-panel a{padding:9px 12px}.nav-panel a:hover{background:var(--light)}.nav-contact{border-bottom:2px solid var(--blue)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:7px}.footer-grid p{margin:10px 0}.footer-bottom{border-top:1px solid #d2dfec;margin-top:35px;padding-top:20px;display:flex;gap:25px;font-size:12px}.footer-bottom span{margin-right:auto}.page-heading{background:var(--light);padding:52px 0}.page-heading h1{font-size:clamp(30px,4vw,49px);max-width:1000px;overflow-wrap:anywhere}.article-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:65px}.article-single{max-width:950px}.prose{min-width:0;overflow-wrap:anywhere}.prose h2,.prose h3{margin-top:40px}.prose p{max-width:80ch}.prose img{height:auto;max-height:none;max-width:100%;margin:24px 0;object-fit:contain}.prose .article-cover{max-height:520px;margin-top:0;object-fit:contain}.prose ul,.prose ol{padding-left:25px}.prose li{margin:7px 0}.prose a{color:var(--blue);text-underline-offset:3px}.prose iframe,.video iframe{width:100%;aspect-ratio:16/9;border:0}.table-scroll{overflow:auto;max-width:100%;margin:24px 0}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:12px 15px;border:1px solid #dce5ed;text-align:left}th{background:var(--light)}.side-links{align-self:start;position:sticky;top:24px;background:var(--light);padding:25px;display:flex;flex-direction:column;gap:15px;font-size:14px}.side-links strong{font-size:17px}.back-link{border-top:1px solid #dce5ed;margin-top:45px;padding-top:25px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{border:1px solid #dce5ed;background:white;min-width:0}.card>a>img{width:100%;height:210px;object-fit:contain;background:#f4f7fa}.card-body{padding:25px}.card h2{font-size:23px;letter-spacing:-.4px;overflow-wrap:anywhere}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline}.card p{font-size:14px}.card time{display:block;color:var(--muted);font-size:12px;margin-bottom:16px}.read-more{color:var(--blue);font-size:14px;font-weight:700}.home-hero{background:var(--light);padding:65px 0}.home-hero h1{max-width:650px}.lead{font-size:20px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button.secondary{color:var(--blue);background:transparent;border:1px solid var(--blue)}.button.light{background:white;color:var(--navy)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-head h2{margin-bottom:0}.service-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-tiles>a{border-top:2px solid var(--blue);background:var(--light);padding:25px;text-decoration:none;display:flex;flex-direction:column;min-height:210px}.service-tiles>a:hover{background:#dfebf6}.service-tiles span{font-size:12px;color:var(--blue);font-weight:bold}.service-tiles p{font-size:14px}.service-tiles b{margin-top:auto;align-self:flex-end;font-size:24px}.soft{background:var(--light)}.home-original>ul:has(img){list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-original>ul:has(img) img{height:150px;width:100%;object-fit:contain;background:#f3f6f8}.location-toolbar{padding:25px;background:var(--light);margin-bottom:25px}.location-toolbar label{display:block;font-weight:700}.location-toolbar input{font:inherit;width:min(100%,600px);padding:12px;border:1px solid #a5b8cc;margin:12px 0;background:white}.location-toolbar p{margin:0;font-size:13px}.location-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0}.location-list li{border-bottom:1px solid #ccdbe8;padding:20px 0}.location-list h2{font-size:21px;margin:0 0 7px}.location-list p{font-size:15px;margin:0}.legacy-locations{margin-top:45px;border-top:1px solid #dce5ed;padding-top:25px}.legacy-locations summary{cursor:pointer;font-weight:700}.map-frame iframe{border:0;width:100%;height:460px;margin-bottom:30px}.sitemap{columns:2;column-gap:45px;padding-left:20px}.sitemap li{break-inside:avoid;margin-bottom:12px}.video{width:100%}[hidden]{display:none!important}@media(max-width:1100px){.head{flex-wrap:wrap}.main-nav{flex-wrap:wrap}.service-tiles{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}}@media(max-width:760px){.head{gap:20px}.main-nav{gap:15px 20px;width:100%}.nav-panel{position:static;box-shadow:none;margin-top:10px;min-width:0}.nav-group[open]{flex-basis:100%}.brand-logo{width:65px;height:46px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:10px}.article-layout{grid-template-columns:1fr;gap:35px}.side-links{position:static}.cards,.location-list{grid-template-columns:1fr}.service-tiles{grid-template-columns:1fr 1fr;gap:12px}.service-tiles>a{padding:17px;min-height:185px}.service-tiles h3{font-size:18px}.home-hero{padding:38px 0}.section-head{align-items:start;flex-direction:column;gap:10px}.home-original>ul:has(img){grid-template-columns:1fr 1fr}.sitemap{columns:1}.map-frame iframe{height:330px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* Header v0.2.1: scoped rules and explicit closed state. */
header .head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 30px;padding:20px 0}
header .brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;max-width:100%}
header .brand-logo{display:block;flex:0 0 78px;width:78px;height:56px;max-width:78px;max-height:56px;object-fit:contain;margin:0}
header .brand>span{display:block;white-space:nowrap}
header .main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 22px;min-width:0;font-size:14px;line-height:1.5}
header .main-nav>a,header .nav-group>summary{display:block;padding:8px 0;white-space:nowrap}
header .nav-group{position:relative;flex:0 0 auto}
header .nav-group>summary{cursor:pointer;list-style:none}
header .nav-group>summary::marker{content:''}
header .nav-group>summary::-webkit-details-marker{display:none}
header .nav-group>summary:after{content:'';display:inline-block;width:6px;height:6px;margin:0 0 3px 9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
header .nav-group[open]>summary:after{transform:rotate(225deg);margin-bottom:0}
header .nav-group:not([open])>.nav-panel{display:none}
header .nav-group[open]>.nav-panel{display:flex;flex-direction:column;gap:2px;position:absolute;top:100%;left:0;z-index:100;width:280px;min-width:0;max-width:calc(100vw - 32px);padding:10px;background:white;border:1px solid #dce5ed;box-shadow:0 12px 35px #12345624}
header .nav-panel>a{display:block;white-space:normal;overflow-wrap:break-word;padding:10px 12px;font-size:14px;line-height:1.5}
@media(max-width:1000px){header .main-nav{justify-content:flex-start;flex-basis:100%}}
@media(max-width:760px){header .head{align-items:flex-start}header .brand-logo{flex-basis:65px;width:65px;max-width:65px;height:46px;max-height:46px}header .main-nav{gap:8px 20px;width:100%}header .nav-group[open]{flex-basis:100%;width:100%}header .nav-group[open]>.nav-panel{position:static;width:100%;max-width:100%;box-shadow:none;margin-top:5px}}
