:root{--ink:#1d1d1f;--muted:#646466;--line:#d2d2d4;--paper:#f5f5f7;--accent:#aaaaaa;--wash:#f5f5f7;--gutter:clamp(24px,5.4vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--accent);color:var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}h1,h2,h3,p{margin:0}a,button{-webkit-tap-highlight-color:transparent}.skip-link{position:absolute;left:20px;top:-80px;padding:14px;background:var(--paper);z-index:10}.skip-link:focus{top:12px}.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.wordmark{font-size:40px;line-height:1;font-weight:500;letter-spacing:-2.4px;display:inline-block}.wordmark-point{color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:500}.site-header nav a{padding:12px 0;position:relative}.site-header nav a:after{content:"";position:absolute;height:1px;background:currentColor;left:0;right:0;bottom:4px;transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover:after{transform:scaleX(1)}.site-header .nav-contact{margin-left:30px}.nav-contact span{margin-left:24px;font-size:20px;font-weight:400}.hero{position:relative;isolation:isolate;background:var(--ink);color:var(--paper);min-height:690px;display:flex;flex-direction:column;justify-content:space-between;padding:82px var(--gutter) 34px;overflow:hidden}.hero-content{position:relative;z-index:1;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;line-height:1.5;font-weight:500;color:var(--muted)}.eyebrow.light{color:var(--accent)}.hero h1{font-size:clamp(58px,6.85vw,106px);line-height:1.02;font-weight:400;letter-spacing:-.047em;margin:30px 0 26px}.hero-description{font-size:18px;line-height:1.6;color:#e5e5e7;max-width:410px}.text-link{font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:48px;padding:16px 0 13px;border-bottom:1px solid var(--ink)}.text-link span{font-size:21px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{border-color:var(--accent);color:var(--paper);margin-top:26px}.hero-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;margin-top:64px;font-size:12px;line-height:1.6;letter-spacing:.02em;color:#e5e5e7}.hero-foot a{font-size:13px;display:flex;align-items:center;gap:44px}.hero-foot a span{font-size:24px}.section-wrap{padding:108px var(--gutter)}.heritage{display:grid;grid-template-columns:1fr 1fr;gap:7.5vw}.section-intro h2{font-size:clamp(34px,3.2vw,48px);line-height:1.14;letter-spacing:-.035em;font-weight:400;margin-top:28px}.lead{font-size:20px;line-height:1.55;letter-spacing:-.015em;max-width:500px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:42px;border-top:1px solid var(--line);padding-top:24px}.metrics>div{display:flex;flex-direction:column}.metric-number{font-size:clamp(64px,6.2vw,88px);line-height:1.08;letter-spacing:-.06em;font-weight:400}.metric-label{font-size:14px;margin-top:10px;color:var(--muted)}.heritage-note{font-size:12px;line-height:1.6;margin-top:30px;max-width:400px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:34px var(--gutter);display:flex;align-items:center;justify-content:space-between}.site-footer>a:last-child{font-size:14px}
.hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 43%;filter:grayscale(1)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(29,29,31,.88),rgba(29,29,31,.47) 43%,rgba(29,29,31,.04) 80%),linear-gradient(0deg,rgba(29,29,31,.66),transparent 48%)}.capabilities{background:var(--wash)}.capabilities-heading{display:grid;grid-template-columns:1fr 1fr;gap:7.5vw;align-items:end;margin-bottom:62px}.section-description{font-size:18px;line-height:1.65;color:var(--muted);max-width:460px;padding-bottom:2px}.capability{border-top:1px solid var(--line)}.capability:last-child{border-bottom:1px solid var(--line)}.capability summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr minmax(190px,28%) 24px;align-items:center;column-gap:20px;padding:31px 0;transition:color .2s}.capability summary::-webkit-details-marker{display:none}.capability summary:hover{color:var(--muted)}.capability-number{font-size:12px;letter-spacing:.05em;color:var(--muted);align-self:start;padding-top:8px}.capability h3{font-size:clamp(25px,2.25vw,34px);font-weight:400;line-height:1.25;letter-spacing:-.025em}.capability-tag{font-size:14px;color:var(--muted)}.expand-icon{width:22px;height:22px;position:relative;display:block}.expand-icon:before,.expand-icon:after{content:"";width:17px;height:1px;background:currentColor;position:absolute;top:10px;left:2px}.expand-icon:after{transform:rotate(90deg);transition:transform .2s}.capability[open] .expand-icon:after{transform:rotate(0)}.capability-body{padding:0 44px 40px 80px;max-width:1020px}.capability-body>p:first-child{font-size:17px;line-height:1.65;color:var(--muted);max-width:700px}.expertise-list{display:grid;grid-template-columns:repeat(3,1fr);gap:27px 30px;margin:34px 0 26px;padding:0}.expertise-list>div{border-top:1px solid var(--line);padding-top:15px}.expertise-list dt{font-size:16px;font-weight:500}.expertise-list dd{font-size:14px;line-height:1.5;margin:7px 0 0;color:var(--muted)}.capability-note{font-size:14px;line-height:1.65;color:var(--muted)}.scope-list{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:12px 32px;font-size:14px}.scope-list li{border-bottom:1px solid var(--line);padding-bottom:8px}.contact{background:var(--ink);color:var(--paper);padding-top:83px;padding-bottom:95px}.contact-main{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:end;margin-top:30px}.contact h2{font-size:clamp(38px,4.1vw,64px);line-height:1.12;font-weight:400;letter-spacing:-.035em}.contact-detail p{font-size:17px;line-height:1.6;color:var(--accent)}.contact-link{display:flex;align-items:center;justify-content:space-between;max-width:355px;border-bottom:1px solid var(--accent);padding:19px 0 13px;margin-top:18px;font-size:24px;letter-spacing:-.025em}.contact-link span{transition:transform .2s}.contact-link:hover span{transform:translate(3px,-3px)}.footer-brand{display:flex;align-items:center;gap:24px}.footer-brand>span{font-size:12px;color:var(--muted)}.footer-meta{display:flex;align-items:center;gap:26px;font-size:12px;color:var(--muted)}.footer-meta a:hover{text-decoration:underline;text-underline-offset:5px}.back-top{display:flex;align-items:center;gap:14px}
@media(min-width:1700px){.hero{min-height:800px;padding-top:108px}}
@media(max-width:850px){.site-header{height:82px}.site-header nav{gap:26px}.site-header .nav-contact{margin-left:0}.hero{min-height:660px;padding-top:75px}.hero h1{font-size:76px}.heritage{gap:45px}.section-wrap{padding-top:80px;padding-bottom:80px}.lead{font-size:18px}}
@media(max-width:600px){.site-header{height:80px}.wordmark{font-size:35px}.site-header nav{gap:0}.site-header nav>a:not(.nav-contact){display:none}.site-header .nav-contact{font-size:13px}.nav-contact span{margin-left:16px}.hero{min-height:720px;padding-top:72px;padding-bottom:28px}.hero h1{font-size:clamp(53px,11.5vw,70px);margin-top:30px}.hero-description{font-size:17px;max-width:320px}.hero-foot{gap:30px}.hero-foot>span{max-width:205px;font-size:12px}.hero-foot a{font-size:0;gap:0}.hero-foot a span{font-size:26px}.heritage{grid-template-columns:1fr;gap:36px}.section-wrap{padding-top:65px;padding-bottom:65px}.section-intro h2{font-size:37px;margin-top:22px}.lead{font-size:19px}.metrics{margin-top:30px}.metric-number{font-size:76px}.site-footer{gap:24px}.site-footer>a:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(max-width:1000px){.footer-brand>span{display:none}.capability summary{grid-template-columns:36px 1fr 24px}.capability-tag{display:none}.capability-body{padding-left:56px}.contact-main{gap:40px;grid-template-columns:1.1fr 1fr}.contact-link{font-size:22px}}
@media(max-width:700px){.capabilities-heading{grid-template-columns:1fr;gap:28px;margin-bottom:36px}.capability summary{column-gap:16px;padding:28px 0;grid-template-columns:25px 1fr 22px}.capability h3{font-size:26px}.capability-number{padding-top:6px}.capability-body{padding:0 0 30px 41px}.capability-body>p:first-child{font-size:16px}.expertise-list{grid-template-columns:1fr 1fr;gap:25px 20px}.expertise-list dd{font-size:14px}.contact-main{grid-template-columns:1fr;gap:32px}.contact h2{font-size:43px}.contact-link{max-width:100%;font-size:24px}.site-footer{align-items:flex-start}.footer-meta{flex-direction:column;align-items:flex-end;gap:14px}.footer-meta .back-top{margin-top:5px}.hero-image{object-position:65% 50%}.hero:after{background:linear-gradient(90deg,rgba(29,29,31,.78),rgba(29,29,31,.35)),linear-gradient(0deg,rgba(29,29,31,.6),transparent 40%)}}
@media(max-width:360px){.capability h3{font-size:23px}.hero h1{font-size:48px}.contact h2{font-size:36px}.expertise-list{grid-template-columns:1fr}.contact-link{font-size:22px}}

/* Shared page navigation and the dedicated interior pages. */
.site-header nav a[aria-current="page"]:after{transform:scaleX(1)}
.overview-link{margin-top:22px}
.section-intro h1{font-size:clamp(40px,4.1vw,64px);line-height:1.1;letter-spacing:-.035em;font-weight:400;margin-top:28px}
.capabilities-page{padding-top:90px}
.capabilities-page .capabilities-heading{align-items:end;grid-template-columns:1.25fr 1fr;gap:6vw;margin-bottom:68px}
.capability h2{font-size:clamp(25px,2.25vw,34px);font-weight:400;line-height:1.25;letter-spacing:-.025em}
.heritage-page{min-height:calc(100vh - 290px);align-items:start;padding-top:100px}
.heritage-page .heritage-detail{padding-top:4px}
.heritage-context{font-size:17px;line-height:1.7;color:var(--muted);margin:36px 0 10px;max-width:540px}
.page-next{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line)}
.page-next p{font-size:24px;letter-spacing:-.02em}
.contact-page{min-height:calc(100vh - 210px);display:flex;flex-direction:column;justify-content:center;padding-top:90px;padding-bottom:110px}
.contact-page h1{font-size:clamp(45px,5vw,76px);line-height:1.1;font-weight:400;letter-spacing:-.04em}
.contact-page .contact-main{grid-template-columns:1.4fr 1fr;gap:7vw;align-items:start;margin-top:42px}
.contact-page .contact-detail{padding-top:6px}
@media(max-width:850px){.site-header nav{gap:22px}.heritage-page{padding-top:75px}.contact-page .contact-main{grid-template-columns:1fr;gap:42px}.contact-page .contact-detail{max-width:460px}.capabilities-page .capabilities-heading{grid-template-columns:1fr;gap:28px}.section-intro h1{font-size:48px}.contact-page h1{font-size:60px}}
@media(max-width:600px){.site-header{height:auto;min-height:128px;display:flex;flex-wrap:wrap;align-content:center;gap:22px;padding-top:22px;padding-bottom:20px}.site-header nav{display:flex;width:100%;gap:12px;justify-content:space-between;font-size:13px}.site-header nav>a:not(.nav-contact){display:block}.site-header nav a{padding:5px 0 8px;white-space:nowrap}.site-header .nav-contact{margin-left:0;font-size:13px}.nav-contact span{display:none}.site-header nav a:after{bottom:1px}.section-intro h1{font-size:40px;margin-top:23px}.capabilities-page{padding-top:58px}.capabilities-page .capabilities-heading{margin-bottom:38px}.capability h2{font-size:26px}.heritage-page{padding-top:60px;gap:38px}.heritage-context{font-size:16px;margin-top:30px}.page-next{align-items:flex-start;flex-direction:column;gap:12px;padding-top:30px;padding-bottom:35px}.page-next p{font-size:23px}.contact-page{padding-top:70px;padding-bottom:80px;min-height:calc(100vh - 255px)}.contact-page h1{font-size:45px}.contact-page .contact-main{margin-top:30px;gap:32px}.contact-page .contact-link{font-size:24px}.hero-foot a{font-size:12px;gap:16px}.hero-foot>span{max-width:175px}.hero-foot a span{font-size:22px}}
@media(max-width:360px){.site-header nav{gap:10px;font-size:12px}.site-header .nav-contact{font-size:12px}.section-intro h1{font-size:35px}.contact-page h1{font-size:39px}.capability h2{font-size:23px}.hero-foot a{gap:10px}.hero-foot>span{max-width:150px}}
@media(max-width:600px){.contact-page h1{font-size:36px}}
@media(max-width:360px){.contact-page h1{font-size:32px}}
