@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/manrope-400.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;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/manrope-400.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;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/manrope-400.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;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/manrope-400.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:#101211;--paper:#f5f5f1;--green:#078548;--line:#d6d8d3;--muted:#687069;color-scheme:light}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #36ce8d;outline-offset:6px}button{cursor:pointer}
    .skip{position:absolute;top:-100px;left:16px;z-index:20;background:white;padding:15px}.skip:focus{top:16px}
    .hero{position:relative;min-height:740px;height:100svh;max-height:1080px;color:#fff;isolation:isolate;overflow:hidden}
    .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;z-index:-3;filter:saturate(.55)}
    .hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,14,12,.84),rgba(5,14,12,.28) 66%,rgba(5,14,12,.08)),linear-gradient(0deg,rgba(5,14,12,.6),transparent 46%,rgba(5,14,12,.3))}
    .nav{height:108px;display:flex;align-items:center;justify-content:space-between;gap:35px;margin:0 5.5%;border-bottom:1px solid #ffffff30;position:relative;z-index:5}
    .logo{width:186px;display:block;filter:brightness(0) invert(1)}.nav-links{display:flex;align-items:center;gap:35px}.nav-links a{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px 0}.nav-links a:hover{opacity:.7}.nav-links .nav-contact{border:1px solid var(--green);background:var(--green);color:#fff;padding:14px 20px}
    .menu-toggle{display:none;background:none;border:1px solid #ffffff70;color:#fff;padding:12px 17px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
    .hero-copy{position:absolute;left:5.5%;right:5.5%;bottom:21%;max-width:830px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:700;display:flex;gap:13px;align-items:center;margin:0 0 26px}.eyebrow:before{content:"";width:28px;height:2px;background:#2dc486}
    h1{font-size:clamp(56px,7.2vw,112px);letter-spacing:-.045em;line-height:.99;font-weight:500;margin:0 0 28px;text-transform:uppercase}h1 span{display:block}
    .hero-description{font-size:17px;line-height:1.7;color:#e0e5e1;max-width:440px;margin:0 0 30px}.actions{display:flex;gap:14px;flex-wrap:wrap}.action{display:inline-flex;min-width:180px;min-height:50px;align-items:center;justify-content:space-between;gap:25px;padding:17px 22px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff80;transition:background .2s,color .2s}.action.primary{background:var(--green);color:#fff;border-color:var(--green)}.action:hover{background:#fff;color:#121612}.action.primary:hover{background:#066d3b;color:#fff;border-color:#066d3b}.arrow{font-size:17px;line-height:1;letter-spacing:0}
    .hero-bottom{position:absolute;bottom:32px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.hero-bottom p{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin:0;line-height:1.7}.scroll{font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:17px}.scroll:after{content:"↓";font-size:22px}
    .intro{background:var(--paper);padding:82px 5.5%;display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center}.intro h2{font-size:clamp(30px,3.5vw,52px);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin:0}.intro p{max-width:480px;font-size:16px;line-height:1.8;margin:0;color:#59625b}.intro .eyebrow{margin-bottom:20px;color:#5a635d}
    .projects{background:var(--paper);padding:20px 5.5% 90px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px}.section-head h2{font-size:35px;letter-spacing:-.035em;font-weight:500;margin:0}.text-link{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:7px;display:inline-flex;align-items:center;gap:24px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project{display:block}.project-image{aspect-ratio:1.35;overflow:hidden;background:#d9ddda}.project img{height:100%;width:100%;object-fit:cover;filter:saturate(.72);transition:transform .55s}.project:hover img{transform:scale(1.035)}.project-label{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);gap:20px}.project h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin:0 0 6px}.project p{margin:0;font-size:12px;color:var(--muted)}
    .expertise{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1.35fr;padding:90px 5.5%;gap:90px}.expertise h2{font-size:clamp(32px,4vw,56px);line-height:1.1;font-weight:500;letter-spacing:-.04em;margin:0 0 24px}.expertise p{color:#aeb6af;font-size:15px;line-height:1.8;max-width:360px}.service-list{margin:0;padding:0;list-style:none}.service-list li{border-bottom:1px solid #ffffff26}.service-list a,.service-list .service{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;font-size:22px;letter-spacing:-.025em}.service-list a:hover{color:#42ce93}.service-list small{font-size:10px;letter-spacing:.1em;color:#828c83;margin-right:20px}.service-list .service-name{flex:1}
    .contact{background:var(--paper);padding:100px 5.5%;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.contact h2{font-size:clamp(38px,5vw,72px);font-weight:500;line-height:1.03;letter-spacing:-.045em;margin:0}.contact .eyebrow{margin-bottom:22px}.contact-info{min-width:220px}.contact-info a{display:block;font-size:18px;padding:10px 0}.contact-info a:hover{color:var(--green)}.contact-info .email{border-bottom:1px solid var(--ink);margin-bottom:10px}
    .quote{background:var(--paper);padding:95px 5.5%;display:grid;grid-template-columns:1fr 1.1fr;gap:85px;scroll-margin-top:25px}.quote h2{font-size:clamp(38px,5vw,72px);font-weight:500;line-height:1.03;letter-spacing:-.045em;margin:0 0 26px}.quote .eyebrow{margin-bottom:22px}.quote-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:365px;color:#59625b;margin:0 0 32px}.quote .contact-info{max-width:300px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;align-content:start}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field-wide,.quote-submit,.quote-note,.quote-status{grid-column:1/-1}.field label{font-size:12px;font-weight:700;letter-spacing:.015em}.field label span{font-weight:400;color:#687069}.field input,.field select,.field textarea{width:100%;min-width:0;background:#fff;border:1px solid #ccd1ca;border-radius:0;padding:14px 13px;color:var(--ink);font:inherit;font-size:16px;line-height:1.4;min-height:49px}.field textarea{resize:vertical;min-height:120px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.quote-submit{width:100%;justify-content:space-between;font:inherit;font-size:11px;font-weight:700;letter-spacing:.12em}.quote-note{font-size:12px;color:#59625b;line-height:1.6;margin:-8px 0 0}.quote-status{font-size:14px;line-height:1.6;margin:0;color:#066d3b}.quote-status:empty{display:none}
    .attachment-zone{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px dashed #9aada0;background:#fff;transition:border-color .2s,background .2s}.attachment-zone:hover,.attachment-zone.is-dragging{border-color:var(--green);background:#edf7ef}.attachment-zone:focus-within{outline:2px solid var(--green);outline-offset:3px}.field .attachment-input{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;padding:0;border:0;cursor:pointer}.attachment-copy{pointer-events:none;min-width:0}.attachment-title{font-size:14px;font-weight:700;display:block;margin-bottom:6px}.attachment-hint{display:block;font-size:12px;line-height:1.6;color:#59625b}.attachment-pick{pointer-events:none;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:13px 16px}.attachment-files{list-style:none;margin:0;padding:0}.attachment-files:empty{display:none}.attachment-file{display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:10px 12px;min-width:0}.attachment-file-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;background:#edf3ed;color:var(--green);font-size:10px;font-weight:700;overflow:hidden}.attachment-file-icon img{width:100%;height:100%;object-fit:cover}.attachment-file-info{flex:1;min-width:0}.attachment-file-name{display:block;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.attachment-file-size{display:block;font-size:11px;color:#687069;margin-top:2px}.attachment-remove{flex-shrink:0;min-height:44px;background:none;border:0;color:var(--green);font-size:12px;padding:10px}.attachment-remove:hover{text-decoration:underline}.attachment-error,.attachment-status{font-size:12px;line-height:1.6;margin:0}.attachment-error{color:#a22222}.attachment-status{color:#59625b}.attachment-error:empty,.attachment-status:empty{display:none}
    footer{background:var(--ink);color:#fff;padding:38px 5.5%;display:flex;gap:25px;justify-content:space-between;align-items:center}footer .logo{width:125px}footer p{margin:0;font-size:10px;color:#a8b0a9;letter-spacing:.09em;text-transform:uppercase}footer a{font-size:11px;color:#a8b0a9}
    @media(min-width:1600px){.hero-copy{bottom:24%}}
    @media(max-width:900px){.nav-links{gap:19px}.logo{width:150px}.intro{gap:35px}.expertise{gap:35px}.hero{min-height:660px}.hero-copy{bottom:22%}}
    @media(max-width:640px){.hero{min-height:720px;max-height:920px}.nav{height:85px;gap:16px;margin:0 6%}.logo{width:140px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:85px;left:-6.82%;right:-6.82%;padding:22px 6%;background:#101a15;align-items:stretch;gap:0;flex-direction:column}.nav-links.open{display:flex}.nav-links a{padding:18px 0}.nav-links .nav-contact{padding:16px;margin-top:10px}.hero-copy{left:6%;right:6%;bottom:20%}.hero-photo{object-position:68% center}.hero:before{background:linear-gradient(90deg,rgba(5,14,12,.86),rgba(5,14,12,.28)),linear-gradient(0deg,rgba(5,14,12,.5),transparent 75%)}h1{font-size:clamp(45px,11.5vw,70px);margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:22px}.hero-description{font-size:15px;max-width:330px}.actions{gap:10px}.action{min-width:0;flex:1;padding:16px 13px;gap:8px;font-size:10px}.hero-bottom{bottom:24px;left:6%;right:6%}.hero-bottom p{max-width:180px;font-size:9px}.scroll{font-size:9px;gap:8px}.intro{padding:55px 6%;grid-template-columns:1fr;gap:25px}.intro h2{font-size:36px}.intro p{font-size:15px}.projects{padding:5px 6% 55px}.section-head{gap:20px;align-items:flex-start;flex-direction:column}.section-head h2{font-size:30px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:1.3}.project h3{font-size:20px}.expertise{padding:55px 6%;grid-template-columns:1fr;gap:25px}.expertise h2{font-size:39px}.service-list a,.service-list .service{font-size:18px;padding:21px 0}.service-list small{margin-right:8px}.contact{padding:60px 6%;flex-direction:column;align-items:flex-start;gap:30px}.contact h2{font-size:43px}.contact-info{width:100%}footer{padding:30px 6%;align-items:flex-start;flex-wrap:wrap}footer p{max-width:160px;line-height:1.7}footer a{width:100%}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
    @media(max-width:900px){.quote{gap:40px}}
    @media(max-width:640px){.quote{padding:60px 6%;grid-template-columns:1fr;gap:38px}.quote h2{font-size:43px}.quote-copy>p:not(.eyebrow){font-size:15px}.quote-form{gap:20px}.quote .contact-info{max-width:none}}
    @media(max-width:380px){.quote-form{grid-template-columns:1fr}}
    @media(max-width:640px){.attachment-zone{padding:18px;flex-wrap:wrap;gap:15px}.attachment-pick{width:100%;text-align:center}.attachment-file{padding:10px 8px;gap:8px}}
  

    .attachment-field{gap:10px}.field .attachment-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .attachment-zone{width:100%;flex-direction:column;justify-content:center;gap:8px;padding:22px 20px;min-height:104px;border:1.5px dotted #879c8e;background:transparent;border-radius:3px;text-align:center}.attachment-zone:hover,.attachment-zone.is-dragging{border-color:var(--green);background:rgba(8,128,67,.035)}.attachment-zone:focus-within{outline:2px solid var(--green);outline-offset:3px}
    .attachment-pick{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;padding:0;border:0;background:transparent;color:#34443a;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5}.attachment-pick svg{flex-shrink:0;color:#466851}.attachment-browse{color:var(--green);text-decoration:underline;text-underline-offset:3px}.attachment-zone .attachment-hint{pointer-events:none;margin:0;font-size:11px;line-height:1.6;color:#687069}.attachment-file{padding:10px 0;background:transparent}.attachment-file-icon{border-radius:4px}.attachment-remove{color:#59625b}.attachment-remove:hover{color:var(--green)}
    @media(max-width:640px){.attachment-zone{padding:20px 14px;flex-wrap:nowrap;gap:8px}.attachment-pick{width:auto;padding:0;text-align:center}.attachment-file{padding:10px 0}}
    .logo{height:auto}.nav{gap:25px}.nav-links{gap:25px}.nav-links> a,.nav-group summary{white-space:nowrap}
    .nav-group{position:relative}.nav-group summary{list-style:none;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px 0;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'＋';font-size:12px;margin-left:6px;letter-spacing:0}.nav-group[open] summary:after{content:'−'}
    .nav-submenu{position:absolute;top:100%;left:-20px;min-width:250px;background:#101a15;padding:12px 20px;border:1px solid #ffffff30;box-shadow:0 15px 35px #0004;color:#fff}.nav-submenu a{display:block;font-size:12px;text-transform:none;letter-spacing:0;font-weight:400;padding:13px 0;border-bottom:1px solid #ffffff18}.nav-submenu a:last-child{border-bottom:0}.nav-submenu a:hover{color:#5de3a6;opacity:1}
    .hero-inner{height:68svh;min-height:590px;max-height:800px}.hero-inner .hero-copy{bottom:17%;max-width:1000px}.hero-inner h1{font-size:clamp(48px,5.5vw,84px)}.hero-inner .hero-description{max-width:580px}.hero-inner .hero-bottom{bottom:24px}.hero-inner .hero-photo{object-position:center 45%}.hero-craft .hero-photo{object-position:center 37%}.hero-craft:before{background:linear-gradient(90deg,#08110ed9,#08110e69 75%),linear-gradient(0deg,#08110e99,transparent 60%)}
    .intro-link{margin-top:24px}.intro .text-link{color:var(--ink)}.project .project-description{font-size:14px;line-height:1.7;color:#59625b;margin:16px 0 0}.project .project-kind{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:#687069}.project-image{aspect-ratio:1.65}.project-image img{object-position:center}.project-grid{row-gap:40px}
    .section{padding:85px 5.5%;background:var(--paper)}.section-dark{background:var(--ink);color:#fff}.section-title{font-size:clamp(32px,3.8vw,56px);line-height:1.08;letter-spacing:-.04em;font-weight:500;margin:0 0 22px}.section-copy{max-width:640px;line-height:1.8;font-size:16px;color:#59625b;margin:0 0 28px}.section-dark .section-copy{color:#aeb6af}.section .eyebrow{color:#59625b}.section-dark .eyebrow{color:#b3bdb4}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.editorial-photo{margin:0}.editorial-photo img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover;filter:saturate(.72)}.editorial-photo figcaption{font-size:11px;color:#687069;line-height:1.6;margin-top:12px}.section-dark .editorial-photo figcaption{color:#9ba79e}
    .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:22px}.step{border-top:1px solid var(--line);padding:25px 0 0}.step-number{display:block;color:var(--green);font-size:12px;letter-spacing:.12em;margin-bottom:18px}.step h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:0 0 14px}.step p{font-size:15px;line-height:1.8;color:#59625b;margin:0}.section-dark .step{border-color:#ffffff26}.section-dark .step p{color:#aeb6af}.section-dark .step-number{color:#48ce94}
    .service-list a{align-items:flex-start}.service-list .service-name{line-height:1.5}.service-list .service-name em{display:block;font-style:normal;font-size:13px;color:#aeb6af;letter-spacing:0;margin-top:7px;max-width:500px}.service-list .arrow{padding-top:8px}.service-list small{padding-top:9px}
    .project-list{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:30px;margin-top:45px}.project-list h3{font-weight:500;font-size:23px;letter-spacing:-.02em;margin:0 0 8px}.project-list p{font-size:15px;line-height:1.8;color:#59625b;margin:0}
    .cta-band{background:var(--ink);color:white;padding:70px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font-size:clamp(30px,3.4vw,48px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0 0 14px}.cta-band p{font-size:15px;line-height:1.7;color:#aeb6af;margin:0;max-width:570px}.cta-band .action{flex-shrink:0}
    .contact-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.person{border-top:1px solid var(--line);padding-top:23px;min-width:0}.person h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:0 0 8px}.person p{font-size:13px;color:#687069;margin:0 0 20px}.person a{display:block;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.person a:hover{color:var(--green)}.address{font-style:normal;line-height:1.8;font-size:16px}.address a{display:block;margin:10px 0 0}.address strong{font-weight:500}.inline-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:30px}
    .site-footer{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px;background:var(--ink);color:white;padding:60px 5.5% 30px}.site-footer h2{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;font-weight:700}.site-footer .logo{width:155px;margin-bottom:25px}.site-footer p,.site-footer address{font-size:13px;color:#a8b0a9;font-style:normal;line-height:1.8;margin:0}.site-footer a{display:block;font-size:13px;color:#c9d0c9;line-height:1.8;margin-bottom:10px}.site-footer a:hover{color:#5de3a6}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px;margin-top:10px}.footer-bottom p{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.footer-bottom a{font-size:11px;margin:0}.press-logo{background:white;padding:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}.press-logo img{max-width:380px;width:100%;height:auto}
    @media(max-width:1050px){.nav-links{gap:17px}.nav-links>a,.nav-group summary{font-size:10px;letter-spacing:.09em}.nav .logo{width:150px}.nav-links .nav-contact{padding:14px 13px}.editorial-grid{gap:35px}.contact-directory{grid-template-columns:1fr 1fr}}
    @media(max-width:760px){.nav .logo{width:145px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:108px;left:-6.18%;right:-6.18%;padding:20px 5.5%;background:#101a15;align-items:stretch;gap:0;flex-direction:column}.nav-links.open{display:flex}.nav-links>a,.nav-group summary{font-size:12px;padding:16px 0;letter-spacing:.1em}.nav-links .nav-contact{padding:16px;margin-top:12px}.nav-submenu{position:static;background:none;min-width:0;padding:0 0 10px 17px;border:0;box-shadow:none}.nav-submenu a{font-size:13px;padding:12px 0}.nav-group summary{display:flex;justify-content:space-between}}
    @media(max-width:640px){.hero-inner{height:auto;min-height:650px;max-height:none}.hero-inner h1{font-size:clamp(39px,10.5vw,60px)}.hero-inner .hero-copy{bottom:17%}.hero-inner .hero-description{font-size:15px}.hero-inner .hero-bottom p{font-size:9px}.nav-links{top:85px;left:-6.82%;right:-6.82%;padding:20px 6%}.hero-inner .hero-photo{object-position:60% center}.section{padding:55px 6%}.section-title{font-size:37px}.section-copy{font-size:15px}.editorial-grid,.steps,.contact-directory,.project-list{grid-template-columns:1fr;gap:30px}.project-description{font-size:14px}.project-image{aspect-ratio:1.4}.steps{padding-top:10px}.step{padding-top:20px}.editorial-photo img{aspect-ratio:1.2}.cta-band{padding:55px 6%;flex-direction:column;align-items:flex-start;gap:28px}.cta-band .action{width:100%}.site-footer{padding:45px 6% 25px;grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.site-footer .logo{width:145px}.site-footer a{font-size:13px}.project-grid{row-gap:30px}.intro-link{margin-top:20px}}
    @media(max-width:380px){.site-footer{grid-template-columns:1fr}.hero-inner h1{font-size:36px}.hero-inner .hero-bottom{align-items:center}.hero-inner .hero-description br{display:none}}
    :root{--radius-ui:8px;--radius-media:12px}
    .action,.nav-links .nav-contact,.menu-toggle,.attachment-remove,.field input,.field select,.field textarea,.attachment-zone,.nav-submenu{border-radius:var(--radius-ui)}
    .project-image,.editorial-photo img,.press-logo{border-radius:var(--radius-media)}
    .attachment-file-icon{border-radius:6px}
    .hero-villa .hero-photo{object-position:right top}
    .project-filters{display:flex;gap:10px;flex-wrap:wrap;margin:-12px 0 32px}.project-filter{font:inherit;font-size:13px;padding:11px 18px;border:1px solid #bcc5be;border-radius:var(--radius-ui);background:transparent;color:#59625b;cursor:pointer}.project-filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.project-filter:hover{border-color:var(--green)}.project-filter:focus-visible{outline:2px solid var(--green);outline-offset:3px}.project[hidden]{display:none}.project-count{font-size:12px;color:#687069;letter-spacing:.05em}

body{font-family:Manrope,"Avenir Next",Arial,sans-serif}.hero{overflow:visible}.hero-minimal{display:flow-root}.hero-project-detail h1{text-transform:none}.lightbox-nav[hidden]{display:none}.project-story .text-link{margin-top:24px}
h1{font-weight:500;letter-spacing:-.055em}.hero-photo{filter:saturate(.93)}
.hero:before{background:linear-gradient(90deg,rgba(5,14,12,.78),rgba(5,14,12,.22) 58%,rgba(5,14,12,.02)),linear-gradient(0deg,rgba(5,14,12,.66),transparent 45%,rgba(5,14,12,.18))}
.hero-description{color:#f0f2ee}.eyebrow{letter-spacing:.16em}.nav-links>a,.nav-group summary{letter-spacing:.09em}
.project img,.editorial-photo img{filter:saturate(.94)}.project img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.project:hover img{transform:scale(1.025)}.project h3{font-size:28px;letter-spacing:-.045em}.project-label{padding:22px 0;align-items:center}
.project-label .arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #acb5ac;border-radius:50%;flex-shrink:0;transition:background .2s,color .2s}
.project:hover .project-label .arrow{background:var(--ink);border-color:var(--ink);color:white}.project-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:#687069;letter-spacing:.05em;margin:0 0 14px}
.project-meta span:first-child{color:var(--green);font-weight:700}.section-head h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.05em}.project-grid{column-gap:32px;row-gap:54px}
.project.is-featured{grid-column:1/-1}.project.is-featured .project-image{aspect-ratio:2.05}.project.is-featured .project-image img{object-position:50% 35%}.project.is-featured h3{font-size:clamp(34px,4vw,58px)}
.project.is-featured .project-label{padding:25px 0 22px}.project.is-featured .project-description{max-width:620px;margin-top:16px}.project.is-featured .project-label .arrow{width:58px;height:58px;font-size:24px}
.project-illustrations{margin-top:62px;border-top:1px solid var(--line);padding-top:32px}.project-illustrations h3.group-title{font-size:23px;font-weight:500;letter-spacing:-.04em;margin:0 0 25px}.project-illustrations .project-grid{grid-template-columns:repeat(3,1fr);gap:28px}.project-illustrations .project h3{font-size:23px}.project-illustrations .project-image{aspect-ratio:1.4}.project-illustrations .project-label .arrow{width:40px;height:40px}.project-illustrations .project-description{font-size:13px}
.portfolio-home{background:var(--ink);color:white;padding-top:75px}.portfolio-home .section-head .text-link{border-color:#77857b}.portfolio-home .project-label{border-color:#ffffff2b}.portfolio-home .project p{color:#a9b8ae}.portfolio-home .project-meta{color:#a9b8ae}.portfolio-home .project-meta span:first-child{color:#49ce97}.portfolio-home .project-label .arrow{border-color:#68766d}.portfolio-home .project:hover .project-label .arrow{background:#fff;color:var(--ink)}
.project-filter{min-height:46px;padding:12px 20px}.project-filters{margin:0 0 38px}.project-count{font-size:13px}.projects{scroll-margin-top:28px}
.hero-minimal{height:auto;min-height:0;max-height:none;background:var(--paper);color:var(--ink)}.hero-minimal:before{display:none}.hero-minimal .logo{filter:brightness(0)}.hero-minimal .nav{border-color:var(--line)}.hero-minimal .hero-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:1140px;margin:70px 5.5% 80px}.hero-minimal h1{font-size:clamp(55px,6.6vw,98px);text-transform:none;max-width:1050px;line-height:1.03}.hero-minimal .hero-description{color:#59625b;max-width:610px}.hero-minimal .hero-bottom{display:none}.hero-minimal .action:not(.primary){color:var(--ink);border-color:#9fa99f}.hero-minimal .action:not(.primary):hover{background:var(--ink);color:white}.hero-minimal .eyebrow{color:#59625b}.hero-minimal .menu-toggle{border-color:#9fa99f;color:var(--ink)}
.project-overview .projects{padding-top:0}.project-facts{padding:72px 5.5%;background:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.project-story .section-title{font-size:clamp(32px,3.7vw,52px)}.project-story p{color:#59625b;line-height:1.8;max-width:600px;margin:0}.project-facts dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;align-content:start}.project-facts dl div{border-top:1px solid var(--line);padding-top:18px}.project-facts dt{font-size:11px;color:#687069;margin-bottom:9px}.project-facts dd{font-size:19px;line-height:1.5;margin:0;font-weight:500;letter-spacing:-.03em}
.project-gallery{padding:0 5.5% 80px;background:var(--paper)}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.gallery-head h2{font-size:clamp(32px,3vw,44px);font-weight:500;letter-spacing:-.04em;margin:0}.gallery-head p{font-size:12px;color:#687069;margin:0}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px}.gallery-photo{margin:0;min-width:0}.gallery-photo:first-child{grid-row:span 2}.gallery-photo:only-child{grid-column:1/-1;grid-row:auto;max-width:1000px;width:100%;margin:auto}.gallery-photo button{position:relative;display:block;width:100%;height:calc(100% - 36px);padding:0;border:0;border-radius:var(--radius-media);overflow:hidden;background:#e5e8e2;cursor:zoom-in}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1.5;transition:transform .7s}.gallery-photo:first-child img{aspect-ratio:1.1}.gallery-photo:only-child img{aspect-ratio:1.8}.gallery-photo button:hover img{transform:scale(1.025)}.gallery-photo figcaption{font-size:11px;color:#687069;line-height:1.7;margin-top:12px;min-height:24px}.gallery-zoom{position:absolute;bottom:16px;right:16px;background:#ffffffec;color:var(--ink);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:24px}.gallery-illustration .gallery-photo:only-child{max-width:620px}.gallery-illustration .gallery-photo:only-child img{object-fit:contain;aspect-ratio:1.3}
.project-back{background:var(--ink);padding:40px 5.5%;color:white}.project-back .text-link{border-color:#829487}.project-back .text-link:hover{color:#49ce97}
.float-offer{position:fixed;z-index:12;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:26px;min-height:52px;padding:16px 21px;background:var(--green);color:white;border:1px solid #ffffff22;border-radius:var(--radius-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 26px #0003}.float-offer:hover{background:#076c3d}.float-offer[hidden],body.has-lightbox .float-offer{display:none}.float-offer span{font-size:20px}
.lightbox{padding:0;border:1px solid #ffffff22;border-radius:16px;background:#111713;color:white;width:min(1100px,94vw);max-height:94dvh;overflow:auto;box-shadow:0 35px 100px #0008}.lightbox::backdrop{background:#000c;backdrop-filter:blur(8px)}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;gap:20px}.lightbox-title{font-size:14px;margin:0}.lightbox-close{border:1px solid #ffffff40;background:transparent;color:white;border-radius:8px;padding:12px 17px;min-height:44px;font-size:12px}.lightbox-close:hover,.lightbox-nav button:hover{background:#ffffff15}.lightbox-photo{margin:0;padding:0 20px}.lightbox-photo img{display:block;width:100%;max-height:68dvh;object-fit:contain;background:#080c09}.lightbox-photo figcaption{margin-top:14px;color:#c0c9c2;font-size:12px;line-height:1.6}.lightbox-nav{padding:17px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-nav button{border:1px solid #ffffff40;background:transparent;color:white;min-width:110px;min-height:44px;padding:11px 16px;border-radius:8px;font-size:12px}.lightbox-nav button:disabled{opacity:.25;cursor:default}.lightbox-count{font-size:12px;color:#c0c9c2}.has-lightbox{overflow:hidden}
.motion-enabled [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:760px){.hero-minimal .nav-links{color:white;max-height:calc(100dvh - 100px);overflow-y:auto}.hero-minimal .hero-copy{margin-top:55px}.project-facts{gap:35px}.project-illustrations .project-grid{grid-template-columns:1fr 1fr}.gallery-grid{gap:20px}.float-offer{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}
@media(max-width:640px){.hero:before{background:linear-gradient(90deg,#050e0cb5,#050e0c55),linear-gradient(0deg,#050e0ca6,transparent 70%)}.hero h1{font-size:clamp(42px,11vw,65px)}.hero-minimal .hero-copy{margin:48px 6% 55px}.hero-minimal h1{font-size:clamp(43px,11.5vw,66px);line-height:1.08}.hero-minimal .hero-description{font-size:15px}.hero-minimal .nav{height:85px}.portfolio-home{padding-top:55px}.project.is-featured .project-image{aspect-ratio:1.35}.project.is-featured .project-image img{object-position:50% 35%}.project.is-featured h3{font-size:38px}.project h3{font-size:26px}.project-label{padding:18px 0}.project-grid{gap:36px}.project-illustrations{margin-top:45px}.project-illustrations .project-grid{grid-template-columns:1fr}.project-illustrations .project-image{aspect-ratio:1.6}.project-illustrations .project h3{font-size:25px}.section-head h2{font-size:39px}.project-filters{gap:8px}.project-filter{font-size:12px;padding:10px 13px;min-height:46px}.quote-form{grid-template-columns:1fr}.project-facts{padding:55px 6%;grid-template-columns:1fr;gap:32px}.project-facts dl{gap:23px}.project-facts dd{font-size:18px}.project-gallery{padding:0 6% 55px}.gallery-head{align-items:flex-start;flex-direction:column;gap:8px}.gallery-grid{grid-template-columns:1fr;gap:26px}.gallery-photo:first-child{grid-row:auto}.gallery-photo button{height:auto}.gallery-photo img,.gallery-photo:first-child img,.gallery-photo:only-child img{aspect-ratio:1.45}.gallery-illustration .gallery-photo:only-child img{aspect-ratio:1.3}.gallery-zoom{width:38px;height:38px;bottom:12px;right:12px}.project-back{padding:30px 6%}.float-offer{min-height:48px;padding:13px 16px;font-size:10px;gap:18px}.lightbox{width:96vw;border-radius:12px}.lightbox-toolbar,.lightbox-nav{padding:14px}.lightbox-photo{padding:0 14px}.lightbox-photo img{max-height:62dvh}.lightbox-nav button{min-width:95px}.nav-links{max-height:calc(100dvh - 110px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.motion-enabled [data-reveal]{opacity:1;transform:none;transition:none}.project img,.gallery-photo img{transition:none}.project:hover img,.gallery-photo button:hover img{transform:none}}
