:root{--forest:#173d32;--olive:#71865a;--lime:#dce5a8;--clay:#c66e4e;--cream:#f4efe3;--paper:#fffdf8;--ink:#24332d;--muted:#68736d;--line:rgba(36,51,45,.16);--serif:'Fraunces',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:84px;padding:0 4vw;display:flex;align-items:center;gap:28px;background:rgba(255,253,248,.93);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;line-height:1.05;letter-spacing:.12em;white-space:nowrap}.brand b{font-size:1.15rem;color:var(--forest)}.leaf{font:2.3rem var(--serif);color:var(--clay)}.nav{display:flex;gap:22px;margin-left:auto}.nav a{font-size:.83rem;font-weight:600}.nav a:hover{color:var(--clay)}.languages{display:flex}.lang{border:0;background:none;padding:5px;font:700 .7rem var(--sans);opacity:.42;cursor:pointer}.lang.active{opacity:1;color:var(--clay)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:.25s}.header-cta{background:var(--forest);color:#fff;padding:11px 18px;font-size:.78rem}.menu-toggle{display:none;border:0;background:none}.hero{min-height:800px;padding:145px 5vw 65px 8vw;display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center;background:var(--cream)}.hero-copy{max-width:650px}.eyebrow{margin:0 0 18px;color:var(--clay);font-size:.69rem;font-weight:700;letter-spacing:.19em}.eyebrow.pale{color:var(--lime)}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.04;margin:0}h1{font-size:clamp(4rem,7.2vw,7.4rem);letter-spacing:-.045em}h2{font-size:clamp(2.9rem,5vw,5.3rem);letter-spacing:-.035em}.hero-copy>p:not(.eyebrow){max-width:580px;font-size:1.05rem;margin:28px 0}.actions{display:flex;align-items:center;gap:24px}.button{padding:14px 22px}.dark{background:var(--forest);color:#fff}.dark:hover{background:var(--clay)}.text-link{font-weight:700;border-bottom:1px solid}.hero-image{position:relative;height:615px;padding:0 0 35px 35px}.hero-image img{border-radius:220px 0 0 0}.round-note{position:absolute;left:0;bottom:0;width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--clay);color:#fff}.round-note b{font-size:.58rem;letter-spacing:.14em}.round-note span{font:600 2.5rem var(--serif)}.ticker{padding:18px 4vw;background:var(--forest);color:white;display:flex;justify-content:space-around;gap:25px;white-space:nowrap;overflow:hidden;font-size:.68rem;font-weight:700;letter-spacing:.13em}.ticker i{color:var(--lime)}.section{padding:115px 8vw}.section-number{font:600 1.2rem var(--serif);color:var(--clay)}.intro{display:grid;grid-template-columns:60px 1.1fr .8fr;gap:6vw;align-items:center}.intro-copy p:not(.eyebrow){max-width:700px;color:var(--muted);margin-top:28px}.intro-image{height:520px}.intro-image img{border-radius:0 170px 0 0}.services{background:var(--forest);color:white}.services-head{display:grid;grid-template-columns:1.2fr .55fr;gap:10vw;padding-bottom:45px}.services-head>p{align-self:end;color:#bdcbc4}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);padding-top:0}.service-card{min-height:340px;padding:34px;background:#214a3e;display:flex;flex-direction:column}.service-card>b{font-size:.72rem;color:var(--lime)}.service-card .icon{font:2.5rem var(--serif);margin-top:28px;color:var(--lime)}.service-card h3{font-size:2rem;margin:15px 0}.service-card p{font-size:.88rem;color:#c0cec7}.service-card.photo{padding:0}.service-card.accent{background:var(--clay)}.service-card.accent p{color:#fff}.process{display:grid;grid-template-columns:1fr .9fr;gap:8vw}.process-copy{align-self:center}.steps{margin-top:40px}.steps>div{display:grid;grid-template-columns:40px 1fr;gap:12px 18px;padding:18px 0;border-top:1px solid var(--line)}.steps span{color:var(--clay);font-weight:700}.steps b{font:600 1.35rem var(--serif)}.steps p{grid-column:2;margin:0;color:var(--muted);font-size:.85rem}.process-image{height:680px}.process-image img{border-radius:220px 220px 0 0}.projects{background:var(--clay);color:white;padding-bottom:110px}.project-head{display:grid;grid-template-columns:1.2fr .55fr;gap:10vw}.project-head>p{align-self:end}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:330px 330px;gap:14px;padding:0 4vw}.project-grid figure{margin:0;position:relative;overflow:hidden}.project-grid .wide{grid-row:1/3}.project-grid img{transition:.5s}.project-grid figure:hover img{transform:scale(1.03)}figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 25px 22px;background:linear-gradient(transparent,rgba(16,45,36,.92))}figcaption b,figcaption span{display:block}figcaption b{font:600 1.6rem var(--serif)}figcaption span{font-size:.7rem;opacity:.76}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;background:var(--cream)}.faq-title>span{font:600 1.2rem var(--serif);color:var(--clay)}.faq-title h2{margin-top:14px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font:600 1.3rem var(--serif);cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{font-family:var(--sans);font-weight:400}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{padding:0 40px 22px 0;color:var(--muted)}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;background:var(--forest);color:white}.contact-copy p:not(.eyebrow){max-width:700px;color:#c2d0c9}.contact-copy small{opacity:.65}.contact-card{align-self:center;background:#214a3e;padding:34px}.contact-card>div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}.contact-card span,.contact-card b{display:block}.contact-card span{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--lime)}.cream{width:100%;margin-top:25px;background:var(--cream);color:var(--forest)}.mesterweb{padding:90px 8vw;background:var(--lime);display:grid;grid-template-columns:1fr auto;gap:7vw;align-items:end}.mesterweb h2{max-width:950px}.mesterweb p:not(.eyebrow){max-width:850px}.mesterweb>a{padding:17px 23px;background:var(--forest);color:white;font-weight:700}footer{padding:55px 8vw 28px;background:#0e2820;color:white;display:grid;grid-template-columns:1fr 1fr auto;gap:25px}footer p{color:#aabbb3}footer>div{display:flex;gap:18px;flex-wrap:wrap}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;opacity:.5}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.nav{position:fixed;top:84px;left:0;right:0;padding:25px;background:var(--paper);display:none;flex-direction:column;text-align:center;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;width:34px}.menu-toggle i{display:block;height:2px;background:var(--ink);margin:6px}.header-cta{display:none}.section{padding-left:5vw;padding-right:5vw}.hero{grid-template-columns:.9fr 1.1fr;padding-left:5vw}}@media(max-width:760px){.site-header{padding:0 18px}.languages{margin-left:auto}.hero{display:block;padding:125px 22px 55px;min-height:0}.hero-image{height:490px;margin-top:50px;padding-left:20px}h1{font-size:3.9rem}.ticker{justify-content:flex-start}.intro,.services-head,.process,.project-head,.faq,.contact,.mesterweb{grid-template-columns:1fr}.intro .section-number{display:none}.intro-image{height:430px}.service-grid{grid-template-columns:1fr}.service-card.photo{height:340px}.process-image{height:470px}.project-grid{grid-template-columns:1fr;grid-template-rows:420px 310px 310px;padding:0 22px}.project-grid .wide{grid-row:auto}.actions{align-items:flex-start;flex-direction:column;gap:15px}.mesterweb{align-items:start}footer{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
