@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{--navy:#0d2133;--navy-light:#163247;--copper:#d49a6b;--copper-dark:#95552b;--ink:#162b3b;--muted:#53616c;--line:#d9e0e5;--white:#fff;--font:'DM Sans',Arial,sans-serif;--display:'Manrope','DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--white);color:var(--ink);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--copper-dark);outline-offset:6px}p,h1,h2,h3,figure{margin:0}img{max-width:100%;display:block}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.visually-hidden{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:absolute;top:8px;left:8px;padding:12px 20px;background:white;color:var(--navy);transform:translateY(-150%);z-index:10}.skip-link:focus{transform:translateY(0)}
.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:17px}.brand-name{font-family:var(--display);font-size:2.2rem;font-weight:800;letter-spacing:-.075em;line-height:1}.brand-dot{color:var(--copper-dark)}.brand-description{border-left:1px solid #b9c3cb;padding-left:16px;font-size:.6875rem;line-height:1.5;letter-spacing:.15em;font-weight:700}.header-inner nav{display:flex;gap:32px;font-size:.9375rem;font-weight:500}.header-inner nav a{padding:8px 0;border-bottom:1px solid transparent}.header-inner nav a:hover{border-color:var(--copper-dark);color:var(--copper-dark)}.header-phone{display:flex;gap:10px;align-items:center;font-weight:700;font-size:.9375rem;white-space:nowrap}.header-phone svg{width:19px;height:19px;fill:none;stroke:var(--copper-dark);stroke-width:1.6}
.hero{background:var(--navy);color:var(--white)}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;padding-top:60px;padding-bottom:54px}.hero-copy{padding-top:12px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;line-height:1.5;color:var(--copper-dark);margin-bottom:24px}.hero .eyebrow{color:#e1b28d;display:flex;align-items:center;gap:12px}.hero .eyebrow>span{height:1px;width:26px;background:var(--copper)}h1{font:500 clamp(2.9rem,4.3vw,4.1rem)/1.12 var(--display);letter-spacing:-.055em}h1>span{color:var(--copper)}.hero-intro{max-width:455px;font-size:1.0625rem;color:#c9d3dc;margin-top:29px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:14px 21px;font-size:.9375rem;font-weight:700;transition:background .2s,transform .2s}.button-copper{background:var(--copper);color:var(--navy)}.button-copper:hover{background:#e5af85;transform:translateY(-2px)}.button>span{font-size:1.3rem;line-height:1}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:.9375rem;border-bottom:1px solid var(--copper-dark);padding:7px 0}.text-link:hover{color:var(--copper-dark)}.light-link{border-color:#678091}.light-link:hover{color:#e5af85}.hero-note{display:flex;flex-direction:column;gap:4px;margin-top:40px;border-left:2px solid var(--copper);padding-left:15px;font-size:.875rem;color:#c6d0d8}.hero-note>span:first-child{font-size:.6875rem;letter-spacing:.14em;color:#e0b696;font-weight:600}.hero-figure{position:relative;min-height:570px;overflow:hidden;border-top:3px solid var(--copper);background:var(--navy-light)}.hero-figure img{height:100%;width:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.55);position:absolute;inset:0}.hero-figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(5,17,28,.85))}.hero-figure figcaption{position:absolute;z-index:1;bottom:23px;left:25px;right:25px;display:flex;flex-direction:column;gap:3px;font-size:.6875rem;letter-spacing:.15em;font-weight:600;color:white}.hero-figure figcaption span{font-size:.8125rem;letter-spacing:0;color:#d4dce2;font-weight:400}.disciplines{display:grid;grid-template-columns:1fr 1.25fr 1fr;border-top:1px solid #385063;padding-block:22px;gap:25px}.disciplines>div{display:flex;align-items:center;gap:20px;font-size:.9375rem;font-weight:500}.disciplines>div>span{color:var(--copper);font-size:.75rem;letter-spacing:.07em}
.section-space{padding-block:100px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:53px}.section-heading .eyebrow{margin-bottom:18px}h2{font:500 clamp(2.2rem,3.1vw,2.85rem)/1.22 var(--display);letter-spacing:-.045em}.section-heading>p{max-width:420px;color:var(--muted);font-size:1.0625rem;padding-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:72px}.service{display:flex;gap:25px;padding:30px 0 34px;border-top:1px solid var(--line)}.service-number{color:var(--copper-dark);font-size:.8125rem;letter-spacing:.04em;white-space:nowrap;padding-top:5px}.service h3{font:600 1.3rem/1.4 var(--display);letter-spacing:-.025em;margin-bottom:12px}.service p{color:var(--muted);max-width:420px;line-height:1.7}.coverage{background:#102a3d;color:white;position:relative}.coverage::before{content:'';display:block;position:absolute;top:0;left:0;width:22%;height:4px;background:var(--copper)}.coverage-inner{padding-block:78px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.coverage .eyebrow{color:#e0ad85;margin-bottom:19px}.coverage h2{font-size:clamp(2rem,3vw,2.65rem)}.coverage-intro{color:#c5d1da;max-width:420px;margin-top:24px;line-height:1.8}.small-label{font-size:.75rem;letter-spacing:.12em;font-weight:700;line-height:1.5}.area-content>.small-label{color:#bdcbd6;margin-bottom:19px}.cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 30px}.cities li{font:500 1.3rem/1.55 var(--display);letter-spacing:-.02em}.project-note{border-top:1px solid #426071;margin-top:26px;padding-top:23px}.project-note .small-label{color:#e0ad85;margin-bottom:9px}.project-note>p:last-child{color:#c9d5de;max-width:440px}.project-note strong{font-weight:500;color:white}.contact-heading{margin-bottom:47px}.contact-heading h2{max-width:550px}.contact-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1fr;gap:45px;border-top:1px solid var(--line);padding-top:36px}.contact-grid .small-label{color:var(--copper-dark);margin-bottom:23px}.contact-person h3{font:600 1.25rem/1.4 var(--display);margin-bottom:4px;letter-spacing:-.025em}.contact-person>p:not(.small-label){color:var(--muted);font-size:.9375rem}.large-phone{font:500 clamp(1.3rem,2vw,1.8rem)/1.3 var(--display);display:flex;gap:12px;align-items:center;letter-spacing:-.045em;white-space:nowrap;margin-block:24px 14px}.large-phone:hover{color:var(--copper-dark)}.large-phone span{font-size:1.2rem;color:var(--copper-dark)}.contact-person .phone-help{max-width:255px;line-height:1.7}.office address{font-style:normal;font-size:.9375rem;line-height:1.85}.office-note{font-size:.8125rem;color:var(--muted);line-height:1.65;margin-top:15px;max-width:315px}.office .text-link{margin-top:16px}.office-hours table{width:100%;border-collapse:collapse;font-size:.875rem}.office-hours th{font-weight:400;text-align:left;padding:0 8px 15px 0}.office-hours td{text-align:right;white-space:nowrap;vertical-align:top;padding-bottom:15px}.hours-note{color:var(--muted);font-size:.8125rem;line-height:1.7;margin-top:7px}footer{background:#f2f5f7;border-top:1px solid var(--line)}.footer-inner{padding-block:32px;display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-brand{font:700 1rem/1.5 var(--display);letter-spacing:-.02em}.footer-inner p:not(.footer-brand){color:var(--muted);font-size:.8125rem;margin-top:5px}.footer-meta{text-align:right}.footer-meta>a{font-size:.875rem;font-weight:500}.footer-meta p a{text-decoration:underline;text-underline-offset:3px}.footer-meta a:hover{color:var(--copper-dark)}
@media(min-width:1500px){.hero-grid{gap:88px}.hero-figure{min-height:610px}.hero-copy{padding-top:27px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner nav{gap:21px}.header-inner{gap:20px}.brand-description{font-size:.625rem;padding-left:12px}.brand{gap:12px}.hero-grid{gap:36px;padding-top:40px}.hero-figure{min-height:555px}h1{font-size:clamp(2.75rem,4.5vw,3.6rem)}.hero-actions{gap:14px}.hero-actions .light-link{font-size:.875rem}.hero-note{margin-top:30px}.section-heading,.coverage-inner{gap:40px}.service-grid{column-gap:40px}.contact-grid{gap:28px;grid-template-columns:1fr 1.1fr 1fr}.office-hours table{font-size:.8125rem}.large-phone{font-size:1.45rem}}
@media(max-width:860px){.header-inner{min-height:90px;flex-wrap:wrap;row-gap:0;padding-block:19px 14px}.header-inner nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);margin-top:17px;padding-top:9px;gap:38px}.hero-grid{grid-template-columns:1.05fr .9fr;gap:27px}.hero-figure{min-height:570px}.hero .eyebrow{font-size:.625rem;letter-spacing:.09em;gap:8px}.hero .eyebrow>span{width:16px}.hero-intro{font-size:1rem}.hero-note{font-size:.8125rem}.hero-copy{padding-top:3px}.hero-actions{flex-direction:column;align-items:flex-start}.disciplines{gap:18px;grid-template-columns:1fr 1.1fr 1fr}.disciplines>div{font-size:.8125rem;gap:12px}.section-space{padding-block:75px}.section-heading{gap:35px}.section-heading>p{font-size:1rem}.service{gap:17px}.service h3{font-size:1.125rem}.service p{font-size:.9375rem}.contact-grid{grid-template-columns:1fr 1fr;gap:40px}.office-hours{grid-column:2}.contact-person{grid-row:span 2}.office-hours table{font-size:.9375rem}.large-phone{font-size:1.7rem}.coverage-inner{padding-block:62px;gap:35px}.cities{column-gap:20px}.cities li{font-size:1.125rem}}
@media(max-width:620px){.container{width:calc(100% - 40px)}.header-inner{padding-block:20px 11px}.brand-name{font-size:1.85rem}.brand-description{font-size:.5625rem;letter-spacing:.12em;padding-left:10px}.brand{gap:10px}.header-phone{font-size:.8125rem;gap:6px}.header-phone svg{display:none}.header-inner nav{font-size:.875rem;margin-top:17px;padding-top:6px;gap:34px}.hero-grid{grid-template-columns:1fr;padding-top:37px;padding-bottom:30px;gap:34px}.hero-copy{padding:0}.hero .eyebrow{font-size:.65625rem;letter-spacing:.1em;margin-bottom:22px}.hero .eyebrow>span{width:20px}h1{font-size:clamp(2.6rem,9.8vw,3.7rem);line-height:1.14;letter-spacing:-.05em}h1>span br{display:none}.hero-intro{margin-top:24px;max-width:460px;line-height:1.75}.hero-actions{flex-direction:row;gap:20px;align-items:center;margin-top:27px}.button{min-height:53px;padding:13px 16px;gap:19px}.hero-actions .light-link{font-size:.875rem}.hero-note{margin-top:28px}.hero-figure{min-height:280px;aspect-ratio:1.4}.hero-figure img{object-position:center 52%}.hero-figure figcaption{bottom:18px;left:20px}.disciplines{grid-template-columns:1fr;gap:12px;padding-block:23px}.disciplines>div{font-size:.875rem;gap:19px}.disciplines>div>span{font-size:.6875rem}.section-space{padding-block:61px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:31px}h2{font-size:2.1rem;line-height:1.23}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{max-width:100%;padding:0}.service-grid{grid-template-columns:1fr}.service{padding-block:25px;gap:21px}.service h3{font-size:1.1875rem;margin-bottom:10px}.service h3 br{display:none}.service p{font-size:1rem;max-width:100%}.service-number{padding-top:3px}.coverage-inner{grid-template-columns:1fr;padding-block:56px;gap:35px}.coverage h2{font-size:2rem}.coverage-intro{margin-top:20px}.cities{gap:12px 22px}.cities li{font-size:1.25rem}.project-note{margin-top:25px}.contact-heading{margin-bottom:28px}.contact-grid{grid-template-columns:1fr;gap:36px;padding-top:28px}.contact-person{grid-row:auto}.office-hours{grid-column:auto}.contact-grid .small-label{margin-bottom:17px}.contact-person h3{font-size:1.25rem}.large-phone{font-size:2rem;max-width:100%;margin-top:20px}.contact-person .phone-help{max-width:100%}.office,.office-hours{border-top:1px solid var(--line);padding-top:29px}.office address{font-size:1rem}.office-note{max-width:100%;font-size:.875rem}.office-hours table{max-width:390px;font-size:1rem}.hours-note{font-size:.875rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:24px;padding-block:29px}.footer-meta{text-align:left}.footer-inner p:not(.footer-brand){font-size:.75rem}.eyebrow{font-size:.6875rem}.small-label{font-size:.6875rem}}
@media(max-width:380px){.header-inner{gap:10px}.brand-name{font-size:1.6rem}.brand-description{font-size:.5rem}.header-phone{font-size:.75rem}.hero-actions{gap:12px}.hero-actions .button{font-size:.875rem}.hero-actions .light-link{font-size:.8125rem}.hero .eyebrow{font-size:.6rem;letter-spacing:.065em}.hero .eyebrow>span{width:14px}}
.hero-figure{width:100%;min-width:0}
.brand-description,.eyebrow,.small-label,.hero .eyebrow,.hero-note>span:first-child,.hero-figure figcaption,.disciplines>div>span{font-size:.75rem}
@media(max-width:620px){.header-phone{display:none}.brand-name{font-size:2rem}.brand-description{font-size:.75rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em}.hero .eyebrow>span{display:none}.hero-actions{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button-copper:hover{transform:none}}
/* A compact editorial rhythm, with quote enquiries as the primary action. */
.header-quote{display:inline-flex;align-items:center;gap:24px;background:var(--navy);color:#fff;font-weight:600;font-size:.875rem;min-height:46px;padding:11px 18px}.header-quote:hover{background:var(--navy-light)}.header-inner nav a{min-height:44px;display:inline-flex;align-items:center}.hero-grid{grid-template-columns:1.1fr 1fr;gap:70px;padding-block:50px}.hero-copy{padding-block:22px 10px}.hero h1{font-size:clamp(3.2rem,5.2vw,4.65rem);line-height:1.09;letter-spacing:-.06em}.hero-intro{margin-top:28px;max-width:470px}.hero-figure{min-height:540px}.hero-actions{gap:14px;margin-top:30px}.button-outline{color:#fff;border:1px solid #758492;background:transparent}.button-outline:hover{background:#203b50}.hero-note{margin-top:34px}.section-space{padding-block:78px}.section-heading{margin-bottom:40px}.service{position:relative;padding-block:27px}.service h3{font-size:1.25rem}.service-number{font-family:var(--display);font-weight:600}.service-grid{column-gap:65px}.coverage-inner{padding-block:62px}.cities li{border-bottom:1px solid #365265;padding-bottom:8px}.project-note{border-left:2px solid var(--copper);border-top:0;padding:0 0 0 17px;margin-top:25px}.quote-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;margin-bottom:64px;scroll-margin-top:24px}.quote-intro{padding-top:16px}.quote-intro h2{font-size:clamp(2.3rem,3.3vw,3rem)}.quote-intro>p:not(.eyebrow){color:var(--muted);max-width:390px;margin-top:22px;font-size:1.0625rem}.quote-explainer{display:flex;gap:20px;align-items:flex-start;margin-top:30px;max-width:380px;padding-top:25px;border-top:1px solid var(--line)}.quote-explainer>span{color:var(--copper-dark);font-size:.8125rem;white-space:nowrap;padding-top:3px;font-weight:600}.quote-explainer p{font-size:.9375rem;color:var(--muted)}.quote-explainer strong{font-weight:600;color:var(--navy)}.quote-intro>.text-link{margin-top:26px;min-height:44px}.quote-form{background:#f3f6f8;border:1px solid #dfe5e9;border-top:3px solid var(--copper);padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{min-width:0;margin-bottom:19px}.form-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}.form-field input,.form-field select,.form-field textarea{font:400 1rem/1.5 var(--font);width:100%;min-height:48px;color:var(--ink);border:1px solid #b9c6cf;background:white;border-radius:0;padding:11px 12px;box-shadow:none}.form-field textarea{resize:vertical;min-height:108px}.form-field input::placeholder,.form-field textarea::placeholder{color:#65727c;opacity:1}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--copper-dark);outline-offset:2px;border-color:var(--copper-dark)}.field-hint{font-size:.75rem;line-height:1.55;color:var(--muted);margin-top:5px}.button-navy{background:var(--navy);color:white;border:0;font-family:var(--font);cursor:pointer;width:100%}.button-navy:hover{background:#234157}.button:disabled{opacity:.55;cursor:not-allowed}.button:focus-visible{outline:3px solid var(--copper-dark);outline-offset:4px}.form-notice{font-size:.8125rem;color:var(--muted);line-height:1.65;margin-top:13px}.quote-status{font-size:.875rem;margin-top:19px;padding-top:18px;border-top:1px solid #bbc7cf}.quote-status a{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-weight:600;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.quote-status[hidden]{display:none}.contact-grid{gap:40px;padding-top:32px}.office .text-link,.large-phone{min-height:44px}
@media(max-width:1100px){.hero-grid{gap:38px}.hero h1{font-size:clamp(3rem,5.7vw,4.3rem)}.quote-grid{gap:42px}.quote-form{padding:26px}.form-row{gap:14px}.contact-grid{gap:28px}}
@media(max-width:860px){.hero-grid{gap:28px}.hero h1{font-size:3.4rem}.hero-figure{min-height:540px}.hero-copy{padding-top:4px}.quote-grid{grid-template-columns:1fr 1.2fr;gap:30px}.quote-intro h2{font-size:2.2rem}.quote-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.header-inner nav{margin-top:16px;padding-top:3px}.quote-intro>.text-link{font-size:.875rem}}
@media(max-width:620px){.header-quote{display:none}.hero-grid{grid-template-columns:1fr;gap:28px;padding-block:34px 26px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.9rem,11.7vw,4rem);line-height:1.11;letter-spacing:-.055em;max-width:460px}.hero-intro{margin-top:23px;font-size:1rem}.hero .eyebrow{margin-bottom:21px}.hero-figure{min-height:240px;aspect-ratio:1.45}.hero-actions{display:flex;flex-direction:row;gap:12px;margin-top:24px}.hero-actions .button{font-size:.9375rem;min-height:52px;padding:12px 19px;gap:22px}.hero-note{margin-top:26px}.section-space{padding-block:53px}.section-heading{margin-bottom:29px;gap:18px}.service{padding-block:22px}.service h3{font-size:1.1875rem}.coverage-inner{padding-block:49px;gap:29px}.quote-grid{grid-template-columns:1fr;gap:29px;margin-bottom:40px}.quote-intro{padding:0}.quote-intro h2{font-size:2.35rem}.quote-intro>p:not(.eyebrow){font-size:1rem;margin-top:20px}.quote-explainer{gap:16px;padding-top:19px;margin-top:23px;max-width:100%}.quote-intro>.text-link{margin-top:17px}.quote-form{padding:21px 18px}.form-field{margin-bottom:17px}.form-row{grid-template-columns:1fr}.contact-grid{gap:29px}.button-navy{font-size:.9375rem;gap:15px}.form-notice{font-size:.8125rem}.cities li{font-size:1.1875rem}.field-hint{font-size:.75rem}}
@media(max-width:360px){.hero-actions .button{padding-inline:13px;gap:13px;font-size:.875rem}.hero h1{font-size:2.8rem}.quote-form{padding-inline:15px}}
@media print{.site-header nav,.header-phone,.header-quote,.hero-figure,.hero-actions,.footer-meta,.skip-link,.quote-form{display:none}.container{width:100%}.hero,.coverage{background:white;color:#162b3b}.hero-grid,.coverage-inner,.quote-grid{display:block;padding:25px 0}.hero-intro,.hero-note,.coverage-intro,.project-note>p:last-child,.project-note strong{color:#162b3b}.hero .eyebrow,.hero-note>span:first-child,.coverage .eyebrow,.project-note .small-label{color:#95552b}h1{font-size:32pt}.section-space{padding-block:30px}.contact-grid{display:block}.contact-grid>div{margin-bottom:24px}.service,.contact-grid>div{break-inside:avoid}.disciplines{display:none}}
