@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7f4;--ink:#20211e;--muted:#777971;--line:#dcded7;--accent:#b7d72b;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 7.3%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:50px}.wordmark{font-weight:800;font-size:20px;letter-spacing:-1.5px}.wordmark span{color:#9dbb14}.site-header nav{display:flex;gap:30px;margin:auto;font-size:11px;color:#65675f}.site-header nav a:hover,.language:hover{color:#7d9513}.header-actions{display:flex;align-items:center;gap:22px}.language,.availability,.eyebrow,.hero-bottom,.aside-index,.number,.project-meta span{font:10px var(--mono);letter-spacing:.03em}.availability{display:flex;gap:8px;align-items:center}.availability i{height:7px;width:7px;border-radius:50%;background:#8ba91b;box-shadow:0 0 0 4px #e9efd5}.hero{position:relative;padding:116px 11.5% 86px;min-height:570px;display:flex;align-items:center}.hero-copy{max-width:720px}.eyebrow{text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:13px;margin:0 0 28px}.eyebrow span{color:#a2bd22}.hero h1{font-size:clamp(48px,7.3vw,92px);line-height:.99;letter-spacing:-.075em;font-weight:500;max-width:850px;margin:0}.lead{font-size:16px;line-height:1.8;color:#696b64;max-width:550px;margin:27px 0 30px}.hero-links{display:flex;align-items:center;gap:28px}.button{background:var(--ink);color:white;padding:16px 20px;font-size:12px;display:inline-flex;gap:30px;align-items:center}.button span{color:var(--accent);font-size:17px}.text-link{font-size:11px;color:#5c5f57}.hero-aside{position:absolute;right:10%;top:35%;width:140px;color:var(--muted)}.hero-aside p{font-size:11px;line-height:1.6;margin:10px 0}.aside-line{display:block;width:100%;height:1px;background:var(--line);margin:28px 0}.hero-bottom{position:absolute;bottom:24px;left:7.3%;right:7.3%;display:flex;justify-content:space-between;color:#90928b}.section{padding:105px 11.5%}.services{background:#eeefe9}.section-head{max-width:560px}.section-head h2,.tech-band h2{font-size:clamp(34px,4.5vw,54px);line-height:1.07;letter-spacing:-.06em;font-weight:500;margin:0}.service-list{margin-top:54px;border-top:1px solid #d4d6cf}.service{display:grid;grid-template-columns:50px 1fr 1.2fr 20px;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid #d4d6cf}.number{color:#9db51e}.service h3,.project h3,.steps h3{font-size:16px;font-weight:600;margin:0}.service p,.project>p,.steps p{font-size:12px;line-height:1.75;color:#74766f;margin:0}.arrow{color:#a2bd22}.section-intro{color:#777971;line-height:1.7;font-size:13px;margin-top:18px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}.project-art{height:245px;position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-end;padding:18px;background:#e5e8dc}.project-art>span{font:11px var(--mono);color:#818777}.art-2{background:#e7e5df}.art-shape{position:absolute;width:180px;height:180px;border:1px solid #b6c786;transform:rotate(35deg);left:calc(50% - 90px);top:35px}.art-1 .art-shape{border-radius:50%;box-shadow:0 0 0 24px #e5e8dc,0 0 0 25px #b6c786,0 0 0 55px #e5e8dc,0 0 0 56px #b6c786}.art-2 .art-shape{transform:rotate(45deg);background:linear-gradient(135deg,transparent 49%,#b8bdad 50%,transparent 51%)}.project-meta{display:flex;justify-content:space-between;align-items:center;margin:17px 0 8px}.project-meta span{color:#92948d}.tech-band{background:#252721;color:#f7f7f4;padding:78px 11.5%}.tech-band .eyebrow{color:#afb1a9}.tech-band h2{max-width:550px}.tech-band>p:last-child{font:11px var(--mono);color:#c1c3ba;margin:28px 0 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--line)}.steps article{padding:20px 18px 0 0}.steps h3{margin:35px 0 10px}.faq{background:#eeefe9}.faq-list{margin:40px 0 0 auto;max-width:650px}.faq details{border-bottom:1px solid #d1d3cc;padding:19px 0}.faq summary{list-style:none;display:flex;justify-content:space-between;font-size:13px;font-weight:600;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:20px;color:#94ac20}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;line-height:1.7;color:#71736d;max-width:520px}.contact{padding:95px 11.5%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.contact h2{font-size:clamp(36px,5.5vw,66px);line-height:1;letter-spacing:-.07em;font-weight:500;max-width:600px;margin:0}.contact>div>p:last-child{font-size:13px;color:#74766f;max-width:440px;line-height:1.7}.contact-email{font-size:14px;border-bottom:1px solid #a9c32a;padding-bottom:10px;white-space:nowrap}.contact-email span{color:#91aa1e;margin-left:12px}footer{border-top:1px solid var(--line);padding:22px 7.3%;display:flex;align-items:center;justify-content:space-between}footer p{font-size:10px;color:#85877f}@media(max-width:800px){.site-header{padding:0 5%;gap:20px}.site-header nav{gap:14px}.availability{display:none}.hero{padding:100px 8% 90px}.hero-aside{display:none}.section{padding:78px 8%}.tech-band{padding:70px 8%}.contact{padding:75px 8%;display:block}.contact-email{display:inline-block;margin-top:20px}.service{grid-template-columns:35px 1fr 20px}.service p{grid-column:2;grid-row:2}.service .arrow{grid-column:3;grid-row:1}.steps{grid-template-columns:1fr 1fr;row-gap:25px}}@media(max-width:520px){.site-header{height:68px;justify-content:space-between}.site-header nav{display:none}.hero{min-height:550px;padding:86px 7%}.hero h1{font-size:54px}.lead{font-size:14px}.hero-bottom{left:7%;right:7%;font-size:8px}.section{padding:68px 7%}.service{gap:10px}.service h3{font-size:14px}.service p{font-size:11px}.project-grid{grid-template-columns:1fr;gap:34px}.project-art{height:210px}.steps{grid-template-columns:1fr 1fr}.steps h3{font-size:14px}.contact{padding:68px 7%}footer{padding:20px 7%}}
.project-art{padding:0;display:block}.project-art img{width:100%;height:100%;object-fit:contain;display:block;background:#eeefe9}.project-art>span{position:absolute;right:16px;top:14px;background:#f7f7f4dd;padding:4px 7px}.project-links{display:flex;gap:20px;margin-top:16px}.project-links a{font:10px var(--mono);color:#74766f;border-bottom:1px solid #b6c782;padding-bottom:4px}.project-links a:hover{color:#718612}
/* Refined type scale */
.hero h1{font-size:clamp(42px,6.2vw,76px);line-height:1.02;letter-spacing:-.065em}
.section-head h2,.tech-band h2{font-size:clamp(30px,3.8vw,46px);line-height:1.12}
.contact h2{font-size:clamp(34px,4.6vw,56px);line-height:1.06}
@media(max-width:800px){.hero h1{font-size:clamp(42px,7.2vw,62px)}}
@media(max-width:520px){.hero h1{font-size:clamp(40px,11vw,48px)}.section-head h2,.tech-band h2{font-size:clamp(29px,8vw,36px)}.contact h2{font-size:clamp(32px,9vw,42px)}}
.site-header nav{font-size:12px}
.site-header .language,.site-header .availability{font-size:11px}
@media(max-width:800px){.site-header nav{font-size:11px}.site-header{gap:16px}}
.stack-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:38px}.stack-group h3{font:11px var(--mono);color:#aeb1a7;font-weight:400;margin:0 0 14px}.stack-group ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.stack-group li{font:10px var(--mono);color:#f4f4ef;border:1px solid #4b4e45;padding:8px 10px}@media(max-width:600px){.stack-groups{grid-template-columns:1fr;gap:22px}}
/* Improve readability on large desktop displays */
.site-header nav{font-size:14px}.site-header .language,.site-header .availability{font-size:12px}.eyebrow,.hero-bottom,.aside-index,.number,.project-meta span{font-size:12px}.hero .lead{font-size:18px}.text-link,.button{font-size:13px}.hero-aside p{font-size:13px}.service p,.project>p,.steps p,.section-intro,.contact>div>p:last-child{font-size:14px}.service h3,.project h3,.steps h3{font-size:17px}.stack-group h3,.stack-group li,.project-links a{font-size:12px}.faq summary{font-size:15px}.faq details p{font-size:14px}.contact-email{font-size:16px}footer p{font-size:12px}
@media(min-width:1600px){.site-header nav{font-size:15px}.site-header .language,.site-header .availability{font-size:13px}.eyebrow,.hero-bottom,.aside-index,.number,.project-meta span{font-size:13px}.hero .lead{font-size:20px}.text-link,.button{font-size:14px}.hero-aside p{font-size:14px}.service p,.project>p,.steps p,.section-intro,.contact>div>p:last-child{font-size:15px}.service h3,.project h3,.steps h3{font-size:18px}.stack-group h3,.stack-group li,.project-links a{font-size:13px}.faq summary{font-size:16px}.faq details p{font-size:15px}.contact-email{font-size:17px}footer p{font-size:13px}}
