/* DM Sans latin-ext — auto-hébergée */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans latin — auto-hébergée */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Manrope latin-ext — auto-hébergée */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope latin — auto-hébergée */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#18211c;--lime:#92ed08;--muted:#667069;--paper:#fafbf8;--line:#dce1d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #578d09;outline-offset:5px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:550;line-height:1.16;letter-spacing:-.045em;margin:0}p{color:var(--muted);max-width:660px}h1{font-size:clamp(44px,4.8vw,76px)}h2{font-size:clamp(32px,3.1vw,48px)}h3{font-size:24px;letter-spacing:-.025em}em{font-style:normal;color:#678c43}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#fafbf8f5;position:relative;z-index:20}.brand img{display:block;width:202px;height:auto}nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:550}nav>a:not(.nav-cta){padding:8px 0}nav a:hover,nav [aria-current]{color:#5b850a}.nav-cta{border:1px solid #b9c0b6;padding:12px 18px;display:flex;gap:22px}.nav-cta:hover{background:var(--lime);color:var(--ink)}.menu{display:none}.skip{position:absolute;left:10px;top:-100px;background:var(--lime);padding:10px;z-index:100}.skip:focus{top:0}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:650px;padding:58px 5% 68px;gap:45px;align-items:center}.hero-copy{position:relative;z-index:2}.eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;margin-bottom:30px;line-height:1.5}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--lime);margin-right:8px;border-radius:50%}.hero h1{font-size:clamp(44px,4.5vw,71px);line-height:1.12;letter-spacing:-.055em}.hero p{font-size:17px;max-width:480px;margin:28px 0 35px}.hero-buttons{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 23px;font-size:13px;font-weight:600;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.lime{background:var(--lime);color:var(--ink)}.dark{background:var(--ink);color:white}.text-link{font-size:13px;font-weight:600;display:inline-block;border-bottom:1px solid #a8b2a0;padding-bottom:6px}.text-link:hover{border-color:#598000;color:#598000}.architecture{height:500px;position:relative;overflow:hidden;background:#e9eee3;isolation:isolate}.grid-plane{position:absolute;inset:0;background:linear-gradient(115deg,#d9e3ce22,#edf2e700),repeating-linear-gradient(0deg,transparent 0 49px,#6b83571a 49px 50px),repeating-linear-gradient(90deg,transparent 0 49px,#6b83571a 49px 50px)}.arch{position:absolute;border:45px solid #263d2b;border-bottom:none;border-radius:180px 180px 0 0;width:260px;height:375px;transform:rotate(-28deg) skewY(7deg);bottom:-70px;box-shadow:20px 20px 25px #263e2820,inset -12px 8px 25px #0002}.arch1{left:30px;bottom:-35px;border-color:#b4c89e;z-index:1}.arch2{left:103px;bottom:-1px;border-color:#91ea0c;z-index:2}.arch3{left:178px;bottom:32px;border-color:#37583d;z-index:3}.arch4{left:252px;bottom:66px;border-color:#182e20;z-index:4}.art-dot{position:absolute;top:48px;left:48px;width:29px;height:29px;border:1px solid #96a18c;border-radius:50%}.art-dot:after{content:'';position:absolute;background:#8fdf16;width:7px;height:7px;border-radius:50%;top:10px;left:10px}.art-caption{position:absolute;bottom:27px;left:26px;font-size:9px;letter-spacing:.18em;z-index:5;color:#172b1b;background:#e9eee3;padding:6px 9px}.art-index{position:absolute;right:26px;top:26px;font-size:10px;letter-spacing:.1em}.discipline{margin:0 5%;padding:23px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.14em;color:#677161}.discipline span:before{content:'+';margin-right:18px;color:#789059}.section{padding:100px 5%}.split{display:grid;grid-template-columns:.95fr 1.15fr;gap:9%}.split>div>p{max-width:390px;margin:25px 0}.service-row{display:grid;grid-template-columns:30px 1fr 25px;gap:22px;padding:27px 0;border-bottom:1px solid var(--line);align-items:center}.service-row:first-child{border-top:1px solid var(--line)}.service-row h3{font-size:20px;line-height:1.3}.service-row p{font-size:13px;margin:8px 0 0}.number{font-size:10px;color:#7c8877;align-self:start;padding-top:5px}.row-arrow{font-size:23px;transition:transform .2s}.service-row:hover .row-arrow{transform:translate(4px,-4px);color:#70a900}.service-row:hover h3{color:#597a3d}.audiences{background:var(--ink);color:#fff}.audiences p{color:#b8c2b9}.section-title{margin-bottom:50px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:6%}.two-col article{border-top:1px solid #506052;padding-top:30px}.overline{font-size:10px;letter-spacing:.12em;color:#a4d377;display:block;margin-bottom:25px}.two-col h3{font-size:32px}.two-col p{max-width:440px;margin:20px 0 30px}.two-col .text-link{color:#d5e6cc}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:48px 0 30px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps b{font-size:12px;color:#778a67;display:block;margin-bottom:30px}.steps h3{font-size:23px}.steps p{font-size:15px}.references-preview{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px}.references-preview h2{font-size:34px}.reference-item{background:#edf0e8;padding:30px;display:block;transition:background .2s}.reference-item:hover{background:#e1ecd5}.reference-item>span{font-size:9px;letter-spacing:.1em}.reference-item h3{font-size:26px;margin:60px 0 20px}.reference-item h3 b{float:right;font-weight:400}.reference-item p{font-size:13px}.closing{background:var(--lime);padding:70px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{font-size:40px}.closing .eyebrow{margin-bottom:16px}.closing .button{background:var(--ink);color:white}footer{padding:55px 5% 20px;background:#121b15;color:white}.foot-top{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:50px;align-items:start;padding-bottom:50px}.foot-top img{width:200px}.foot-top p{color:#b5bdb6;margin:0;font-size:13px}.foot-top a{display:block;font-size:14px;margin-bottom:8px}.foot-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #39433b;font-size:10px;color:#a0aba1}.intro{padding:45px 5% 70px;background:#edf1e7;border-bottom:1px solid var(--line)}.breadcrumb{font-size:11px;color:#6c7864;display:block;margin-bottom:45px}.intro .eyebrow{margin-bottom:24px}.intro h1{max-width:1050px}.intro p{font-size:19px;margin:27px 0 0;max-width:750px}.expertise-index{max-width:1200px;margin:auto}.expertise-index h3{font-size:28px}.expertise-index .service-row{padding:35px 0}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.detail-grid .button{margin-top:20px}.large-text{font-size:21px}.lined-list{list-style:none;padding:0}.lined-list li{padding:22px 0;border-bottom:1px solid var(--line)}.lined-list li:before{content:'↗';color:#729c47;margin-right:15px}.pale{background:#edf1e7}.tech-list{display:flex;flex-wrap:wrap;gap:0;margin:40px 0}.tech-list span{font-size:23px;padding:20px 32px 20px 0;margin-right:30px;border-bottom:1px solid #bac7b0}.process article{display:grid;grid-template-columns:100px 1fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}.process article>span{color:#698a4d;font-size:24px}.process h2{font-size:34px}.process p{font-size:18px;max-width:750px}.process small{font-size:11px;letter-spacing:.04em;color:#68834e}.terra{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:50px}.terra b{font-size:62px;color:#668449;font-weight:400}.terra h3{font-size:19px;margin-top:20px}.terra p{font-size:14px}.case{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:40px 0 70px;border-bottom:1px solid var(--line);margin-bottom:35px;scroll-margin-top:50px}.case-date{display:block;font-size:14px;margin-top:25px;color:var(--muted)}dl{display:grid;grid-template-columns:130px 1fr;font-size:14px;gap:20px;border-top:1px solid var(--line);padding-top:25px}dt{color:var(--muted)}dd{margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.contact-layout aside p{margin:25px 0 35px}.contact-link{display:block;margin:10px 0;font-size:20px}form label{display:block;font-size:13px;font-weight:500;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}input,select,textarea{display:block;width:100%;padding:12px;background:white;border:1px solid #cbd2c5;margin-top:8px;color:var(--ink);border-radius:0}textarea{resize:vertical}.form-note,.small-link{font-size:12px}.small-link{text-decoration:underline}#form-status{font-size:13px}.legal{max-width:950px}.legal h2{font-size:27px;margin-bottom:20px}.legal p{margin-bottom:40px}.menu{border:0;background:none}button:hover{filter:brightness(.98)}
@media(min-width:1600px){header,.hero,.section,.closing,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){nav{gap:18px;font-size:12px}.brand img{width:170px}.hero{gap:25px;min-height:580px}.architecture{height:440px}.hero-buttons{gap:18px}.arch{width:220px;border-width:38px}.arch1{left:-35px}.arch2{left:28px}.arch3{left:91px}.arch4{left:154px}.hero h1{font-size:53px}.references-preview{gap:25px}.reference-item{padding:22px}.split{gap:5%}}
@media(max-width:800px){header{height:85px}.brand img{width:170px}.menu{display:flex;gap:15px;align-items:center;font-size:13px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:25px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:12px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:45px;gap:40px}.hero h1{font-size:clamp(43px,7vw,65px)}.hero p{max-width:540px}.architecture{height:370px}.arch{width:260px;height:350px}.arch1{left:calc(50% - 240px);bottom:-100px}.arch2{left:calc(50% - 160px);bottom:-65px}.arch3{left:calc(50% - 80px);bottom:-30px}.arch4{left:50%;bottom:5px}.discipline{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:8px}.section{padding-top:65px;padding-bottom:65px}.split,.detail-grid,.contact-layout{grid-template-columns:1fr;gap:40px}.split>div>p{max-width:600px}.two-col{gap:35px}.two-col h3{font-size:27px}.steps{gap:25px}.steps h3{font-size:20px}.references-preview{grid-template-columns:1fr 1fr}.references-preview>div{grid-column:1/-1}.closing{align-items:flex-start;flex-direction:column}.closing h2{font-size:34px}.foot-top{grid-template-columns:1fr 1fr;gap:30px}.foot-top>div{grid-column:2}.terra{grid-template-columns:repeat(3,1fr)}.case{gap:5%}.intro h1{font-size:46px}.intro p{font-size:17px}}
@media(max-width:520px){.hero h1{font-size:43px}.hero{padding-bottom:40px}.hero p{font-size:16px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:20px}.architecture{height:330px}.hero .eyebrow{font-size:9px}.two-col,.steps,.references-preview,.case,.form-grid{grid-template-columns:1fr}.two-col article+article{margin-top:20px}.steps{gap:15px}.steps b{margin-bottom:14px}.reference-item h3{margin-top:35px}.foot-top{grid-template-columns:1fr}.foot-top>div{grid-column:auto}.foot-bottom{flex-wrap:wrap;gap:15px}.intro h1{font-size:37px}.intro{padding-bottom:45px}.service-row{gap:12px;grid-template-columns:22px 1fr 20px}.service-row h3{font-size:18px}.expertise-index h3{font-size:23px}.process article{grid-template-columns:35px 1fr;gap:20px}.process h2{font-size:27px}.process p{font-size:16px}.terra{grid-template-columns:1fr 1fr}.case{padding-bottom:45px}.case>div+div{margin-top:25px}.large-text{font-size:18px}.contact-link{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
