:root{--ink:#111115;--paper:#f5f3ed;--accent:#79d6a2;--muted:#bcbcc3;--line:#38383e;--reading:#55555c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.65}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}:is(a:focus-visible,summary:focus-visible){outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.wrap{max-width:1140px;margin:auto;padding-inline:48px}.skip{background:var(--paper);color:var(--ink);z-index:5;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:25px;display:flex}.brand{letter-spacing:-.5px;font-size:20px;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}nav{align-items:center;gap:28px;font-size:14px;display:flex}nav a{padding-block:10px;text-decoration:none}nav .nav-cta{border:1px solid #76767b;border-radius:3px;align-items:center;gap:5px;min-height:44px;padding:10px 16px;display:inline-flex}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 24px;font-size:12px;font-weight:700}.hero{padding-top:92px;padding-bottom:74px}.hero h1{letter-spacing:-3.6px;max-width:1000px;margin:0 0 30px;font-size:clamp(46px,6.4vw,80px);font-weight:700;line-height:1.04}.hero h1 span{color:var(--accent);display:block}.intro{color:#d0cfd4;max-width:660px;margin:0 0 30px;font-size:21px;line-height:1.6}.cta-row{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.button{background:var(--accent);min-height:52px;color:var(--ink);border-radius:3px;justify-content:center;align-items:center;gap:28px;padding:13px 22px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{color:var(--ink);background:#a0e6be}.quiet-link{padding-block:12px;font-size:15px}.proof{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:22px;padding-block:32px 40px;display:grid}.proof strong{letter-spacing:-1px;font-size:36px;line-height:1.2;display:block}.proof span{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.5;display:block}.section{padding-block:88px}.section-title{letter-spacing:-1.6px;margin:0 0 22px;font-size:clamp(32px,4vw,46px);line-height:1.12}.section-lead{max-width:650px;color:var(--reading);margin:0 0 44px}.light{background:var(--paper);color:var(--ink)}.light .eyebrow,.light a:hover{color:#28734d}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.service{border-top:1px solid #c6c3bc;padding-top:24px}.number{color:#28734d;letter-spacing:1px;font-size:13px;font-weight:700}.service h3{letter-spacing:-.7px;margin:17px 0 12px;font-size:24px;line-height:1.25}.service p{color:var(--reading);margin:0;font-size:16px;line-height:1.7}.work .eyebrow{margin-bottom:16px}.work-item{border-top:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:64px;padding-block:40px;display:grid}.work-item:first-of-type{margin-top:42px}.work-item h3{letter-spacing:-.8px;margin:14px 0 18px;font-size:29px;line-height:1.2}.work-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:12px}.work-item p{color:#cbcbd1;margin:0;font-size:17px}.work-item .result{color:var(--accent);margin-top:20px;font-size:14px}.story-layout{grid-template-columns:.8fr 1.2fr;gap:92px;display:grid}.story-intro p{color:var(--reading);font-size:17px}.timeline{border-left:1px solid #d3ccc3;margin:0;padding:0 0 0 24px;list-style:none}.timeline li{padding:0 0 36px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";outline:5px solid var(--paper);background:#34815a;border-radius:50%;width:9px;height:9px;position:absolute;top:8px;left:-29px}.timeline .date{text-transform:uppercase;letter-spacing:1px;color:#28734d;font-size:12px;font-weight:700}.timeline h3{letter-spacing:-.5px;margin:9px 0 10px;font-size:23px;line-height:1.3}.timeline p{color:var(--reading);margin:0;font-size:16px;line-height:1.65}.contact{padding-block:85px 72px}.contact .section-title{max-width:670px;font-size:clamp(36px,4.8vw,58px)}.contact p{color:#cbcbd1;max-width:580px;margin-bottom:28px}.contact .email{color:var(--muted);overflow-wrap:anywhere;margin-top:18px;font-size:14px;display:block}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;padding-block:28px 36px;font-size:12px;display:flex}.footer-links{flex-wrap:wrap;gap:22px;display:flex}.footer-links a{padding-block:8px}footer p{margin:8px 0}.work-item{grid-template-columns:1.15fr 1fr;align-items:center;gap:42px}.work-figure{min-width:0;margin:0}.work-figure img{border-radius:4px;width:100%;height:auto;display:block}.work-figure figcaption{color:var(--muted);margin-top:9px;font-size:12px}.work-item h3{margin-top:12px}@media (max-width:760px){.wrap{padding-inline:24px}.header{padding-block:17px}.brand{font-size:18px}nav{gap:16px}nav .desktop-link{display:none}nav .nav-cta{padding:8px 12px;font-size:13px}.hero{padding-top:56px;padding-bottom:44px}.hero h1{letter-spacing:-2px;margin-bottom:24px;font-size:clamp(43px,8.5vw,64px);line-height:1.07}.eyebrow{letter-spacing:1.5px;margin-bottom:20px;font-size:11px}.intro{font-size:18px;line-height:1.65}.proof{grid-template-columns:1fr 1fr;gap:28px 20px;padding-block:28px 34px}.proof strong{font-size:32px}.proof span{max-width:160px;font-size:12px}.section{padding-block:58px}.section-title{letter-spacing:-1.2px;font-size:34px}.section-lead{margin-bottom:30px;font-size:17px}.service-grid{grid-template-columns:1fr;gap:27px}.service{padding-top:18px}.service h3{margin-top:10px;font-size:23px}.work-item{grid-template-columns:1fr;gap:16px;padding-block:30px}.work-item:first-of-type{margin-top:30px}.work-item h3{margin:10px 0 0;font-size:27px}.work-item p{font-size:16px}.story-layout{grid-template-columns:1fr;gap:34px}.story-intro p{margin-bottom:0}.timeline{margin-left:4px;padding-left:22px}.timeline li:before{left:-27px}.timeline h3{font-size:22px}.contact{padding-block:58px}.contact .section-title{letter-spacing:-1.4px;font-size:38px}.contact p{font-size:17px}footer{flex-direction:column;gap:6px;padding-block:22px 30px}.footer-links{gap:18px}.cta-row{gap:12px 22px}}@media (max-width:360px){.wrap{padding-inline:20px}.hero h1{letter-spacing:-1.8px;font-size:42px}.brand,.intro{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portfolio-lead{color:#c9c9d1;max-width:720px;margin:0 0 48px;font-size:20px}.system-grid{grid-template-columns:1fr 1fr;gap:56px 40px;display:grid}.system-card{min-width:0}.system-card figure{margin:0 0 20px}.system-card img{border-radius:5px;width:100%;height:auto;display:block}.system-card figcaption{color:#a6a6b0;margin-top:8px;font-size:11px}.system-card .work-label{letter-spacing:1.6px;color:var(--accent);margin:0 0 12px;font-size:11px}.system-card h3{letter-spacing:-.75px;margin:0 0 17px;font-size:28px;line-height:1.2}.system-card>p:not(.work-label){color:#cacad2;margin:0 0 18px;font-size:17px}.system-card details{border-top:1px solid var(--line)}.system-card summary{cursor:pointer;justify-content:space-between;gap:20px;padding:15px 0;font-size:14px;list-style:none;display:flex}.system-card summary::-webkit-details-marker{display:none}.system-card details[open] summary span{transform:rotate(45deg)}.system-card details p{color:#c6c6cf;margin:0 0 16px;font-size:16px}.system-card details .system-status{color:var(--accent);font-size:12px}.portfolio-end{color:#bcbcc5;border-top:1px solid var(--line);max-width:650px;margin:56px 0 0;padding-top:32px;font-size:20px}.story-dark{background:var(--ink);border-top:1px solid var(--line)}.story-dark .story-intro p,.story-dark .timeline p{color:#c6c6ce}.story-dark .timeline{border-left-color:#45454e}.story-dark .timeline .date{color:var(--accent)}.story-dark .timeline li:before{background:var(--accent);outline-color:var(--ink)}@media (max-width:760px){.system-grid{grid-template-columns:1fr;gap:44px}.system-card h3{font-size:27px}.system-card>p:not(.work-label){font-size:16px}.portfolio-lead{margin-bottom:32px;font-size:18px}.portfolio-end{margin-top:38px;font-size:18px}.work{padding-top:30px}.system-card figure{margin-bottom:18px}}.hero{grid-template-columns:1.65fr .8fr;align-items:center;gap:20px;padding-top:70px;padding-bottom:50px;display:grid}.hero h1{letter-spacing:-2.5px;font-size:clamp(42px,5.2vw,64px)}.hero-art{width:100%;height:auto;display:block}.intro{font-size:19px}.system-card figure{background:#1b1b20;border-radius:5px;padding-bottom:9px}.system-card figure img{aspect-ratio:900/560;object-fit:contain}.system-card figure .archive-photo{aspect-ratio:4/3;object-fit:contain}.system-card figcaption{padding-inline:12px}.service-art{width:190px;max-width:100%;height:auto;margin-bottom:17px;display:block}.story-photo{margin:0 0 35px}.story-photo img{aspect-ratio:16/9;object-fit:cover;object-position:50% 35%;border-radius:5px;width:100%;height:auto;display:block}.story-photo figcaption{color:var(--muted);margin-top:8px;font-size:11px}.contact{grid-template-columns:1.4fr .7fr;align-items:center;gap:36px;display:grid}.contact-art{width:100%;height:auto}.story-layout{gap:64px}.work{padding-top:48px}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-art{justify-self:start;width:250px;margin-top:8px}.hero h1{letter-spacing:-2px;font-size:56px}}@media (max-width:760px){.hero{gap:12px;padding-top:48px;padding-bottom:30px}.hero h1{letter-spacing:-1.8px;font-size:43px;line-height:1.08}.intro{font-size:18px}.hero-art{width:220px}.service-art{width:140px;margin-bottom:12px}.story-layout{gap:36px}.contact{grid-template-columns:1fr;gap:20px}.contact-art{justify-self:start;width:210px}.work{padding-top:32px}.story-photo{margin-bottom:30px}}.story-dark .story-intro .eyebrow{color:var(--accent)}.hero-photo{width:100%;max-width:420px;margin:0}.hero-photo img{border-radius:5px;width:100%;height:auto;display:block}.hero-photo figcaption{color:var(--muted);margin-top:8px;font-size:11px}.story-photo img{aspect-ratio:4/3;object-fit:contain}.story-photo{max-width:500px}
