@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;600;700&display=swap');
:root { color-scheme: light; --bg:#f3f5f2; --text:#25352e; --muted:#5c6d62; --line:#d5ddd6; --accent:#285c47; --hover:#e8eee8; --panel:#e7ede6; }
:root[data-theme="dark"] { color-scheme:dark; --bg:#19231e; --text:#e8eee7; --muted:#a2b3a6; --line:#35483b; --accent:#b1d1b3; --hover:#23332a; --panel:#213129; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 'Golos Text',sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a,button,input,textarea { -webkit-tap-highlight-color:transparent; }
button,input,textarea { font:inherit; color:inherit; }
button,a,input,textarea { outline-offset:5px; }
:focus-visible { outline:2px solid var(--accent); }
::selection { background:var(--accent); color:var(--bg); }
.page { width:min(100%,1440px); margin:auto; padding:0 clamp(22px,5vw,80px); }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px 0 23px; }
.wordmark { font-size:23px; font-weight:600; letter-spacing:-1px; white-space:nowrap; }
.wordmark-dot { color:var(--accent); padding-left:2px; }
.controls { display:flex; align-items:center; gap:22px; }
.controls button { border:0; background:none; padding:8px 0; min-height:44px; cursor:pointer; font-size:12px; }
#language span { color:var(--muted); }
#theme { font-size:23px; min-width:30px; }
.site-nav { display:flex; gap:clamp(20px,3vw,42px); border-bottom:1px solid var(--line); }
.nav-link { display:block; position:relative; padding:13px 0 17px; font-size:13px; color:var(--muted); white-space:nowrap; }
.nav-link:hover,.nav-link.current { color:var(--text); }
.nav-link.current::after { content:''; position:absolute; height:2px; bottom:-1px; inset-inline:0; background:var(--accent); }
.skip-link { position:fixed; top:-80px; left:16px; z-index:10; background:var(--bg); padding:10px; }
.skip-link:focus { top:10px; }
.hero { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:end; padding:62px 0 54px; }
.eyebrow { margin:0 0 22px; font-size:11px; font-weight:500; letter-spacing:1.8px; color:var(--muted); }
h1,h2,h3,p { overflow-wrap:break-word; }
h1,h2,h3 { font-weight:500; }
.hero-title { white-space:pre-line; font-size:clamp(52px,6vw,82px); line-height:1.04; letter-spacing:-4px; margin:0; }
.hero-copy { max-width:510px; padding-bottom:5px; }
.hero-copy .lead { font-size:clamp(22px,2.3vw,30px); line-height:1.4; letter-spacing:-.8px; margin:0 0 16px; }
.hero-copy > p:not(.lead) { font-size:15px; color:var(--muted); max-width:430px; }
.text-link { display:inline-block; color:var(--accent); font-size:14px; padding:8px 0; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.hero-copy .text-link { margin-top:12px; }
.list-heading { margin:0; padding:0 0 16px; color:var(--muted); font-size:11px; font-weight:500; letter-spacing:1.3px; text-transform:uppercase; }
.project-list { border-bottom:1px solid var(--line); }
.project-row { display:grid; grid-template-columns:34px minmax(0,1fr) minmax(150px,23%) 24px; gap:22px; padding:25px 0 28px; border-top:1px solid var(--line); align-items:center; transition:background .15s; }
.project-row:hover,.resource-row:hover { background:var(--hover); }
.row-index { color:var(--muted); font-size:11px; align-self:start; padding-top:4px; }
.row-company { display:block; color:var(--muted); font-size:11px; letter-spacing:.4px; margin-bottom:5px; }
.row-main h2,.resource-row h2 { margin:0; font-size:clamp(18px,2vw,24px); letter-spacing:-.6px; line-height:1.4; }
.row-main p,.resource-row p { margin:5px 0 0; font-size:13px; color:var(--muted); max-width:620px; }
.row-aside { align-self:center; text-align:right; }
.tags { color:var(--muted); font-size:11px; }
.status { display:block; color:var(--muted); font-size:10px; margin-top:8px; }
.row-arrow { font-size:22px; color:var(--accent); justify-self:end; transition:transform .15s; }
a:hover > .row-arrow { transform:translate(2px,-2px); }
.page-heading { padding:62px 0 48px; }
.page-heading h1 { font-size:clamp(36px,5vw,62px); letter-spacing:-2.5px; line-height:1.15; margin:0 0 16px; }
.page-heading p { max-width:640px; font-size:17px; color:var(--muted); margin:0; }
.resource-row { display:grid; grid-template-columns:23% 1fr 24px; gap:24px; border-top:1px solid var(--line); padding:27px 0; align-items:center; }
.back-link { display:inline-block; color:var(--muted); font-size:12px; padding:32px 0 0; }
.back-link:hover { color:var(--accent); }
.case-heading { padding:38px 0 32px; max-width:1000px; }
.case-heading .eyebrow { margin-bottom:14px; }
.case-heading h1 { font-size:clamp(36px,4.8vw,66px); letter-spacing:-2.8px; line-height:1.12; margin:0 0 22px; }
.case-lead { max-width:750px; font-size:clamp(18px,2vw,23px); color:var(--muted); line-height:1.5; margin:0; }
.case-tags { display:flex; flex-wrap:wrap; gap:8px 22px; list-style:none; padding:0; margin:22px 0 0; font-size:11px; color:var(--muted); }
.story-block { display:grid; grid-template-columns:23% minmax(0,750px); gap:24px; padding:29px 0; border-top:1px solid var(--line); }
.story-block h2 { font-size:14px; margin:3px 0 0; }
.story-block p { margin:0; line-height:1.8; font-size:16px; }
.resource-links { display:flex; flex-direction:column; align-items:start; }
.process-figure { margin:24px 0 40px; padding:44px 36px 22px; background:var(--panel); }
.process { list-style:none; display:flex; padding:0; margin:0; }
.process li { flex:1; position:relative; min-width:0; padding:22px 22px 0 0; font-size:14px; }
.process li:not(:last-child)::after { content:''; position:absolute; top:0; left:6px; right:-6px; border-top:1px solid var(--accent); opacity:.5; }
.step-dot { position:absolute; top:-4px; left:0; width:9px; height:9px; border:2px solid var(--accent); border-radius:50%; background:var(--panel); z-index:1; }
figcaption { margin-top:28px; font-size:11px; color:var(--muted); }
.case-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:20px; padding-top:16px; }
.case-bottom .back-link { padding:8px 0; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding:0 0 36px; }
.contact-details { display:flex; flex-direction:column; align-items:start; }
.contact-email { font-size:clamp(18px,2.1vw,26px); color:var(--accent); letter-spacing:-.5px; overflow-wrap:anywhere; }
.contact-details p { font-size:13px; color:var(--muted); margin-top:24px; }
.contact-form { max-width:560px; display:flex; flex-direction:column; }
.contact-form label { font-size:12px; margin-bottom:7px; }
.contact-form input:not([type="hidden"]),.contact-form textarea { width:100%; border:1px solid var(--line); background:var(--bg); padding:12px 14px; border-radius:2px; margin:0 0 22px; }
.contact-form textarea { resize:vertical; min-height:130px; }
.send-button { align-self:start; border:0; background:var(--accent); color:var(--bg); padding:13px 22px; cursor:pointer; border-radius:2px; }
.send-button:hover { opacity:.85; }
.form-note { font-size:11px; line-height:1.6; color:var(--muted); max-width:440px; }
footer { display:flex; justify-content:space-between; gap:20px; margin-top:65px; padding:25px 0 30px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
footer a:hover { color:var(--accent); }
@media(min-width:1600px) { .page { width:90%; max-width:1700px; } }
@media(max-width:760px) { .hero { gap:36px; grid-template-columns:1fr; padding:40px 0; } .hero-title { font-size:58px; letter-spacing:-3px; } .hero-copy { max-width:550px; } .hero-copy .lead { font-size:24px; } .project-row { grid-template-columns:24px 1fr 20px; gap:12px; padding:23px 0; } .row-aside { grid-column:2; text-align:left; } .row-arrow { grid-column:3; grid-row:1; } .tags { font-size:10px; } .status { display:inline; margin-left:12px; } .page-heading { padding:40px 0 32px; } .resource-row { grid-template-columns:1fr 24px; gap:3px 12px; } .resource-row > .row-company { grid-column:1; } .resource-row > div { grid-column:1; } .resource-row > .row-arrow { grid-column:2; grid-row:1/3; } .story-block { grid-template-columns:1fr; gap:13px; } .contact-layout { grid-template-columns:1fr; gap:32px; } .case-heading h1 { letter-spacing:-1.8px; } .process-figure { padding:30px 22px 20px; } .process { flex-direction:column; gap:23px; } .process li { padding:0 0 0 23px; } .step-dot { left:0; top:7px; } .process li:not(:last-child)::after { top:12px; left:4px; bottom:-34px; right:auto; border-top:0; border-left:1px solid var(--accent); } .process li:last-child { padding-bottom:0; } footer { margin-top:42px; flex-wrap:wrap; } footer > span:nth-child(2) { display:none; } }
@media(max-width:420px) { .site-header { padding-top:19px; gap:12px; } .wordmark { font-size:21px; } .controls { gap:12px; } .site-nav { gap:18px; flex-wrap:wrap; } .nav-link { font-size:11px; padding-bottom:12px; } .hero-title { font-size:52px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.project-years { display:block; color:var(--muted); font-size:11px; margin-bottom:6px; }
.case-heading > .project-years { margin-top:22px; margin-bottom:0; }

.mentions { min-width:0; }
.mention { display:grid; grid-template-columns:minmax(0,210px) minmax(0,1fr); gap:24px; align-items:start; }
.mention + .mention { margin-top:30px; padding-top:30px; border-top:1px solid var(--line); }
.mention-image { display:block; }
.mention-image img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.mention h3 { margin:7px 0 10px; font-size:20px; line-height:1.35; letter-spacing:-.4px; }
.mention .mention-source { font-size:11px; color:var(--muted); }
.mention p { font-size:14px; line-height:1.7; }
.mentions .mention-note { margin-top:25px; font-size:11px; color:var(--muted); }
@media(max-width:560px) { .mention { grid-template-columns:1fr; gap:16px; } .mention-image { max-width:360px; } }
