.current-site{--font-sans:"gotham", "gotham-fallback", system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;font-family:var(--font-sans)}@keyframes mobile-nav-overlay-in{0%{opacity:0}}@keyframes mobile-nav-overlay-out{to{opacity:0}}@keyframes mobile-nav-drawer-in{0%{transform:translate(100%)}}@keyframes mobile-nav-drawer-out{to{transform:translate(100%)}}.button{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;min-height:46px;transition:background var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard);border:1.5px solid #0000;justify-content:center;align-items:center;gap:9px;padding:12px 23px;font-size:15px;font-weight:500;display:inline-flex}.button span{transition:transform var(--motion-standard) var(--ease-standard)}.button:hover span{transform:translate(3px)}.button-primary{border-color:var(--blue);background:var(--blue);color:var(--white)}.button-primary:hover{border-color:var(--blue-dark);background:var(--blue-dark)}.button-light{border-color:var(--white-a55);color:var(--white)}.button-light:hover{border-color:var(--white);background:var(--white-a12)}.eyebrow{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;font-size:12px;font-weight:700;display:inline-flex}.chevrons{flex:none;align-items:center;gap:2px;display:inline-flex}.chevrons span{box-sizing:border-box;border-top:3px solid;border-right:3px solid;width:12px;height:12px;transform:rotate(45deg)}.eyebrow.on-dark{color:var(--blue-light)}.site-header{z-index:var(--z-header);transition:background var(--motion-slow) var(--ease-standard), border-color var(--motion-slow) var(--ease-standard), box-shadow var(--motion-slow) var(--ease-standard);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header.before-scripts{position:absolute}.page-hero,.aside-card.dark,.site-footer{--focus:var(--focus-on-dark)}.skip-link:focus-visible{outline:2px solid var(--white);outline-offset:2px;box-shadow:var(--focus-halo)}.site-header:not(.scrolled) :focus-visible{outline:2px solid var(--white);outline-offset:2px;box-shadow:var(--focus-halo)}.nav-shell{height:76px;transition:height var(--motion-slow) var(--ease-emphasized);justify-content:space-between;align-items:center;display:flex}.brand{border-radius:var(--radius-xs);align-items:center;display:inline-grid}.brand-logo{transform-origin:0;width:auto;height:45px;transition:height var(--motion-slow) var(--ease-emphasized), opacity var(--motion-standard) var(--ease-standard), transform var(--motion-slow) var(--ease-emphasized);grid-area:1/1}.logo-name{opacity:0;transform:scale(.94)}.nav-right,.primary-nav{align-items:center;display:flex}.nav-right{gap:30px}.primary-nav{gap:29px}.primary-nav a{color:var(--white);padding-block:6px;font-size:14px;font-weight:500;position:relative}.primary-nav a:after{content:"";transform-origin:100%;height:2px;transition:transform var(--motion-standard) var(--ease-standard);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover,.primary-nav a[aria-current]{color:var(--white)}.primary-nav a:hover:after,.primary-nav a[aria-current]:after{transform-origin:0;transform:scaleX(1)}@media (forced-colors:active){.primary-nav a:after{background:linktext}}.header-cta{border-color:var(--white);color:var(--white);transition:background var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), color var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard), min-height var(--motion-slow) var(--ease-emphasized), padding var(--motion-slow) var(--ease-emphasized);background:0 0}.header-cta:hover{border-color:var(--white);background:var(--white);color:var(--blue)}.site-header.scrolled{border-bottom-color:var(--line);background:var(--white-a97);box-shadow:var(--shadow-header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header.scrolled .nav-shell{height:64px}.site-header.scrolled .brand-logo{height:39px}.site-header.scrolled .logo-white{opacity:0;transform:scale(.94)}.site-header.scrolled .logo-name{opacity:1;transform:scale(1)}.site-header.scrolled .primary-nav a{color:var(--gray)}.site-header.scrolled .primary-nav a:hover,.site-header.scrolled .primary-nav a[aria-current]{color:var(--blue)}.site-header.scrolled .header-cta{border-color:var(--blue);min-height:40px;color:var(--blue);background:0 0;padding-block:8px}.site-header.scrolled .header-cta:hover{border-color:var(--blue);background:var(--blue);color:var(--white)}.menu-toggle{border:1.5px solid var(--white-a50);border-radius:var(--radius-sm);width:46px;height:44px;color:var(--white);cursor:pointer;background:0 0;place-items:center;padding:0;display:none}.menu-toggle svg path,.menu-close svg path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px}.site-header.scrolled .menu-toggle{border-color:var(--line);color:var(--ink)}.mobile-nav-overlay{z-index:var(--z-overlay);background:var(--overlay-scrim);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-nav-overlay[data-entering]{animation:mobile-nav-overlay-in var(--motion-standard) var(--ease-standard)}.mobile-nav-overlay[data-exiting]{animation:mobile-nav-overlay-out var(--motion-standard) var(--ease-standard) forwards}.mobile-nav-modal{background:var(--white);width:min(90vw,410px);height:100%;box-shadow:var(--shadow-drawer)}.mobile-nav-modal[data-entering]{animation:mobile-nav-drawer-in var(--motion-slow) var(--ease-emphasized)}.mobile-nav-modal[data-exiting]{animation:mobile-nav-drawer-out var(--motion-standard) var(--ease-standard) forwards}.mobile-nav-dialog{overscroll-behavior:contain;outline:none;flex-direction:column;height:100%;padding:0 clamp(24px,7vw,38px) 36px;scroll-padding-block:103px 8px;display:flex;overflow-y:auto}.mobile-nav-head{z-index:1;border-bottom:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;padding-block:25px;display:flex;position:sticky;top:0}.mobile-nav-head img{width:220px}.menu-close{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);width:44px;height:44px;color:var(--ink);cursor:pointer;place-items:center;padding:0;display:grid}.mobile-nav-links{flex-direction:column;padding-block:28px;display:flex}.mobile-nav-links a{border-bottom:1px solid var(--line);color:var(--ink);padding:15px 2px;font-size:22px;font-weight:500}.mobile-nav-links a[aria-current]{color:var(--blue);text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:2px}.mobile-nav-cta{width:100%;margin-top:auto}.page-hero{min-height:clamp(640px,78vh,760px);background:var(--navy-deep);min-height:clamp(640px,78svh,760px);color:var(--white);align-items:flex-end;display:flex;position:relative;overflow:hidden}.page-hero-inner{z-index:2;width:100%;padding-top:140px;padding-bottom:clamp(64px,7vw,88px);position:relative}.page-hero-heading{max-width:18ch;margin-top:18px;font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1.07}.page-hero-heading>span{display:block}.page-hero-heading>span:not(.hero-message){font-weight:600}.page-hero-summary{max-width:54ch;color:var(--white-a84);margin-top:21px;font-size:clamp(16px,1.45vw,19px)}.page-hero .page-hero-heading{text-shadow:0 0 14px #081423e6,0 0 4px #081423d9}.page-hero .page-hero-summary,.page-hero .eyebrow.on-dark{text-shadow:0 0 14px #081423e6,0 0 4px #081423d9,0 0 2px #081423e6}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo img{object-fit:cover;object-position:50% 60%;width:100%;height:100%}.hero-overlay{z-index:1;background:var(--hero-gradient-desktop)}.hero-message{display:block}.hero-message>span,.contact-hero h1 span{color:var(--blue-pale);font-weight:600}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:33px;display:flex}.section{--section-padding:clamp(72px, 8vw, 112px);padding-block:var(--section-padding)}.section-heading{max-width:790px;margin-bottom:clamp(40px,5vw,61px)}.section-heading h2{max-width:19ch;margin-top:14px;font-size:clamp(30px,3.6vw,48px)}.section-heading>p:last-child{max-width:57ch;color:var(--gray);margin-top:16px;font-size:clamp(16px,1.35vw,18px)}.principles-section{border-block:1px solid var(--line);background:var(--soft)}.principles-grid{grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.5vw,52px);display:grid}.principle{border-top:3px solid var(--blue);padding-top:23px}.principle-number{color:var(--blue);font-size:13px;font-weight:700}.principle h3{margin-top:11px;font-size:clamp(21px,2vw,26px)}.principle>p:last-child{color:var(--gray);margin-top:12px;font-size:15.5px}.expertise-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:clamp(42px,5vw,82px);display:grid}.expertise-intro{position:sticky;top:102px}.expertise-photo{border-radius:var(--radius-lg);object-fit:cover;width:100%;height:clamp(320px,36vw,465px)}.expertise-intro>div{margin-top:29px}.expertise-intro h2{margin-top:13px;font-size:clamp(30px,3.25vw,44px)}.expertise-intro>div>p:last-child{max-width:43ch;color:var(--gray);margin-top:14px}.expertise-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.expertise-row{border-bottom:1px solid var(--line);transition:background var(--motion-standard) var(--ease-standard), padding var(--motion-standard) var(--ease-standard);grid-template-columns:45px minmax(0,1fr) 24px;align-items:center;gap:15px;padding:17px 14px;display:grid}.service-number{color:var(--gray);font-size:13px;font-weight:500}.service-name{transition:color var(--motion-standard) var(--ease-standard);font-size:clamp(16px,1.55vw,19px);font-weight:650;line-height:1.35}.service-arrow{color:var(--blue);opacity:0;transition:opacity var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard);transform:translate(-6px)}.expertise-row:hover{background:var(--soft)}.expertise-row:hover .service-name{color:var(--blue)}.expertise-row:hover .service-arrow{opacity:1;transform:translate(0)}.work-section{border-top:1px solid var(--line);background:var(--soft);position:relative;overflow:hidden}.work-section-mark{pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(260px,30vw,440px);height:auto;position:absolute;bottom:0;left:0}.work-section>.wrap{z-index:1;position:relative}.work-heading h2{max-width:none}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(21px,2.5vw,31px);display:grid}.work-card{border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--white);transition:border-color var(--motion-card) var(--ease-standard), box-shadow var(--motion-card) var(--ease-standard), transform var(--motion-card) var(--ease-standard);position:relative;overflow:hidden}.work-card:hover{border-color:var(--line-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.work-card-media{aspect-ratio:16/10;background:var(--soft-dark);position:relative;overflow:hidden}.work-card-media img{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-image) var(--ease-standard)}.work-card:hover .work-card-media img{transform:scale(1.025)}.work-card-label{z-index:1;border-radius:var(--radius-pill);background:var(--white);box-shadow:var(--shadow-label);color:var(--blue);letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;font-size:11px;font-weight:750;position:absolute;top:16px;left:16px}.work-card-body{padding:clamp(25px,2.5vw,35px)}.work-card-body h3{font-size:clamp(22px,2.2vw,29px)}.work-card-body p{max-width:44ch;color:var(--gray);margin-top:11px;font-size:15.5px}.work-card-body a{color:var(--blue);align-items:center;gap:8px;margin-top:21px;font-size:15px;font-weight:700;display:inline-flex}.work-card-body a:after{z-index:2;content:"";position:absolute;inset:0}.work-card-body a span{transition:transform var(--motion-standard) var(--ease-standard)}.work-card:hover .work-card-body a span{transform:translate(4px)}.contact-hero .hero-photo img,.expertise-detail-hero .hero-photo img{object-position:50% 52%}.home-hero .hero-photo img{filter:brightness(.95)}.home-hero .hero-overlay{background:linear-gradient(#08142375 0,#0000 180px),linear-gradient(90deg,#0c2138d1 0%,#0c2138ab 42%,#0c213857 74%,#0c21381a 100%)}.expertise-detail-hero .hero-overlay{background:linear-gradient(#081423a8 0,#0000 180px),linear-gradient(90deg,#0c2138d1 0%,#0c2138ab 42%,#0c213857 74%,#0c21381a 100%)}.expertise-detail-discipline{color:var(--blue-light);letter-spacing:-.01em;text-shadow:0 0 14px #081423e6,0 0 4px #081423d9;align-items:center;gap:clamp(11px,1.2vw,15px);font-size:clamp(22px,2.2vw,31px);font-weight:700;line-height:1.1;display:flex}.expertise-detail-discipline .chevrons{gap:3px}.expertise-detail-discipline .chevrons span{border-top-width:4px;border-right-width:4px;width:clamp(14px,1.4vw,18px);height:clamp(14px,1.4vw,18px)}.expertise-detail-discipline+.page-hero-heading{margin-top:12px}.expertise-detail-title>.page-hero-heading{letter-spacing:var(--tracking-heading);display:block}.expertise-overview{padding-block:clamp(72px,8vw,112px)}.expertise-overview-soft{background:var(--soft)}.expertise-overview-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(48px,7vw,110px);display:grid}.expertise-overview-heading{position:sticky;top:104px}.expertise-overview-heading h2,.expertise-capabilities h2{max-width:16ch;margin-top:14px;font-size:clamp(31px,3.5vw,48px)}.expertise-overview-copy{color:var(--gray);gap:18px;font-size:clamp(16px,1.35vw,18px);display:grid}.expertise-overview-copy a{color:var(--blue);text-underline-offset:4px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.expertise-principles{border-top:1px solid var(--line);margin:clamp(42px,5vw,64px) 0 0;padding:0;list-style:none}.expertise-principle{border-bottom:1px solid var(--line);grid-template-columns:16px minmax(0,1fr);gap:16px;padding-block:24px;display:grid}.expertise-principle-bullet{height:calc(var(--line-height-body) * 1em);align-items:center;font-size:clamp(17px,1.5vw,19px);display:flex}.expertise-principle:has(h3) .expertise-principle-bullet{height:calc(var(--line-height-heading) * 1em);font-size:clamp(20px,2vw,25px)}.expertise-principle-bullet:before{background:var(--blue);content:"";width:16px;height:3px}.expertise-principle h3{font-size:clamp(20px,2vw,25px)}.expertise-principle p{max-width:58ch;color:var(--gray);margin-top:8px;font-size:15.5px}.expertise-principle .expertise-principle-statement{color:var(--ink);margin-top:0;font-size:clamp(17px,1.5vw,19px);font-weight:600}.expertise-capabilities{border-block:1px solid var(--line);background:var(--soft);padding-block:clamp(70px,7.5vw,104px)}.expertise-capabilities-grid{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(48px,7vw,108px);display:grid}.expertise-capabilities-intro{max-width:46ch;color:var(--gray);margin-top:17px;font-size:17px}.capabilities-list{border-top:1px solid var(--line-hover);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.capabilities-list li{border-bottom:1px solid var(--line-hover);color:var(--ink);align-items:baseline;gap:11px;padding:17px 12px 17px 0;font-size:15px;font-weight:600;display:flex}.capabilities-list li:nth-child(2n){border-left:1px solid var(--line-hover);padding-left:18px}.capabilities-list li span{color:var(--blue);font-weight:700}.expertise-cta{padding-block:clamp(64px,7vw,96px);position:relative;overflow:hidden}.expertise-cta-mark{pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(180px,20vw,300px);height:auto;position:absolute;bottom:0;left:0}.expertise-overview+.expertise-cta{border-top:1px solid var(--line)}.expertise-capabilities+.expertise-cta .expertise-cta-mark,.expertise-overview+.expertise-cta .expertise-cta-mark{filter:brightness(0);opacity:.07}.expertise-cta>.wrap{z-index:1;position:relative}.expertise-cta-card{border-radius:var(--radius-xl);background:var(--navy);color:var(--white);grid-template-columns:1fr;padding:0;display:grid;overflow:hidden}.expertise-cta-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(38px,5vw,64px);display:grid}.expertise-cta-card h2{max-width:15ch;margin-top:13px;font-size:clamp(30px,4vw,50px)}.expertise-cta-copy>p:last-child{max-width:56ch;color:var(--white-a75);margin-top:16px;font-size:16px}.expertise-cta-actions{text-align:center;flex-direction:column;align-items:stretch;gap:15px;min-width:230px;display:flex}.expertise-cta-button{border-color:var(--white);background:var(--white);color:var(--navy)}.expertise-cta-button:hover{color:var(--white);background:0 0}.expertise-cta-secondary{color:var(--white-a75);font-size:13px}.expertise-cta-secondary:hover{color:var(--white);text-underline-offset:4px;text-decoration:underline}.expertise-cta-editorial{border:1px solid var(--line);border-left:5px solid var(--blue);background:var(--white);color:var(--ink)}.expertise-cta-editorial .expertise-cta-copy>p:last-child{color:var(--gray)}.expertise-cta-editorial .expertise-cta-button{border-color:var(--blue);background:var(--blue);color:var(--white)}.expertise-cta-editorial .expertise-cta-button:hover{border-color:var(--blue-dark);background:var(--blue-dark);color:var(--white)}.expertise-cta-editorial .expertise-cta-secondary{color:var(--gray)}.expertise-cta-editorial .expertise-cta-secondary:hover{color:var(--ink)}.contact-section{--section-padding:clamp(64px, 7vw, 100px);padding-block:var(--section-padding)}.contact-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);align-items:start;gap:clamp(42px,5.5vw,86px);display:grid}.contact-heading .eyebrow{margin-bottom:13px}.contact-heading h2{font-size:clamp(29px,3vw,40px)}.contact-heading>p:last-child{max-width:50ch;color:var(--gray);margin-top:13px;font-size:16px}.contact-aside{flex-direction:column;gap:24px;display:flex;position:sticky;top:102px}.aside-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--soft);padding:26px}.aside-card.dark{border-color:var(--navy);background:var(--texture-hatch), var(--navy);color:var(--white)}.aside-label{color:var(--gray);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:750}.aside-card.dark .aside-label{color:var(--white-a84)}.aside-card h3{margin-top:11px;font-size:20px}.aside-card>p:not(.aside-label){color:var(--gray);margin-top:8px;font-size:14.5px}.aside-card.dark>p:not(.aside-label){color:var(--white-a86)}.aside-card a{color:var(--blue);gap:8px;margin-top:17px;font-size:14.5px;font-weight:700;display:inline-flex}.aside-card.dark a{color:var(--white)}.inquiry-form{margin-top:33px}.form-required-note{color:var(--gray);margin-bottom:16px;font-size:12.5px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;display:grid}.form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.form-field-full{grid-column:1/-1}.form-field .react-aria-Label{color:var(--ink);font-size:13px;font-weight:500}.form-field .react-aria-Label span{color:var(--blue)}.form-field input,.form-field textarea,.select-trigger{border:1.5px solid var(--line-control);border-radius:var(--radius-md);background:var(--white);width:100%;min-height:48px;color:var(--ink);transition:border-color var(--motion-standard) var(--ease-standard), box-shadow var(--motion-standard) var(--ease-standard);padding:12px 14px;font-size:15px}.form-field textarea{resize:vertical;min-height:138px;line-height:1.55}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--gray)}.form-field input[data-focused],.form-field textarea[data-focused],.form-field[data-focused] .select-trigger{border-color:var(--blue);box-shadow:var(--shadow-focus)}.form-field[data-invalid] input,.form-field[data-invalid] textarea,.form-field[data-invalid] .select-trigger{border-color:var(--danger-border)}.field-error{color:var(--danger-text);margin:-2px 0 -20px;font-size:12.5px;line-height:1.2}.select-trigger{cursor:pointer;text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6877' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;justify-content:space-between;align-items:center;padding-right:42px;display:flex}.select-trigger [data-placeholder]{color:var(--gray)}.select-trigger .react-aria-SelectValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-popover{width:var(--trigger-width);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-popover);flex-direction:column;display:flex;overflow:hidden}.select-list{outline:none;min-height:0;max-height:310px;padding:6px;overflow:auto}.select-list .react-aria-Header{color:var(--gray);letter-spacing:.11em;text-transform:uppercase;padding:10px 11px 4px;font-size:11px;font-weight:750}.select-list section:last-of-type:not(:last-child){border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:6px}.select-list [role=option]{border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;outline:none;padding:10px 11px;font-size:14px}.select-list [role=option][data-focused]{background:var(--soft);color:var(--blue)}.select-list [role=option][data-focus-visible]{outline:2px solid var(--focus);outline-offset:-2px}.select-list [role=option][data-selected][data-focus-visible]{outline-color:var(--white);outline-offset:-4px}.select-list [role=option][data-selected]{background:var(--blue);color:var(--white)}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-error{color:var(--danger-text);margin-top:22px;font-size:14px}.form-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:25px;display:flex}.form-actions>p{max-width:33ch;color:var(--gray);font-size:12.5px}.form-success{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius-xl);background:var(--soft);margin-top:33px;padding:30px}.form-success h3{font-size:21px}.form-success p{color:var(--gray);margin-top:8px;font-size:15px}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:17px;padding:0;font-weight:700}.locations-section{--section-padding:clamp(70px, 7.5vw, 106px);padding-block:var(--section-padding);border-top:1px solid var(--line);background:var(--soft)}.locations-heading{max-width:760px}.locations-grid{grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);align-items:start;gap:clamp(38px,4.8vw,74px);display:grid}.map-card{border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--white);box-shadow:var(--shadow-map);padding:25px 27px}.map-card svg{width:100%;height:auto}.map-canvas{position:relative}.map-viewport{isolation:isolate;border-radius:var(--radius-lg);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:clip}.map-viewport.is-zoomed{cursor:grab;touch-action:none}.map-viewport.is-dragging{cursor:grabbing}.map-viewport>svg{display:block}.map-static{z-index:-1;position:absolute;inset:0}.state{fill:var(--map-neutral);stroke:var(--white);stroke-linejoin:round;stroke-width:calc(1.3px / var(--map-zoom,1))}.state-worked{fill:var(--blue)}.state-office{fill:var(--navy)}.state-label{fill:var(--white);font-size:calc(12px / var(--label-scale,1));letter-spacing:.02em;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:700}.state-callout{pointer-events:none}.state-callout line{stroke:var(--navy);stroke-linecap:round;stroke-width:calc(1.6px / var(--map-zoom,1))}.state-callout .state-callout-halo{stroke:var(--white);stroke-width:calc(4.4px / var(--map-zoom,1))}.state-callout circle{fill:var(--white);stroke:var(--navy);stroke-width:calc(1.6px / var(--map-zoom,1))}.state-callout .state-label{fill:var(--navy)}.hides-labels .state-label,.hides-labels .state-callout{display:none}.pin-leader{pointer-events:none}.pin-leader line,.pin-leader circle{stroke:var(--navy);stroke-linecap:round;stroke-width:1.2px;vector-effect:non-scaling-stroke}.pin-leader .pin-leader-halo{stroke:var(--white);stroke-width:3.6px}.pin-leader circle{fill:var(--white)}.office-pin path{fill:var(--blue-light);stroke:var(--white);stroke-linejoin:round;stroke-width:1.2px}.office-pin circle{fill:var(--white)}.office-pin .pin-edge{fill:none;stroke:var(--navy);stroke-width:2.8px}.office-pin{-webkit-tap-highlight-color:transparent}button.office-pin{cursor:pointer;pointer-events:none;background:0 0;border:0;padding:0;display:block;position:absolute;transform:translate(-50%,-100%)}button.office-pin path,button.office-pin circle{pointer-events:visiblePainted}button.office-pin:focus-visible{border-radius:var(--radius-sm);padding:9px 3px 0}:is(button.office-pin:hover,button.office-pin:focus-visible,button.office-pin.is-active){z-index:1}.office-pin>svg{transform-origin:50% 100%;width:16px;height:22px;transition:transform var(--motion-standard) var(--ease-standard);display:block;overflow:visible}.office-pin.is-active>svg{transform:scale(1.4)}.office-pin:focus:not(:focus-visible){outline:none}.map-callout{z-index:2;border:1px solid var(--line-floating);border-radius:var(--radius-lg);background:var(--white);width:max-content;box-shadow:var(--shadow-popover);color:var(--gray);flex-direction:column;padding:9px 12px;font-size:13px;line-height:1.45;display:flex;position:absolute}.map-callout strong{color:var(--ink);font-size:14px}.map-callout span{white-space:nowrap}.map-zoom{z-index:1;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:0;right:0}.map-zoom-group{border-radius:var(--radius-lg);box-shadow:var(--shadow-label);flex-direction:column;display:flex}.map-zoom-button{border:1px solid var(--line-control);border-radius:var(--radius-lg);background:var(--white);width:30px;height:30px;box-shadow:var(--shadow-label);color:var(--navy);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard);place-items:center;padding:0;display:grid}.map-zoom-group .map-zoom-button{box-shadow:none}.map-zoom-group .map-zoom-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.map-zoom-group .map-zoom-button+.map-zoom-button{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.map-zoom-button[aria-disabled=true]{color:var(--line-hover);cursor:default}:is(.office-pin:focus-visible,.map-zoom-button:focus-visible){outline:2px solid var(--white);outline-offset:2px;box-shadow:var(--focus-halo)}.map-zoom-button:focus-visible{z-index:1;position:relative}.map-zoom-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:14px;height:14px}.map-legend{border-top:1px solid var(--line);color:var(--gray);flex-wrap:wrap;gap:13px 22px;margin-top:16px;padding-top:16px;font-size:13px;display:flex}.map-legend span{align-items:center;gap:8px;display:inline-flex}.legend-swatch{border-radius:var(--radius-xs);width:13px;height:13px}.legend-swatch.worked{background:var(--blue)}.map-legend .legend-pin{width:12px;height:16px;overflow:visible}.map-legend .legend-pin .pin-edge{stroke-width:3.2px}.map-legend .map-keys-hint{color:var(--navy);margin-left:auto;display:none}@media (hover:hover) and (pointer:fine){.map-card:has(.map-canvas:not(.is-hint-dismissed):focus-within .map-viewport.is-zoomed) .map-keys-hint{display:inline-flex}}.office-state+.office-state{margin-top:31px}.office-state-heading{border-bottom:2px solid var(--blue);align-items:baseline;gap:12px;padding-bottom:11px;display:flex}.office-state-heading h3{font-size:20px}.office-state-heading span{color:var(--gray);font-size:13px;font-weight:500}.office-state address{font-style:normal}.office{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:15px 4px;display:flex}.office strong{font-size:16px}.office span{color:var(--gray);font-size:14px;line-height:1.5}.site-footer{background:var(--navy-deep);color:var(--white-a84);padding-block:clamp(40px,4vw,56px);position:relative;overflow:hidden}.site-footer:after{background:var(--texture-hatch) top / 100% 50% no-repeat, repeating-linear-gradient(135deg, var(--white-a05) 0, var(--white-a05) 1.5px, transparent 1.5px, transparent 14px) bottom / 100% 50% no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.site-footer>.wrap{z-index:1;position:relative}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:38px;display:grid}.footer-logo{background:var(--navy-deep);width:auto;height:28px;margin-bottom:19px}.footer-brand>p{max-width:34ch;font-size:14px}.social-links{gap:11px;margin-top:18px;display:flex}.social-links a{border:1px solid var(--white-a20);border-radius:var(--radius-sm);background:var(--navy-deep);width:38px;height:38px;transition:background var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard);place-items:center;display:grid}.social-links a:hover{border-color:var(--white-a50);background:var(--blue-dark)}.social-links svg{width:18px;height:18px;fill:var(--white)}.footer-column h2{color:var(--white);letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px;font-size:11.5px}.footer-column a{width:fit-content;color:var(--white-a86);transition:color var(--motion-standard) var(--ease-standard);padding-block:4px;font-size:14px;display:block}.footer-column a:hover{color:var(--white)}.footer-bottom{border-top:1px solid var(--white-a12);color:var(--white-a84);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(30px,3.5vw,44px);padding-top:18px;font-size:12.5px;display:flex}.footer-bottom a{transition:color var(--motion-standard) var(--ease-standard)}.footer-bottom a:hover{color:var(--white)}@media (max-width:1050px){.primary-nav,.header-cta{display:none}.menu-toggle{display:grid}.contact-grid,.locations-grid{grid-template-columns:1fr}.contact-aside{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.locations-grid{gap:44px}.expertise-cta-card{grid-template-columns:1fr}.expertise-cta-actions{align-items:stretch;width:min(100%,300px);min-width:0}}@media (max-width:900px){.hero-overlay{background:var(--hero-gradient-mobile)}.principles-grid{grid-template-columns:1fr;gap:29px}.expertise-grid{grid-template-columns:1fr}.expertise-intro{grid-template-columns:minmax(0,1.05fr) minmax(250px,.95fr);align-items:end;gap:30px;display:grid;position:static}.expertise-intro>div{margin-top:0}.expertise-photo{height:360px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-overview-grid,.expertise-capabilities-grid{grid-template-columns:1fr;gap:42px}.expertise-overview-heading{position:static}.expertise-overview-heading h2,.expertise-capabilities h2{max-width:19ch}.home-hero .hero-overlay{background:linear-gradient(#08142375 0,#0000 160px),linear-gradient(90deg,#0c2138cc 0%,#0c2138a6 68%,#0c213866 100%)}.expertise-detail-hero .hero-overlay{background:linear-gradient(#08142375 0,#0000 160px),#0c213859}.expertise-detail-hero .page-hero-inner:before{content:"";z-index:-1;background:linear-gradient(#0000 0,#0c2138c8 120px);position:absolute;inset:0}}@media (max-width:700px){.mobile-nav-modal{width:100%}.expertise-cta-content{grid-template-columns:1fr}.page-hero{min-height:680px}.page-hero-inner{padding-top:120px;padding-bottom:58px}.page-hero-heading{font-size:clamp(34px,10.6vw,52px)}.work-grid,.contact-aside{grid-template-columns:1fr}.expertise-intro{display:block}.expertise-intro>div{margin-top:27px}.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.map-card{padding:18px}.capabilities-list{grid-template-columns:1fr}.capabilities-list li:nth-child(2n){border-left:0;padding-left:0}}@media (max-width:700px),(pointer:coarse){.form-field input,.form-field textarea,.select-trigger{font-size:16px}}@media (max-width:520px){.brand-logo{height:37px}.site-header.scrolled .brand-logo{height:33px}.hero-actions,.hero-actions .button{width:100%}.expertise-photo{height:300px}.expertise-row{grid-template-columns:35px minmax(0,1fr) 18px;gap:10px;padding-inline:7px}.service-arrow{opacity:1;transform:none}.form-actions .button{width:100%}.footer-grid{grid-template-columns:1fr}.footer-brand{margin-bottom:6px}.footer-bottom{flex-direction:column}.expertise-principle{gap:14px}.expertise-cta-card{padding:0}.expertise-cta-content{padding:30px 24px}.expertise-cta-actions{width:100%}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.principle,.work-card{animation:linear both section-reveal;animation-timeline:view();animation-range:entry 10% cover 30%}}}@keyframes section-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
