 :root{--cream:#f7f9fb;--ink:#203c5b;--muted:#68798b;--line:#dce4eb;--olive:#356b9b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}.header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:10}.brand{display:flex;flex-direction:column;align-items:center;gap:7px;white-space:nowrap}.brand-top{font-family:"Playfair Display",serif;font-size:22px;letter-spacing:.11em}.brand-bottom{font-size:8px;letter-spacing:.46em}.header nav{display:flex;gap:27px;align-items:center}.header nav a{font-size:11px;letter-spacing:.07em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid transparent}.header nav a:hover,.header nav a.active{border-color:var(--ink)}.menu-button{display:none;border:0;background:none;font-size:26px}.hero{height:min(770px,78vw);min-height:550px;background-position:center;background-size:cover;position:relative;display:flex;align-items:center;color:#fff}.hero-content{margin-left:10%;max-width:660px}.eyebrow{display:block;font-size:10px;letter-spacing:.23em;font-weight:600;color:var(--olive);margin-bottom:27px}.eyebrow.light{color:#e7f0f8}.hero h1,.page-hero h1{font-size:clamp(65px,7vw,115px);line-height:1.05;margin:0 0 25px;font-family:"Playfair Display",serif;font-weight:400;letter-spacing:-.035em}.hero h1 em,h2 em,.page-hero h1 em,.footer-cta em{font-weight:400}.hero p{font-size:17px;max-width:420px;line-height:1.8;margin-bottom:40px}.hero-side{position:absolute;right:3%;bottom:50px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;padding:18px 25px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:.2s}.btn:hover{transform:translateY(-3px)}.btn-light{background:#f5f9fc;color:#203c5b}.btn-dark{background:var(--ink);color:#fff}.wrap{width:min(1300px,88%);margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:130px;padding-bottom:110px}.intro h2,.split h2,.prose h2,.contact-layout h2{font:400 clamp(42px,4.4vw,70px)/1.15 "Playfair Display",serif;letter-spacing:-.025em;margin:0}.intro-copy{padding-top:38px}.intro-copy p,.split-copy p,.prose p,.contact-layout p{font-size:15px;line-height:2;color:#5d6f80}.text-link{display:inline-block;margin-top:22px;padding-bottom:9px;border-bottom:1px solid var(--ink);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.feature-stack{display:grid;gap:22px}.feature{position:relative;display:block;overflow:hidden;height:300px;background:#ddd}.feature-tall{height:622px}.feature img{height:100%;transition:transform .7s}.feature:hover img{transform:scale(1.04)}.feature:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}.feature-label{position:absolute;z-index:1;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;gap:10px;color:#fff;font-size:10px;letter-spacing:.13em}.feature-label b{font-weight:500}.quote-section{text-align:center;padding:140px 20px;max-width:900px;margin:auto}.quote-section blockquote{font:400 clamp(32px,4vw,57px)/1.35 "Playfair Display",serif;margin:0 auto 28px}.quote-credit{font-size:10px;letter-spacing:.2em}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;margin-bottom:135px}.split-photo img{height:650px}.split-copy{padding-right:8%}.split-copy p{margin-top:30px}.footer-cta{background:#315e86;color:#fff;text-align:center;padding:105px 20px 115px}.footer-cta h2{font:400 clamp(44px,5vw,75px)/1.2 "Playfair Display",serif;margin:0 0 36px}.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;padding:70px 6% 30px;background:#eaf1f7}.footer-brand{display:block;font:23px "Playfair Display",serif;letter-spacing:.08em}.footer-sub{display:block;font-size:8px;letter-spacing:.5em;margin-top:9px}.footer p{font-size:12px;line-height:1.8;color:#64788a}.footer>div:nth-of-type(2){display:flex;flex-direction:column;gap:12px;font-size:12px}.copyright{grid-column:1/-1;font-size:10px;color:#74879a;border-top:1px solid #cddae5;padding-top:22px}.page-hero{padding-top:110px;padding-bottom:100px}.page-hero h1{font-size:clamp(60px,7vw,105px)}.page-hero p{font-size:17px;color:#607589;line-height:1.8;max-width:590px}.about-split{margin-bottom:100px}.prose{max-width:850px;padding-bottom:130px}.prose p{max-width:760px}.services-list{padding-bottom:120px}.service-row{display:grid;grid-template-columns:70px 1fr 280px;align-items:center;gap:35px;padding:30px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-num{font-size:12px;color:var(--olive)}.service-row h2{font:400 40px "Playfair Display",serif;margin:0 0 12px}.service-row p{max-width:500px;font-size:14px;line-height:1.8;color:#607589}.service-row img{height:180px}.portfolio{padding-bottom:130px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px}.filters button{border:1px solid #cfdae5;background:transparent;padding:12px 17px;cursor:pointer;font-size:11px}.filters button.selected,.filters button:hover{background:var(--ink);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-item{position:relative;border:0;padding:0;background:#e5edf4;cursor:pointer;overflow:hidden;aspect-ratio:4/3}.gallery-item:nth-child(7n+1){grid-row:span 2;aspect-ratio:auto}.gallery-item img{height:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.5));color:white;text-align:left;padding:35px 18px 15px;font-size:11px;letter-spacing:.08em}.section-title{font:400 45px "Playfair Display",serif}.lightbox{position:fixed;inset:0;background:rgba(20,23,20,.95);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px}.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:85vh;object-fit:contain}.lightbox span{color:#fff;margin-top:12px;font-size:12px}.lightbox-close{position:absolute;right:25px;top:18px;background:none;border:0;color:#fff;font-size:36px;cursor:pointer}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-bottom:140px}.contact-detail{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding:22px 0;gap:8px}.contact-detail span{font-size:10px;letter-spacing:.15em;color:#637a90}.contact-detail strong,.contact-detail a{font-size:17px;font-weight:400}.contact-layout small{display:block;color:#777;margin-top:20px}.contact-card{background:#eaf2f8;padding:65px}.contact-card h3{font:400 48px/1.2 "Playfair Display",serif}.small-note{font-size:11px!important}@media(max-width:1000px){.header{height:85px}.menu-button{display:block}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--cream);padding:25px 6%;flex-direction:column;align-items:flex-start;box-shadow:0 12px 15px #0001}.header nav.open{display:flex}.intro{gap:6%}.service-row{grid-template-columns:40px 1fr 180px}.service-row img{height:140px}}@media(max-width:700px){.header{padding:0 5%}.brand-top{font-size:17px}.brand-bottom{font-size:7px}.hero{min-height:620px;height:78vh;background-position:center}.hero-content{margin:0 7%}.hero h1{font-size:clamp(52px,12vw,78px)}.hero-side{display:none}.wrap{width:88%}.intro,.split,.contact-layout{grid-template-columns:1fr;gap:30px}.intro{padding-top:80px;padding-bottom:65px}.intro-copy{padding-top:0}.feature-grid{grid-template-columns:1fr}.feature-tall{height:440px}.feature-stack .feature{height:270px}.feature-label{left:17px;right:17px;font-size:9px}.quote-section{padding:90px 6%}.split{margin-bottom:80px}.split-photo img{height:440px}.split-copy{padding:20px 0}.footer{grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}.page-hero{padding-top:70px;padding-bottom:65px}.page-hero h1{font-size:clamp(52px,12vw,78px)}.service-row{grid-template-columns:30px 1fr;gap:15px}.service-row img{grid-column:2;width:100%;height:190px}.service-row h2{font-size:32px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item:nth-child(7n+1){grid-row:auto;aspect-ratio:4/3}.contact-card{padding:35px}.contact-card h3{font-size:40px}}
/* Blue identity refinements */
.brand-top,.brand-bottom,.footer-brand,.footer-sub{color:#245b89}
.btn-dark,.filters button.selected,.filters button:hover{background:#245b89}
.btn-dark:hover{background:#17436a}
.text-link{border-color:#356b9b}
.header nav a:hover,.header nav a.active{border-color:#356b9b;color:#245b89}
