@font-face{font-family:Inter;src:url('/assets/Inter-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/assets/Inter-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/Montserrat-600.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/Montserrat-700.woff') format('woff');font-weight:700;font-display:swap}
:root{--navy:#102a43;--blue:#0077b6;--ice:#badaeb;--yellow:#ffc300;--paper:#f7f7f7;--line:#ccd7de;--muted:#4c6173}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--navy);background:var(--paper);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:600;line-height:1.12}h1{font-size:clamp(44px,5.8vw,88px);letter-spacing:-.055em}h2{font-size:clamp(34px,3.9vw,57px);letter-spacing:-.045em}h3{font-size:26px;letter-spacing:-.03em}p{max-width:65ch}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.5}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:52px}.section-top h2{margin-top:20px}.section-note{color:var(--muted);font-size:16px;max-width:380px;padding-bottom:5px}.btn,.nav-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;background:var(--navy);color:white;padding:17px 23px;min-height:52px;font-weight:600;font-size:14px;border:0}.btn:hover,.nav-cta:hover{background:#214866;text-decoration:none}.btn.yellow{background:var(--yellow);color:var(--navy)}.btn.yellow:hover{background:#ffdb58}.btn.light{background:white;color:var(--navy)}.text-link{font-weight:600;display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid currentColor;padding:12px 0}.text-link span{font-size:23px;font-weight:400}.review-bar{min-height:38px;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:8px 3.5%;background:#e5edf1;font-size:12px;line-height:1.5}.review-bar a{font-weight:600}.masthead{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:158px}.brand{width:160px;flex:0 0 160px}.brand img{width:160px;height:auto}.desktop-nav{display:flex;gap:32px;margin-left:auto;font-size:14px;font-weight:600}.nav-cta{margin-left:22px}.menu-toggle{display:none;background:none;color:var(--navy);border:1px solid var(--navy);padding:10px 14px;min-height:44px}.mobile-menu{padding-bottom:20px}.mobile-menu a{display:block;border-top:1px solid var(--line);padding:15px 0}.mobile-menu[hidden]{display:none}.skip{position:absolute;top:-100px;left:16px;z-index:100;background:var(--yellow);color:var(--navy);padding:14px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.a-opening>.eyebrow{padding-top:30px}.a-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:end;padding:24px 0 47px}.a-intro h1 span{color:var(--blue)}.a-intro-side{max-width:365px;justify-self:end;padding-bottom:6px;font-size:15px;color:var(--muted)}.a-intro-side .text-link{color:var(--navy);margin-top:15px;font-size:14px}.a-main-photo{position:relative}.a-main-photo>img{width:100%;height:480px;object-fit:cover;object-position:50% 31%}.a-main-photo figcaption{background:var(--navy);color:white;display:flex;justify-content:space-between;padding:16px 22px;font-size:11px;letter-spacing:.12em}.a-main-photo figcaption a{letter-spacing:0;font-size:13px}.a-service-list{border-top:1px solid var(--navy)}.a-service-list>a{display:grid;grid-template-columns:60px 1fr 1fr 35px;gap:22px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.a-service-list>a:hover{text-decoration:none;background:#edf3f6}.service-num{font-size:12px;color:var(--blue)}.a-service-list h3{font-size:29px}.a-service-list p{color:var(--muted);font-size:14px}.a-service-list>a>span:last-child{font-size:29px}.a-work{background:#e9f0f3}.a-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 36px}.project-image{position:relative;display:block;overflow:hidden;background:#d3dee4}.project-image>img{width:100%;height:470px;object-fit:cover;transition:transform .3s}.project-image:hover>img{transform:scale(1.02)}.project figcaption{padding-top:22px}.project h3{margin:10px 0}.project p{color:var(--muted);font-size:15px}.a-project-grid>.wide{grid-column:1/-1}.a-project-grid>.wide .project-image>img{height:530px;object-position:center 46%}.a-project-grid>.retail .project-image>img{object-position:50% 18%}.a-project-grid>.cabin .project-image>img{object-position:50% 50%}.round-arrow{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:white;color:var(--navy);font-size:22px}.a-approach{display:grid;grid-template-columns:1fr 1fr;gap:90px}.a-approach h2{margin:20px 0 24px}.body-large{font-size:18px;line-height:1.7;color:var(--muted)}.a-approach .text-link{margin-top:20px}.approach-list{padding:0;margin:0;list-style:none}.approach-list li{display:grid;grid-template-columns:40px 1fr;gap:16px;border-top:1px solid var(--line);padding:27px 0}.approach-list li>span{font-size:12px;color:var(--blue)}.approach-list h3{font-size:22px;margin-bottom:10px}.approach-list p{font-size:15px;color:var(--muted)}.a-contact{background:var(--blue);color:white;padding:72px 0}.a-contact .wrap>div{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:25px}.a-contact h2{font-size:clamp(40px,4.5vw,68px)}.concept-footer{background:var(--navy);color:white;padding-top:65px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:center;padding-bottom:60px}.footer-main>div>a{display:block;margin-top:8px;font-size:18px}.footer-main>div:last-child{font-size:14px;color:#c6d9e5}.footer-main>div:last-child>a{font-size:13px}.footer-end{display:flex;justify-content:space-between;gap:24px;font-size:12px;border-top:1px solid #ffffff33;padding:22px 0;color:#c6d9e5}.b-hero{position:relative;background:var(--navy);color:white;min-height:640px;overflow:hidden}.b-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}.b-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,39,.04) 10%,rgba(7,24,39,.25) 37%,rgba(7,24,39,.92) 69%,rgba(7,24,39,.96))}.b-hero-inner{position:relative;min-height:640px;display:flex;align-items:center;justify-content:flex-end;padding-block:58px}.b-hero-copy{width:48%;max-width:610px}.b-hero h1{font-size:clamp(50px,5.1vw,76px);line-height:1.08;letter-spacing:-.055em;margin:22px 0}.b-hero h1 span{color:var(--yellow)}.b-hero-copy>p:not(.eyebrow){font-size:17px;max-width:430px;color:#e0eaf0;margin-bottom:30px}.hero-secondary{display:block;font-size:13px;margin-top:20px;width:max-content}.b-photo-label{position:absolute;bottom:26px;left:0;font-size:10px;letter-spacing:.13em;color:white;padding:9px 12px;background:#102a43df}.b-services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.b-service{background:white;display:flex;flex-direction:column}.b-service:hover{text-decoration:none;box-shadow:0 10px 25px #102a4314}.b-service-photo{height:210px;overflow:hidden}.b-service-photo>img{width:100%;height:100%;object-fit:cover}.b-service-copy{padding:25px 22px 20px;display:flex;flex-direction:column;flex:1}.b-service h3{font-size:23px;margin:13px 0}.b-service p{font-size:14px;color:var(--muted);margin-bottom:24px}.service-more{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;border-top:1px solid var(--line);padding-top:15px;margin-top:auto}.service-more>span{font-size:21px}.b-work{background:#e3edf3}.b-feature{display:grid;grid-template-columns:1.2fr 1fr;background:var(--navy);color:white}.b-feature>img{width:100%;height:100%;min-height:480px;object-fit:cover}.b-feature-copy{padding:55px 48px;align-self:center}.b-feature h3{font-size:44px;margin:23px 0}.b-feature p:not(.eyebrow){font-size:16px;color:#d2e0e8;margin-bottom:28px}.photo-reference{display:block;font-size:10px;letter-spacing:.14em;margin-top:30px;color:#c5d6e2}.b-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}.b-detail-grid .project-image>img{height:350px;object-fit:contain;background:#d6e2e8}.b-detail-grid h3{font-size:23px}.b-approach{display:grid;grid-template-columns:1fr 1fr;gap:90px}.b-approach h2{margin:20px 0 25px}.b-approach .btn{margin-top:28px}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{padding:28px 0;display:flex;gap:24px;justify-content:space-between;cursor:pointer;font-weight:600;list-style:none;font-size:18px}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-weight:400;font-size:24px}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{color:var(--muted);padding:0 30px 25px 0;font-size:15px}.b-contact{background:var(--yellow);padding:70px 0}.b-contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.b-contact h2{margin-top:17px}.concept-b .masthead{background:var(--paper)}dialog{border:0;background:var(--navy);color:white;width:min(1100px,94vw);max-height:94dvh;padding:18px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#06111ee8}dialog[open]{display:flex;flex-direction:column}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px}.dialog-top h2{font:600 16px Inter,Arial,sans-serif;letter-spacing:0}.close-photo{border:1px solid #c6d9e5;background:transparent;color:white;padding:10px 15px;min-height:44px;flex-shrink:0}#large-photo{max-height:calc(94dvh - 100px);min-height:0;width:100%;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.a-main-photo>img{height:535px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:19px;font-size:13px}.nav-cta{margin-left:0;padding:15px;gap:20px}.a-intro{gap:40px}.a-intro-side{font-size:14px}.a-service-list>a{grid-template-columns:40px 1fr 1fr 25px}.a-service-list h3{font-size:24px}.a-approach,.b-approach{gap:45px}.b-services{grid-template-columns:repeat(2,1fr)}.b-service-photo{height:240px}.b-feature-copy{padding:35px}.b-feature h3{font-size:36px}.b-hero-copy{width:51%}.footer-main{gap:30px}.b-detail-grid .project-image>img{height:280px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.review-bar{font-size:10px;gap:8px;padding:10px 15px}.bar-detail{display:none}.masthead{min-height:150px;gap:15px}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:block}.section-top{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:34px}.section-top h2{margin-top:14px}.section-note{font-size:14px}.a-opening>.eyebrow{padding-top:15px;font-size:9px}.a-intro{grid-template-columns:1fr;gap:22px;padding:20px 0 30px}.a-intro h1{font-size:clamp(39px,7.5vw,60px)}.a-intro-side{max-width:440px;justify-self:start;font-size:15px}.a-intro-side .text-link{margin-top:8px}.a-main-photo>img{height:330px;object-position:50% 45%}.a-main-photo figcaption{padding:14px;font-size:9px}.a-main-photo figcaption a{font-size:11px}.a-service-list>a{grid-template-columns:23px 1fr 26px;gap:16px;padding:23px 0}.a-service-list h3{font-size:23px}.a-service-list p{grid-column:2;grid-row:2;font-size:13px}.a-service-list>a>span:last-child{grid-column:3;grid-row:1/3}.a-project-grid{grid-template-columns:1fr;gap:40px}.a-project-grid>.wide{grid-column:auto}.a-project-grid>.wide .project-image>img{height:360px;object-position:27% 50%}.project-image>img{height:400px}.a-project-grid>.retail .project-image>img{object-position:50% 22%}.a-approach,.b-approach{grid-template-columns:1fr;gap:45px}.body-large{font-size:16px}.a-contact{padding:55px 0}.a-contact .wrap>div{flex-direction:column;align-items:flex-start;gap:28px}.footer-main{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.footer-end{flex-direction:column;gap:12px}.concept-footer{padding-top:45px}.b-hero{min-height:0;background:var(--navy);overflow:visible}.b-hero>img{position:relative;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}.b-shade{display:none}.b-hero-inner{min-height:0;padding-block:35px 38px}.b-hero-copy{width:100%;max-width:none}.b-hero h1{font-size:clamp(42px,9vw,62px);margin:18px 0}.b-hero-copy>.eyebrow{font-size:10px}.b-hero-copy>p:not(.eyebrow){font-size:15px}.b-photo-label{top:-42px;bottom:auto;font-size:9px;left:0}.b-services{gap:20px}.b-service-photo{height:200px}.b-service-copy{padding:22px 18px}.b-service h3{font-size:23px}.b-feature{grid-template-columns:1fr}.b-feature>img{min-height:0;height:320px}.b-feature-copy{padding:30px 25px}.b-detail-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.b-detail-grid .project-image>img{height:430px}.b-contact .wrap{align-items:flex-start;flex-direction:column}.b-contact{padding:52px 0}.faqs summary{font-size:16px}.dialog-top h2{font-size:13px}dialog{padding:14px}}
@media(max-width:480px){.b-services{grid-template-columns:1fr}.b-service-photo{height:235px}.a-main-photo>img{height:280px}.a-project-grid>.wide .project-image>img{height:310px}.project-image>img{height:390px}.a-project-grid>.cabin .project-image>img{height:330px}.b-feature>img{height:280px}.b-detail-grid .project-image>img{height:390px}.b-hero h1{font-size:clamp(38px,10vw,48px)}.review-bar{font-size:9px}.a-intro h1{font-size:clamp(35px,9vw,43px)}h3{font-size:24px}.a-service-list h3{font-size:20px}.btn{gap:20px;font-size:13px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
