:root{--paper:#f5f3ed;--ink:#20231f;--muted:#62665d;--line:#d2d4c9;--lime:#dfed5a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #6c7919;outline-offset:6px}::selection{background:var(--lime)}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--lime);z-index:100}.skip:focus{top:10px}.nav{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.wordmark{font-size:21px;font-weight:700;letter-spacing:-1px}.wordmark span{color:#738026}.nav nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:4px}.hero,.section,.contact{padding:70px 7%;max-width:1600px;margin:auto}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.8px;font-weight:700;margin:0 0 30px}.hero .eyebrow{display:flex;justify-content:space-between}.hero .eyebrow span{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.065em;font-weight:500;line-height:1.04}h1{font-size:clamp(70px,10.8vw,160px);margin-bottom:35px}h2{font-size:clamp(40px,5.1vw,76px);margin-bottom:30px}em{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.075em}h1 em{background:var(--lime);padding:0 .12em}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:50px}.hero-bottom p{max-width:500px;font-size:19px;margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 24px;border-radius:2px;font-size:14px;font-weight:700;white-space:nowrap}.dark{background:var(--ink);color:var(--paper)}.button:hover{background:#41473c}.hero-strip{border-top:1px solid var(--line);margin-top:65px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.section{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:30px}.section-heading>p{max-width:340px;color:var(--muted)}.filters{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:9px 18px;border-radius:30px;cursor:pointer;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px 25px}.project[hidden]{display:none}.project-image{position:relative;overflow:hidden;background:#e4e5de;aspect-ratio:1.6}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.035)}.project-arrow{position:absolute;right:14px;bottom:14px;background:var(--paper);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:22px}.project-caption{display:flex;gap:15px;justify-content:space-between;padding-top:15px}.project-caption h3{font-size:17px;line-height:1.35;font-weight:500;margin:0;max-width:78%}.project-caption>span{font-size:10px;color:var(--muted);text-transform:uppercase;white-space:nowrap;padding-top:3px}.services{background:#e9eadf}.services h2{margin-bottom:55px}.service{display:grid;grid-template-columns:45px 1fr 1fr;gap:25px;padding:30px 0;border-top:1px solid #c3c6b7}.service>span{font-size:11px}.service h3{font-weight:500;font-size:25px;line-height:1.2;letter-spacing:-.03em}.service p{font-size:15px;max-width:470px}.service .tags{font-size:11px;color:var(--muted);margin-bottom:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%}.about .intro{font-size:25px;line-height:1.4;letter-spacing:-.025em}.about p:not(.eyebrow){max-width:570px}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:5px;margin:10px 0 30px;font-size:14px}.toolkit{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:25px;margin-top:15px}.toolkit span{font-size:11px;border:1px solid var(--line);padding:6px 10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps span{font-size:11px;text-transform:uppercase;letter-spacing:1px}.steps h3{font-size:23px;font-weight:500;letter-spacing:-.04em;margin:25px 0 12px}.steps p{color:var(--muted);font-size:14px;max-width:330px}.contact{background:var(--lime);padding-top:80px;padding-bottom:80px}.contact h2{font-size:clamp(70px,9vw,140px)}.contact-email{font-size:clamp(18px,3.1vw,44px);letter-spacing:-.03em;border-bottom:1px solid;display:flex;justify-content:space-between;max-width:800px;margin:30px 0}.contact p:last-child{font-size:14px}footer{display:flex;padding:30px 7%;gap:25px;font-size:11px;max-width:1600px;margin:auto}footer span{margin-right:auto}.case h1{font-size:clamp(40px,6vw,90px);max-width:1100px}.case .eyebrow{margin-top:35px}.case-image{width:100%;max-height:650px;object-fit:contain;background:#e6e7e0}.case-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding:55px 0}.case-copy h2{font-size:30px;letter-spacing:-.04em}.case-copy p{font-size:16px;line-height:1.75}.case-copy .small{font-size:12px;color:var(--muted);margin-top:15px}.credits{border-left:1px solid var(--line);padding-left:35px}.credits p{font-size:14px}a:hover.text-link,footer a:hover{color:#68751e}@media(min-width:1600px){.nav{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}@media(max-width:700px){html{scroll-padding-top:80px}.nav{padding:18px 5%;gap:15px}.wordmark{font-size:17px}.nav nav{gap:16px;font-size:12px}.nav nav a:nth-child(3){display:none}.hero,.section,.contact{padding:48px 6%}.hero .eyebrow{display:block;font-size:10px}.hero .eyebrow span{display:block;margin-top:8px}.hero-bottom,.section-heading{display:block}.hero-bottom p{font-size:17px;margin-bottom:25px}.hero-strip{flex-wrap:wrap;margin-top:40px;font-size:11px}.hero-strip span{width:43%}.section-heading>p{max-width:100%}.projects{grid-template-columns:1fr;gap:30px}.project-caption h3{font-size:16px}.service{grid-template-columns:25px 1fr;gap:10px}.service>div{grid-column:2}.service h3{font-size:23px;margin-bottom:10px}.about,.steps,.case-copy{grid-template-columns:1fr;gap:25px}.about h2{margin-bottom:0}.steps{margin-top:25px}.credits{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.case-copy{padding:30px 0}footer{flex-wrap:wrap;padding:25px 6%;gap:18px}footer span{width:100%}.contact-email{font-size:20px}.contact h2{font-size:75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image img{transition:none}}
/* Coordinated accent palettes; the default stays lime. */
:root{--accent-text:#68751e;--focus:#6c7919}
:root[data-palette="clay"]{--lime:#efb59d;--paper:#f8f2ed;--accent-text:#8a4330;--focus:#8a4330}
:root[data-palette="blue"]{--lime:#b7d3ee;--paper:#f2f4f6;--accent-text:#345d80;--focus:#345d80}
a:focus-visible,button:focus-visible{outline-color:var(--focus)}
.wordmark span,a:hover.text-link,footer a:hover{color:var(--accent-text)}
.project:hover .project-caption h3{text-decoration:underline;text-underline-offset:4px}
.button:hover{box-shadow:0 3px 0 var(--accent-text)}
.palette-bar{max-width:1600px;margin:auto;padding:25px 7% 0}
.palette-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:0;border-bottom:1px solid var(--line);margin:0;padding:0 0 20px;min-width:0}
.palette-picker legend{float:left;font-size:11px;letter-spacing:.06em;padding:10px 18px 10px 0}
.palette-picker button{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:25px;padding:10px 14px;min-height:44px;font-size:12px;cursor:pointer}
.palette-picker button[aria-pressed="true"]{border-color:var(--ink);font-weight:700}
.swatch{width:15px;height:15px;border-radius:50%;border:1px solid #5558}
.swatch-lime{background:#dfed5a}.swatch-clay{background:#efb59d}.swatch-blue{background:#b7d3ee}
@media(max-width:700px){.palette-bar{padding:20px 6% 0}.palette-picker legend{float:none;width:100%;padding-bottom:8px}}
