:root { --ink:#1d2a35; --slate:#53616b; --line:#dbe0e3; --mist:#f5f7f7; --white:#fff; --accent:#2e6d72; --serif:'Newsreader', Georgia, serif; --sans:'DM Sans', Arial, sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--white); font-family:var(--sans); font-size:16px; } a { color:inherit; }
.page-width { max-width:1180px; margin:0 auto; padding-left:32px; padding-right:32px; }.header { height:78px; display:flex; align-items:center; border-bottom:1px solid var(--line); }.brand { text-decoration:none; font-size:17px; font-weight:700; letter-spacing:-.03em; } nav { display:flex; gap:28px; margin-left:auto; margin-right:38px; } nav a, .nav-contact { color:var(--slate); font-size:14px; text-decoration:none; } nav a:hover, .nav-contact:hover { color:var(--accent); }.nav-contact { color:var(--ink); font-weight:600; }
.hero { padding-top:108px; padding-bottom:106px; }.eyebrow { margin:0 0 22px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.105em; text-transform:uppercase; }.hero h1 { max-width:900px; margin:0; font:600 clamp(44px,6vw,76px)/1.02 var(--serif); letter-spacing:-.04em; }.hero-detail { display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:end; margin-top:51px; padding-top:26px; border-top:1px solid var(--line); }.hero-detail p { max-width:550px; margin:0; color:var(--slate); font-size:18px; line-height:1.6; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }.button { display:inline-block; padding:12px 17px; background:var(--accent); border:1px solid var(--accent); color:var(--white); font-size:14px; font-weight:600; text-decoration:none; transition:background .2s; }.button:hover { background:#24595d; }.quiet-link { color:var(--ink); font-size:14px; font-weight:600; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:2px; }.quiet-link span { color:var(--accent); padding-left:5px; }
.section { padding-top:100px; padding-bottom:100px; border-top:1px solid var(--line); }.section-intro { max-width:610px; }.section-intro h2, .contact h2 { margin:0; font:600 clamp(34px,4.1vw,54px)/1.07 var(--serif); letter-spacing:-.035em; }.intro-copy { max-width:540px; color:var(--slate); line-height:1.65; margin:23px 0 0; }.focus { display:grid; grid-template-columns:.9fr 1.45fr; gap:100px; }.focus-list { border-top:1px solid var(--line); }.focus-list article { display:grid; grid-template-columns:64px 1fr; column-gap:18px; padding:25px 0 27px; border-bottom:1px solid var(--line); }.focus-number { grid-row:span 2; margin:4px 0 0; color:var(--accent); font-size:12px; font-weight:700; }.focus-list h3 { margin:0; font-size:20px; letter-spacing:-.025em; }.focus-list article > p:last-child { grid-column:2; max-width:510px; margin:8px 0 0; color:var(--slate); font-size:15px; line-height:1.58; }
.experience { background:var(--mist); }.narrow { max-width:710px; }.experience-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; margin-top:57px; }.experience-copy p { max-width:470px; color:var(--slate); line-height:1.68; margin:0 0 18px; }.metrics { display:grid; grid-template-columns:1fr 1fr; gap:28px 25px; margin:0; }.metrics div { padding-top:14px; border-top:1px solid #c9d1d5; }.metrics dt { font:600 31px/1 var(--serif); letter-spacing:-.04em; }.metrics dd { margin:7px 0 0; color:var(--slate); font-size:13px; line-height:1.4; }.timeline { margin-top:76px; border-top:1px solid #c9d1d5; }.timeline article { display:grid; grid-template-columns:160px 1.25fr 1fr; gap:25px; padding:23px 0; border-bottom:1px solid #c9d1d5; }.timeline article > p { margin:0; color:var(--slate); font-size:13px; line-height:1.5; }.timeline h3 { margin:0 0 4px; font-size:16px; letter-spacing:-.02em; }.timeline span { color:var(--slate); font-size:13px; }
.writing { padding-bottom:104px; }.article-grid { display:grid; grid-template-columns:1.22fr 1fr 1fr; gap:20px; margin-top:55px; }.article { min-height:260px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); text-decoration:none; }.article.live { background:var(--ink); border-color:var(--ink); color:var(--white); }.article-type { margin:0 0 39px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.article.live .article-type { color:#9ccdd0; }.article h3 { margin:0; font:600 26px/1.16 var(--serif); letter-spacing:-.035em; }.article > p:not(.article-type) { margin:15px 0 0; color:var(--slate); font-size:14px; line-height:1.6; }.article span { margin-top:auto; padding-top:25px; color:#9ccdd0; font-size:14px; font-weight:600; }.writing-note { margin:22px 0 0; color:var(--slate); font-size:13px; }
.contact { color:var(--white); background:var(--ink); }.contact-inner { padding-top:97px; padding-bottom:98px; }.contact .eyebrow { color:#9ccdd0; }.contact h2 { max-width:790px; }.contact-links { display:flex; align-items:center; gap:26px; margin-top:43px; }.button.light { background:var(--white); border-color:var(--white); color:var(--ink); }.button.light:hover { background:#dbe8e8; }.contact-links > a:not(.button) { color:var(--white); font-size:14px; font-weight:600; text-underline-offset:4px; }.footer { display:flex; justify-content:space-between; padding-top:23px; padding-bottom:23px; color:var(--slate); font-size:12px; }
@media (max-width:760px) { .page-width { padding-left:22px; padding-right:22px; }.header { height:65px; }.header nav { display:none; }.nav-contact { margin-left:auto; }.hero { padding-top:67px; padding-bottom:68px; }.hero h1 { font-size:45px; }.hero-detail { grid-template-columns:1fr; gap:26px; margin-top:36px; }.hero-detail p { font-size:16px; }.section { padding-top:70px; padding-bottom:70px; }.focus { display:block; }.focus-list { margin-top:42px; }.experience-grid { grid-template-columns:1fr; gap:34px; margin-top:40px; }.timeline { margin-top:50px; }.timeline article { grid-template-columns:1fr; gap:7px; padding:20px 0; }.timeline article > p:first-child { color:var(--accent); font-weight:700; }.article-grid { grid-template-columns:1fr; gap:12px; margin-top:38px; }.article { min-height:225px; }.contact-inner { padding-top:70px; padding-bottom:70px; }.contact-links { align-items:flex-start; flex-direction:column; gap:20px; margin-top:33px; }.footer { flex-direction:column; gap:8px; } }
