:root{--navy:#101f32;--navy-deep:#0b1523;--ink:#172334;--muted:#596371;--gold:#dcb66c;--line:#d9dde1;--paper:#f2f4f5;--white:#fff;--wrap:1264px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible{outline:3px solid #ba8428;outline-offset:5px}button:disabled{opacity:.4;cursor:default}.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.045em}p{color:var(--muted)}.skip-link{position:fixed;z-index:200;top:-100px;left:16px;background:var(--gold);color:var(--navy);padding:10px 20px}.skip-link:focus{top:12px}.header{background:var(--navy-deep);position:sticky;top:0;z-index:50;border-bottom:1px solid #ffffff18}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;flex:0 0 258px}.brand img{width:258px;height:auto}.nav{display:flex;gap:28px;color:#e9edf2;font-size:14px}.nav a{padding:12px 0;transition:color .2s}.nav a:hover,.text-link:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:24px;font-size:14px;color:#fff}.language{border:0;background:none;padding:10px 0;color:#e9edf2;text-decoration:underline;text-decoration-color:#7a818b;text-underline-offset:5px;min-height:44px}.header-call{color:var(--gold);font-weight:600;white-space:nowrap}.menu-button{display:none}.hero{display:grid;grid-template-columns:46% 54%;background:var(--navy);min-height:660px;color:#fff}.hero-copy{padding:78px max(48px,calc((100vw - var(--wrap))/2)) 55px; padding-right:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#e8d6b1;display:flex;align-items:center;gap:14px;margin-bottom:24px}.gold-line{display:inline-block;width:34px;height:1px;background:var(--gold);flex:0 0 34px}.hero h1{font-size:clamp(3.25rem,4.4vw,5.6rem);line-height:1.04;max-width:540px}.hero-description{font-size:18px;line-height:1.7;color:#c6cfda;max-width:440px;margin-top:28px}.hero-buttons{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 24px;border:1px solid transparent;font-size:14px;font-weight:600;letter-spacing:.01em;transition:background .2s}.button-gold{background:var(--gold);color:var(--navy-deep)}.button-gold:hover{background:#edcc8e}.text-link{font-size:14px;line-height:1.4;color:inherit;border:0;border-bottom:1px solid #ffffff66;background:none;padding:12px 0 8px;min-height:44px;text-decoration:none}.hero-license{display:flex;gap:14px;margin-top:51px;align-items:center}.license-symbol{border:1px solid #dcb66c80;width:37px;height:42px;display:grid;place-items:center;color:var(--gold);font-size:20px;font-family:Georgia,serif}.hero-license p{display:grid;gap:1px;font-size:12px;line-height:1.5;color:#a9b5c6}.hero-license strong{color:#e5eaf0;font-size:14px;font-weight:400}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:49% 47%;position:absolute;inset:0}.hero-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#07101da8)}.image-caption{position:absolute;z-index:1;bottom:34px;left:36px;color:white;display:grid;gap:3px}.image-caption>span{font-size:12px;letter-spacing:.02em;color:#e3e7eb}.image-caption strong{font-size:20px;font-weight:500}.hero-image-number{position:absolute;bottom:37px;right:32px;color:#e0e5eb;font-size:12px;z-index:1}.service-strip{border-bottom:1px solid var(--line);background:#f9fafb}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;font-size:14px}.strip-inner>span:not(.strip-plus){font-weight:600;white-space:nowrap}.strip-plus{color:#a88243;font-size:18px;font-weight:400}.section{padding-top:112px;padding-bottom:112px}.section-heading{display:flex;gap:50px;justify-content:space-between;align-items:flex-end;margin-bottom:60px}.eyebrow.dark{color:#6c542d}.section-number{font-size:12px;color:#89919b;padding-right:15px;border-right:1px solid #c7ccd2;letter-spacing:.06em}.section-heading h2,.about-heading h2{font-size:clamp(2.5rem,3.5vw,3.8rem);line-height:1.1}.section-intro{font-size:17px;max-width:360px;line-height:1.8;margin-bottom:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:52px}.service{display:flex;gap:20px;padding:33px 0 37px;border-top:1px solid var(--line)}.service-index{color:#9c7e49;font-size:12px;line-height:1.5;min-width:20px;margin-top:4px}.service h3{font-size:22px;line-height:1.22;letter-spacing:-.03em;margin-bottom:16px}.service p{font-size:16px;line-height:1.75}.projects-section{background:var(--paper)}.featured-project{display:grid;grid-template-columns:1.26fr 1fr;gap:64px;align-items:center}.project-image-wrap{min-width:0}.photo-button{background:#d2d7db;border:0;padding:0;width:100%;position:relative;display:block;overflow:hidden;text-align:left}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-button:hover img{transform:scale(1.02)}.project-image-wrap .photo-button{aspect-ratio:1.13}.photo-badge{position:absolute;bottom:20px;left:20px;padding:8px 15px;background:#101f32e8;color:white;font-size:12px;letter-spacing:.03em}.project-type{font-size:12px;color:#78603b;text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:17px}.project-copy h3{font-size:clamp(2.3rem,3.2vw,3.6rem);margin-bottom:15px}.project-location{font-size:14px;color:#6b7380;margin-bottom:24px}.project-copy>p:not(.project-type):not(.project-location):not(.project-credit),.second-project-copy>p:not(.project-type):not(.project-location){font-size:16px;line-height:1.85}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.project-tags span{border:1px solid #c8cfd5;padding:5px 10px;font-size:12px;color:#46505e}.stage-buttons{display:flex;margin-top:28px;border-bottom:1px solid #ccd1d6;gap:26px}.stage{border:0;background:none;padding:13px 0;color:#6c7480;font-size:14px;min-height:48px;border-bottom:2px solid transparent}.stage.active{color:var(--ink);border-color:var(--ink);font-weight:600}.project-credit{font-size:12px;line-height:1.6;margin-top:20px;color:#727986}.second-project{display:grid;grid-template-columns:.78fr 1.5fr;gap:70px;align-items:center;border-top:1px solid #cdd3d9;margin-top:76px;padding-top:76px}.second-project h3{font-size:38px;margin-bottom:15px}.dark-link{margin-top:19px;border-color:#9da6b0;color:var(--ink)}.dark-link:hover{color:#8c672f;border-color:#8c672f}.bank-photo-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px;min-width:0}.bank-photo-grid .photo-button{height:345px}.bank-main img{object-position:53% center}.bank-detail img{object-position:center}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-heading h2{max-width:480px}.about-lead{font-size:22px;line-height:1.6;color:var(--ink);margin-bottom:20px;letter-spacing:-.02em}.about-copy>p:nth-child(2){font-size:16px;line-height:1.8}.company-details{margin:33px 0 0}.company-details>div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line);font-size:14px}.company-details dt{color:#737b85}.company-details dd{margin:0;color:#263446}.contact-section{background:var(--navy);color:white;padding:85px 0 90px}.contact-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:110px;align-items:center}.contact-copy h2{font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:1.07}.contact-copy>p:not(.eyebrow):not(.email-note){color:#bfc9d6;max-width:440px;line-height:1.85;font-size:17px;margin:25px 0}.contact-copy .email-note{font-size:12px;color:#a4b0c1;margin-top:14px;max-width:390px}.contact-details{border-left:1px solid #ffffff28;padding-left:60px;display:grid;gap:32px}.contact-label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#d6b87d;margin-bottom:9px}.contact-phone{font-size:clamp(1.7rem,2.3vw,2.4rem);letter-spacing:-.03em;white-space:nowrap}.contact-email{font-size:18px;overflow-wrap:anywhere}.contact-details p{font-size:20px;color:#fff}.contact-sub{font-size:14px;color:#aebacc;display:block;margin-top:4px}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}.footer{background:var(--navy-deep);color:#b0b7c0}.footer-inner{padding:36px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer-brand{font-size:22px;line-height:1.15;font-weight:700;letter-spacing:.06em;color:#e1be7c;display:grid;gap:4px}.footer-brand span{font-size:10px;letter-spacing:.18em;font-weight:400;color:#bac2cd}.footer p{font-size:14px;letter-spacing:.05em;color:#bdc5d0}.gallery-dialog{border:0;padding:0;width:min(1140px,94vw);max-width:94vw;max-height:94dvh;background:var(--navy-deep);color:white;box-shadow:0 30px 120px #0008}.gallery-dialog::backdrop{background:#08121ceb;backdrop-filter:blur(5px)}.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px}.gallery-header p{color:white;font-size:18px;font-weight:600;line-height:1.3}.gallery-header span{color:#abb8c9;font-size:12px}.gallery-close{background:none;border:1px solid #687687;color:white;min-height:44px;padding:8px 18px;font-size:14px}.gallery-image-area{background:#040a11;height:min(66vh,730px);display:grid;place-items:center}.gallery-image-area img{width:100%;height:100%;object-fit:contain;min-height:0}.gallery-bottom{display:grid;grid-template-columns:90px 1fr 90px;gap:20px;align-items:center;padding:15px 24px}.gallery-bottom button{min-height:44px;color:white;border:1px solid #687687;background:none;font-size:14px}.gallery-bottom p{font-size:14px;line-height:1.5;text-align:center;color:#d0d9e3}
@media(min-width:1650px){.hero-copy{padding-right:75px}.hero{min-height:750px}}
@media(max-width:1180px){.wrap{width:calc(100% - 64px)}.header-inner{gap:20px}.brand,.brand img{width:220px;flex-basis:220px}.nav{gap:20px}.header-call{display:none}.hero-copy{padding:62px 32px}.hero{min-height:650px}.hero h1{font-size:4rem}.hero-buttons{gap:18px}.services-grid{column-gap:30px}.featured-project{gap:38px}.second-project{gap:38px}.bank-photo-grid .photo-button{height:315px}.about-section{gap:55px}.contact-inner{gap:50px}.contact-details{padding-left:35px}}
@media(max-width:880px){.header-inner{height:84px}.nav{gap:19px;font-size:13px}.brand,.brand img{width:190px;flex-basis:190px}.header-actions{gap:12px}.hero{grid-template-columns:1fr 1fr;min-height:580px}.hero h1{font-size:3.2rem}.hero-copy{padding:48px 32px}.hero-description{font-size:16px}.hero-license{margin-top:34px}.hero-image-number{display:none}.image-caption{left:24px;bottom:25px;right:18px}.image-caption strong{font-size:17px}.eyebrow{font-size:11px;letter-spacing:.12em}.strip-inner{gap:14px;font-size:12px}.section{padding-block:80px}.section-heading{gap:35px;margin-bottom:45px}.section-heading h2,.about-heading h2{font-size:2.6rem}.section-intro{max-width:280px;font-size:16px}.services-grid{grid-template-columns:repeat(2,1fr);column-gap:45px}.featured-project{grid-template-columns:1fr 1fr;gap:28px}.project-copy h3{font-size:2.5rem}.project-image-wrap .photo-button{aspect-ratio:.85}.second-project{grid-template-columns:1fr;gap:30px;margin-top:55px;padding-top:50px}.second-project-copy{max-width:600px}.bank-photo-grid{grid-template-columns:1.7fr 1fr}.bank-photo-grid .photo-button{height:350px}.about-section{gap:35px}.company-details>div{grid-template-columns:1fr;gap:2px}.contact-inner{gap:32px}.contact-details{padding-left:26px}.contact-email{font-size:16px}.contact-details p{font-size:18px}.contact-phone{font-size:1.7rem}.footer-inner{flex-wrap:wrap}.footer p{display:none}}
@media(max-width:640px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 40px)}.header-inner{height:78px;gap:14px;position:relative}.brand,.brand img{width:186px;flex-basis:186px}.header-actions{gap:18px}.language{font-size:12px}.menu-button{display:flex;align-items:center;gap:8px;background:none;border:0;padding:10px 0;color:#fff;min-height:44px;font-size:12px}.menu-button>span:first-child{display:none}.menu-lines{width:19px;height:12px;border-top:1px solid #fff;border-bottom:1px solid #fff;display:block}.nav{display:none;position:absolute;top:78px;left:-20px;right:-20px;padding:18px 25px 24px;background:var(--navy-deep);border-top:1px solid #ffffff18;box-shadow:0 18px 20px #0002;flex-direction:column;gap:0;font-size:16px}.nav.open{display:flex}.nav a{padding:12px 0}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:48px 24px 38px}.hero h1{max-width:480px;font-size:3.5rem;line-height:1.04}.hero .eyebrow{margin-bottom:22px;font-size:10px}.hero-description{font-size:17px;max-width:440px;margin-top:23px}.hero-buttons{margin-top:28px;gap:25px}.hero-license{margin-top:33px}.hero-image{height:380px}.hero-image>img{object-position:center 50%}.image-caption{left:24px;bottom:22px}.image-caption strong{font-size:20px}.image-caption>span{font-size:12px}.service-strip .wrap{width:100%}.strip-inner{display:grid;grid-template-columns:1fr 1fr;padding:0;gap:0;font-size:12px}.strip-inner>span:not(.strip-plus){padding:17px 10px;text-align:center;border-bottom:1px solid #dfe3e7}.strip-inner>span:nth-child(4n + 1){border-right:1px solid #dfe3e7}.strip-plus{display:none}.section{padding-block:65px}.section-heading{display:block;margin-bottom:34px}.eyebrow{margin-bottom:18px;font-size:11px}.section-heading h2,.about-heading h2{font-size:2.55rem}.section-intro{max-width:100%;margin-top:23px;font-size:16px;line-height:1.75}.services-grid{grid-template-columns:1fr;gap:0}.service{padding:24px 0 26px;gap:17px}.service h3{font-size:22px;margin-bottom:10px}.service p{font-size:16px}.service-index{margin-top:5px}.featured-project{display:flex;flex-direction:column;gap:29px;align-items:stretch}.project-image-wrap .photo-button{aspect-ratio:1.15}.project-copy h3{font-size:2.6rem}.project-type{margin-bottom:14px}.project-location{margin-bottom:16px}.project-copy>p:not(.project-type):not(.project-location):not(.project-credit){font-size:16px}.project-tags{margin-top:20px}.stage-buttons{margin-top:22px}.project-credit{margin-top:17px}.second-project{gap:26px;margin-top:42px;padding-top:39px}.second-project h3{font-size:34px}.bank-photo-grid{gap:10px;grid-template-columns:1.45fr 1fr}.bank-photo-grid .photo-button{height:255px}.bank-photo-grid .photo-badge{bottom:10px;left:10px;right:10px;padding:7px 9px;font-size:10px}.about-section{display:block}.about-copy{margin-top:30px}.about-lead{font-size:20px}.company-details>div{grid-template-columns:128px 1fr;gap:18px;font-size:13px}.contact-section{padding:62px 0}.contact-inner{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:3.1rem}.contact-copy>p:not(.eyebrow):not(.email-note){font-size:16px;margin-block:22px}.contact-details{border-left:none;border-top:1px solid #ffffff28;padding:34px 0 0;gap:26px}.contact-phone{font-size:2rem}.contact-email{font-size:18px}.contact-sub{font-size:13px}.footer-inner{padding:28px 0;gap:23px;align-items:flex-start;flex-direction:column}.footer-brand{font-size:20px}.gallery-dialog{max-width:100vw;width:100vw;max-height:100dvh;min-height:100dvh;margin:0}.gallery-header{padding:18px 16px}.gallery-header p{font-size:16px;max-width:240px}.gallery-image-area{height:65dvh}.gallery-bottom{padding:16px;gap:12px;grid-template-columns:76px 1fr 76px;align-items:start}.gallery-bottom p{font-size:12px}.gallery-bottom button{font-size:12px}.gallery-close{font-size:12px;padding:8px 12px}}
@media(max-width:360px){.brand,.brand img{width:160px;flex-basis:160px}.header-actions{gap:13px}.hero h1{font-size:3rem}.hero-buttons{gap:17px}.hero-image{height:315px}.contact-copy h2{font-size:2.75rem}.company-details>div{grid-template-columns:1fr;gap:3px}.contact-email{font-size:16px}.gallery-header p{max-width:205px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Project portfolio: visible photo collections and grounded scope summaries. */
.project-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:-24px 0 44px}.project-shortcuts a{font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center;padding:10px 16px;border:1px solid #bdc5ce;background:#fff;color:var(--ink)}.project-shortcuts a:hover{border-color:#8c672f;color:#745427}.project-scope{margin-top:24px}.project-scope h4{font-size:14px;line-height:1.5;margin:0 0 10px;font-weight:600;color:var(--ink)}.project-scope ul{margin:0;padding-left:19px;color:var(--muted);font-size:16px;line-height:1.7}.project-scope li+li{margin-top:7px}.project-scope li::marker{color:#987137}.project-status{display:inline-block;max-width:100%;padding:7px 12px;margin:0 0 20px;background:#e9dec9;color:#59421f;border-left:3px solid #ad8442;font-size:14px;line-height:1.5;font-weight:600}.project-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:30px}.project-thumbnails.bank-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.project-thumbnails .thumbnail{background:transparent;overflow:visible;color:var(--ink)}.thumbnail-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#d2d7db}.thumbnail-image img{width:100%;height:100%;object-fit:cover}.thumbnail-label{display:block;padding:12px 0 0;font-size:14px;line-height:1.5;min-height:54px}.project-tags span{font-size:14px}.project-credit{font-size:14px}
@media(max-width:880px){.project-shortcuts{margin-top:-12px;margin-bottom:34px}.project-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.project-scope{margin-top:20px}}
@media(max-width:640px){.project-shortcuts{margin:0 0 30px;gap:10px}.project-shortcuts a{flex:1 1 auto;justify-content:center;padding-inline:12px}.project-thumbnails,.project-thumbnails.bank-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin-top:24px}.thumbnail-label{padding-top:9px}.project-status{margin-bottom:18px}.project-tags span{padding:5px 9px}.gallery-bottom p,.gallery-bottom button,.gallery-close{font-size:14px}}
