
:root{--ink:#101518;--dark:#12191c;--paper:#f4f3ee;--white:#fff;--lime:#d8fc6b;--line:#d3d8d2;--muted:#576460}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Manrope,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06;letter-spacing:-.065em}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #82c519;outline-offset:4px}::selection{background:var(--lime);color:var(--ink)}.shell{width:min(1320px,calc(100% - 80px));margin:auto}.mono{font:500 .76rem/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.top{background:var(--dark);color:white}.nav{height:88px;border-bottom:1px solid #3b4445;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:1rem;font-weight:800;line-height:1.03;letter-spacing:-.045em}.glyph{background:var(--lime);color:var(--ink);width:38px;height:38px;display:grid;place-items:center;font:800 1.2rem Manrope;border-radius:2px;letter-spacing:-.1em;padding-right:3px}.nav-links{display:flex;align-items:center;gap:32px;font-size:.86rem;font-weight:700}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--lime)}.nav-cta{border:1px solid #697475;padding:11px 16px}.nav-cta:hover{border-color:var(--lime)}.hero{padding:106px 0 83px}.hero-top{display:flex;justify-content:space-between;gap:20px}.hero-top .mono:last-child{color:#adbbb7}.hero h1{font-size:clamp(4rem,10.1vw,10.4rem);font-weight:800;line-height:.94;margin:47px 0 38px;max-width:1210px}.hero h1 span{color:var(--lime)}.hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.hero-desc{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.5;max-width:630px;color:#dae1dc}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap}.btn{display:inline-flex;min-height:58px;align-items:center;justify-content:space-between;gap:44px;padding:0 22px;background:var(--lime);color:var(--ink);font-size:.9rem;font-weight:800;text-decoration:none;border:1px solid var(--lime)}.btn:hover{background:#edffad}.btn .arr{font-size:1.4rem;font-weight:400}.text-link{font-size:.88rem;font-weight:700;text-underline-offset:6px}.hero-rule{border-top:1px solid #4d5757;margin-top:84px;padding-top:19px;display:flex;justify-content:space-between;color:#bac5c0}.proof-strip{background:var(--lime);color:var(--ink)}.proof-row{min-height:112px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.proof-item{padding:14px 35px;border-left:1px solid #a6bd60}.proof-item:first-child{padding-left:0;border:0}.proof-item strong{font-size:1.65rem;letter-spacing:-.07em;display:block;line-height:1.15}.proof-item span{font-size:.78rem;font-weight:700}.section{padding:118px 0}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:55px}.section-head h2{font-size:clamp(2.8rem,5.6vw,5.7rem);max-width:920px;margin:0}.section-head .mono{padding-top:13px;color:#496b27}.section-intro{font-size:1.12rem;color:#47544f;max-width:650px;margin:20px 0 0}.services{border-top:1px solid #aebbb0}.service{display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:39px 0;border-bottom:1px solid #aebbb0;align-items:start}.service .mono{padding-top:8px;color:#557b23}.service h3{font-size:clamp(1.55rem,2.7vw,2.55rem);margin:0}.service p{font-size:1rem;color:#46544d;margin:5px 0 0;max-width:510px}.work{background:#dce7d9}.work .section-head{margin-bottom:48px}.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.case{background:#f7f8f3;min-height:475px;display:flex;flex-direction:column;padding:36px;border:1px solid #c0d1bd}.case-number{display:flex;justify-content:space-between;border-bottom:1px solid #ccd6c9;padding-bottom:20px;color:#506a4a}.case-main{margin:auto 0}.case h3{font-size:clamp(2rem,3.2vw,3.45rem);margin:0 0 18px}.case p{color:#4c5b54;max-width:460px;margin:0}.case-foot{display:flex;gap:12px;flex-wrap:wrap;padding-top:23px;border-top:1px solid #ccd6c9}.case-foot span{font:500 .7rem 'DM Mono';text-transform:uppercase;letter-spacing:.06em}.case-feature{background:var(--dark);color:#fff}.case-feature .case-number,.case-feature .case-foot{border-color:#47534e;color:#b4c3b6}.case-feature p{color:#c4d0c4}.case-feature .metric{font:800 4.5rem/1 Manrope;letter-spacing:-.08em;color:var(--lime);display:block;margin-bottom:12px}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{font-size:clamp(3rem,5.6vw,5.9rem);margin:18px 0 0}.about-copy{font-size:1.17rem;line-height:1.75;color:#3c4943}.about-copy p{margin-bottom:24px}.about-copy strong{color:var(--ink)}.credential{border-top:1px solid var(--line);display:grid;grid-template-columns:140px 1fr;gap:20px;padding:20px 0;font-size:.92rem}.credential .mono{color:#627868}.quote{background:#e5ebdb;padding:55px;margin-top:70px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.quote blockquote{margin:0;font-size:clamp(1.35rem,2.4vw,2.2rem);font-weight:600;letter-spacing:-.04em;line-height:1.45}.quote cite{display:block;font-size:.87rem;font-style:normal;font-weight:700;margin-top:24px;letter-spacing:0}.contact{background:var(--lime);padding:95px 0}.contact h2{font-size:clamp(3.5rem,8vw,8.5rem);max-width:1150px;margin:20px 0 45px}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px}.contact p{max-width:570px;font-size:1.1rem;margin:0}.contact .btn{background:var(--dark);color:white;border-color:var(--dark)}.contact .btn:hover{background:#364144}.footer{background:var(--dark);color:#b8c5be;padding:35px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:24px}.footer a{text-underline-offset:5px}.footer a:hover{color:var(--lime)}@media(max-width:900px){.shell{width:min(100% - 42px,1320px)}.hero{padding:80px 0 55px}.hero h1{font-size:clamp(4.2rem,10vw,8rem)}.hero-foot{gap:25px}.service{grid-template-columns:50px 1fr;gap:10px 20px}.service p{grid-column:2}.about-grid{gap:45px}.quote{grid-template-columns:1fr;gap:18px}}@media(max-width:650px){.nav{height:auto;min-height:80px;flex-wrap:wrap;padding:18px 0}.nav-links{width:100%;gap:17px;flex-wrap:wrap;font-size:.8rem}.nav-cta{padding:7px 10px}.hero{padding:62px 0 34px}.hero-top .mono:last-child{display:none}.hero h1{font-size:clamp(3.7rem,14vw,6.3rem);margin:40px 0 28px}.hero-foot{display:block}.hero-desc{font-size:1.14rem}.hero-actions{justify-content:flex-start;margin-top:30px}.hero-rule{margin-top:52px}.hero-rule .mono:last-child{display:none}.proof-row{grid-template-columns:1fr;gap:0;padding:12px 0}.proof-item,.proof-item:first-child{border:0;border-bottom:1px solid #a6bd60;padding:15px 0}.proof-item:last-child{border:0}.proof-item strong{font-size:1.3rem}.section{padding:75px 0}.section-head,.about-grid{display:block}.section-head{margin-bottom:34px}.section-head .mono{display:block;padding:0 0 20px}.service{padding:29px 0;grid-template-columns:35px 1fr}.service h3{font-size:1.6rem}.cases{grid-template-columns:1fr}.case{min-height:375px;padding:25px}.about h2{margin-bottom:28px}.credential{grid-template-columns:1fr;gap:5px}.quote{padding:30px;margin-top:35px}.contact{padding:70px 0}.contact h2{font-size:clamp(3.3rem,13vw,6rem)}.contact-bottom{display:block}.contact .btn{margin-top:30px}.footer-row{display:block}.footer-links{margin-top:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Interaction layer */
:root{scroll-padding-top:120px}.skip-link{position:fixed;top:12px;left:16px;z-index:100;padding:12px 18px;background:var(--lime);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.reading-progress{height:3px;position:fixed;inset:0 0 auto;z-index:60;background:var(--lime);transform:scaleX(0);transform-origin:left;pointer-events:none}.nav{position:fixed;inset:0 0 auto;z-index:50;padding:0 max(40px,calc((100vw - 1320px)/2));background:rgba(18,25,28,.96);border-bottom-color:rgba(178,197,186,.2);transition:height .25s,box-shadow .25s;backdrop-filter:blur(14px)}.nav.is-scrolled{height:74px;box-shadow:0 4px 32px #0002}.nav-links a{position:relative}.nav-links a[aria-current="location"]{color:var(--lime)}.nav-links a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav-links a:hover:after,.nav-links a[aria-current="location"]:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{padding-top:178px;position:relative}.hero-top,.hero h1,.hero-foot,.hero-rule{position:relative;z-index:1}.hero:before{content:"";position:absolute;width:550px;height:550px;right:-20px;top:100px;background:radial-gradient(ellipse,rgba(216,252,107,.08),transparent 67%);pointer-events:none;animation:glow-drift 5s ease-out 1 forwards}.top{overflow:hidden}.hero h1 span.headline-line{display:block;color:#fff}.hero h1 span.accent{color:var(--lime)}.hero h1{font-size:clamp(4rem,9.7vw,9rem);margin-top:35px}.hero-desc{margin-bottom:0}.btn{transition:background .2s,box-shadow .2s,transform .2s;position:relative}.btn .arr{transition:transform .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002}.btn:hover .arr{transform:translate(3px,-3px)}.btn:active{transform:translateY(0)}.hero-rule{margin-top:58px}.service{display:block;padding:0;transition:background .25s}.service summary{display:grid;grid-template-columns:45px 1fr 1fr 30px;gap:30px;align-items:start;padding:35px 0;list-style:none;cursor:pointer}.service summary::-webkit-details-marker,.case-detail summary::-webkit-details-marker{display:none}.service summary:focus-visible,.case-detail summary:focus-visible{outline:3px solid #507628;outline-offset:6px}.service-title{font-size:clamp(1.55rem,2.7vw,2.55rem);font-weight:800;letter-spacing:-.065em;line-height:1.12;transition:color .2s}.service-description{font-size:1rem;color:#46544d;padding-top:2px;line-height:1.6}.expand-icon{width:28px;height:28px;border:1px solid #a7b4a2;border-radius:50%;position:relative;display:block;margin-top:6px;transition:background .2s,transform .3s}.expand-icon:before,.expand-icon:after{content:"";position:absolute;width:10px;height:1px;top:12px;left:8px;background:var(--ink);transition:transform .25s}.expand-icon:after{transform:rotate(90deg)}.service[open] .expand-icon{background:var(--lime);border-color:#abc65a}.service[open] .expand-icon:after{transform:rotate(0)}.service summary:hover .service-title{color:#4d7026}.service summary:hover .expand-icon{background:var(--lime)}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:5px 60px 35px 75px}.service-content h3{font-size:1.35rem;letter-spacing:-.04em;line-height:1.3;margin-bottom:14px}.service-content ul{padding-left:20px;margin:0;color:#46544d}.service-content li{margin:6px 0}.service-content p{margin:12px 0 18px}.service-content .mono{padding:0;font-size:.7rem}.service[open] .service-content{animation:detail-in .3s ease-out}.case{transition:transform .3s,box-shadow .3s,border-color .3s;min-height:500px}.case:hover{transform:translateY(-5px);box-shadow:0 20px 35px #24341d12;border-color:#849b79}.case-main{padding:32px 0}.case-detail{margin:0 0 22px}.case-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:800;padding:8px 0}.case-detail summary span{font-size:1.15rem;transition:transform .25s;line-height:1}.case-detail[open] summary span{transform:rotate(45deg)}.case-detail p{font-size:.9rem;margin:14px 0 7px;line-height:1.7}.case-detail[open] p{animation:detail-in .3s ease-out}.case-feature .case-detail summary{color:var(--lime)}.case-feature .case-detail summary:focus-visible{outline-color:var(--lime)}.case-feature .metric{font-variant-numeric:tabular-nums;min-height:1em}.proof-item strong{font-variant-numeric:tabular-nums}.case-foot{margin-top:auto}.section{scroll-margin-top:74px}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .case.reveal.is-visible:hover{transform:translateY(-5px)}.motion-ready .headline-line{animation:headline-in .9s cubic-bezier(.2,.75,.2,1) both}.motion-ready .headline-line:nth-child(2){animation-delay:.11s}.motion-ready .headline-line:nth-child(3){animation-delay:.22s}@keyframes headline-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-drift{to{transform:translate(-50px,35px);opacity:.5}}@media(max-width:900px){.nav{padding-left:21px;padding-right:21px}.hero{padding-top:150px}.service summary{grid-template-columns:35px 1fr 28px;gap:12px 20px}.service-description{grid-column:2;grid-row:2}.expand-icon{grid-column:3;grid-row:1}.service-content{padding-left:55px;padding-right:45px;gap:24px}.case{min-height:460px}}@media(max-width:650px){:root{scroll-padding-top:90px}.nav,.nav.is-scrolled{min-height:76px;height:76px;padding:16px 21px;flex-wrap:nowrap}.logo{font-size:.88rem}.glyph{height:34px;width:34px}.menu-toggle{display:flex;align-items:center;gap:10px;font:700 .85rem Manrope;color:#fff;background:transparent;border:1px solid #56655d;padding:9px 12px;cursor:pointer}.menu-icon{width:15px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"] .menu-icon{transform:rotate(-90deg)}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;margin:0;width:auto;background:var(--dark);padding:15px 21px 24px;border-bottom:1px solid #546053;box-shadow:0 18px 25px #0002}.nav-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links a{font-size:1rem;padding:14px 0}.nav-links .nav-cta{padding:13px 14px;margin-top:10px;text-align:center}.nav-links a:not(.nav-cta):after{bottom:5px;right:auto;width:35px}.hero{padding-top:126px}.hero h1{font-size:clamp(3.1rem,12.7vw,5.5rem);line-height:1;margin:30px 0 25px}.hero .hero-top .mono{font-size:.75rem;letter-spacing:.035em}.hero:before{right:-150px;top:50px}.hero-desc{font-size:1.12rem}.hero-actions{gap:22px}.hero-actions .btn{font-size:.81rem;padding:0 17px;gap:20px;width:100%}.hero-rule{margin-top:43px}.service summary{padding:27px 0;grid-template-columns:25px 1fr 25px;gap:10px 13px}.service-title{font-size:1.55rem}.service-description{font-size:.94rem}.service .expand-icon{width:25px;height:25px;margin-top:3px}.expand-icon:before,.expand-icon:after{left:6px;top:11px}.service-content{grid-template-columns:1fr;padding:0 14px 30px 38px;gap:25px}.case{min-height:400px}.case-main{padding:28px 0}.section{scroll-margin-top:70px}.footer-links{gap:20px}.contact .btn{width:100%}.no-js .nav-links{display:flex;position:static;flex-direction:row;flex-wrap:wrap}.no-js .menu-toggle{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.case:hover,.btn:hover{transform:none!important}}@media print{.nav,.reading-progress,.menu-toggle{display:none}.motion-ready .reveal{opacity:1!important;transform:none!important}.hero{padding-top:30px}.service-content{display:grid!important}.case-detail p{display:block!important}}

@media(max-width:650px){.no-js .nav{position:relative;height:auto;flex-wrap:wrap}.no-js .hero{padding-top:55px}.no-js .nav-links{width:100%;padding:12px 0 0;box-shadow:none}.no-js .nav-links a{font-size:.85rem;padding:8px 0}.no-js .nav-links .nav-cta{padding:8px;margin:0}}
