:root { --paper:#eff1e9; --ink:#1b211d; --accent:#35614b; --quiet:#dce4d5; --rule:#c4cdc1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; margin:0; }
a { color:inherit; }
.site-shell { margin:auto; max-width:1180px; padding:24px 48px 60px; }
.site-header { align-items:center; border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; min-height:56px; }
.site-name { font-size:20px; font-weight:700; letter-spacing:-.06em; line-height:1; text-decoration:none; }
nav { align-items:center; display:flex; flex-wrap:wrap; gap:20px; font-size:12px; font-weight:700; }
nav a { align-items:center; display:inline-flex; line-height:1; text-decoration:none; }
.nav-contact { background:var(--ink); color:var(--paper); padding:9px 12px; }
.hero { display:grid; gap:68px; grid-template-columns:1.1fr .9fr; padding:88px 0 70px; }
.hero-copy { align-self:center; }
.eyebrow { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.12em; margin:0; text-transform:uppercase; }
h1, h2, h3, p { margin-top:0; }
h1 { font-size:clamp(48px,6vw,82px); letter-spacing:-.075em; line-height:.92; margin:18px 0 28px; }
h2 { font-size:clamp(32px,4vw,54px); letter-spacing:-.065em; line-height:.94; margin-bottom:32px; }
h3 { font-size:18px; letter-spacing:-.035em; margin:0; }
.intro { font-size:18px; line-height:1.4; max-width:540px; }
.button { background:var(--accent); color:#fff; display:inline-block; font-size:13px; font-weight:700; margin-top:12px; padding:13px 17px; text-decoration:none; }
.hero-image img { display:block; height:380px; object-fit:cover; object-position:center; width:100%; }
.work { border-top:1px solid var(--rule); display:grid; gap:32px; grid-template-columns:.8fr 1.2fr; padding:25px 0 68px; }
.work-item { border-top:1px solid var(--rule); display:grid; gap:20px; grid-template-columns:1.1fr .9fr; padding:18px 0; }
.work-item:last-child { border-bottom:1px solid var(--rule); }
.work-item p { font-size:13px; line-height:1.45; margin:0; }
.meet { background:var(--quiet); display:grid; gap:30px; grid-template-columns:.75fr 1.25fr; padding:56px; }
.meet p { font-size:17px; line-height:1.42; max-width:560px; }
.text-link { font-size:13px; font-weight:700; }
.site-footer { display:flex; font-size:12px; font-weight:700; justify-content:space-between; padding-top:28px; }
.site-footer a { color:var(--accent); }
.page-intro { border-bottom:1px solid var(--rule); max-width:760px; padding:80px 0 52px; }
.page-intro p { font-size:19px; line-height:1.45; margin-bottom:0; }
.content-section { border-bottom:1px solid var(--rule); max-width:760px; padding:48px 0; }
.content-section h2 { font-size:32px; margin-bottom:18px; }
.content-section p, .content-section li { font-size:16px; line-height:1.55; }
.content-section ul { padding-left:20px; }
.engagement-year { border-top:1px solid var(--rule); font-size:22px; margin:38px 0 0; padding-top:18px; }
.engagement-list { list-style:none; margin:0; padding:0; }
.engagement-list li { border-bottom:1px solid var(--rule); display:grid; gap:4px; padding:14px 0; }
.engagement-list strong { font-size:15px; }
.engagement-list span { color:#536057; font-size:13px; }
.project-grid { display:grid; gap:1px; grid-template-columns:repeat(2, 1fr); margin:50px 0; }
.project-card { background:var(--quiet); min-height:270px; padding:32px; }
.project-card h2, .inventory-callout h2, .protected-project h2 { font-size:30px; margin:16px 0; }
.project-card p, .inventory-callout p, .protected-project p { font-size:16px; line-height:1.5; }
.project-role { color:#536057; font-size:13px !important; font-weight:700; margin-top:26px; }
.inventory-callout { border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); max-width:760px; padding:48px 0; }
.protected-intro { padding-bottom:38px; }
.access-form { max-width:520px; padding:42px 0 60px; }
.access-form form { display:grid; gap:16px; }
.access-form label { display:grid; font-size:13px; font-weight:700; gap:7px; }
.access-form input { background:#fff; border:1px solid var(--rule); font:inherit; padding:12px; }
.protected-projects { display:grid; gap:0; grid-template-columns:repeat(2, 1fr); margin:30px 0; }
.protected-project { border:1px solid var(--rule); margin:-1px 0 0 -1px; padding:32px; }
.lock-form { margin-top:24px; }
.lock-form button { background:none; border:0; color:var(--accent); cursor:pointer; padding:0; text-decoration:underline; }
.contact-layout { display:grid; gap:56px; grid-template-columns:.7fr 1.3fr; padding:60px 0; }
.contact-layout h1 { font-size:clamp(44px,5vw,66px); }
.contact-layout p { font-size:18px; line-height:1.45; }
.contact-form { display:grid; gap:18px; }
.contact-form label { display:grid; font-size:13px; font-weight:700; gap:7px; }
.contact-form input, .contact-form textarea { background:#fff; border:1px solid var(--rule); border-radius:0; color:var(--ink); font:inherit; padding:12px; width:100%; }
.contact-form textarea { min-height:150px; resize:vertical; }
.contact-form .field-validation-error { color:#913d31; font-size:12px; }
.validation-summary-errors { color:#913d31; font-size:13px; }
.success-message { background:var(--quiet); font-size:16px; line-height:1.45; margin-bottom:22px; padding:18px; }
.honeypot { left:-10000px; position:absolute; }
@media (max-width:700px) { .site-shell { padding:22px; } .site-header, .hero, .work, .meet, .work-item, .site-footer, .contact-layout, .project-grid, .protected-projects { display:grid; grid-template-columns:1fr; } nav { margin-top:18px; } .site-header { padding-bottom:18px; } .hero { gap:32px; padding:54px 0; } .meet { padding:30px; } .contact-layout { gap:30px; padding:48px 0; } }
