@font-face{font-family:Silvercreek Sans;src:url('assets/fonts/source-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Silvercreek Sans;src:url('assets/fonts/source-sans-bold.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
:root{--navy:#081b33;--navy-mid:#0d2949;--ink:#102b47;--muted:#52677d;--accent:#1b4f83;--accent-hover:#143e69;--highlight:#c5d7ec;--soft:#f0f4f8;--line:#d6e1ec;--radius:5px;--font:Silvercreek Sans,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:288px}
h1,h2,h3{font-weight:700;letter-spacing:-.03em}
h1{font-size:clamp(60px,6.6vw,92px);line-height:1.05}
h2{font-size:clamp(36px,4.3vw,58px);line-height:1.13}
h3{line-height:1.23;letter-spacing:-.015em}
.section{padding:92px 0}
.section-heading{gap:52px;margin-bottom:43px}
.section-heading>p{font-size:17px;line-height:1.8}
.button{min-height:52px;font-size:15px;padding:15px 26px;letter-spacing:.01em}
.button-small{min-height:45px;padding:11px 18px}
.button-dark{background:var(--navy)}
.button-dark:hover{background:var(--navy-mid)}
.button-outline{background:transparent;border-color:#6d8ba9}
.button-outline:hover{background:#173a60;border-color:#b3cce4}
.text-link{font-size:15px}
:focus-visible{outline-color:#72a9e1}

/* Centered brand artwork shares the header's navy field. */
.site-header{height:268px;background:var(--navy-mid);color:white;border-bottom:1px solid #29405a;box-shadow:0 8px 28px #081b3326;isolation:isolate}
.header-inner{grid-template-columns:minmax(0,1fr) 644px minmax(0,1fr)}
.header-brand{background:transparent;border-radius:0;padding:0;box-shadow:none}
.header-brand .brand-logo{width:620px;height:auto;max-height:none;object-fit:contain}
.brand-logo{mix-blend-mode:lighten}
.header-nav{font-size:15px;font-weight:700}
.header-nav-left{min-width:0;flex-wrap:wrap}
.header-nav a{color:#dbe7f3;transition:color .2s}
.header-nav a:hover,.header-nav a[aria-current=page]{color:#fff}
.header-nav a[aria-current=page]{box-shadow:inset 0 -2px #aac5e1}
.header-right .button{background:#eef4fb;color:var(--navy);font-size:14px}
.header-right .button:hover{background:#cddff2}
.header-call-link{color:#d3e6fa}
.menu-toggle span{background:white}
.mobile-nav{background:var(--navy-mid);border-color:#345170;max-height:calc(100dvh - 268px)}
.mobile-nav a{color:#e5eef9;border-bottom:1px solid #ffffff0a}
.mobile-nav a[aria-current=page]{color:#fff;background:#183553;border-radius:4px}

.hero{background:var(--navy);min-height:698px}
.hero-image{width:72%;object-position:68% center}
.hero-shade{background:linear-gradient(90deg,#081b33 5%,#081b33f5 24%,#081b33b8 47%,#081b332e 78%),linear-gradient(0deg,#081b3399,transparent 58%)}
.hero-content{padding-top:68px}
.hero-copy{max-width:455px;font-size:18px;line-height:1.75;color:#c5d6e7;margin-top:25px}
.hero .button,.closing-section .button:not(.button-outline){background:#eef4fb;color:var(--navy)}
.hero .button:hover,.closing-section .button:not(.button-outline):hover{background:#cddff2}
.hero-bottom{color:#b5cce0;border-color:#ffffff2b;margin-top:65px}
.hero-bottom span:last-child{font-size:14px;margin-right:105px}
.hero-image-label{color:#d2e1ef}
.service-strip{background:#0d2949;color:#d2e1ef;border-color:#274260}
.strip-inner>span+span{border-color:#435d79}
.strip-inner .strip-label{font-size:14px;color:#b7cbe0}
.services-section{background:var(--soft)}
.service-grid{gap:24px}
.service-card{border-color:#d6e1ec;border-radius:7px;overflow:hidden;box-shadow:0 9px 30px #081b3305;transition:box-shadow .2s,transform .2s}
.service-card:hover{border-color:#c4d4e5;box-shadow:0 15px 36px #081b3310;transform:translateY(-3px)}
.service-photo{height:220px}
.card-top{margin-bottom:25px}
.service-card p{font-size:16px;line-height:1.75}
.service-card ul{font-size:14px;color:#314e6b;margin:22px 0 28px}
.service-action{font-size:15px;padding:21px 0;color:var(--ink)}
.service-action span{color:#315f8d}
.commercial-card{background:white}
.commercial-section{background:var(--navy)}
.commercial-layout{align-items:center}
.commercial-heading h2{font-size:clamp(35px,4.2vw,58px);line-height:1.12}
.commercial-copy>p:first-child{margin-top:0}
.commercial-copy p:not(.eyebrow){font-size:17px;color:#bed1e3}
.sector>span{color:#a8c8e8}
.sector-heading{color:#a9c1d9;border-color:#3d5771}
.sector{border-color:#2b4560}
.sector h3{font-size:24px}
.sector p{font-size:16px;color:#bed1e3}

.photos-section{background:#0c2542;color:white;border-top:1px solid #233f5d}
.photos-section .eyebrow-line,.planner-section .eyebrow-line{background:#9abadd}
.photos-section .section-heading>p,.planner-section .section-heading>p{color:#bbd0e4}
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.photo-grid a{display:block;position:relative;aspect-ratio:4/3;border:1px solid #35516d;border-radius:6px;background:#06162a}
.photo-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.photo-grid figcaption{font-size:15px;color:#e7eff7}
.photo-grid figcaption span{color:#aac8e8}
.service-area-section{background:#e8eff7;border-color:#d0dce8}
.area-content>p{font-size:17px;color:#38526d}
.area-list li{font-size:21px;font-weight:700;border-color:#b9cce0}
.steps article{border-top:2px solid #d5e1ed}
.steps h3{font-size:25px}
.steps p{font-size:16px;line-height:1.8}

.planner-section{background:#0b2542;color:white;border-color:#294664}
.planner-layout{grid-template-columns:minmax(0,1fr);max-width:820px;gap:0}
.planner-form legend{font-size:17px}
.field-step{color:#b3cfeb}
.property-options label>span{font-size:15px;background:#153553;color:#dae8f7;border-color:#55728e;border-radius:5px}
.property-options input:checked+span{background:#eaf2fc;color:#112f50;border-color:#d5e5f7;box-shadow:inset 0 0 0 1px #d5e5f7}
.need-options span{font-size:15px;background:#153553;color:#dae8f7;border-color:#55728e;border-radius:4px}
.need-options input:checked+span{background:#eaf2fc;color:#112f50;border-color:#d2e3f6}
.property-options input:focus-visible+span,.need-options input:focus-visible+span{outline-color:#8cbcf0}
.field-label{font-size:15px}
.field-label .optional{font-size:13px;color:#b4cce4}
input[type=text],textarea,select{font-size:16px;background:#f7fafe;border-color:#a7bdd3;color:#132f4c;border-radius:4px}
input::placeholder,textarea::placeholder{color:#61778f}
.planner-form .button{background:#eef4fb;color:var(--navy)}
.planner-form .button:hover{background:#cddff2}
.quiet-button{font-size:14px}
.planner-form .quiet-button{color:#cadff4}
.form-footnote{font-size:13px;color:#adc6df}
.field-error{font-size:14px;color:#ffc5bd}
.brief-result{padding-top:24px;border-top:1px solid #55728e;margin-top:28px}
.brief-success{font-size:16px;color:#e3eef9}
.brief-status{font-size:13px;color:#b4cce4}
.brief-actions{flex-wrap:wrap}
.planner-form .quiet-button:hover{color:white}
summary{font-size:17px}
details>p{font-size:16px;line-height:1.8}

.closing-section{background:var(--navy);padding:78px 0;border-top:1px solid #233d59}
.contact-copy{font-size:17px;color:#bfd3e7}
.contact-phone{font-size:38px;font-weight:700}
.contact-email{font-size:19px}
.contact-details span{color:#a6c2df}
.contact-details p{font-size:17px;color:#cbdef0}
.contact-details>div{border-color:#2b4560}
.contact-details a:hover{color:#c5d7ec}
footer{background:var(--navy-mid);color:#d7e6f5;border-top:1px solid #243b54;isolation:isolate}
.footer-top .brand{background:transparent;padding:0;border-radius:0}
.footer-top p{font-size:15px;color:#b3cce3}
footer nav{font-size:15px}
footer nav a:hover{color:#fff}
.footer-bottom{border-color:#29425d;color:#a8c1d9;font-size:13px}
.footer-bottom>a:hover{color:white}
.toast{background:var(--navy);border:1px solid #507191;border-radius:5px;font-size:16px}
.about-hero{background:#0b2542;border-color:#2a4a6b;border-bottom-width:1px}
.about-layout{display:block;max-width:850px}
.about-copy p{font-size:20px;line-height:1.85;color:#334d68}
.about-copy .about-statement{font-size:27px;line-height:1.6;color:var(--navy);border-color:#ccddec}
.about-reputation{border-top:1px solid #ccddec;margin-top:36px;padding-top:32px}
.about-reputation h3{font-size:28px;line-height:1.25;margin-bottom:18px;color:var(--navy)}
.about-reputation p:last-child{margin-bottom:0}
.about-photo img{border-radius:6px;border-color:#d1e0ee;box-shadow:0 15px 32px #081b330a}

@media(min-width:1500px){.hero{min-height:740px}.hero-content{padding-top:86px}.hero-bottom{margin-top:82px}}
@media(max-width:1250px){.site-header{height:240px}.header-inner{grid-template-columns:minmax(0,1fr) 564px minmax(0,1fr);gap:20px}.header-brand .brand-logo{width:540px}.header-nav{font-size:14px;gap:16px}.header-right{gap:17px}html{scroll-padding-top:260px}}
@media(max-width:1080px){.site-header{height:240px}.header-inner{grid-template-columns:44px minmax(0,1fr) 44px;gap:14px}.header-brand .brand-logo{width:min(560px,calc(100vw - 164px))}.mobile-nav{max-height:calc(100dvh - 240px)}html{scroll-padding-top:260px}.service-photo{height:192px}.service-card h3{font-size:29px}.service-action{font-size:14px}.contact-email{font-size:17px}}
@media(max-width:850px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.section{padding:72px 0}.hero-image{width:100%;opacity:.72}.hero-shade{background:linear-gradient(90deg,#081b33f5,#081b33b8 55%,#081b3370),linear-gradient(0deg,#081b33b3,transparent)}.hero-content{padding-top:62px}.hero h1{font-size:76px}.section-heading>p{font-size:16px}.service-grid{gap:16px}.service-card h3{font-size:26px}.service-card p{font-size:15px}.service-photo{height:155px}.service-action{font-size:13px}.service-number{letter-spacing:.03em}.commercial-copy p:not(.eyebrow){font-size:17px}.about-copy p{font-size:19px}}
@media(max-width:600px){.photo-grid{grid-template-columns:minmax(0,1fr);gap:26px}.section{padding:58px 0}.site-header{height:188px}.header-inner{grid-template-columns:minmax(0,1fr);gap:0;position:relative}.header-brand{grid-column:1;grid-row:1;max-width:100%}.header-inner .menu-toggle{position:absolute;top:8px;right:0;grid-column:auto;grid-row:auto}.header-brand .brand-logo{width:min(460px,calc(100vw - 40px))}.mobile-nav{max-height:calc(100dvh - 188px)}html{scroll-padding-top:208px}.hero{min-height:638px}.hero-content{padding-top:48px}.hero h1{font-size:clamp(53px,13vw,72px)}.hero-shade{background:linear-gradient(90deg,#081b33f2,#081b33c7),linear-gradient(0deg,#081b33b3,transparent)}.hero-copy{font-size:17px;max-width:350px}.hero-actions .button,.hero-actions .text-link{font-size:15px}.hero-bottom{margin-top:45px;font-size:12px;letter-spacing:.08em}.hero-image-label{display:none}.section-heading>p{font-size:16px}.service-grid{grid-template-columns:1fr;gap:22px}.service-photo{height:225px}.service-card h3{font-size:34px}.service-card p{font-size:16px}.service-card ul,.service-action{font-size:15px}.commercial-copy p:not(.eyebrow){font-size:16px}.sector h3{font-size:23px}.photo-grid figcaption{font-size:14px}.area-content>p{font-size:16px}.area-list li{font-size:20px}.steps h3{font-size:25px}.property-options label>span,.need-options span{font-size:14px}.form-actions{flex-wrap:wrap}.form-actions .button{font-size:15px;padding:15px 20px}.contact-copy{font-size:16px}.contact-phone{font-size:34px}.contact-email{font-size:18px}.contact-details p{font-size:16px}.closing-section{padding:56px 0}.footer-top .brand-logo{width:205px}.footer-top nav{font-size:15px}.footer-bottom{font-size:13px}.footer-bottom>a{display:block;margin-top:10px}.about-copy p{font-size:18px;line-height:1.8}.about-copy .about-statement{font-size:25px}.about-contact-actions .button{font-size:15px}}
