:root{--ink:#12382d;--green:#103e31;--lime:#d5ed82;--muted:#52665e;--line:#d4ddd8;--paper:#fff;--pale:#f1f5f2}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;color:var(--ink);background:var(--paper);font:18px/1.65 Arial,Helvetica,sans-serif}
a{color:inherit;text-underline-offset:5px}
a:hover{color:#5e7017}
a:focus-visible{outline:3px solid #527014;outline-offset:5px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}
h2{font-size:clamp(2.2rem,4vw,3.8rem)}
h3{font-size:1.65rem}
.wrap{max-width:1200px;margin:auto;padding:0 40px}
.nav{display:flex;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:28px;gap:24px}
.brand{font:26px Georgia,serif;text-decoration:none}
.nav div{display:flex;gap:28px;font-size:15px}
.hero{background:var(--green);color:white}
.hero-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:54px;align-items:center;padding-top:70px;padding-bottom:70px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:14px;font-weight:bold;margin-bottom:25px}
.hero .eyebrow{color:var(--lime)}
h1{font-size:clamp(4.1rem,7.6vw,7.2rem);letter-spacing:-.045em;margin-bottom:28px}
.hero .intro{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.4;max-width:500px}
.hero .meta{color:#d6e6db;font-size:16px}
.hero figure{margin:0;background:white;align-self:stretch;display:flex;align-items:flex-end}
.hero img{display:block;width:100%;height:auto}
.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}
.button{display:inline-block;background:var(--lime);color:var(--ink);padding:13px 22px;text-decoration:none;font-weight:bold;font-size:16px}
.actions>a:not(.button){font-size:16px}
.role{padding:28px 0;border-bottom:1px solid var(--line)}
.role .wrap{display:grid;grid-template-columns:160px 1fr;gap:24px}
.role p{margin:0}
.label{color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.09em}
.section{padding-top:84px;padding-bottom:84px}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.big{font-size:1.5rem;line-height:1.55}
.copy p:last-child{margin-bottom:0}
.expertise{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);gap:28px;padding-top:28px}
.expertise h3{font-size:1.35rem}
.expertise p{font-size:16px;color:var(--muted)}
.pale{background:var(--pale)}
.press-row{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:30px 0;border-top:1px solid var(--line)}
.press-row:last-child{border-bottom:1px solid var(--line)}
.press-row p{font-size:16px;max-width:660px;margin-bottom:0}
.press-row h3{max-width:740px;margin-bottom:14px}
.press-meta{font-size:14px;color:var(--muted)}
.career{margin:0}
.career>div{padding:24px 0;border-top:1px solid var(--line)}
.career dt{font-size:20px;font-weight:bold}
.career dd{margin:6px 0 0;color:var(--muted);font-size:16px}
.contact{background:var(--green);color:#fff}
.contact p{color:#d6e6db}
.contact .links{display:flex;gap:26px;flex-wrap:wrap}
.contact a:hover{color:var(--lime)}
footer{font-size:14px;padding:28px 0;color:var(--muted)}

@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}
.nav{align-items:flex-start}
.nav div{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:14px}
.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:42px;padding-bottom:36px}
h1{font-size:4.4rem}
.hero figure{max-width:470px}
.hero img{max-height:470px;object-fit:contain}
.role .wrap,.split{grid-template-columns:1fr;gap:20px}
.section{padding-top:52px;padding-bottom:52px}
.expertise{grid-template-columns:1fr;gap:12px}
.press-row{grid-template-columns:1fr;gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
@media print{.hero-grid{grid-template-columns:1fr 1fr;padding:30px 0}
h1{font-size:54px}
.section{padding:35px 0}
a{overflow-wrap:anywhere}
h2,h3{break-after:avoid}
.press-row{break-inside:avoid}
}


.article-type{font-size:13px!important;letter-spacing:.055em;text-transform:uppercase;font-weight:bold;color:var(--muted);margin-bottom:12px!important}
.news-intro{max-width:650px;color:var(--muted);margin-bottom:35px}
.press-archive{margin-top:26px}
.press-archive summary{cursor:pointer;padding:20px 0;font-size:18px;font-weight:bold}
.press-archive summary span{font-size:14px;font-weight:normal;color:var(--muted);margin-left:12px}
.press-archive summary:focus-visible{outline:3px solid #527014;outline-offset:5px}
.hero .real-portrait{display:block;align-self:center;background:transparent}
.hero .real-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:left center}
.real-portrait figcaption{font-size:13px;line-height:1.6;margin-top:14px;color:#d6e6db}
.real-portrait figcaption a:hover{color:var(--lime)}
@media(max-width:760px){.hero .real-portrait{max-width:100%}
.hero .real-portrait img{max-height:none;aspect-ratio:4/3;object-fit:contain}
.article-type{font-size:14px!important}
}
@media print{.press-archive{display:block}
.press-archive::details-content{content-visibility:visible}
}


/* Progressive, accessible navigation and small-screen refinements. */
.skip-link { position: absolute; left: 20px; top: -100px; z-index: 10; padding: 12px 20px; background: var(--lime); color: var(--ink); }

.skip-link:focus { top: 12px; }

.nav a { display: inline-flex; align-items: center; min-height: 44px; }

.nav div { flex-wrap: wrap; }

.hero a:not(.button):hover { color: var(--lime); }

.hero a:focus-visible, .contact a:focus-visible { outline-color: var(--lime); }

.wrap > *, .split > *, .hero-grid > *, .press-row > * { min-width: 0; }

h1, h2, h3, p, dd, a { overflow-wrap: break-word; }

.contact .links a { display: inline-flex; align-items: center; min-height: 44px; }

main:focus { outline: none; }

@media (max-width: 760px) {
  .nav { flex-direction: column; gap: 8px; padding-top: 16px; padding-bottom: 16px; }

  .nav div { justify-content: flex-start; column-gap: 20px; row-gap: 0; font-size: 16px; }

  h1 { font-size: clamp(3.7rem, 14vw, 4.4rem); }

  .hero .real-portrait { width: 100%; }

  .press-archive summary span { display: block; margin-left: 0; }

}

@media print {
  .nav, .skip-link { display: none; }

  .press-row { break-inside: avoid; }

  .hero, .contact { print-color-adjust: exact; }

}
