@font-face{font-family:Display;src:url('/assets/display.woff2')}@font-face{font-family:Manrope;src:url('/assets/sans.woff2');font-weight:200 800}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f3ed;color:#0b1c31;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,select{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Display,Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(66px,7.8vw,116px)}h2{font-size:clamp(43px,5.2vw,76px)}h3{font-size:36px}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:14px;font-weight:600;display:block;margin-bottom:22px}.preview{background:#0b1c31;color:#e5e3de;text-align:center;padding:6px 20px;font-size:14px;letter-spacing:.05em}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:10;background:white;padding:20px}header{background:#fbfaf7;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;gap:30px}.brand img{width:160px;height:88px;object-fit:contain}nav{display:flex;gap:29px;align-items:center;font-size:14px}nav a:hover,.textlink:hover{color:#6d766e}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a47f40;outline-offset:5px}.nav-contact{border-bottom:1px solid #8e8f89;padding:9px 0}.menu-toggle{display:none}.hero{min-height:630px;display:grid;grid-template-columns:48% 52%;background:#0b1c31;color:#fff}.hero-copy{padding:80px 5vw 65px;display:flex;flex-direction:column;justify-content:center}.hero-copy p{max-width:480px;color:#d0d4d6;line-height:1.8;margin-top:28px}.hero-copy .kicker{color:#c1c6ca}.hero-image{min-height:540px;position:relative;overflow:hidden}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:48% center}.hero-image small{position:absolute;bottom:24px;left:30px;font-size:12px;letter-spacing:.12em;color:#fff}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:#0b1c31;color:white;font-size:14px;border:1px solid #0b1c31;cursor:pointer}.button.light{background:#f6f3ed;color:#0b1c31;border-color:#f6f3ed}.button:hover{background:#374959;color:white}.textlink{font-size:14px;border-bottom:1px solid #a8aaa7;padding-bottom:7px;display:inline-block}.searchbar{display:grid;grid-template-columns:1fr 1.6fr auto;align-items:center;gap:30px;background:#e9e6df;padding:27px 5vw}.searchbar h2{font-size:30px}.searchbar p{font-size:14px;color:#545d65;margin-top:5px}.searchbar select{width:100%;background:transparent;border:0;border-bottom:1px solid #9eaaa9;padding:12px 0;color:#0b1c31;min-height:48px}.searchbar label{font-size:12px;letter-spacing:.14em;text-transform:uppercase}.section{padding:105px 7vw}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:12vw;align-items:center}.intro p{color:#56606b}.intro .textlink{margin-top:24px}.heading-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:50px}.heading-row h2{max-width:660px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c6c6bf}.services article{padding:34px 35px 0 0}.services article+article{border-left:1px solid #c6c6bf;padding-left:35px}.services p{font-size:16px;color:#56606b;margin:23px 0}.dark{background:#0b1c31;color:#fff}.dark p{color:#c4cbd0}.offices{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.office-row{padding:30px 0;border-top:1px solid #65707c;display:grid;grid-template-columns:1fr auto;gap:15px}.office-row h3{font-size:43px}.office-row p{font-size:14px;margin-top:12px}.office-row .status{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#cbd0d0;margin-bottom:12px}.office-row .arrow{font-size:28px;align-self:center}.office-row:hover h3{color:#d6c5a8}.split-photo{display:grid;grid-template-columns:1fr 1fr;background:#e9e6df}.split-photo>img{width:100%;height:100%;min-height:570px;object-fit:cover}.split-copy{padding:80px 6vw;align-self:center}.split-copy p{margin-top:25px;color:#53606c}.callout{text-align:center;max-width:900px;margin:auto}.callout p{margin:25px auto;max-width:560px}.callout .actions{justify-content:center}footer{padding:55px 7vw 25px;background:#071320;color:#c7cdd2}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-main h3{font-size:30px;color:white;margin-bottom:15px}.footer-main a{display:block;font-size:14px;margin:7px 0}.footer-bottom{border-top:1px solid #36424d;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.footer-bottom img{width:90px}.office-hero{display:grid;grid-template-columns:1.2fr .8fr;padding:85px 7vw;background:#0b1c31;color:white;gap:80px;align-items:end}.office-hero p{color:#cbd2d5;max-width:570px;margin-top:25px}.office-detail{border-top:1px solid #78828a;padding-top:25px}.office-detail h2{font-size:37px}.office-detail p{font-size:16px;margin-top:20px}.office-detail a{margin-top:25px}.breadcrumb{font-size:14px;color:#b8c0c6;margin-bottom:38px;display:block}.portrait{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.portrait img{width:100%;max-height:580px;object-fit:cover;object-position:top}.portrait p{margin-top:22px;color:#56606b}.portrait .kicker{margin-top:25px}.template-note{padding:17px 7vw;background:#e9e6df;font-size:14px}.details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:45px}.details article{border-top:1px solid #c2c5c2;padding-top:24px}.details h3{font-size:30px}.details p{margin-top:15px;color:#56606b;font-size:15px}.future-monogram{background:#162b3e;padding:40px;text-align:center;border:1px solid #566676}.future-monogram span{font-family:Display;font-size:100px;line-height:1.3;color:#d1c9bc}.future-monogram p{font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:0 auto}.review{background:#e9e6df;padding:25px 7vw;font-size:14px}.review summary{cursor:pointer;font-weight:600}.review p{margin-top:12px;max-width:900px}.review ul{padding-left:18px}.community-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.community-links a{border-bottom:1px solid #a5aaa9;font-size:15px;padding:8px 10px}.future .office-hero{background:#16303c}.future.williamsville .office-hero{background:#292e37}.mobile-only{display:none}@media(max-width:950px){nav{gap:16px}.hero-copy{padding:65px 5vw}.hero{min-height:570px}.hero h1{font-size:74px}.intro{gap:6vw}.section{padding:75px 6vw}.office-hero{gap:40px}.searchbar{grid-template-columns:1fr 1.3fr}.searchbar .button{grid-column:2}.split-copy{padding:55px 6vw}}@media(max-width:700px){header{padding:8px 6vw;flex-wrap:wrap;gap:0}.brand img{width:132px;height:75px}.menu-toggle{display:block;border:1px solid #aaa;background:transparent;padding:8px 13px;font-size:14px}nav{display:none;width:100%;padding:20px 0;flex-direction:column;align-items:start}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 7vw}.hero h1{font-size:72px}.hero-image{min-height:300px;height:300px}.searchbar{grid-template-columns:1fr;padding:28px 7vw;gap:17px}.searchbar .button{grid-column:auto}.intro,.portrait,.office-hero,.split-photo{grid-template-columns:1fr;gap:35px}.section{padding:65px 7vw}.heading-row{display:block;margin-bottom:30px}.heading-row .textlink{margin-top:25px}.services,.offices,.details{grid-template-columns:1fr}.services article,.services article+article{border-left:0;padding:27px 0;border-bottom:1px solid #c6c6bf}.offices{gap:0}.split-photo>img{min-height:300px;height:330px}.split-copy{padding:55px 7vw}.office-hero{padding:48px 7vw}.office-hero h1{font-size:70px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{align-items:start;flex-wrap:wrap}.portrait img{max-height:500px}.future-monogram{padding:20px}.future-monogram span{font-size:80px}.preview{font-size:12px}.details{gap:25px}.portrait{gap:30px}}

.hero h1{font-size:clamp(64px,6.5vw,96px)}.brand img{width:185px;height:88px}@media(max-width:700px){.hero h1{font-size:clamp(52px,13.5vw,72px)}.brand img{width:150px;height:75px}.future-monogram span{font-size:clamp(40px,11vw,80px)}}
.office-hero>*{min-width:0}.office-hero h1{font-size:clamp(50px,5.8vw,86px)}.future-monogram span{font-size:clamp(38px,4.5vw,68px)}@media(max-width:700px){.office-hero h1{font-size:clamp(38px,12vw,54px)}.future-monogram span{font-size:clamp(34px,10vw,58px)}}
