@font-face { font-family:"Cormorant Garamond"; font-style:normal; font-display:swap; font-weight:600; src:url("cormorant-garamond-latin-600-normal.woff2") format("woff2"); }

:root { --navy:#082f61; --blue:#15558e; --sky:#dcecf6; --pale:#f4f8fb; --ink:#17283a; --orange:#e96524; --white:#fff; --display:"Cormorant Garamond","Baskerville",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:white; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }

.site-header { height:84px; padding:0 clamp(20px,5vw,74px); display:flex; align-items:center; gap:34px; border-bottom:1px solid #dce3e9; background:#fff; position:relative; z-index:5; }
.logo { display:flex; align-items:center; gap:11px; color:var(--navy); text-decoration:none; font-size:15px; font-weight:900; line-height:.88; letter-spacing:.04em; }
.logo small { display:block; margin-top:6px; font-size:9px; letter-spacing:.24em; }
.logo-mark { width:58px; height:30px; display:block; position:relative; flex:0 0 58px; background:currentColor; -webkit-mask:url("house-brush-mark.svg") center/contain no-repeat; mask:url("house-brush-mark.svg") center/contain no-repeat; }
.logo-mark:before,.logo-mark:after,.logo-mark i { display:none; }
nav { display:flex; gap:30px; margin-left:auto; }
nav a { text-decoration:none; color:#324a61; font-size:11px; font-weight:700; }
nav a:hover { color:var(--blue); }
.button { display:inline-block; padding:16px 21px; border:0; border-radius:2px; background:var(--navy); color:white; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.02em; box-shadow:0 7px 20px #082f6124; }
.button:hover { background:var(--blue); }.button-small { padding:13px 17px; }

.hero { min-height:680px; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; background:#f8fbfd; }
.hero-copy { padding:clamp(74px,10vw,142px) 5vw 36px clamp(24px,7vw,108px); position:relative; z-index:2; }
.eyebrow { margin:0 0 25px; color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
h1 { margin:0; color:var(--navy); font:600 clamp(60px,6.7vw,106px)/.86 var(--display); letter-spacing:-.025em; text-transform:capitalize; }
h1 em { font-style:normal; color:var(--blue); }
.hero-intro { max-width:520px; margin:30px 0 32px; color:#526779; font:17px/1.65 Georgia,serif; }
.hero-actions { display:flex; align-items:center; gap:29px; }.text-link { color:var(--navy); text-decoration:none; font-size:11px; font-weight:800; border-bottom:1px solid #9aabb9; padding-bottom:4px; }
.trust-row { display:flex; gap:27px; margin-top:70px; color:#71818e; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.trust-row strong { display:block; color:var(--navy); font-size:11px; margin-bottom:5px; }

.hero-photo { position:relative; min-height:680px; overflow:hidden; background:#c8dae5; }
.hero-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f8fbfd 0%,rgba(248,251,253,.98) 12%,rgba(248,251,253,.82) 26%,rgba(248,251,253,.38) 44%,transparent 64%); pointer-events:none; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:58% center; display:block; }
.hero-photo span { position:absolute; z-index:2; right:30px; bottom:28px; max-width:240px; padding:12px 15px; color:white; background:#082f61dc; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }

.services { display:grid; grid-template-columns:repeat(4,1fr); margin:-42px clamp(20px,4vw,64px) 0; position:relative; z-index:3; background:white; border:1px solid #d7e0e7; box-shadow:0 18px 50px #0b385418; }
.services article { min-height:142px; padding:29px 24px; display:flex; gap:17px; border-right:1px solid #d7e0e7; }.services article:last-child{border-right:0}.service-icon { color:var(--blue); font-size:28px; }.services h2 { margin:1px 0 9px; color:var(--navy); font:600 20px var(--display); }.services p { margin:0; color:#687a88; font-size:11px; line-height:1.55; }

.work-showcase { padding:120px clamp(24px,6vw,92px); display:grid; grid-template-columns:1.18fr .82fr; gap:28px; background:#eef5f9; }
.work-showcase figure { margin:0; background:white; box-shadow:0 20px 60px #12395417; }
.work-showcase img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.work-showcase figcaption { min-height:88px; padding:20px 24px; display:flex; align-items:center; gap:18px; border-top:1px solid #dce5eb; }
.work-showcase figcaption>span { color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.15em; }
.work-showcase strong { display:block; color:var(--navy); font:600 23px var(--display); }.work-showcase small { display:block; margin-top:5px; color:#6b7c89; font-size:9px; text-transform:uppercase; letter-spacing:.11em; }

.split-section { padding:130px clamp(24px,8vw,125px); display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:start; }.section-title { max-width:650px; margin:0; color:var(--navy); font:600 clamp(46px,5.2vw,80px)/.94 var(--display); letter-spacing:-.02em; }.body-copy { padding-top:32px; border-top:3px solid var(--blue); }.body-copy p { color:#526779; font:17px/1.7 Georgia,serif; }
.service-area { display:grid; grid-template-columns:.8fr 1.2fr; min-height:480px; background:var(--navy); color:white; overflow:hidden; }.area-card { padding:95px clamp(24px,7vw,100px); }.area-card .eyebrow{color:#8bc1e2}.area-card h2 { margin:0; font:600 clamp(52px,5.5vw,84px)/.9 var(--display); letter-spacing:-.015em; }.area-card>p:last-child{max-width:380px;color:#b9cce0;font:16px/1.65 Georgia,serif}.area-art { position:relative; display:grid; place-items:center; background:linear-gradient(160deg,#c9e1ee,#5f91af); overflow:hidden; }.area-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#082f6160,transparent)}.area-art span{position:relative;z-index:2;font:600 clamp(42px,7vw,104px) var(--display);letter-spacing:.12em;color:#ffffffc9}.area-art i{position:absolute;bottom:-2%;width:76%;height:70%;background:#1d587b;clip-path:polygon(0 100%,20% 42%,34% 60%,50% 15%,66% 56%,80% 30%,100% 100%)}.area-art i:nth-of-type(2){left:32%;height:54%;background:#367493}.area-art i:nth-of-type(3){left:-25%;height:45%;background:#6496ad}
.estimate { padding:120px 24px; text-align:center; background:#f4f8fb; }.estimate h2{margin:0;color:var(--navy);font:600 clamp(52px,6.2vw,92px) var(--display);letter-spacing:-.02em}.estimate>p:not(.eyebrow){max-width:560px;margin:24px auto 30px;color:#637688;font:16px/1.6 Georgia,serif}.contact-email{font-size:13px!important;margin:20px auto 0!important}.contact-email a{color:var(--navy);font-weight:800;text-underline-offset:4px}
footer { padding:65px clamp(24px,6vw,90px); display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:50px; align-items:center; color:#bcd0e0; background:#052448; font-size:11px; line-height:1.7; }.logo-light{color:white}.legal{font-size:9px;color:#91a9bd}

.contact-main { min-height:calc(100vh - 84px); padding:90px clamp(22px,7vw,110px) 120px; background:linear-gradient(135deg,#f8fbfd,#e8f2f8); }
.contact-layout { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.contact-intro h1 { font-size:clamp(54px,6vw,86px); }.contact-intro>p:not(.eyebrow){color:#526779;font:17px/1.7 Georgia,serif}.direct-email{display:inline-block;margin-top:22px;color:var(--navy);font-weight:800;text-underline-offset:5px}
.contact-form { padding:clamp(28px,5vw,58px); background:white; border:1px solid #d7e3eb; box-shadow:0 25px 70px #12395418; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.field{margin-bottom:23px}.field label{display:block;margin-bottom:9px;color:var(--navy);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.field input,.field textarea{width:100%;padding:14px 15px;border:1px solid #b9c9d5;border-radius:2px;background:#fbfdfe;color:var(--ink);font:15px Arial,sans-serif}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus{outline:3px solid #9bc7e3;outline-offset:1px;border-color:var(--blue)}.field-help{margin:7px 0 0;color:#71818e;font-size:10px;line-height:1.5}.form-status{margin:0 0 24px;padding:14px 16px;font-size:13px;line-height:1.5}.form-status.success{color:#174d33;background:#e7f6ed;border:1px solid #a8d7b9}.form-status.error{color:#7b2525;background:#fff0f0;border:1px solid #e4b2b2}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-note{margin:18px 0 0;color:#71818e;font-size:10px;line-height:1.5}

@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr}.hero-photo{min-height:540px}.hero-photo:after{background:linear-gradient(180deg,#f8fbfd 0,transparent 24%)}.services{grid-template-columns:repeat(2,1fr);margin-top:0}.services article:nth-child(2){border-right:0}.work-showcase{grid-template-columns:1fr}.split-section{grid-template-columns:1fr}.service-area{grid-template-columns:1fr}.area-art{min-height:380px}.contact-layout{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.legal{grid-column:1/-1}}
@media(max-width:600px){.site-header{height:74px}.site-header>.button{display:none}.hero-copy{padding-top:75px}.hero{min-height:auto}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{display:grid;grid-template-columns:1fr 1fr;margin-top:55px}.hero-photo{min-height:430px}.hero-photo img{object-position:64% center}.services{grid-template-columns:1fr;margin:0 16px}.services article{min-height:auto;border-right:0;border-bottom:1px solid #d7e0e7}.work-showcase{padding:70px 16px}.split-section{padding-top:90px;padding-bottom:90px}.service-area{min-height:auto}.area-card{padding-top:80px;padding-bottom:80px}.contact-main{padding-top:65px}.form-row{grid-template-columns:1fr}.contact-form{padding:25px 18px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
