:root{color-scheme:light;--ink:#151515;--muted:#626262;--line:#dedede;--paper:#fff;--soft:#f5f5f5;--width:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color .2s,background-color .2s,transform .2s}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
a[aria-disabled="true"]{cursor:default}
.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}
.section{padding-block:112px}
.eyebrow{margin:0 0 28px;font-size:.75rem;font-weight:600;letter-spacing:.16em}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.12;font-weight:500}
h1{margin-bottom:26px;font-size:clamp(2.8rem,5.2vw,4.8rem);letter-spacing:-.055em}
h1>span:not(.sr-only){display:block;color:var(--muted);font-size:.68em;line-height:1.16;margin-top:14px;letter-spacing:-.04em}
h2{margin-bottom:36px;font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.045em}
h3{font-size:1.35rem;letter-spacing:-.025em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:94px}
.brand{display:flex;align-items:center;gap:15px;font-size:.875rem;font-weight:700;letter-spacing:.06em;line-height:1.5;flex-shrink:0}
.brand-caption{display:block;font-size:.75rem;font-weight:400;letter-spacing:.08em;color:var(--muted)}
.logo-crop{position:relative;display:block;overflow:hidden;width:48px;height:44px}
.logo-crop img{position:absolute;width:126px;max-width:none;left:-39px;top:-14px}
nav{display:flex;align-items:center;gap:28px;font-size:.875rem}
nav a{padding-block:12px;position:relative}
nav a::after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.menu-toggle{border:1px solid var(--line);padding:8px 14px;background:white;color:var(--ink);cursor:pointer}
.menu-toggle[hidden]{display:none}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-top:100px}
.hero-description{max-width:540px;font-size:1.125rem;line-height:1.75;color:var(--muted);margin-bottom:34px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 26px;background:var(--ink);color:white;font-size:.875rem;font-weight:600;border:1px solid var(--ink)}
.button:hover{background:#383838;transform:translateY(-2px)}
.hero-portrait{margin:0;padding:10px;border:1px solid #303030;background:white;box-shadow:0 14px 36px rgb(0 0 0 / 8%)}
.hero-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:46% center}
.hero-footnote{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:32px;color:var(--muted);font-size:.875rem;margin-top:25px}
.hero-footnote span:last-child{font-size:.75rem;letter-spacing:.1em}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.about-copy>p{font-size:1.125rem;color:#484848;line-height:1.9;margin-bottom:32px}
.milestones{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:26px}
.milestones strong{display:block;font-size:2.25rem;font-weight:500;letter-spacing:-.05em;line-height:1.2}
.milestones span{display:block;margin-top:8px;color:var(--muted);font-size:.875rem}
.expertise{background:var(--soft)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid #ccc}
.service{padding:32px 32px 0 0;display:flex;flex-direction:column}
.service+.service{padding-left:32px;border-left:1px solid #ccc}
.service-number{font-size:.875rem;color:var(--muted);margin-bottom:44px}
.service h3{font-size:1.55rem;line-height:1.25;max-width:290px;margin-bottom:20px}
.service p{color:var(--muted);margin-bottom:32px}
.service-tag{font-size:.75rem;letter-spacing:.12em;margin-top:auto}
.track-record{background:var(--ink);color:white}
.track-record .eyebrow{color:#bdbdbd}
.recognition{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;text-align:left;border-block:1px solid #494949;padding-block:40px;margin-top:50px}
.recognition h3{font-size:1rem;line-height:1.6}
.award-year{display:inline-block;border:1px solid #777;padding:2px 12px;font-size:.875rem;margin-bottom:20px}
.award{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.4;letter-spacing:-.025em;margin-bottom:0;max-width:620px}
.press{padding-top:70px;scroll-margin-top:110px}
.press .eyebrow{margin-bottom:16px}
.press h3{font-size:1.75rem;margin-bottom:32px}
.press-list{list-style:none;padding:0;margin:0}
.press-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:start;text-align:left;padding:28px 0;border-top:1px solid #494949}
.press-list li:last-child{border-bottom:1px solid #494949}
.press-list li>span{font-size:.75rem;letter-spacing:.06em;color:#bdbdbd}
.press-list li>span:first-child{grid-column:1;grid-row:1}
.press-list a{grid-column:1/-1;grid-row:2;justify-self:start;text-align:left;font-size:1.125rem;line-height:1.5}
.press-list a[href]:hover,.award a:hover{color:#bdbdbd;text-decoration:underline;text-underline-offset:5px}
.publication-type{grid-column:2;grid-row:1;text-align:left}
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.contact h2{margin-bottom:0}
.contact-details p{color:var(--muted)}
.email-link{display:inline-block;font-size:clamp(1.125rem,2.2vw,1.5rem);border-bottom:1px solid var(--ink);padding-bottom:4px;overflow-wrap:anywhere}
.email-link:hover{color:var(--muted)}
.social-links{display:flex;gap:24px;margin-top:28px;font-size:.875rem}
.social-links a[href]:hover{text-decoration:underline;text-underline-offset:5px}
.footer{display:flex;justify-content:space-between;gap:24px;padding-block:28px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.footer a:hover{color:var(--ink)}
@media(min-width:901px){.menu-toggle{display:none}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}nav{gap:18px}.brand{gap:10px}.about,.contact{gap:40px}.hero{gap:30px}.service{padding-right:24px}.service+.service{padding-left:24px}}
@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:0;min-height:80px;padding-block:16px}.menu-toggle:not([hidden]){display:block}nav{width:100%;flex-wrap:wrap;justify-content:center;margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}nav[hidden]{display:none}.hero{padding-top:64px}.section{padding-block:80px}.publication-type{display:none}.service h3{font-size:1.25rem}.hero-footnote span:last-child{display:none}}
@media(max-width:640px){html{scroll-padding-top:100px}.container{width:calc(100% - 40px)}.brand{font-size:.75rem}.brand-caption{font-size:.625rem}.hero{grid-template-columns:1fr;gap:28px;padding-top:52px}h1{font-size:3.1rem}.hero-portrait{padding:8px;margin-top:8px}.hero-portrait img{aspect-ratio:4/3}.hero-description{font-size:1rem}.hero-footnote{margin-top:8px;padding-block:24px}.section{padding-block:64px}.about,.contact{grid-template-columns:1fr;gap:24px}.about h2{margin-bottom:0}.about-copy>p{font-size:1rem}.eyebrow{margin-bottom:20px}.service-grid{grid-template-columns:1fr;margin-top:32px}.service,.service+.service{padding:28px 0;border-left:0}.service+.service{border-top:1px solid #ccc}.service-number{margin-bottom:22px}.service h3{font-size:1.5rem;max-width:none}.service p{margin-bottom:22px}.recognition{grid-template-columns:1fr;gap:12px;margin-top:32px}.recognition h3{margin-bottom:12px}.press{padding-top:48px}.press-list li{grid-template-columns:1fr;gap:10px;padding-block:24px}.contact h2{font-size:2.4rem}.footer{flex-direction:column;gap:12px}.footer a{align-self:flex-start}nav{gap:8px 20px;justify-content:flex-start}nav a{padding-block:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.button:hover{transform:none}}


