/* Selected image mockups, translated into responsive, crawlable HTML. */
:root{--navy:#234959;--navy-deep:#112e40;--cream:#f7f2eb;--ink:#112e40;--muted:#586870;--gold:#ad673d;--gold-light:#cf946a;--heading-font:'Segoe UI',Arial,sans-serif;--body-font:'Segoe UI',Arial,sans-serif}
body{font-family:var(--body-font);font-weight:400}
.top{background:#f7f5ef}
.nav{min-height:88px;width:calc(100% - 80px)}
.brand{gap:22px;color:var(--ink)}
.brand .pine-mark{width:32px;height:54px;flex:none}
.brand-main{font-size:21px;letter-spacing:.19em;font-weight:600}
.brand-city{font-size:13px;letter-spacing:.5em;font-weight:400;color:var(--ink);margin-top:10px}
.links{font-weight:400;font-size:14px;gap:27px}
.links>a:first-child{display:none}
.header-contact{border-radius:3px;font-weight:500;background:var(--navy-deep);padding:14px 22px}
.home{--heading-font:'Segoe UI',Arial,sans-serif}
.home section{padding:90px 0}
.home .wrap{width:calc(100% - 112px);max-width:1424px}
.home h1,.home h2,.home h3{font-family:var(--heading-font)}
.home .kicker{font-size:12px;letter-spacing:.19em;font-weight:500}
.home .hero{padding:0}
.home .hero-grid{width:100%;max-width:none;grid-template-columns:47.25% 52.75%}
.home .hero-copy{padding:58px 52px 50px 5.15vw;position:relative;isolation:isolate;background:#17384b}
.home .hero-copy:after{content:"";position:absolute;inset:35% 0 0;z-index:-1;background:none right bottom/cover no-repeat;filter:grayscale(1) brightness(2) contrast(3);mix-blend-mode:screen;opacity:.13;mask-image:linear-gradient(transparent,#000 45%);pointer-events:none}
.home .eyebrow{font-size:12px;letter-spacing:.24em;color:#e0e7e6;display:flex;gap:24px}
.home .eyebrow:before{display:none}
.home .eyebrow:after{content:"";height:1px;background:#ffffff66;flex:1}
.home h1{font-size:clamp(46px,4.65vw,74px);line-height:1.01;font-weight:700;letter-spacing:-.045em;margin:33px 0 32px}
.home .hero .accent{display:inline;color:#fff}
.home .hero .lead{font-size:20px;line-height:1.55;color:#f9f2ea;max-width:590px}
.home .hero .actions{margin:32px 0 0;gap:24px;flex-wrap:nowrap}
.home .btn{font-size:17px;font-weight:500;border-radius:3px;letter-spacing:0;text-transform:none;padding:16px 24px;line-height:1.3;box-shadow:none}
.home .hero .btn{font-size:16px;white-space:nowrap}
.home .hero .btn:first-child:after,.home .consult .btn:after{content:"⟶";margin-left:18px;font-size:22px}
.home .hero .btn.outline{font-weight:600;letter-spacing:.025em}
.home .hero .proof{font-size:15px;gap:20px;padding-top:28px;margin-top:35px;max-width:none;color:#f8eee7}
.home .hero .proof span{gap:20px;align-items:center}
.home .hero .proof span:before{width:24px;height:24px;border-radius:3px;font-size:15px;line-height:22px;border-color:#e0e7e6;color:#e0e7e6}
.home .hero-visual{padding:55px 0 50px 5.5vw;justify-content:flex-start;align-items:center}
.home .hero-workplace{object-position:center center;filter:none}
.home .hero-visual:before{display:none}
.home .hero-visual .consult{width:410px;max-width:calc(100% - 50px);padding:30px;background:#f4f5eff5;border-radius:6px;box-shadow:none}
.home .consult h2{font-size:27px;font-weight:600;letter-spacing:-.045em;margin:13px 0 10px}
.home .consult p{font-size:14px;color:var(--ink);line-height:1.5;margin-bottom:19px}
.home .consult .kicker{font-size:10px;letter-spacing:.24em;color:var(--ink)}
.home .form-grid{grid-template-columns:1fr;gap:10px}
.home .form-grid label{font-weight:400;font-size:12px}
.home .form-grid input,.home .form-grid select{height:36px;padding:7px 10px;margin-top:5px;border-radius:2px}
.home .form-grid textarea{height:66px;border-radius:2px}
.home .consult .btn{padding:12px;min-height:46px;font-size:14px}
.home .strip{background:#dce6df}
.home .strip-grid{padding:29px 0;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.16em;gap:35px}
.home .strip-grid a{padding-right:28px}
.home .strip-grid a:before{content:"◇";font-size:35px;font-weight:300;margin-right:15px}
.home .strip-grid a:nth-child(2):before{content:"▱"}
.home .strip-grid a:nth-child(3):before{content:"♧"}
.home .strip-grid a:after{color:var(--ink)}
.home .home-services{background:#f6f6f0}
.home .home-services .section-head{grid-template-columns:.95fr 1.05fr;column-gap:55px;margin-bottom:40px}
.home .home-services .section-head>.kicker{grid-column:1;color:#78847c}
.home .home-services .section-head h2{font-size:clamp(48px,5vw,78px);line-height:1.02;grid-column:1;margin:18px 0}
.home .service-intro{grid-column:2;grid-row:1/3;align-self:center}
.home .service-intro h3{font-size:17px;font-weight:500;letter-spacing:0}
.home .service-intro p{margin:0;font-size:16px;line-height:1.65}
.home .service-card{grid-template-columns:150px 1.25fr 1.05fr 215px;gap:35px;padding:22px 0;align-items:stretch}
.home .service-number{font-size:128px;line-height:1.3;font-weight:200;letter-spacing:-.08em;color:#a5643c;align-self:center}
.home .service-copy{padding-left:25px;border-left:1px solid #bc8c7280;align-self:center}
.home .service-card .service-copy>.kicker{font-size:21px;font-weight:650;letter-spacing:-.025em;text-transform:none;color:var(--ink)}
.home .service-card h3{font-size:17px;font-weight:550;line-height:1.4;letter-spacing:-.02em;margin:5px 0 10px}
.home .service-copy .muted{font-size:15px;line-height:1.55;margin:0}
.home .service-options{padding-left:30px;border-color:#bc8c7280;align-self:center}
.home .service-card li{font-size:14px;padding:4px 0;font-weight:400}
.home .service-options ul{margin-bottom:22px}
.home .service-card .service-options>a{font-size:14px;font-weight:400;margin:0;color:#97502d}
.home .service-photo{width:100%;height:215px;object-fit:cover;align-self:center}
.home .service-card:first-child .service-photo{object-position:75% center}
.home .home-directory{background:#17384b;padding-bottom:130px}
.home .home-directory:after{height:420px;width:700px;opacity:.18}
.home .home-directory .section-head{margin-bottom:45px;max-width:1150px}
.home .home-directory .section-head h2{font-size:clamp(64px,7.5vw,118px);margin:20px 0;line-height:1}
.home .home-directory .muted{font-size:20px;color:#cbd7da;line-height:1.7;max-width:1120px}
.home .home-directory .muted strong{font-weight:400}
.home .directory-column a{font-size:15px;padding:10px 20px 10px 0;line-height:1.4;font-weight:400}
.home .directory-column h3{font-size:13px;letter-spacing:.17em;font-weight:500;color:#cc956d;min-height:30px}
.home .home-areas{padding:0 0 75px;background:#f7f8f2}
.home .area-photo{height:510px}
.home .area-photo-copy{width:600px;max-width:46%;padding:38px 42px;left:3.5%;background:#f5f6eff5}
.home .area-photo-copy h2{font-size:48px;text-transform:uppercase;letter-spacing:-.02em;margin:22px 0}
.home .area-photo-copy .area-intro{font-size:18px;margin-bottom:0}
.home .area-photo-copy p{font-size:17px;line-height:1.6}
.home .area-photo img{filter:saturate(.7) brightness(1.13)}
.home .area-links{padding-top:45px}
.home .area-group h3{font-size:17px;letter-spacing:.14em}
.home .area-group a,.home .area-group a:first-of-type{font-size:17px;font-weight:400;padding:11px 0}
.home .area-group a:after{content:"→";float:right;color:var(--gold)}
.home .home-about{background:#edf2eb;padding:110px 0}
.home .home-about .content-grid{grid-template-columns:1.08fr 1fr;gap:60px}
.home .home-about img{height:680px;box-shadow:-42px -42px 0 #234959;object-position:45% center}
.home .home-about h2{font-size:clamp(40px,4.2vw,66px);line-height:1.05;letter-spacing:-.045em;margin:30px 0}
.home .about-deck{font-size:clamp(26px,2.55vw,39px);line-height:1.3;letter-spacing:-.02em;margin:0 0 30px}
.home .home-about .lead{font-size:21px;line-height:1.6;color:var(--ink)!important}
.home .home-about .text-link{border:1px solid var(--navy);padding:16px 23px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:0;border-radius:2px}
.home .faq{background:#f7f6f0}
.home .faq-layout{grid-template-columns:.75fr 1.5fr;gap:60px}
.home .faq .section-head{border-top:1px solid var(--gold);padding-top:35px;padding-right:35px}
.home .faq .section-head h2{font-size:clamp(44px,4.5vw,69px);line-height:1.06;letter-spacing:-.045em;margin-top:25px}
.home .faq details{padding:25px 0;border-top-color:#b77d5b}
.home .faq summary{font-size:23px;font-weight:650;letter-spacing:-.025em}
.home .faq p{font-size:20px;line-height:1.65;color:#25493f}
.home .home-closing{padding:100px 0 140px;background:#ad744f;isolation:isolate}
.home .home-closing:after{content:"";inset:0;z-index:-1;background:linear-gradient(#ad744fdd,#ad744f44),none center 60%/cover;mix-blend-mode:multiply;opacity:.65}
.home .callout h2{font-size:clamp(46px,5.6vw,84px);max-width:1080px;line-height:1.04;color:#112e40;margin:30px 0}
.home .callout p{font-size:23px;color:#fff;line-height:1.7;max-width:760px}
.home .callout .closing-deck{margin-bottom:0}
.home .callout .closing-deck+p{margin-top:0}
.home .callout .btn{background:#112e40;color:#fff;min-height:60px}
.footer{background:#112e40;color:#e0e7e6;padding-top:70px;font-size:15px}
.footer .wrap{width:calc(100% - 100px);max-width:1424px}
.footer-top{grid-template-columns:.9fr 2.5fr;gap:50px}
.footer-brand{font-size:23px;letter-spacing:.16em;line-height:1.7;text-align:center;color:#fff}
.footer-brand .pine-mark{height:75px;width:50px;color:#bd7e51;margin:0 auto 20px}
.footer-brand span{font-size:16px;letter-spacing:.5em;color:#cb9166}
.footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.18em;font-weight:500}
.footer a{font-size:14px;font-weight:400;padding:6px 0}
.footer-disclosure{font-size:14px;line-height:1.7}
.persistent-call{background:#112e40;color:#fff;border:0;font-weight:500;font-size:14px;padding:15px 19px;box-shadow:0 4px 15px #0002}
@media(max-width:1200px){
 .home .hero-copy{padding-left:40px;padding-right:35px}
 .home .hero .actions{gap:12px;flex-wrap:wrap}
 .home .hero .lead{font-size:18px}
 .home .hero-visual{padding-left:35px}
 .home .hero-visual .consult{max-width:calc(100% - 30px);padding:26px}
 .home .service-card{grid-template-columns:95px 1.1fr 1fr 150px;gap:22px}
 .home .service-number{font-size:90px}
 .home .service-photo{height:190px}
 .home .service-copy,.home .service-options{padding-left:20px}
 .home .home-about img{height:570px}
 .home .home-about .lead{font-size:18px}
 .home .home-about .actions{gap:12px}
 .home .faq summary{font-size:20px}
 .home .faq p{font-size:18px}
}
@media(max-width:900px){
 .brand-main{font-size:16px}.brand-city{font-size:11px}.brand{gap:12px}
 .home .wrap{width:calc(100% - 48px)}
 .home .hero-grid{width:100%;grid-template-columns:1fr}
 .home .hero-copy{padding:55px 32px}
 .home h1{font-size:clamp(46px,7.5vw,68px);max-width:670px}
 .home .hero-visual{min-height:650px;padding:40px;justify-content:center}
 .home .hero-visual .consult{max-width:440px;width:100%}
 .home .hero-workplace{object-position:center 65%}
 .home .strip-grid{font-size:10px;gap:15px;letter-spacing:.07em}
 .home .strip-grid a:before{display:none}
 .home .service-card{grid-template-columns:70px 1fr 160px;gap:22px}
 .home .service-number{font-size:75px;grid-row:1/3}
 .home .service-copy{grid-column:2;border:0;padding:0}
 .home .service-options{grid-column:2;grid-row:2;padding:0;border:0}
 .home .service-photo{grid-column:3;grid-row:1/3;height:230px}
 .home .home-services .section-head{display:block}
 .home .service-intro{margin-top:25px}
 .home .home-about .content-grid{grid-template-columns:1fr}
 .home .home-about img{height:460px;box-shadow:-15px -15px 0 #234959}
 .home .home-about h2{max-width:650px}
 .home .area-photo-copy{max-width:none;width:calc(100% - 48px);left:24px;bottom:25px;top:auto;padding:30px;transform:none}
 .home .area-photo{height:600px}
 .home .area-photo-copy h2{font-size:40px}
 .home .faq-layout{grid-template-columns:1fr}
 .home .faq .section-head{position:static}
 .footer-top{grid-template-columns:1fr}
 .footer-brand{text-align:left}.footer-brand .pine-mark{margin:0 0 15px}
 .persistent-call{border-radius:0}
}
@media(max-width:600px){
 .nav{width:calc(100% - 28px);gap:10px;min-height:80px}
 .brand .pine-mark{height:40px;width:25px}
 .brand-main{font-size:13px;letter-spacing:.1em}
 .brand-city{font-size:10px;letter-spacing:.32em;margin-top:6px}
 .header-contact{padding:11px 13px;font-size:12px;min-height:40px}
 .header-contact span{display:none}
 .home section{padding:64px 0}
 .home .hero{padding:0}
 .home .hero-copy{padding:40px 24px}
 .home .eyebrow{font-size:9px;letter-spacing:.16em;gap:12px}
 .home h1{font-size:43px;margin:25px 0;line-height:1.05}
 .home .hero .lead{font-size:17px}
 .home .hero .actions{flex-wrap:wrap;gap:14px}
 .home .hero .actions .btn{width:100%}
 .home .hero .proof{font-size:13px}
 .home .hero-visual{padding:32px 24px;min-height:610px}
 .home .hero-visual .consult{max-width:none;padding:25px}
 .home .strip-grid{font-size:12px}
 .home .service-card{grid-template-columns:40px 1fr;gap:18px;padding:30px 0}
 .home .service-number{font-size:48px;align-self:start}
 .home .service-photo{grid-column:2;grid-row:3;height:190px}
 .home .service-card .service-copy>.kicker{font-size:22px}
 .home .service-card h3{font-size:17px}
 .home .home-directory .section-head h2{font-size:59px}
 .home .home-directory .muted{font-size:17px}
 .home .home-areas{padding:0 0 60px}
 .home .area-photo{height:640px}
 .home .area-photo-copy{padding:25px}
 .home .area-photo-copy h2{font-size:34px}
 .home .area-photo-copy p{font-size:15px}
 .home .area-group h3{font-size:13px;letter-spacing:.1em}
 .home .area-group a,.home .area-group a:first-of-type{font-size:14px}
 .home .home-about img{height:350px}
 .home .home-about h2{font-size:42px}
 .home .about-deck{font-size:28px}
 .home .home-about .lead{font-size:18px}
 .home .faq .section-head h2{font-size:48px}
 .home .faq summary{font-size:18px}
 .home .faq p{font-size:17px}
 .home .home-closing{padding:65px 0 90px}
 .home .callout h2{font-size:46px}
 .home .callout p{font-size:19px}
 .footer .wrap{width:calc(100% - 40px)}
 .footer-columns{grid-template-columns:1fr}
 .footer-brand{font-size:21px}
}
/* Original brand lockup, enlarged without changing the page design. */
.brand{gap:15px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.brand .original-mark{width:62px;height:62px;flex:none}
.brand-main{font-size:22px;font-weight:900;letter-spacing:.02em}
.brand-city{font-size:14px;font-weight:900;letter-spacing:.14em;color:#b96f43;margin-top:7px}
.footer-brand{display:flex;align-items:center;gap:14px;text-align:left;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:22px;letter-spacing:.02em;font-weight:900;line-height:1.15}
.footer-brand .original-mark{width:62px;height:62px;flex:none}
.footer-brand span{font-size:14px;letter-spacing:.14em;color:#b96f43;margin-top:7px}
@media(max-width:900px){.brand .original-mark{width:52px;height:52px}.brand-main{font-size:19px}.brand-city{font-size:12px}}
@media(max-width:600px){.brand{gap:9px}.brand .original-mark{width:44px;height:44px}.brand-main{font-size:15px;letter-spacing:.01em}.brand-city{font-size:11px;margin-top:5px}.footer-brand{font-size:20px}}
@media(max-width:360px){.brand .original-mark{width:38px;height:38px}.brand-main{font-size:13px}.brand{gap:7px}}
/* Center the content on the reference's 1210px reading width. */
.nav,.home .wrap,.footer .wrap{width:min(1210px,calc(100% - 64px));max-width:1210px}
.home .hero{background:#17384b;overflow:hidden}
.home .hero-grid{width:min(1210px,calc(100% - 64px));max-width:1210px;grid-template-columns:1.15fr 1fr}
.home .hero-copy{padding:60px 40px 58px 0}
.home h1{font-size:clamp(46px,4.5vw,66px)}
.home .hero-visual{padding:55px 0 55px 48px;overflow:visible}
.home .hero-workplace{width:calc(100% + max(32px,(100vw - 1210px)/2));max-width:none;object-position:center}
.home .hero-visual .consult{max-width:100%;width:100%}
.home .service-card{grid-template-columns:105px 1.15fr 1fr 175px;gap:26px}
.home .service-number{font-size:100px}
.home .service-photo{height:200px}
.home .area-photo-copy{left:max(32px,calc((100% - 1210px)/2));max-width:560px;width:44%;padding:35px}
.home .home-about .content-grid{gap:60px}
.home .home-about img{height:590px}
@media(max-width:1100px){
 .home .hero-copy{padding-right:25px}
 .home .hero-visual{padding-left:25px}
 .home .service-card{grid-template-columns:70px 1fr 1fr 140px;gap:20px}
 .home .service-number{font-size:78px}
 .home .service-photo{height:190px}
}
@media(max-width:900px){
 .home .hero-grid{grid-template-columns:1fr}
 .home .hero-copy{padding:50px 0}
 .home .hero-visual{padding:40px 0;justify-content:center}
 .home .hero-workplace{left:-32px;width:calc(100% + 64px)}
 .home .hero-visual .consult{max-width:440px}
 .home .service-card{grid-template-columns:65px 1fr 150px;gap:20px}
 .home .area-photo-copy{left:24px;max-width:none;width:calc(100% - 48px)}
 .home .home-about img{height:440px}
}
@media(max-width:600px){
 .nav{width:calc(100% - 28px)}
 .home .wrap,.footer .wrap,.home .hero-grid{width:calc(100% - 48px)}
 .home h1{font-size:43px}
 .home .hero-copy{padding:40px 0}
 .home .hero-workplace{left:-24px;width:calc(100% + 48px)}
 .home .hero-visual .consult{max-width:100%}
 .home .service-card{grid-template-columns:40px 1fr;gap:18px}
 .home .service-number{font-size:48px}
 .home .service-photo{height:190px}
 .home .area-photo-copy{padding:25px}
 .home .home-about img{height:350px}
}

/* New York: shared brand structure, warmer local palette. */
.home .hero-copy:after{background:repeating-radial-gradient(ellipse at 100% 100%,transparent 0 75px,#ca9c7626 76px 77px,transparent 78px 110px);filter:none;mix-blend-mode:normal;opacity:.65;inset:0;mask-image:linear-gradient(transparent,#000)}
.home .home-directory:after{display:none}
.home .home-closing{background:#d3a37c}
.home .home-closing:after{background:repeating-radial-gradient(ellipse at 110% 110%,transparent 0 70px,#85533233 71px 73px,transparent 74px 110px);mix-blend-mode:normal;opacity:1}
.home .hero .lead{font-size:19px}
.home .service-photo{object-fit:contain;background:#ece2d7;border-radius:4px;padding:12px}
.home .home-situations{background:#faf7f2}
.home .home-situations .section-head{max-width:760px}
.home .home-situations h2,.home .home-process h2{font-size:clamp(36px,4vw,54px);line-height:1.08;letter-spacing:-.035em}
.situation-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cdbeb3;border-left:1px solid #cdbeb3;margin-top:42px}
.situation{display:flex;flex-direction:column;padding:32px;border-right:1px solid #cdbeb3;border-bottom:1px solid #cdbeb3;color:var(--ink);text-decoration:none;transition:background .2s}
.situation:hover,.situation:focus-visible{background:#efe5da}
.situation-index{font-size:11px;letter-spacing:.16em;color:#925735;font-weight:700}
.home .situation h3{font-size:26px;line-height:1.2;margin:18px 0 14px;max-width:400px}
.situation p{color:var(--muted);line-height:1.7;margin:0 0 24px;max-width:440px}
.situation-link{margin-top:auto;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.home .home-process{background:#e5e9e7}
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px 70px}
.process-intro p{color:#526471;font-size:18px;line-height:1.7;margin:26px 0}
.process-steps article{display:flex;gap:24px;padding:26px 0;border-top:1px solid #bba799}
.process-steps article>span{font-size:30px;color:#9f6844;font-weight:300}
.home .process-steps h3{font-size:24px;margin:0 0 10px}
.process-steps p{color:#526471;line-height:1.7;margin:0}
.scope-note{grid-column:1/-1;border-top:1px solid #bba799;padding-top:30px}
.home .scope-note h3{font-size:18px;margin:0 0 18px}
.scope-note ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;margin:0}
.scope-note li:before{content:'✓';color:#91542e;margin-right:9px}
.home .hero-workplace{object-position:60% center}
.home .home-about img{object-position:center}
.home .consult{color:#112e40}
.home .consult .btn,.home .hero .btn:first-child{background:#97532f;color:#fff}
.home .hero .btn.outline{color:#fff}
.home .strip{background:#ede3d8;color:#112e40}
.persistent-call{background:#112e40}
@media(max-width:900px){.process-layout{grid-template-columns:1fr;gap:30px}.scope-note{grid-column:auto}.situation{padding:26px}.home .hero-visual{min-height:640px}}
@media(max-width:600px){.situation-grid{grid-template-columns:1fr}.situation{padding:25px}.home .situation h3{font-size:24px}.scope-note ul{display:grid;gap:12px}.home .home-process h2,.home .home-situations h2{font-size:38px}.home .hero-visual{min-height:610px}.home .service-photo{height:150px}.brand-city{letter-spacing:.09em}}

/* New York shares the approved city-site layout. */
.home .hero-copy:after{background:repeating-linear-gradient(90deg,transparent 0 65px,#c8987020 66px 67px,transparent 68px 108px);opacity:.5}
.home .home-closing:after{background:repeating-linear-gradient(90deg,transparent 0 65px,#85533222 66px 67px,transparent 68px 108px)}
.home .hero-workplace{object-position:50% center}
.home .area-groups{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.home .area-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home .area-groups{grid-template-columns:1fr}}
