
:root{--navy:#102a40;--ink:#183349;--blue:#285e87;--aqua:#d7e5e8;--pale:#f5f6f3;--cream:#fbfbf9;--border:#d9e1e4;--muted:#536779;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 16px/1.6 var(--sans);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}p{margin:0 0 1em}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.046em;line-height:1.08}h3{line-height:1.22}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #278cbb;outline-offset:5px}.shell{width:min(1400px,100% - 96px);margin-inline:auto}.skip-link{position:absolute;left:10px;top:-80px;z-index:200;background:#fff;padding:10px 14px}.skip-link:focus{top:10px}.topline{border-bottom:1px solid var(--border);background:#eff3f4}.topline-in{height:32px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#496477}.topline-in a{letter-spacing:.07em;font-size:11px}.header{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:blur(16px);border-bottom:1px solid #dce3e7}.header-in{display:flex;align-items:center;gap:34px;height:92px}.brand{display:flex;align-items:center;gap:6px;flex-shrink:0}.brand>img{width:74px;height:66px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.12}.brand-copy strong{letter-spacing:.16em;font-size:18px;font-weight:750;color:#154c78}.brand-copy small{font-size:9px;letter-spacing:.15em;font-weight:600;color:var(--ink);margin-top:6px}.desk-nav{display:flex;align-items:center;gap:32px;margin-left:auto;white-space:nowrap}.desk-nav a{font-size:12px;letter-spacing:.08em;font-weight:600;color:var(--muted);position:relative;padding:12px 0}.desk-nav a.active,.desk-nav a:hover{color:var(--navy)}.desk-nav a.active:after{content:"";position:absolute;bottom:5px;left:0;right:0;background:var(--blue);height:1px}.nav-side{display:flex;align-items:center;gap:20px}.locale{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.06em;color:#9dadb5;font-weight:700}.locale a{color:#879eaf}.locale a.selected{color:var(--navy)}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:17px 26px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:730;min-height:56px;transition:transform .2s,background .2s,color .2s;text-align:center}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#27658b}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:var(--aqua)}.button-small{background:var(--navy);color:#fff;min-height:43px;padding:12px 17px;gap:13px;white-space:nowrap;font-size:10px}.button>span{font-size:19px;font-weight:400;line-height:.7}.mobile-nav{display:none}.mobile-sticky-cta{display:none}.overline,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--blue)}.overline{margin:0 0 22px}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow-line{width:26px;height:1px;background:var(--blue);display:inline-block}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.085em;font-weight:750;display:inline-flex;align-items:center;gap:14px;padding-bottom:8px;border-bottom:1px solid #8aa2b2}.text-link span{font-size:18px}.text-link:hover{color:var(--blue)}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:690px;gap:min(6vw,80px);padding-top:55px;padding-bottom:60px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-bottom:8px}.hero h1{font-size:clamp(68px,7.5vw,126px);max-width:790px;margin:35px -60px 27px 0;position:relative;z-index:2;color:var(--navy)}.hero-lede{max-width:505px;font-size:17px;line-height:1.75;color:#566b79}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:27px}.hero-footnote{display:flex;gap:13px;align-items:center;border-top:1px solid var(--border);margin-top:65px;padding-top:18px;max-width:500px;font-size:12px;color:#657787}.tiny-star{font-size:18px;color:#4d7899}.hero-image-wrap{position:relative;min-height:650px}.hero-image{position:absolute;inset:0 0 20px 0;background:#dce4e3;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;transition:transform .8s}.hero-image:hover .hero-img{transform:scale(1.025)}.hero-image-label{position:absolute;right:0;bottom:0;background:var(--navy);color:white;padding:17px 24px;display:flex;gap:30px;align-items:center;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:600}.hero-image-label span{color:#9dc4d3}
/* home */
.section-services{background:#f1f5f4;padding:100px 0 105px}.section-heading{display:grid;grid-template-columns:1fr .6fr;gap:70px;align-items:end;margin-bottom:50px}.section-heading h2,.gallery-intro h2{font-size:clamp(43px,5vw,72px);max-width:670px}.section-heading>p{font-size:15px;color:var(--muted);max-width:445px;margin:0 0 4px;line-height:1.85}.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cbd8db;border-bottom:1px solid #cbd8db}.service-tile{position:relative;padding:26px 25px 47px 0;min-height:240px}.service-tile+.service-tile{border-left:1px solid #cbd8db;padding-left:30px}.service-no{color:#6f96ad;font-weight:700;font-size:12px;letter-spacing:.13em}.service-tile h3{font-family:var(--serif);font-size:clamp(26px,2.6vw,41px);margin:35px 0 13px;letter-spacing:-.035em}.service-tile p{max-width:330px;font-size:13px;line-height:1.8;color:var(--muted)}.service-arrow{position:absolute;bottom:17px;right:24px;font-size:23px;color:var(--blue);transition:transform .2s}.service-tile:hover .service-arrow{transform:translate(4px,-4px)}.editorial{display:grid;grid-template-columns:1fr .88fr;gap:clamp(55px,8vw,180px);align-items:center;padding-top:125px;padding-bottom:60px}.editorial-flip{grid-template-columns:.88fr 1fr;padding-top:50px;padding-bottom:145px}.editorial-flip .editorial-picture{order:2}.editorial-flip .editorial-copy{order:1}.editorial-picture{position:relative;background:#e5e5e2;height:640px}.editorial-picture.tall{height:630px}.editorial-picture.wide{height:490px}.editorial-picture img{width:100%;height:100%;object-fit:cover}.editorial-picture.tall img{object-position:center 35%}.picture-index{position:absolute;bottom:0;left:0;background:#fff;padding:13px 23px;letter-spacing:.18em;font-size:10px}.editorial-copy h2{font-size:clamp(55px,5vw,81px);max-width:490px}.editorial-copy p:not(.overline){max-width:400px;margin:30px 0 29px;color:var(--muted);line-height:1.9}.home-gallery{background:var(--pale);padding:100px 0 120px}.gallery-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.gallery-intro p:not(.overline){max-width:530px;color:var(--muted);margin:25px 0 0}.gallery-intro .text-link{flex-shrink:0}.gallery-three{display:grid;grid-template-columns:1fr .9fr 1fr;gap:24px;align-items:start}.gallery-three .project-card:nth-child(2){margin-top:60px}.gallery-three .project-card:nth-child(3){margin-top:120px}.gallery-three .photo-frame{height:420px}.gallery-three .project-card:nth-child(2) .photo-frame{height:500px}.gallery-three .project-card:nth-child(3) .photo-frame{height:370px}
/* all pages */
.page-intro{padding:115px 0 76px;max-width:1400px}.page-intro h1{font-size:clamp(62px,8vw,116px);max-width:1020px;margin:20px 0 30px}.page-intro>p:not(.overline){font-size:18px;max-width:630px;color:var(--muted);line-height:1.8}.services-feature{display:grid;grid-template-columns:1fr 1fr;min-height:610px;gap:9%;align-items:center;margin-bottom:65px}.services-feature.mirror .services-picture{order:2}.services-feature.mirror .services-feature-copy{order:1}.services-picture{height:540px;position:relative;overflow:hidden;background:#e4e7e6}.services-picture img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.services-picture:hover img{transform:scale(1.03)}.services-picture>span{position:absolute;right:0;bottom:0;background:var(--navy);color:#fff;font-size:30px;padding:8px 18px}.services-feature-copy h2{font-size:clamp(48px,5vw,77px);margin:22px 0}.services-feature-copy p{font-size:16px;line-height:1.9;color:var(--muted);max-width:450px;margin-bottom:28px}.light-band{background:#eef3f4;padding:84px 0}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.band-inner h2{font-size:clamp(46px,5vw,69px);max-width:650px}.band-inner p:not(.overline){margin:20px 0 0;color:var(--muted);max-width:600px}.detail-hero{display:grid;grid-template-columns:1fr .87fr;gap:70px;padding-top:95px;padding-bottom:95px;min-height:680px;align-items:center}.detail-hero h1{font-size:clamp(62px,6.5vw,106px);max-width:790px;margin:22px -50px 28px 0;position:relative;z-index:2}.detail-lede{max-width:490px;color:var(--muted);font-size:18px;line-height:1.8}.detail-hero-image{height:610px;background:#eef0ef;overflow:hidden}.detail-hero-image img{width:100%;height:100%;object-fit:cover}.detail-content{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:65px;padding-bottom:95px}.detail-content h2{font-size:clamp(45px,4.8vw,70px);max-width:570px}.detail-content p:not(.overline){color:var(--muted);font-size:16px;line-height:1.9;max-width:560px}.detail-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:100px}.detail-photos .photo-frame{height:410px}
/* portfolio */
.work-filter-shell{border-top:1px solid var(--border);padding-top:20px;margin-bottom:42px}.work-filters{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{background:transparent;color:var(--muted);border:1px solid var(--border);padding:10px 20px;cursor:pointer;font-size:12px;letter-spacing:.07em;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:var(--navy);color:white;border-color:var(--navy)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-bottom:110px}.projects-grid .project-card.large{grid-row:span 2}.projects-grid .project-card.large .photo-frame{height:790px}.projects-grid .project-card.wide{grid-column:span 2}.projects-grid .project-card.wide .photo-frame{height:380px}.project-card{margin:0;min-width:0}.project-card[hidden]{display:none!important}.photo-frame{height:370px;position:relative;overflow:hidden;background:#e2e7e6}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-card:hover img{transform:scale(1.025)}.project-card figcaption{padding:13px 0 5px;font-size:12px;letter-spacing:.02em;color:#586d7b}.status-tag{position:absolute;top:16px;left:16px;background:var(--navy);color:white;padding:6px 10px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:700}.video-section{background:#f2f6f5;padding:85px 0 95px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.video-grid figure{margin:0}.video-grid video{height:490px;width:100%;object-fit:contain;background:#111e29}.video-grid figcaption{padding-top:15px;font-size:13px}.portfolio-note{font-size:12px;color:var(--muted);margin:25px 0 0;max-width:750px}
/* contact */
.contact-hero{display:grid;grid-template-columns:1fr .78fr;gap:9%;padding-top:100px;padding-bottom:110px;align-items:center}.contact-hero h1{font-size:clamp(60px,6.8vw,105px);max-width:780px;margin:18px 0 25px}.contact-heading>p:not(.overline){font-size:18px;color:var(--muted);line-height:1.8;max-width:600px}.contact-buttons{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px}.contact-image{height:610px;background:#e3e8e6}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-detail{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-top:70px;padding-bottom:125px;border-top:1px solid var(--border)}.contact-number{font-family:var(--serif);font-size:clamp(31px,4vw,61px);letter-spacing:-.035em;color:var(--navy)}.contact-number:hover{color:var(--blue)}.contact-main .location{margin-top:23px;color:var(--muted);max-width:450px}.contact-steps h2{font-size:clamp(32px,3vw,47px);margin-bottom:25px}.contact-steps ol{padding-left:20px;color:var(--muted);line-height:2.5}
/* bottom CTA & footer */
.bottom-cta{display:flex;justify-content:space-between;align-items:center;gap:70px;padding-top:105px;padding-bottom:110px}.bottom-cta h2{font-size:clamp(49px,5.5vw,81px);max-width:790px}.bottom-cta p:not(.overline){margin:22px 0 0;color:var(--muted);max-width:610px}.bottom-actions{display:flex;align-items:start;flex-direction:column;gap:15px;flex-shrink:0}.bottom-cta{background:var(--navy);box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax);color:white}.bottom-cta .overline{color:#9bc0d1}.bottom-cta p:not(.overline){color:#c4d7df}.cta-call-text{font-size:12px;letter-spacing:.04em;color:#e1edf2}.footer{background:#edf2f3;color:var(--navy)}.footer-main{display:grid;grid-template-columns:1.65fr .8fr 1fr;gap:9%;padding:100px 0 90px}.footer-logo{width:200px;height:auto;max-height:150px;object-fit:contain;object-position:left}.footer-headline{font-family:var(--serif);font-size:32px;max-width:440px;line-height:1.2;margin-top:22px}.footer-desc{font-size:13px;color:var(--muted);max-width:420px}.footer h2{font:750 11px/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin:20px 0 26px}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:13px}.footer-phone{font-family:var(--serif);font-size:27px;display:block;white-space:nowrap}.footer-location{font-size:12px;margin-top:10px;color:var(--muted)}.footer-action{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.08em;border-bottom:1px solid #91a9b9;padding:8px 0;display:inline-flex;gap:10px;align-items:center;margin-top:8px}.footer-bottom{border-top:1px solid #d0dce0;display:flex;justify-content:space-between;gap:20px;padding:26px 0 32px;color:#71828d;font-size:11px}.footer-bottom a{font-size:11px;color:var(--navy)}
@media(max-width:1180px){.shell{width:min(1300px,100% - 56px)}.header-in{gap:16px}.desk-nav{gap:17px}.brand>img{width:61px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:8px}.nav-cta{padding:10px 12px}.hero{gap:30px}.hero h1{font-size:clamp(65px,7.5vw,95px)}.hero-image-wrap{min-height:630px}}
@media(max-width:900px){.shell{width:calc(100% - 44px)}.header-in{height:76px}.desk-nav,.nav-cta{display:none}.nav-side{margin-left:auto}.mobile-nav{display:block;position:relative}.mobile-nav summary{width:38px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{display:block;height:2px;width:24px;background:var(--navy)}.mobile-nav nav{position:absolute;right:0;top:52px;background:#fff;box-shadow:0 20px 30px #102a4022;padding:17px 25px;min-width:245px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border)}.mobile-nav nav a{padding:10px 8px;font-size:14px}.mobile-contact{background:var(--navy);color:white;margin-top:10px}.hero{grid-template-columns:1fr 1fr;min-height:550px;padding-top:42px}.hero h1{font-size:clamp(60px,8.8vw,83px);margin-right:-40px}.hero-image-wrap{min-height:540px}.hero-footnote{margin-top:32px}.hero-lede{font-size:15px}.editorial{gap:35px}.editorial-picture,.editorial-picture.tall{height:460px}.editorial-picture.wide{height:375px}.services-feature{gap:30px;min-height:480px}.services-picture{height:400px}.detail-hero{gap:25px}.detail-hero-image{height:500px}.contact-hero{gap:30px}.contact-image{height:500px}.footer-main{gap:35px}}
@media(max-width:680px){body{font-size:15px;padding-bottom:64px}.shell{width:calc(100% - 34px)}.topline-in{height:27px;font-size:9px;letter-spacing:.13em}.topline-in a{font-size:10px}.header-in{height:72px}.brand>img{width:55px;height:50px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:7px}.nav-side{gap:12px}.locale{font-size:10px;gap:5px}.hero{display:flex;flex-direction:column;gap:0;padding-top:48px;padding-bottom:43px}.hero h1{font-size:clamp(55px,12vw,85px);max-width:600px;margin:26px 0 20px}.hero-copy{padding-bottom:35px}.hero-lede{font-size:15px}.hero-actions{gap:20px;margin-top:20px}.button{min-height:52px;padding:16px 22px}.hero-footnote{margin-top:35px}.hero-image-wrap{min-height:500px}.hero-image{inset:0 0 20px 0}.hero-image-label{padding:13px 16px;font-size:9px}.section-services{padding:67px 0 70px}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.gallery-intro h2{font-size:48px}.section-heading>p{margin-top:20px;font-size:14px}.service-tiles{display:block}.service-tile,.service-tile+.service-tile{border-left:0;border-bottom:1px solid #cbd8db;padding:20px 20px 32px 0;min-height:auto}.service-tiles{border-bottom:0}.service-tile h3{margin:14px 0;font-size:31px}.service-tile p{margin:0}.service-arrow{right:12px;bottom:18px}.editorial,.editorial-flip{display:flex;flex-direction:column;gap:35px;padding-top:70px;padding-bottom:35px}.editorial-flip{padding-top:35px;padding-bottom:75px}.editorial-flip .editorial-picture,.editorial-flip .editorial-copy{order:initial}.editorial-picture,.editorial-picture.tall,.editorial-picture.wide{height:465px;width:100%}.editorial-picture.wide{height:320px}.editorial-copy{width:100%}.editorial-copy h2{font-size:54px}.editorial-copy p:not(.overline){margin:21px 0 21px}.home-gallery{padding:65px 0}.gallery-intro{display:block;margin-bottom:30px}.gallery-intro .text-link{margin-top:25px}.gallery-three{display:grid;grid-template-columns:1fr 1fr;gap:15px}.gallery-three .project-card:nth-child(3){grid-column:span 2;margin-top:0}.gallery-three .project-card:nth-child(2){margin-top:26px}.gallery-three .photo-frame,.gallery-three .project-card:nth-child(2) .photo-frame{height:280px}.gallery-three .project-card:nth-child(3) .photo-frame{height:300px}.page-intro{padding:63px 0 40px}.page-intro h1{font-size:clamp(53px,11vw,78px);margin:17px 0 22px}.page-intro>p:not(.overline){font-size:15px}.services-feature,.services-feature.mirror{display:flex;flex-direction:column;gap:24px;min-height:unset;margin-bottom:70px}.services-feature .services-picture,.services-feature.mirror .services-picture{order:initial}.services-feature .services-feature-copy,.services-feature.mirror .services-feature-copy{order:initial}.services-picture{width:100%;height:460px}.services-feature-copy{width:100%}.services-feature-copy h2{font-size:54px;margin:13px 0}.services-feature-copy p{font-size:14px}.light-band{padding:55px 0}.band-inner{display:block}.band-inner h2{font-size:43px}.band-inner>.button{margin-top:26px}.detail-hero{display:flex;flex-direction:column;gap:35px;padding-top:63px;padding-bottom:50px;min-height:unset}.detail-hero-copy{width:100%}.detail-hero h1{font-size:clamp(52px,11vw,82px);margin:14px 0 22px}.detail-lede{font-size:15px}.detail-hero-image{width:100%;height:480px}.detail-content{display:block;padding-top:43px;padding-bottom:45px}.detail-content h2{font-size:49px;margin-bottom:25px}.detail-content p:not(.overline){font-size:15px}.detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:50px}.detail-photos .project-card:nth-child(3){grid-column:span 2}.detail-photos .photo-frame{height:280px}.detail-photos .project-card:nth-child(3) .photo-frame{height:330px}.work-filter-shell{margin-bottom:28px}.work-filters{gap:7px}.filter-btn{font-size:11px;padding:9px 13px}.projects-grid{grid-template-columns:1fr 1fr;gap:22px 12px;margin-bottom:60px}.projects-grid .project-card.large{grid-row:auto;grid-column:span 2}.projects-grid .project-card.large .photo-frame{height:460px}.projects-grid .project-card.wide{grid-column:span 2}.projects-grid .project-card.wide .photo-frame{height:290px}.projects-grid .photo-frame{height:270px}.project-card figcaption{font-size:11px}.video-section{padding:60px 0 60px}.video-grid{grid-template-columns:1fr;gap:26px}.video-grid video{height:440px}.contact-hero{display:flex;flex-direction:column;padding-top:64px;padding-bottom:45px;gap:35px}.contact-hero h1{font-size:clamp(53px,11vw,80px)}.contact-heading>p:not(.overline){font-size:15px}.contact-buttons{gap:20px}.contact-image{width:100%;height:430px}.contact-detail{display:flex;flex-direction:column;gap:40px;padding-top:48px;padding-bottom:65px}.contact-number{font-size:clamp(31px,7.7vw,50px)}.bottom-cta{display:block;padding-top:65px;padding-bottom:70px}.bottom-cta h2{font-size:52px}.bottom-actions{margin-top:28px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:66px;padding-bottom:46px}.footer-main>div:first-child{grid-column:span 2;margin-bottom:12px}.footer-main>div:last-child{min-width:0}.footer-logo{width:170px}.footer-headline{font-size:30px}.footer h2{margin:10px 0 20px}.footer-phone{font-size:20px;white-space:normal}.footer-bottom{flex-direction:column;gap:8px}.mobile-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:70;display:flex;justify-content:center;align-items:center;gap:15px;height:64px;background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:750;box-shadow:0 -4px 20px #132b3f33}.mobile-sticky-cta span{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
