@charset "UTF-8";
:root{color-scheme:light;--navy:#304a60;--heading:#36576c;--text:#444;--border:#d4d7d9}
*{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;padding:28px 20px 40px;background:#e6e7e8;background-image:linear-gradient(#eeeff0,#dedfe1);color:var(--text);font:1rem/1.55 Arial,Helvetica,sans-serif}
a{color:#315e7d}
a:hover{text-decoration:underline}
a:focus-visible{outline:3px solid #aa6500;outline-offset:4px}
::selection{background:#d7e4ee;color:#21394c}
.skip-link{position:absolute;top:-100px;left:20px;z-index:10;background:#fff;padding:12px}
.skip-link:focus{top:4px}
.page{width:100%;max-width:980px;margin:0 auto;background:#fff;border:1px solid #c7cbce;box-shadow:0 2px 9px #0000001f;border-radius:3px;overflow:clip}
.site-header{min-height:125px;padding:30px 32px 27px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(#fff,#fafafa);border-top:5px solid var(--navy)}
.brand{min-width:0;display:flex;flex-direction:column;gap:5px;text-decoration:none;color:var(--navy)}
.brand:hover{text-decoration:none}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:2.125rem;line-height:1.15;letter-spacing:-.055em;overflow-wrap:anywhere}
.brand-name>span{color:#7b8388;font-size:1.625rem;letter-spacing:-.025em}
.brand-subtitle{font-size:.875rem;line-height:1.4;color:#626c73;letter-spacing:.01em}
.header-note{margin:0;text-align:right;color:#667078;font-size:.875rem;line-height:1.55}
.main-nav{display:flex;flex-wrap:wrap;padding:0 16px;background:#304a60;background-image:linear-gradient(#48657b,#2b4356);border-block:1px solid #243b4c;box-shadow:inset 0 1px 0 #ffffff24}
.main-nav a{display:block;min-height:43px;padding:11px 22px;color:#fff;font-size:.875rem;font-weight:bold;line-height:1.4;text-decoration:none;border-right:1px solid #ffffff18;text-shadow:0 -1px 0 #00000040}
.main-nav a:first-child{border-left:1px solid #ffffff18}
.main-nav a:hover,.main-nav a:focus-visible{background:#223b50}
.hero{margin:24px 26px 0;padding:10px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;background:linear-gradient(#fafafa,#f0f2f3);border:1px solid #d2d8dc;border-radius:2px;box-shadow:inset 0 1px 0 white}
.residential-image{margin:0;height:290px;min-width:0;border:1px solid #b9c1c6;box-shadow:0 1px 3px #00000015;background:#d9dfe3}
.residential-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.hero-copy{padding:13px 12px 8px 0;align-self:center}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font-family:Georgia,"Times New Roman",serif;color:var(--heading);font-size:1.75rem;line-height:1.25;font-weight:400;margin:0 0 16px}
.hero-copy p{margin:0 0 12px;font-size:1rem;line-height:1.6;color:#555}
.hero-copy p:last-child{margin-bottom:0}
.content{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:36px;padding:29px 32px 34px}
h2{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1.3;color:var(--heading);font-weight:400;margin:0}
.services>h2{padding-bottom:10px;border-bottom:1px solid #cdd4d9}
.section-intro{margin:13px 0 22px;color:#61676b;font-size:1rem;line-height:1.55}
.service{margin:0 0 22px}
.service:last-child{margin-bottom:0}
h3{font-size:1rem;line-height:1.4;font-weight:700;color:var(--heading);margin:0 0 5px}
.service p{margin:0;font-size:1rem;line-height:1.55}
.sidebar{align-self:start;background:#f4f5f6;border:1px solid #d0d6db;border-radius:3px}
.sidebar>h2{font:700 1rem/1.5 Arial,Helvetica,sans-serif;padding:10px 16px;color:#405767;background:linear-gradient(#f2f4f6,#e0e5e9);border-bottom:1px solid #cdd3d9;text-shadow:0 1px 0 #fff}
.sidebar-content{padding:16px}
.sidebar p{font-size:1rem;line-height:1.6;margin:0 0 17px;color:#596168}
.sidebar h3{padding-top:15px;border-top:1px solid #d4dadd;margin-top:22px;margin-bottom:8px}
.sidebar p:last-child{margin-bottom:0}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:16px 32px;background:linear-gradient(#f7f7f7,#ededed);border-top:1px solid #d6d9db;color:#6a7075;font-size:.8125rem;line-height:1.5}
.site-footer p{margin:0}
.site-footer a{font-size:.875rem}
@media(max-width:800px){body{padding:16px 12px 24px}.site-header{padding:24px}.hero{margin:20px 20px 0;gap:18px}.hero-copy{padding:6px 5px 6px 0}h1{font-size:1.5rem}.residential-image{height:100%;min-height:290px}.content{padding:25px 24px;gap:24px;grid-template-columns:minmax(0,1fr) 240px}.header-note{max-width:180px}}
@media(max-width:620px){body{padding:10px 8px 20px}.site-header{padding:21px 18px;min-height:115px;display:block}.brand-name{font-size:1.9rem}.brand-name>span{font-size:1.5rem}.header-note{margin-top:12px;text-align:left;max-width:none}.header-note br{display:none}.main-nav{padding:0}.main-nav a{padding:11px 16px;flex:1 1 auto;text-align:center}.hero{margin:16px 15px 0;display:block;padding:8px}.residential-image{height:215px;min-height:0}.hero-copy{padding:19px 10px 12px}h1{font-size:1.75rem}.content{display:block;padding:24px 20px}.sidebar{margin-top:28px}.site-footer{padding:15px 20px}.service{margin-bottom:21px}}
