:root{--ink:#142b38;--muted:#52626b;--accent:#08786f;--line:#dce3e4;--paper:#fff;--width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.055em;font-weight:600}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}:focus-visible{outline:3px solid #168d83;outline-offset:6px}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:50;top:8px;left:8px;padding:10px 20px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.header{background:#fff;border-bottom:1px solid #edf0f0}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:18px;letter-spacing:-.045em;font-weight:650;white-space:nowrap}.nav{display:flex;gap:24px;align-items:center;font-size:13px}.nav a{padding-block:12px;white-space:nowrap;color:#52606a}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]{text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--accent);text-decoration-thickness:1px}.header-end{display:flex;align-items:center;gap:22px}.languages{display:flex;gap:13px;font-size:11px;font-weight:650}.languages [aria-disabled]{color:#737e85;font-weight:400}.menu-button{display:none;background:none;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-size:13px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;line-height:1.6;font-weight:600;color:#5a6b71}.hero{padding:66px 0 62px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);align-items:center;gap:56px}.hero-copy .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(66px,7.4vw,106px);line-height:.99;letter-spacing:-.065em;font-weight:600;margin-bottom:27px}.name-dot{color:var(--accent)}.lead{font-size:19px;line-height:1.7;color:#4d606a;max-width:530px}.actions{display:flex;gap:29px;align-items:center;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 25px;background:var(--accent);color:#fff;border-radius:4px;font-size:14px;line-height:1.5;font-weight:600;transition:background .16s}.button:hover{background:#075c55}.link{display:inline-flex;gap:20px;align-items:center;font-size:13px;line-height:1.5;font-weight:550}.link span{font-size:18px;line-height:1;font-weight:400}.link:hover{text-decoration:underline;text-underline-offset:5px}.experience-line{margin-top:30px;color:#637179;font-size:12px;letter-spacing:.01em}.portrait{align-self:stretch;min-height:492px;max-height:550px;background:#eaf3f7;border-radius:3px;overflow:hidden}.portrait img{object-position:44% center}.services{padding:58px 0 72px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:38px}.primary-services{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;border-top:1px solid var(--line);padding-top:32px}.service{display:flex;flex-direction:column;align-items:flex-start}.service-label{font-size:12px;color:#62727b;line-height:1.5;margin-bottom:21px}.service h2{font-size:49px;margin-bottom:23px}.service.primary h2{font-size:62px}.service>p:not(.service-label){max-width:500px;color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:22px}.service .link{margin-top:auto;color:var(--accent)}.additional{display:grid;grid-template-columns:1fr 2.3fr;gap:50px;border-top:1px solid var(--line);margin-top:48px;padding-top:27px}.additional .eyebrow{padding-top:5px}.additional-list a{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding:8px 0;font-size:13px;line-height:1.5}.additional-list a span:first-child{font-weight:550}.additional-list a span:last-child{color:var(--muted)}.additional-list a:hover span:first-child{text-decoration:underline;text-underline-offset:4px}.approach{background:#f0f4f2;padding:74px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach .eyebrow{margin-bottom:21px}.approach h2{font-size:45px;line-height:1.15;max-width:510px;margin-bottom:30px}.approach .link{color:var(--accent)}.approach-copy p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:17px;max-width:545px}.approach-copy .large-copy{font-size:21px;line-height:1.6;color:var(--ink);margin-bottom:24px}.approach-copy p:last-child{margin-bottom:0}.contact{padding:78px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.contact h2{font-size:66px;line-height:1.06;letter-spacing:-.055em}.contact p{font-size:16px;line-height:1.75;color:var(--muted);max-width:460px;margin-bottom:27px}.footer{padding:32px 0;background:#fff;border-top:1px solid var(--line)}.footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer p{font-size:11px;line-height:1.8;color:#61717a}.footer .brand{display:block;font-size:16px;margin-bottom:6px}.footer-grid>div:last-child{text-align:right}.footer .muted{color:#61717a}.design-b{--ink:#162c3a;--accent:#167d77;--muted:#536670}.design-b .header{border-bottom:0}.design-b .hero{padding:0;background:#142c3a;color:#fff}.design-b .hero-grid{width:100%;max-width:1600px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;align-items:stretch}.design-b .hero-copy{padding:59px 48px 54px max(48px,calc((100vw - 1200px)/2));z-index:1}.design-b .hero .eyebrow{color:#aabdc3;font-size:10px}.design-b .hero h1{font-size:clamp(64px,6.7vw,97px);margin-bottom:29px}.design-b .name-dot{color:#76b5a6}.design-b .lead{color:#d3e0e4;max-width:475px;font-size:18px;line-height:1.75}.design-b .hero .button{background:#dcebe6;color:#142c3a}.design-b .hero .button:hover{background:#fff}.design-b .hero .link{color:#fff}.design-b .experience-line{color:#aabdc3;margin-top:30px}.design-b .portrait{border-radius:0;height:auto;max-height:none;min-height:600px;position:relative}.design-b .portrait img{position:absolute;inset:0;object-position:47% center}.design-b .services{padding:72px 0}.design-b .section-heading{align-items:flex-end;display:grid;grid-template-columns:1.3fr 1fr;gap:90px;margin-bottom:40px}.design-b .section-heading h2{font-size:48px;line-height:1.13}.design-b .section-heading h2 span{color:#6c7b81}.design-b .section-heading>div{padding-bottom:6px}.design-b .section-heading p{font-size:16px;color:var(--muted);line-height:1.7;max-width:430px;margin-bottom:24px}.design-b .section-heading .link{color:var(--accent)}.design-b .primary-services{padding:0;border:0;gap:0;grid-template-columns:1.3fr 1fr}.design-b .service{padding:35px 37px;background:#eaf2ef;min-height:300px}.design-b .service.primary{background:#196b67;color:#fff}.design-b .service-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.design-b .service h3{font-size:33px;line-height:1.2;letter-spacing:-.04em;margin-bottom:18px}.design-b .service.primary h3{font-size:44px;line-height:1}.design-b .service.primary>p{color:#d6e8e4}.design-b .service.primary .link{color:#fff}.design-b .service .link{color:var(--ink)}.design-b .service>p:not(.service-label){font-size:15px;max-width:450px}.design-b .service-label{margin-bottom:21px}.design-b .additional{margin-top:28px;border:0;padding-top:10px}.design-b .approach{background:white;border-top:1px solid var(--line);padding:73px 0}.design-b .approach-grid{grid-template-columns:1.3fr 1fr;gap:90px}.design-b .contact{background:#142c3a;color:#fff;padding:67px 0}.design-b .contact h2{font-size:64px}.design-b .contact p{color:#d0dde1}.design-b .contact .button{background:#dcebe6;color:#142c3a}.design-b .contact .button:hover{background:#fff}
@media(min-width:1601px){.design-b .hero-grid{max-width:none;grid-template-columns:1fr 1fr}.design-b .hero-copy{padding-left:max(48px,calc((100vw - 1200px)/2))}.design-b .portrait{max-height:670px}.design-b .hero h1{font-size:100px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.header-inner{gap:22px;height:80px}.nav{gap:17px;font-size:12px}.brand{font-size:17px}.header-end{gap:16px}.hero-grid{gap:36px;grid-template-columns:1.25fr 1fr}.hero h1{font-size:7.7vw}.hero{padding:52px 0}.lead{font-size:18px}.portrait{min-height:470px}.primary-services,.approach-grid,.contact-grid{gap:50px}.service h2{font-size:43px}.service.primary h2{font-size:55px}.additional{grid-template-columns:.7fr 2.3fr;gap:30px}.approach h2{font-size:37px}.contact h2{font-size:57px}.design-b .hero-copy{padding:48px 36px}.design-b .hero h1{font-size:7vw}.design-b .portrait{min-height:600px}.design-b .section-heading,.design-b .approach-grid{gap:50px}.design-b .section-heading h2{font-size:41px}.design-b .service{padding:30px}.design-b .service h3{font-size:28px}.design-b .service.primary h3{font-size:40px}}
@media(max-width:970px){.nav{display:none;position:absolute;top:80px;left:0;right:0;z-index:30;padding:20px 36px;background:white;border-bottom:1px solid var(--line);font-size:16px;box-shadow:0 12px 16px #142c3a08}.nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}.nav a{padding:10px 0}.menu-button{display:block}.hero-grid{gap:28px}.hero h1{font-size:7.6vw}.hero-copy .eyebrow{font-size:9px}.lead{font-size:17px;line-height:1.65}.portrait{min-height:460px}.actions{gap:21px}.button{padding:13px 20px;font-size:13px}.experience-line{font-size:11px}.additional{grid-template-columns:1fr;gap:12px}.additional-list a{grid-template-columns:1fr 1.2fr}.approach-grid{gap:40px}.approach h2{font-size:34px}.approach-copy .large-copy{font-size:19px}.contact h2{font-size:51px}.design-b .hero-copy{padding:42px 32px}.design-b .hero h1{font-size:7.3vw}.design-b .hero .eyebrow{font-size:9px}.design-b .lead{font-size:17px}.design-b .portrait{min-height:615px}.design-b .section-heading h2{font-size:36px}.design-b .section-heading,.design-b .approach-grid{gap:36px}.design-b .service h3{font-size:25px}.design-b .contact h2{font-size:51px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:72px;gap:12px}.brand{font-size:17px}.header-end{gap:17px}.languages{gap:9px;font-size:10px}.menu-button{padding:8px 10px;font-size:12px}.nav{top:72px;padding:16px 20px}.hero{padding:40px 0 30px}.hero-grid{display:grid;grid-template-columns:1fr;gap:29px}.hero h1{font-size:clamp(62px,13vw,96px);margin-bottom:24px}.hero-copy .eyebrow{font-size:9px;margin-bottom:24px;letter-spacing:.1em}.lead{font-size:17px;max-width:580px}.actions{gap:27px;margin-top:25px}.button{min-height:49px;font-size:13px;padding:13px 22px}.link{font-size:13px;gap:13px}.experience-line{margin-top:24px;font-size:11px}.portrait{min-height:0;height:360px;max-height:none;width:100%;border-radius:3px}.portrait img{object-position:45% 25%}.services{padding:30px 0 48px}.section-heading{gap:20px;margin-bottom:27px}.section-heading .eyebrow{font-size:9px}.section-heading .link{font-size:12px;gap:9px}.primary-services{grid-template-columns:1fr;gap:32px;padding-top:25px}.service-label{font-size:11px;margin-bottom:13px}.service.primary h2,.service h2{font-size:42px;line-height:1.1;margin-bottom:17px}.service h2 br{display:none}.service>p:not(.service-label){font-size:15px;line-height:1.7;margin-bottom:18px}.service:not(.primary){padding-top:27px;border-top:1px solid var(--line)}.additional{margin-top:33px;padding-top:25px;gap:15px}.additional-list a{grid-template-columns:1fr;gap:2px;padding:9px 0;font-size:13px}.additional-list a span:last-child{font-size:12px}.approach{padding:44px 0}.approach-grid{grid-template-columns:1fr;gap:30px}.approach .eyebrow{margin-bottom:17px}.approach h2{font-size:36px;margin-bottom:20px}.approach-copy .large-copy{font-size:20px;margin-bottom:20px}.approach-copy p{font-size:15px}.contact{padding:46px 0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:52px}.contact p{font-size:15px;line-height:1.75;margin-bottom:22px}.footer{padding:25px 0}.footer-grid{display:block}.footer-grid>div:last-child{text-align:left;margin-top:22px}.footer .brand{font-size:16px}.footer p{font-size:11px}.design-b .hero-grid{grid-template-columns:1fr;width:100%}.design-b .hero-copy{padding:39px 20px 35px}.design-b .hero h1{font-size:clamp(62px,13vw,96px);margin-bottom:25px}.design-b .lead{max-width:580px}.design-b .hero .eyebrow{font-size:9px}.design-b .hero .actions{gap:25px}.design-b .experience-line{margin-top:23px}.design-b .portrait{height:365px;min-height:0}.design-b .portrait img{object-position:47% 27%}.design-b .services{padding:43px 0 47px}.design-b .section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.design-b .section-heading h2{font-size:37px;line-height:1.12}.design-b .section-heading p{font-size:15px;margin-bottom:18px}.design-b .primary-services{grid-template-columns:1fr;gap:0}.design-b .service{min-height:0;padding:28px}.design-b .service h3{font-size:29px}.design-b .service.primary h3{font-size:39px}.design-b .service>p:not(.service-label){font-size:15px}.design-b .service-label{margin-bottom:15px}.design-b .service .link{margin-top:8px}.design-b .service:not(.primary){border:0}.design-b .additional{margin-top:26px}.design-b .approach{padding:44px 0}.design-b .approach-grid{grid-template-columns:1fr;gap:30px}.design-b .contact{padding:45px 0}.design-b .contact h2{font-size:52px}}
@media(max-width:375px){.container{width:calc(100% - 36px)}.brand{font-size:16px}.header-end{gap:10px}.languages{gap:7px;font-size:9px}.menu-button{padding:8px;font-size:11px}.hero h1,.design-b .hero h1{font-size:58px}.hero-copy .eyebrow,.design-b .hero .eyebrow{font-size:8px}.actions,.design-b .hero .actions{gap:20px}.button{padding-inline:18px;font-size:12px}.link{font-size:12px}.portrait,.design-b .portrait{height:320px}.service h2,.service.primary h2{font-size:38px}.approach h2{font-size:32px}.design-b .section-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.menu-button{min-height:44px;min-width:52px}

/* Wider, straightened portrait; the face is displayed close to native size. */
.design-a .portrait{min-height:0;height:550px;max-height:none;align-self:center;position:relative;background:#e9eee9;overflow:hidden}
.design-a .portrait img,.design-b .portrait img{position:absolute;inset:auto 0 -16px;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.design-b .portrait{min-height:610px;background:#dce5df;overflow:hidden}
@media(min-width:1601px){.design-b .portrait{min-height:650px}}
@media(min-width:761px) and (max-width:1150px){.design-a .portrait{height:500px}}
@media(min-width:761px) and (max-width:970px){.design-a .portrait{height:470px}}
@media(max-width:760px){.design-a .portrait,.design-b .portrait{height:430px;min-height:0}.design-a .portrait img,.design-b .portrait img{bottom:-12px}}
@media(max-width:375px){.design-a .portrait,.design-b .portrait{height:400px}}
