:root{--paper:#f7f9fa;--ink:#29363b;--muted:#5b666c;--line:#d8e0e4;--teal:#2994ae;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:hover{text-decoration-color:var(--teal)}:focus-visible{outline:3px solid var(--teal);outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.section{padding-block:105px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(58px,6.8vw,104px)}h2{font-size:clamp(40px,4.3vw,65px)}h3{font-size:30px}em{font-weight:400}p{color:var(--muted);max-width:62ch}p+p{margin-top:20px}.eyebrow{display:block;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.button{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:17px 24px;font-size:16px;font-weight:600;border:1px solid transparent;border-radius:0;transition:background .2s}.button span{font-size:24px;line-height:1}.button-cream{background:var(--paper);color:var(--ink)}.button-cream:hover{background:#e1f0f5}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#10596d}.text-link{display:inline-block;font-size:16px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:27px}.text-link:hover{color:#17677d}.site-header{background:#fff;position:relative;z-index:10;border-bottom:1px solid #e5eaed}.header-row{height:108px;display:flex;justify-content:space-between;align-items:center;gap:28px}.brand{flex-shrink:0;width:290px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:16px}nav>a,summary{white-space:nowrap}nav>a[aria-current]{text-decoration:underline;text-underline-offset:8px}.header-quote{background:var(--ink);color:white;padding:13px 19px;display:flex;gap:28px}.header-quote:hover{background:#10596d}.services-menu{position:relative}.services-menu summary{list-style:none;display:flex;gap:10px;align-items:center}.services-menu summary::-webkit-details-marker{display:none}.services-menu>div{position:absolute;top:46px;left:-24px;min-width:260px;background:white;padding:15px;box-shadow:0 12px 35px #0002;border:1px solid var(--line)}.services-menu a{display:block;padding:10px 12px}.services-menu a:hover{background:var(--paper)}.menu-toggle{display:none}.skip-link{position:fixed;left:20px;top:-90px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.home-hero,.service-hero{position:relative;isolation:isolate;color:white}.home-hero{min-height:700px;height:calc(100svh - 108px);max-height:950px;display:flex;align-items:center}.home-hero>img,.service-hero>img,.video-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.home-hero>img{object-position:center 60%}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#142c39e0 0%,#16334370 54%,#0001 100%)}.hero-content{padding-block:70px 110px}.hero-content h1{font-size:clamp(78px,8.3vw,132px);line-height:.98}.hero-content p{color:#f0f7fa;font-size:20px;margin:28px 0 32px}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff55;padding-top:20px;font-size:14px}.hero-bottom a{font-size:12px;letter-spacing:.13em}.intro-section{padding-block:100px;display:grid;grid-template-columns:1fr 2fr;gap:60px;border-bottom:1px solid var(--line)}.intro-section>.eyebrow{padding-top:14px}.intro-section p{margin-top:26px;font-size:19px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.selected-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:65px}.selected-grid>div{padding-top:100px;display:grid;gap:55px}.project-card figure{position:relative;overflow:hidden;margin-bottom:22px;background:#e4ebee}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:bottom;transition:transform .6s}.project-card a:hover img{transform:scale(1.025)}.large-project img{aspect-ratio:4/5}.project-card .eyebrow{margin-bottom:12px;color:var(--muted);font-size:11px}.project-card h3{display:flex;justify-content:space-between;gap:20px;font-size:32px}.project-card h3 span{font:26px Arial,sans-serif}.photo-open{position:absolute;right:16px;bottom:16px;background:white;width:44px;height:44px;display:grid;place-items:center;font-size:23px}.build-section{background:#eaf1f4;padding-block:100px}.build-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:100px}.build-intro p{margin-top:28px;max-width:36ch}.service-list a{border-bottom:1px solid #c0d1d8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;font-family:var(--serif);font-size:clamp(24px,2.4vw,38px);letter-spacing:-.03em}.service-list a:first-child{border-top:1px solid #c0d1d8}.service-list a:hover{color:var(--teal)}.detail-story,.about-story{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.detail-story figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:bottom}.detail-story p,.about-story p{margin-top:25px}.video-story{position:relative;isolation:isolate;min-height:610px;display:grid;place-items:center;text-align:center;color:white;padding:80px 25px}.video-story:after{content:'';position:absolute;inset:0;background:#15303fb3;z-index:-1}.video-story p{color:#eee;font-size:13px;margin:28px auto 0}.video-play{display:inline-flex;gap:18px;align-items:center;border:0;background:transparent;color:white;margin-top:25px;padding:8px;font-size:17px}.video-play>span{border:1px solid #fffa;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:28px}.areas-section,.review-link,.contact-areas{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;padding-block:100px}.areas-section>div:last-child{padding-top:35px}.area-examples{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;gap:10px}.closing{background:var(--ink);color:var(--paper);padding-block:80px}.closing>.wrap{position:relative}.closing h2{font-size:clamp(45px,5.6vw,82px);max-width:850px}.closing .button{position:absolute;right:0;bottom:8px}.footer-main{padding-block:65px;display:grid;grid-template-columns:1.6fr 1fr .7fr;gap:45px}.footer-brand{font-family:var(--serif);font-size:35px;line-height:1.2;display:inline-block}.footer-brand span{display:block;font:11px/2 Arial,sans-serif;letter-spacing:.22em}.footer-main p{font-size:16px;margin-top:22px}.footer-label{display:block;font-size:12px;letter-spacing:.12em;font-weight:bold;margin-bottom:20px}.footer-main>div:not(:first-child)>a{display:block;margin-bottom:9px;font-size:16px;overflow-wrap:anywhere}.footer-base{border-top:1px solid var(--line);padding-block:25px 35px;display:flex;flex-wrap:wrap;gap:12px 35px;font-size:12px;color:var(--muted)}.footer-base a{text-decoration:underline;text-underline-offset:3px}.mobile-contact{display:none}.page-intro{padding-block:85px 60px}.page-intro h1{max-width:1150px}.page-intro p{font-size:19px;margin-top:28px}.portfolio{padding-top:10px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px 0}.filter-row button{border:1px solid var(--line);background:transparent;border-radius:0;padding:9px 22px;font-size:16px}.filter-row button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-status{font-size:14px;margin:20px 0 35px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.project-grid .project-card:nth-child(even){padding-top:60px}.gallery-note{font-size:14px;margin-top:55px}.service-catalog{padding-bottom:100px}.service-catalog article{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:55px;border-top:1px solid var(--line)}.catalog-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:bottom}.service-catalog p{margin-top:24px}.service-hero{min-height:600px;display:flex;align-items:end;padding-block:65px}.service-hero .breadcrumb{display:block;margin-bottom:60px}.service-hero h1{font-size:clamp(52px,6vw,90px)}.breadcrumb{font-size:15px}.service-detail,.project-description{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:95px}.service-detail p{margin-top:23px}.service-detail .button{margin-top:32px}.service-detail h3{font-size:29px;letter-spacing:-.025em}.service-detail ul,.project-description ul{padding-left:20px;margin:20px 0 38px;color:var(--muted)}.service-detail li,.project-description li{padding-bottom:8px}.about-story{padding-block:15px 100px}.about-story img{aspect-ratio:4/5;object-fit:cover;object-position:bottom}.approach-section{background:#eaf1f4;padding-block:90px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.approach-grid article{border-top:1px solid #c0d1d8;padding-top:25px}.approach-grid h3{font-size:30px;margin-bottom:20px}.project-intro{padding-block:65px 45px}.project-intro .eyebrow{margin-top:40px}.project-intro h1{max-width:1000px}.project-main-photo img{width:100%;max-height:850px;object-fit:cover;object-position:bottom}.project-source-note{font-size:14px;border-top:1px solid var(--line);padding-top:22px}.contact-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:95px;padding-block:85px}.contact-intro>div>p{margin-top:28px}.contact-links{display:grid;gap:15px;margin-top:38px}.contact-links a{font-size:clamp(18px,1.9vw,26px);display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:12px;overflow-wrap:anywhere}.contact-note{font-size:15px}.contact-intro form{border:1px solid var(--line);padding:35px;background:#fff}.contact-intro form h2{font-size:44px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:600;margin-bottom:22px}label small{font-weight:400}input,select,textarea{display:block;border:1px solid #a6b9c2;background:var(--paper);padding:12px;width:100%;min-width:0;margin-top:9px;border-radius:0;color:var(--ink);font-size:16px}textarea{resize:vertical}.form-explainer{font-size:14px;margin-bottom:25px}.form-note{font-size:13px;margin-top:16px}.contact-areas{border-top:1px solid var(--line)}.contact-areas p{margin-top:25px}.contact-areas ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0;padding:0}.contact-areas li{border-bottom:1px solid var(--line);padding-bottom:9px}dialog{background:var(--paper);color:var(--ink);border:0;padding:0;max-width:min(1100px,94vw);max-height:90svh;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#10232ee6}.dialog-close{position:absolute;right:14px;top:14px;z-index:2;background:white;color:var(--ink);width:44px;height:44px;border:1px solid var(--line);font-size:28px;line-height:1}#lightbox-image{max-height:70svh;width:auto;margin:auto;object-fit:contain}.lightbox-caption{display:flex;justify-content:space-between;gap:25px;padding:25px}.lightbox-caption .eyebrow{margin-bottom:10px}.lightbox-caption h2{font-size:32px}.lightbox-caption>a{font-size:14px;align-self:end;text-decoration:underline}#video-dialog{width:min(1100px,94vw);background:#111;padding-top:60px}#video-container{aspect-ratio:16/9}#video-container iframe{width:100%;height:100%;border:0}#enquiry-dialog{width:620px;padding:40px}#enquiry-dialog h2{font-size:48px}#enquiry-summary{display:grid;grid-template-columns:110px 1fr;gap:8px 20px;font-size:15px;margin-block:30px}#enquiry-summary dt{color:var(--muted)}#enquiry-summary dd{margin:0;overflow-wrap:anywhere}#enquiry-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;margin-bottom:25px}
@media(min-width:1700px){.home-hero .hero-content{padding-top:100px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.brand{width:245px}nav{gap:22px;font-size:15px}.header-quote{padding:12px 15px;gap:12px}.build-layout,.detail-story,.about-story,.areas-section,.service-detail,.project-description,.contact-intro,.contact-areas,.review-link{gap:45px}.selected-grid{gap:35px}.closing .button{position:static;margin-top:30px}.contact-intro form{padding:25px}.service-catalog article{gap:45px}.contact-intro .form-grid{grid-template-columns:1fr;gap:0}}@media(max-width:850px){.header-row{height:90px;flex-wrap:wrap}.brand{width:270px}.menu-toggle{display:flex;gap:15px;align-items:center;background:transparent;border:1px solid var(--line);padding:9px 13px;font-size:16px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:#fff;padding:20px 32px 30px;align-items:stretch;gap:0;box-shadow:0 12px 20px #0001;font-size:18px}nav.is-open{display:flex;flex-direction:column}nav>a,nav>details{padding:15px 0;border-top:1px solid var(--line)}nav .header-quote{padding:14px 18px;margin-top:12px;justify-content:space-between}.services-menu summary{justify-content:space-between}.services-menu>div{position:static;box-shadow:none;border:0;padding:15px 0 0 15px;font-size:16px}.home-hero{height:760px;min-height:0}.hero-content h1{font-size:94px}.intro-section{grid-template-columns:1fr;gap:20px}.intro-section>.eyebrow{margin:0}.selected-grid{gap:30px}.selected-grid>div{padding-top:70px}.project-card h3{font-size:27px}.build-layout{grid-template-columns:1fr 1.1fr}.build-intro h2{font-size:49px}.footer-main{grid-template-columns:1.1fr 1fr;gap:35px}.footer-main>div:last-child{grid-column:2}.page-intro h1{font-size:72px}.service-hero h1{font-size:65px}.contact-intro{grid-template-columns:1fr;gap:50px}.contact-intro>div{max-width:650px}.contact-intro .form-grid{grid-template-columns:1fr 1fr;gap:20px}.contact-links{max-width:520px}.approach-grid{grid-template-columns:1fr;gap:28px}.approach-grid article{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.service-catalog article{gap:35px}.service-catalog h2{font-size:38px}.service-catalog .eyebrow{font-size:10px}.hero-bottom>span{display:none}.hero-bottom{justify-content:end}}
@media(max-width:600px){body{font-size:17px;padding-bottom:57px}.wrap{width:calc(100% - 40px)}html{scroll-padding-top:20px}.header-row{height:82px;gap:12px}.brand{width:218px}.menu-toggle{font-size:14px;padding:8px 10px;gap:7px}nav{top:82px;padding-inline:20px}.home-hero{height:690px;max-height:none}.home-hero>img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#142c39e8,#16334370)}.hero-content{padding-block:60px 110px}.hero-content .eyebrow{font-size:10px;letter-spacing:.12em}.hero-content h1{font-size:76px}.hero-content p{font-size:18px;max-width:29ch}.hero-content p br{display:none}.hero-bottom{bottom:24px;padding-top:16px}.intro-section{padding-block:65px}.intro-section p{font-size:18px}.section{padding-block:65px}h2{font-size:43px}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:22px}.selected-grid{grid-template-columns:1fr;gap:40px}.selected-grid>div{padding-top:0;gap:40px}.large-project img{aspect-ratio:4/3}.project-card h3{font-size:30px}.project-card .eyebrow{font-size:11px}.build-section{padding-block:65px}.build-layout{grid-template-columns:1fr;gap:40px}.build-intro h2{font-size:49px}.build-intro h2 br:nth-child(2){display:none}.service-list a{font-size:29px;padding-block:20px}.detail-story,.about-story{grid-template-columns:1fr;gap:38px}.detail-story figure img,.about-story img{aspect-ratio:4/3}.video-story{min-height:530px;padding-block:70px}.video-story h2{font-size:49px}.video-story p{max-width:30ch;font-size:12px}.areas-section,.review-link,.contact-areas{grid-template-columns:1fr;gap:30px;padding-block:65px}.areas-section>div:last-child{padding-top:0}.closing{padding-block:60px}.closing h2{font-size:49px}.closing .eyebrow{font-size:11px}.closing .button{font-size:15px;padding:15px 19px;gap:25px}.footer-main{grid-template-columns:1fr;padding-block:45px;gap:35px}.footer-main>div:last-child{grid-column:auto}.footer-main p br{display:none}.footer-base{display:grid;font-size:12px;padding-block:25px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);box-shadow:0 -3px 20px #0002}.mobile-contact a{padding:16px 20px;display:flex;justify-content:space-between;font-size:15px;line-height:25px}.mobile-contact a:last-child{background:var(--ink);color:white}.page-intro{padding-block:55px 45px}.page-intro h1{font-size:58px}.page-intro p{font-size:18px}.portfolio{padding-top:0}.filter-row{gap:8px;padding-block:18px}.filter-row button{font-size:14px;padding:8px 15px}.project-grid{grid-template-columns:1fr;gap:40px}.project-grid .project-card:nth-child(even){padding-top:0}.service-catalog{padding-bottom:60px}.service-catalog article{grid-template-columns:1fr;gap:27px;padding-block:35px}.service-catalog h2{font-size:40px}.service-catalog .eyebrow{font-size:11px;margin-bottom:15px}.service-hero{min-height:540px;padding-block:45px}.service-hero .breadcrumb{margin-bottom:80px}.service-hero h1{font-size:52px}.service-hero h1 br{display:none}.service-detail,.project-description{grid-template-columns:1fr;gap:45px;padding-block:60px}.service-detail .button{font-size:14px;padding-inline:18px;gap:20px}.about-story{padding-bottom:60px}.approach-section{padding-block:60px}.approach-grid{margin-top:35px}.approach-grid article{grid-template-columns:1fr;gap:0}.approach-grid h3{margin-bottom:16px}.project-intro{padding-block:45px 35px}.project-intro h1{font-size:58px}.project-intro .eyebrow{font-size:11px}.contact-intro{padding-block:55px}.contact-intro h1{font-size:65px}.contact-intro form{padding:25px 20px}.contact-intro form h2{font-size:39px}.contact-intro .form-grid{grid-template-columns:1fr;gap:0}.contact-intro form>.eyebrow{font-size:10px}.contact-links a{font-size:20px}.contact-intro form .button{padding-inline:17px;gap:18px;font-size:15px}.contact-areas ul{font-size:15px;gap:10px}.lightbox-caption{display:block;padding:20px}.lightbox-caption h2{font-size:28px}.lightbox-caption>a{display:inline-block;margin-top:20px}#enquiry-dialog{padding:35px 23px}#enquiry-dialog h2{font-size:40px}#enquiry-summary{grid-template-columns:1fr;gap:3px}#enquiry-summary dd{margin-bottom:12px}#enquiry-dialog>.eyebrow{font-size:10px;max-width:80%}}@media(max-width:360px){.brand{width:190px}.wrap{width:calc(100% - 32px)}.hero-content h1{font-size:66px}.page-intro h1,.project-intro h1{font-size:50px}.contact-links a{font-size:18px}.contact-intro form{padding:22px 16px}.contact-intro form h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Logo-led teal actions with neutral charcoal text. */
.header-quote,.button-dark,.closing,.filter-row button[aria-pressed=true],.mobile-contact a:last-child{background:#17677d}.button-dark:hover,.header-quote:hover{background:#10596d}.footer-brand{color:#17677d}.text-link{border-bottom-color:#2994ae}.service-list a:hover{color:#17677d}

/* Service areas are directly available in primary navigation. */
@media(min-width:1051px){nav{gap:22px}.header-row{gap:22px}}
@media(min-width:851px) and (max-width:1050px){.header-row{height:auto;min-height:108px;flex-wrap:wrap;padding-block:20px;gap:20px}.header-row nav{width:100%;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}}
.contact-areas .area-regions{font-size:21px;color:#17677d;line-height:1.5;max-width:28ch;margin-top:25px}.area-shortcut{color:#17677d;font-size:17px}#service-areas:target h2{color:#17677d}

/* A visible social destination, separate from utility footer links. */
.social-section{background:white;border-bottom:1px solid var(--line)}.social-row{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-block:55px}.social-row .eyebrow{color:#17677d;margin-bottom:14px}.social-row h2{font-size:44px}.social-row p{margin-top:15px;font-size:17px}.facebook-link{display:flex;align-items:center;gap:18px;padding:20px 25px;border:1px solid #c0d1d8;font-size:18px;flex-shrink:0}.facebook-link:hover{background:#eaf1f4;border-color:#17677d}.facebook-mark{background:#1877f2;color:white;display:inline-flex;justify-content:center;align-items:end;width:38px;height:38px;border-radius:50%;font:bold 36px/1 Arial,sans-serif;padding-top:5px;flex-shrink:0}.facebook-link small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.contact-social{display:inline-flex;gap:12px;align-items:center;margin-top:25px;font-size:16px;color:#17677d}.contact-social .facebook-mark{width:28px;height:28px;font-size:27px}.contact-social:hover{text-decoration:underline}@media(max-width:850px){.social-row{align-items:start;flex-direction:column;gap:28px}.facebook-link{flex-shrink:1}}@media(max-width:600px){.social-row{padding-block:40px}.social-row h2{font-size:38px}.facebook-link{width:100%;padding:17px;font-size:16px;gap:14px}.facebook-link small{font-size:12px}}

.footer-main>div:not(:first-child)>a.footer-social{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:#17677d}.footer-social .facebook-mark{width:25px;height:25px;font-size:25px;padding-top:3px}.footer-social:hover{text-decoration:underline}
