@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--bg:#10120f;--panel:#191c17;--text:#f3f4ec;--muted:#a4aa9e;--green:#c5f879;--line:#30352b;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}button,a{transition:background .2s,color .2s,transform .2s}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.header{height:102px;display:flex;align-items:center;justify-content:space-between;width:min(1344px,calc(100% - 80px));margin:auto;border-bottom:1px solid var(--line);gap:24px}.brand{font-family:'Manrope',sans-serif;font-size:27px;letter-spacing:-1.4px;font-weight:800;white-space:nowrap}.brand span{font-weight:400}.brand b{color:var(--green)}nav{display:flex;gap:34px;font-size:14px;color:#c5c9bf}nav a:hover,.text-link:hover{color:var(--green)}.nav-contact{font-size:14px;border:1px solid #626c55;border-radius:6px;padding:10px 18px}.nav-contact span{color:var(--green);margin-left:23px;font-size:19px}.nav-contact:hover{background:#252c1e}.hero{padding-top:70px}.eyebrow{font:12px var(--mono);letter-spacing:1.5px;color:var(--green);display:flex;align-items:center;gap:10px}.tiny-line{width:24px;height:1px;background:var(--green)}.hero-year{margin-left:auto;color:#8c9484}.hero-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;padding:45px 0 65px;align-items:center}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(45px,4.7vw,68px);line-height:1.13;letter-spacing:-3.3px;font-weight:650}h1 span{color:var(--green)}.hero-copy>p{max-width:470px;color:var(--muted);font-size:18px;line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:14px 23px;font-size:14px;font-weight:700}.primary{background:var(--green);color:#17220c}.primary:hover{background:#d8ffac;transform:translateY(-2px)}.text-link{display:flex;gap:10px;align-items:center;font-size:14px}.text-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.code-card{position:relative;background:#1a1e17;border:1px solid #424b35;border-radius:10px;box-shadow:0 20px 80px #99d44d09;transform:rotate(2deg);font-family:var(--mono);font-size:13px;min-width:0}.code-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:14px 18px;color:#909b86;font-size:12px}.code-dots{color:#657356;font-size:11px;letter-spacing:3px}.code-body{padding:23px 14px;line-height:2;color:#aab59e;overflow-x:auto;white-space:nowrap}.code-body i{font-style:normal;display:inline-block;width:30px;color:#5f6c52;margin-right:12px;text-align:right}.code-body em{font-style:normal;color:#c5f879}.code-body b{font-weight:400;color:#bea6e4}.code-body .white{color:#e4e9de}.muted{color:#7e8a72}.code-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 18px;color:#96a288;font-size:11px}.code-decoration{position:absolute;bottom:-24px;right:-18px;font-size:38px;color:var(--green);padding:4px 16px;border:1px solid #586d3d;background:#252e1e;border-radius:8px;transform:rotate(-9deg)}.hero-bottom{display:flex;justify-content:space-between;padding:25px 0 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.hero-bottom>span:last-child{font-family:var(--mono);letter-spacing:1.2px}.hero-bottom b{color:var(--green);margin:0 12px}.stack-strip{background:#191d16;border-block:1px solid #2b3223}.stack-strip .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:23px;color:#aab49e;font-size:18px;font-weight:500}.section{padding-block:96px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:35px}h2{font-size:42px;letter-spacing:-1.9px;line-height:1.25;font-weight:600}.section-heading h2{margin-top:15px}.section-heading p{font-size:15px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid var(--line);border-radius:6px;padding:9px 17px;color:#b8c0af;background:transparent;font-size:14px}.filters button:hover{border-color:#7c9561}.filters button.active{color:var(--green);background:#26331b;border-color:#536b37}.filters button span{margin-left:12px;font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#151813;transition:border-color .2s}.project:hover{border-color:#626e50}.project[hidden]{display:none}.project-visual{padding:25px 28px 21px;display:flex;flex-direction:column;min-height:270px;position:relative;overflow:hidden}.lab{background:#dae8d2;color:#233c30}.church{background:#d8d3ed;color:#3c3355}.visual-heading,.visual-footer{display:flex;justify-content:space-between;gap:12px;font:10px var(--mono);letter-spacing:1px}.visual-heading{opacity:.7}.project-wordmark{font-family:'Manrope',sans-serif;font-size:76px;line-height:1.1;letter-spacing:-5px;font-weight:750;flex:1;padding-block:28px;position:relative}.project-wordmark>span:not(.small-word):not(.wordmark-plus){font-weight:400}.wordmark-plus{position:absolute;right:7px;top:28px;font-weight:400;font-size:88px;color:#799d80}.church .project-wordmark{font-size:57px;letter-spacing:-3px}.small-word{display:block;font-size:24px;letter-spacing:-1px;font-weight:400;margin-top:5px}.visual-footer{border-top:1px solid #233c302b;padding-top:14px}.project-info{padding:26px 28px}.project-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.project h3{font-size:21px;letter-spacing:-.6px;font-weight:600}.project-number{font:12px var(--mono);color:#6c795e}.project p{color:var(--muted);font-size:15px;line-height:1.75;margin-top:12px;max-width:490px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.project-tags span{font:12px var(--mono);border:1px solid #333c2b;border-radius:4px;color:#b3bda7;padding:5px 9px}.project-link{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;font-size:14px;display:flex;justify-content:space-between;font-weight:500}.project-link span{color:var(--green);font-family:var(--mono)}.project-link:hover{color:var(--green)}.compact-visual{padding:23px 28px;min-height:202px;display:flex;flex-direction:column;justify-content:space-between}.mono{font:12px var(--mono);letter-spacing:.7px}.compact-visual .mono{font-size:10px;letter-spacing:1px;opacity:.7}.compact-visual strong{font-family:'Manrope',sans-serif;line-height:1.12;letter-spacing:-1.5px;font-size:37px;font-weight:600;margin-top:23px}.agro{background:#283c25;color:#d5e8bd}.health{background:#243b42;color:#c5e1e8}.events{background:#44362d;color:#f1d5bd}.agenda{background:#373d51;color:#d1dcf9}.compact-visual strong span{color:var(--green)}.all-projects{text-align:center;margin-top:36px;color:var(--muted);font-size:14px}.all-projects a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.about{background:#191d16;border-block:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.about-person img{width:106px;height:106px;border-radius:50%;object-fit:cover;border:3px solid #526a35;padding:5px;margin:32px 0 18px;filter:grayscale(100%)}.about-person h2{margin-bottom:13px}.about-person h2 span{color:var(--green)}.about-person>.mono{font-size:11px;color:var(--muted)}.about-text h3{font-size:28px;font-weight:500;letter-spacing:-.8px;line-height:1.4;margin-bottom:22px}.about-text p{color:var(--muted);margin-bottom:18px}.about-principles{border-top:1px solid #35402d;margin-top:27px;display:flex;flex-direction:column;gap:13px;padding-top:23px;font-size:14px}.about-principles b{font:12px var(--mono);color:var(--green);margin-right:20px}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.skills-grid>div{border-top:1px solid #4f5a41;padding-top:27px}.skill-icon{font:28px var(--mono);color:var(--green);display:block;margin-bottom:18px}.skills-grid h3{font-size:20px;margin-bottom:12px}.skills-grid p{font-size:15px;color:var(--muted)}.contact{border:1px solid #3c4c2b;border-radius:12px;padding:47px 50px;background:linear-gradient(110deg,#26361b,#191e15);margin-bottom:75px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:22px}.contact h2{font-size:46px}.contact h2 span{color:var(--green)}.contact p{margin-top:20px;color:#b3bda7;font-size:15px}footer{border-top:1px solid var(--line);padding-block:27px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}footer .brand{font-size:22px}.skip{position:fixed;top:-100px;left:20px;background:var(--green);color:#10120f;padding:12px;z-index:100}.skip:focus{top:10px}@media(min-width:1500px){.hero-layout{padding-block:60px 85px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero-layout{gap:35px;grid-template-columns:1.2fr 1fr}h1{font-size:49px;letter-spacing:-2.5px}.code-body{font-size:11px}.hero-actions{gap:18px}.button{padding:13px 18px}.project h3{font-size:18px}.about-grid{gap:50px}.contact h2{font-size:37px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{width:calc(100% - 40px);height:80px;gap:15px}.brand{font-size:24px}.header nav{gap:18px;font-size:13px}.header nav a:last-child{display:none}.nav-contact{display:none}.hero{padding-top:40px}.hero-year{display:none}.hero-layout{grid-template-columns:1fr;padding-top:29px;padding-bottom:42px;gap:45px}h1{font-size:clamp(40px,8vw,57px);letter-spacing:-2px;line-height:1.16}.hero-copy>p{font-size:16px;margin-top:23px}.hero-actions{gap:25px}.code-card{transform:rotate(1deg);margin:0 7px}.code-body{font-size:13px;padding-block:18px}.code-decoration{right:4px;font-size:28px}.hero-bottom{align-items:start;gap:15px;flex-direction:column;font-size:11px}.stack-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;font-size:14px;padding-block:23px;text-align:center}.section{padding-block:62px}.section-heading{align-items:start;flex-direction:column;gap:18px}h2{font-size:34px;letter-spacing:-1.5px}.section-heading p{font-size:14px}.filters{gap:7px}.filters button{font-size:12px;padding:8px 10px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{min-height:240px}.project-wordmark{font-size:65px}.project h3{font-size:20px}.project-info{padding:23px}.about-grid{grid-template-columns:1fr;gap:35px}.about-person img{margin-top:26px}.about-text h3{font-size:26px}.skills-grid{grid-template-columns:1fr;gap:35px}.skill-icon{margin-bottom:10px}.contact{padding:30px 24px;margin-bottom:50px}.contact-row{flex-direction:column;align-items:start;gap:25px}.contact h2{font-size:33px;line-height:1.25}.contact p{font-size:14px}footer{flex-wrap:wrap}footer .brand{width:100%}.eyebrow{font-size:10px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.whatsapp-contact{gap:10px}.whatsapp-contact svg{width:22px;height:22px;flex-shrink:0}.contact-phone{display:inline-block;color:var(--green);font-size:18px;margin-top:12px;text-decoration:underline;text-underline-offset:5px}.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff;box-shadow:0 5px 24px #0006;border:1px solid #ffffff35;z-index:100}.whatsapp-float svg{width:31px;height:31px}.whatsapp-float:hover{background:#128c4b;transform:translateY(-3px)}footer{padding-bottom:100px}@media(max-width:760px){.whatsapp-float{width:56px;height:56px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.whatsapp-contact{font-size:13px;padding-inline:14px}}
