:root{--ink:#11282a;--deep:#0c2022;--paper:#faf8f1;--soft:#ecefe4;--lime:#e9f492;--muted:#51615a;--line:#ccd3c8;--body:"DM Sans",system-ui,sans-serif;--display:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6}a{color:inherit}a:focus-visible{outline:3px solid #7e9443;outline-offset:5px}img{display:block;width:100%;height:auto}.wrap{width:min(1200px,calc(100% - 104px));margin-inline:auto}.dark{background:var(--ink);color:var(--paper)}.skip{position:absolute;left:1rem;top:-5rem;background:var(--lime);color:var(--ink);z-index:3;padding:.5rem 1rem}.skip:focus{top:1rem}
.nav,.footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav{min-height:78px;border-bottom:1px solid #ffffff28}.brand{display:inline-flex;align-items:center;gap:.65rem;font-size:1.12rem;font-weight:700;text-decoration:none;white-space:nowrap}.mark{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:29px;height:29px;border-radius:6px;font-size:1.03rem;font-weight:700}.nav-links{display:flex;align-items:center;gap:clamp(14px,4vw,44px);font-size:.9rem}.nav-links a{text-decoration:none}.nav-links a:hover,.case-body a:hover{text-decoration:underline}.nav-contact{border:1px solid #ffffff57;padding:.5rem .85rem;border-radius:4px}
.hero{padding:clamp(60px,9vw,122px) 0 clamp(58px,8vw,110px)}.hero-grid{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:clamp(26px,5vw,75px)}.eyebrow{margin:0 0 16px;font-weight:700;font-size:.7rem;letter-spacing:.15em}.hero .eyebrow,.contact .eyebrow{color:var(--lime)}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px}h1,h2,h3{font-weight:400;margin:0;line-height:.99;font-family:var(--display)}h1{font-size:clamp(52px,6.35vw,104px);letter-spacing:-.025em}h1 em{color:var(--lime)}h2{font-size:clamp(47px,6vw,86px);letter-spacing:-.019em}h3{font-size:clamp(30px,3vw,44px)}.hero-copy{max-width:440px;margin:25px 0;color:#e0e7da;font-size:clamp(1rem,1.4vw,1.16rem)}.hero-actions{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap}.hero-actions>span,.small{font-size:.83rem;color:#d3dfce}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:.82rem 1.05rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:.88rem;min-height:48px}.bright{background:var(--lime);color:var(--ink)}.bright:hover{background:#fbffcb}.proof{margin:0;border:1px solid #ffffff3a;background:var(--deep);padding:9px;border-radius:9px;box-shadow:0 24px 70px #07171880}.proof img{border-radius:4px;aspect-ratio:1.22;object-fit:cover}.proof-caption{padding:15px 10px 7px;display:flex;align-items:center;justify-content:space-between;gap:12px}.proof-caption p{color:var(--lime);font-size:.62rem;letter-spacing:.13em;margin:0 0 1px}.proof-caption strong{font-weight:600}.proof-caption a{padding:3px 10px;text-decoration:none;border:1px solid #ffffff4f;border-radius:50%}
.strip{background:var(--lime)}.strip .wrap{display:flex;justify-content:space-between;gap:12px 26px;flex-wrap:wrap;padding:17px 0;font-size:.86rem;font-weight:700}.section{padding-block:clamp(65px,9vw,118px)}.services{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-block:1px solid var(--line)}.services article{padding:24px 20px 24px 0}.services article+article{border-left:1px solid var(--line);padding-left:20px}.icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--soft);font-size:1.15rem;margin-bottom:22px}.services p,.case-body p:not(.eyebrow){font-size:.95rem;color:var(--muted);margin-bottom:0}.work{background:var(--soft)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}.case{background:var(--paper);border:1px solid var(--line);border-radius:7px;overflow:hidden}.case>img,.demo{aspect-ratio:1.8;object-fit:cover}.case-body{padding:24px}.case-body .eyebrow{margin-bottom:9px}.case-body a{display:inline-block;margin-top:17px;font-weight:700;text-underline-offset:4px}.demo{background:var(--deep);color:var(--paper);padding:clamp(17px,3vw,34px);display:flex;flex-direction:column;min-height:175px}.demo-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.demo-title span{font-size:.65rem;border:1px solid #ffffff50;border-radius:20px;padding:2px 8px;white-space:nowrap}.demo p{font-size:.72rem;color:#c8d5c6;margin:8px 0 0}.chart{flex:1;display:flex;gap:8%;align-items:flex-end;border-bottom:1px solid #ffffff50;padding:0 8%;margin-bottom:16px}.chart div{width:18%;height:var(--height);min-height:12px;background:var(--lime);border-radius:4px 4px 0 0;position:relative}.chart div:nth-child(odd){background:#a9bda2}.chart span{position:absolute;top:100%;width:100%;text-align:center;font-size:.62rem}
.contact{padding-block:clamp(62px,9vw,105px)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:end}.contact-grid>div+div{max-width:410px}.contact-grid>div>p:not(.eyebrow){color:#e0e7da}.footer{min-height:75px;border-top:1px solid #ffffff28;font-size:.82rem;color:#d4dfd3}
@media(max-width:950px){.wrap{width:calc(100% - 56px)}.services{grid-template-columns:1fr 1fr}.services article:nth-child(3){border-left:0;padding-left:0}.services article:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:690px){.wrap{width:calc(100% - 36px)}.nav{min-height:65px}.nav-links{gap:12px;font-size:.78rem}.nav-contact{padding:.35rem .5rem}.hero-grid,.work-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:36px}.hero h1{font-size:clamp(47px,10vw,70px)}.wide{display:none}.proof img{aspect-ratio:1.65}.strip .wrap{font-size:.78rem}.footer{padding-block:15px;align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:375px){.nav-links>a:first-child{display:none}.services article+article{padding-left:12px}.services article:nth-child(3){padding-left:0}.services article{padding-right:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Give the work room to breathe, with details available on demand. */
.wrap{width:min(1280px,calc(100% - 120px))}
.hero{padding-block:clamp(100px,12vw,175px)}
.hero-grid{grid-template-columns:1.14fr .86fr;gap:clamp(44px,7vw,100px)}
.hero h1{font-size:clamp(66px,7.1vw,113px)}
.hero-copy{margin-block:30px;max-width:38ch}
.proof img{aspect-ratio:1.18}
.proof-caption{padding:19px 11px 11px}
.section{padding-block:clamp(90px,10.5vw,158px)}
.services{margin-top:52px;grid-template-columns:1fr 1fr;column-gap:7vw;border:0}
.services article,.services article+article,.services article:nth-child(n+3){border:0;border-top:1px solid var(--line);padding:28px 0 34px}
.services p{max-width:38ch}
.work-heading,.project-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.work-heading>p{max-width:29ch;color:var(--muted);margin:0}
.work-grid{gap:30px;margin-top:52px}
.case-body{padding:clamp(22px,3vw,40px)}
.project-heading{margin:78px 0 20px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters[hidden],.projects details[hidden]{display:none}
.filters button{font:inherit;font-size:.85rem;border:1px solid #9ba99d;border-radius:100px;color:var(--ink);background:transparent;padding:.4rem .9rem;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.filters button:focus-visible,.projects summary:focus-visible{outline:3px solid #7e9443;outline-offset:4px}
.projects{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:start}
.projects details{border-top:1px solid var(--line)}
.projects summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 3px;cursor:pointer;list-style:none}
.projects summary::-webkit-details-marker{display:none}
.projects summary small{display:block;font-weight:700;letter-spacing:.09em;font-size:.64rem;color:var(--muted)}
.projects summary strong{font-family:var(--display);font-size:clamp(26px,3vw,38px);font-weight:400;line-height:1.14}
.expand{display:grid;place-items:center;flex:none;border-radius:50%;width:33px;height:33px;background:var(--paper);transition:background .2s ease}
.expand::before{content:'+'}
.projects details[open] .expand::before{content:'−'}
.projects summary:hover .expand{background:var(--lime)}
.projects details p{color:var(--muted);margin:0;padding:0 35px 24px 3px;max-width:54ch}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:950px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:clamp(49px,7.5vw,78px)}}
@media(max-width:690px){.wrap{width:calc(100% - 38px)}.hero{padding-block:65px}.hero-grid,.projects{grid-template-columns:1fr}.hero-grid{gap:40px}.proof img{aspect-ratio:1.65}.project-heading{margin-top:55px}.work-grid{gap:18px;margin-top:30px}.services{column-gap:20px}.section{padding-block:72px}}
@media(prefers-reduced-motion:reduce){.expand{transition:none}}
