@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-latin-ext-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#fbfcf8;--ink:#202922;--quiet:#4e594f;--leaf:#dce9cf;--deep:#283f2d;--peach:#f3e0d5;--tint:#eef2e8;--line:#d9dfd4;--pad:clamp(22px,5vw,80px);--shell:1440px;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.6}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3,dl,dd{margin:0}
p{max-width:64ch}
a{color:inherit;text-decoration:none}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid #546c4b;outline-offset:5px}
[hidden]{display:none!important}
.shell{width:min(100%,var(--shell));margin-inline:auto;padding-inline:var(--pad)}
.header{border-bottom:1px solid var(--line);position:relative;z-index:3;background:var(--paper)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;font-size:23px;font-weight:800;letter-spacing:-.055em;line-height:1}
.brand svg{color:#536b4a;flex:none}
.nav{display:flex;align-items:center;gap:clamp(16px,2.6vw,39px)}
.nav a{font-size:14px;font-weight:700;white-space:nowrap;position:relative}
.nav a:not(:last-child){padding-block:10px}
.nav a:not(:last-child)::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1.5px;background:#61795a;transform:scaleX(0);transform-origin:left;transition:transform .18s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a:last-child{border:1px solid var(--line);border-radius:999px;padding:9px 18px}
.nav a:last-child:hover,.nav a:last-child[aria-current="page"]{background:var(--leaf);border-color:var(--leaf)}
.menu-toggle{display:none}
.skip{position:absolute;top:10px;left:10px;z-index:10;transform:translateY(-200%);background:var(--deep);color:white;padding:10px 20px}
.skip:focus{transform:translateY(0)}
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(25px,4vw,62px);align-items:center;padding-block:clamp(32px,5vw,72px) clamp(31px,4.5vw,65px)}
.hero-copy{padding-bottom:23px}
h1,h2,h3{font-weight:800}
h1{font-size:clamp(42px,5.35vw,78px);line-height:1.035;letter-spacing:-.075em;text-wrap:balance}
.home-hero h1{font-size:clamp(47px,6.1vw,89px);letter-spacing:-.078em;text-wrap:initial}
.inner-hero h1{font-size:clamp(39px,4.85vw,70px)}
.label{display:flex;align-items:center;gap:9px;color:var(--deep);font-size:13px;font-weight:800;margin-bottom:21px}
.label span{width:9px;height:9px;display:block;border-radius:50%;background:#91ab78;box-shadow:0 0 0 3px #e9f0e1}
.lead{color:var(--quiet);font-size:clamp(16px,1.38vw,20px);line-height:1.66;margin-top:23px;max-width:42ch}
.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:max-content;max-width:100%;padding:9px 17px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:800;line-height:1.35;transition:background-color .18s,color .18s,border-color .18s}
.button svg{flex:none}
.button.primary{background:var(--leaf);color:#263c2a}
.button.primary:hover{background:#c7ddb8}
.button.secondary{border-color:#cdd5c9}
.button.secondary:hover{background:var(--tint);border-color:#a8b6a3}
.button.dark{background:var(--deep);color:white}
.button.dark:hover{background:#415d45}
.photo img{border-radius:4px;object-fit:cover}
.hero .photo img{aspect-ratio:1.2;object-position:57% center}
.home-hero .photo img{aspect-ratio:1.25}
.photo figcaption,.image-credit{font-size:11px;font-weight:700;color:var(--quiet);margin-top:9px}
.hero figcaption{text-align:right}
.section{padding-block:clamp(44px,6vw,94px)}
.section + .section{padding-top:clamp(16px,2vw,32px)}
#services{scroll-margin-top:18px}
.home-hero + #services .section-head{border-top:1px solid var(--line);padding-top:clamp(36px,4vw,60px)}
.home-hero + #services{padding-top:0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(24px,3vw,43px)}
h2{font-size:clamp(32px,4.05vw,59px);line-height:1.07;letter-spacing:-.066em;text-wrap:balance}
.section-head > p{color:var(--quiet);max-width:34ch;font-size:15px}
h3{font-size:clamp(19px,2vw,28px);line-height:1.2;letter-spacing:-.046em}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(13px,1.8vw,26px)}
.service a{display:block;height:100%}
.service-photo{border-radius:4px;overflow:hidden;background:var(--tint)}
.service-photo img{aspect-ratio:1.29;object-fit:cover;transition:transform .28s ease}
.service a:hover img{transform:scale(1.035)}
.service-title{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-block:14px 7px}
.arrow-circle{display:grid;place-items:center;flex:none;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;transition:background-color .18s,border-color .18s}
.service a:hover .arrow-circle{background:var(--leaf);border-color:var(--leaf)}
.service p,.example p,.steps p,.rows p,.timeline p,.split p:not(.label),.cta p{color:var(--quiet);font-size:15px}
.image-credit{margin-top:19px}
.example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:clamp(18px,2.2vw,34px)}
.featured{grid-template-columns:1.27fr 1fr 1fr;align-items:start}
.example img{aspect-ratio:1.34}
.featured .example:first-child img{aspect-ratio:1.26}
.example-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 0 8px;color:var(--quiet);font-size:12px;font-weight:800}
.status{display:inline-block;background:var(--tint);color:var(--deep);font-size:11px;font-weight:800;border-radius:999px;padding:4px 9px}
.example > .status{margin:12px 0 9px}
.example h3{margin-bottom:7px}
.tint{background:var(--tint)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:22px}
.steps li{border-top:1px solid #b8c4b3;padding-top:18px}
.step-number,.timeline span{font-size:13px;color:var(--deep);font-weight:800;font-variant-numeric:tabular-nums}
.steps h3{margin:13px 0 8px}
.split{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);align-items:center;gap:clamp(25px,8vw,115px)}
.split h2{margin-bottom:15px}
.split .button{margin-top:23px}
.split img{aspect-ratio:1.55}
.rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,4vw,60px)}
.rows article{border-top:1px solid var(--line);padding:21px 0 23px}
.rows h3{margin-bottom:8px}
.cta-wrap{padding-block:clamp(35px,5vw,72px)}
.cta{padding:clamp(25px,5vw,66px);background:var(--leaf);border-radius:4px;display:flex;align-items:end;justify-content:space-between;gap:25px}
.cta h2{max-width:20ch}
.cta p{margin-top:14px}
.cta .button{flex:none}
.footer{background:var(--tint);padding-top:50px}
.footer-grid{display:grid;grid-template-columns:1.55fr 1fr .75fr 1fr;gap:26px}
.footer-tag{font-size:14px;color:var(--quiet);margin-top:12px}
.footer-links{display:flex;flex-direction:column;align-items:start;gap:7px;font-size:14px}
.footer-links h2{font-size:14px;letter-spacing:0;margin-bottom:3px}
.footer-links p{color:var(--quiet);font-size:12px}
.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{border-top:1px solid #d3dccc;margin-top:40px;padding-block:15px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--quiet)}
.details{margin-top:17px}
.details > div{border-top:1px solid var(--line);padding:9px 0;display:grid;gap:3px}
.details dt{font-weight:800;font-size:13px}
.details dd{color:var(--quiet);font-size:14px}
.details dd a{text-decoration:underline;text-underline-offset:3px}
.audiences,.topic-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.audiences li,.topic-links a{display:inline-block;padding:9px 16px;background:var(--tint);border-radius:999px;font-size:14px;font-weight:750}
.topic-links a:hover{background:var(--leaf)}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{display:grid;align-items:baseline;grid-template-columns:45px minmax(0,.75fr) minmax(0,1.2fr);gap:20px;border-top:1px solid var(--line);padding:22px 0}
.contact-hero{padding-block:clamp(48px,9vw,115px) clamp(30px,5vw,70px);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,7vw,100px);align-items:center}
.contact-card{padding:clamp(23px,4vw,48px);background:var(--tint);border-radius:4px}
.contact-card h2{font-size:clamp(26px,3vw,40px)}
.contact-card > p{color:var(--quiet);font-size:14px;margin-top:12px}
.contact-rows{margin-top:26px}
.contact-rows article{scroll-margin-top:20px}
.contact-rows article:target{background:var(--leaf);border-radius:4px;padding-inline:13px}
@media(max-width:1050px){.home-hero h1{font-size:clamp(45px,6.35vw,69px)}.hero{gap:25px}.actions{gap:8px}.button{font-size:12px;padding-inline:13px}.featured{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
 .hero{grid-template-columns:1fr 1fr}
 .hero-copy{padding-bottom:0}
 .home-hero h1,.inner-hero h1{font-size:clamp(36px,6vw,57px)}
 .hero .photo img{aspect-ratio:.97}
 .lead{margin-top:14px}
 .label{margin-bottom:13px}
 .actions{margin-top:18px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
 .split{gap:28px}
 .steps{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
}
@media(max-width:590px){
 .enhanced .nav.open{display:grid;grid-template-columns:1fr 1fr;padding-block:12px 18px;gap:2px 16px}
 .nav a:last-child{width:max-content}
 .hero,.split,.contact-hero{grid-template-columns:1fr}
 .hero{gap:25px;padding-top:38px}
 .home-hero h1,.inner-hero h1,.contact-hero h1{font-size:clamp(39px,10.5vw,59px)}
 .hero .photo img{aspect-ratio:1.27}
 .hero figcaption{text-align:left}
 .section-head{align-items:start;flex-direction:column;gap:11px}
 .section-head > p{max-width:46ch}
 .service-title h3{font-size:20px}
 .service p{font-size:13px}
 .arrow-circle{width:29px;height:29px}
 .arrow-circle svg{width:16px;height:16px}
 .featured,.rows{grid-template-columns:1fr}
 .example-grid{gap:27px}
 .example img,.featured .example:first-child img{aspect-ratio:1.4}
 .steps{grid-template-columns:1fr;gap:19px}
 .steps h3{margin-top:6px}
 .split img{aspect-ratio:1.38}
 .cta{align-items:start;flex-direction:column}
 .footer-grid{grid-template-columns:1fr 1fr}
 .footer-grid > div:first-child{grid-column:1/-1}
 .footer-bottom{flex-wrap:wrap}
 .timeline li{grid-template-columns:32px 1fr;gap:8px}
 .timeline p{grid-column:2}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* Keep the language switch available with the mobile menu closed. */
.header-inner > .brand{margin-right:auto}
.language{display:inline-flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:999px;padding:2px;font-size:11px;font-weight:800;line-height:1}
.language :is(a,span){min-width:31px;min-height:30px;display:grid;place-items:center;border-radius:999px;color:var(--deep)}
.language :is(a:hover,[aria-current]){background:var(--leaf)}
@media(min-width:981px){.header-inner{gap:clamp(15px,2vw,26px)}.nav{gap:clamp(13px,1.8vw,30px)}}
@media(max-width:980px){
 .header-inner{min-height:64px;flex-wrap:wrap;column-gap:9px;row-gap:0}
 .nav{width:100%;flex-wrap:wrap;gap:9px 19px;padding:9px 0 16px}
 .enhanced .menu-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--ink);font:750 13px Manrope,sans-serif;cursor:pointer}
 .enhanced .nav{display:none}
 .enhanced .nav.open{display:flex}
}
@media(max-width:590px){.enhanced .nav.open{display:grid}.header-inner .brand{font-size:21px}}
@media(max-width:350px){.header-inner .brand{font-size:18px;gap:4px}.header-inner .brand svg{width:24px}.language :is(a,span){min-width:25px}}

.sculpture {
  scroll-margin-top: 16px;
}

.sculpture-intro,
.sculpture-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 60px);
}

.sculpture-intro {
  align-items: center;
}

.sculpture-intro h2 {
  font-size: clamp(32px, 3.7vw, 53px);
}

.sculpture-intro .lead {
  max-width: 54ch;
  font-size: clamp(15px, 1.3vw, 18px);
}

.sculpture-intro .button {
  margin-top: 23px;
  background: var(--deep);
  color: white;
}

.sculpture-intro .button:hover {
  background: #415d45;
}

.sculpture-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-block: clamp(25px, 4vw, 55px);
  border-block: 1px solid #b8c4b3;
  padding-block: 20px;
}

.sculpture-metrics > div {
  display: flex;
  flex-direction: column-reverse;
  justify-content: start;
  gap: 6px;
}

.sculpture-metrics dt {
  color: var(--quiet);
  font-size: 13px;
  font-weight: 750;
}

.sculpture-metrics dd {
  font-size: clamp(24px, 4vw, 50px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.1;
}

.sculpture-examples img {
  aspect-ratio: 1.55;
}

.sculpture-examples article:first-child img {
  object-position: center 34%;
}

.sculpture-examples h3 {
  margin-block: 15px 7px;
}

.sculpture-examples article > p,
.sculpture-materials p,
.sculpture-specs > p {
  color: var(--quiet);
  font-size: 15px;
}

.sculpture-materials {
  margin-top: clamp(24px, 4vw, 50px);
}

.sculpture-materials h3 {
  margin-bottom: 8px;
}

.sculpture-specs {
  border-block: 1px solid #b8c4b3;
  margin-top: 25px;
}

.sculpture-specs summary {
  padding-block: 16px;
  cursor: pointer;
  font-weight: 800;
}

.sculpture-specs dl > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  border-top: 1px solid var(--line);
  padding-block: 10px;
  font-size: 14px;
}

.sculpture-specs dd {
  font-weight: 750;
}

.sculpture-specs > p {
  margin-block: 10px 18px;
}

.sculpture-challenge {
  max-width: 72ch;
  color: var(--quiet);
  font-size: clamp(16px, 1.5vw, 20px);
}

.sculpture-systems {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 44px);
}

.sculpture-system h3 {
  margin-block: 17px 8px;
}

.sculpture-system p,
.sculpture-flow p,
.sculpture-review p {
  color: var(--quiet);
  font-size: 15px;
}

#workflow {
  scroll-margin-top: 16px;
}

.sculpture-flow {
  display: grid;
  gap: 30px;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.sculpture-flow > li {
  position: relative;
}

.sculpture-flow > li:not(:last-child)::after {
  position: absolute;
  bottom: -19px;
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border: solid var(--deep);
  border-width: 0 2px 2px 0;
  content: '';
  transform: rotate(45deg);
}

.sculpture-flow-node,
.sculpture-flow-tracks article {
  padding: clamp(17px, 2.5vw, 30px);
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
}

.sculpture-flow-node:not(.sculpture-flow-package) {
  text-align: center;
}

.sculpture-flow h3,
.sculpture-review h3 {
  margin-bottom: 7px;
}

.sculpture-flow-node p {
  margin-inline: auto;
}

.sculpture-flow-tracks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.sculpture-flow-package {
  background: var(--leaf);
}

.sculpture-flow-package ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 25px;
  margin: 12px 0 0;
  padding-left: 20px;
}

.sculpture-review {
  max-width: 980px;
  margin: 24px auto 0;
  border-inline-start: 2px solid var(--deep);
  padding: 5px 0 5px 16px;
}

@media (max-width: 700px) {
  .sculpture-systems {
    grid-template-columns: 1fr;
  }

  .sculpture-system img {
    max-width: 460px;
  }
}

@media (max-width: 500px) {
  .sculpture-flow-tracks,
  .sculpture-flow-package ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .sculpture-intro,
  .sculpture-examples {
    grid-template-columns: 1fr;
  }
  .sculpture-metrics {
    gap: 10px;
  }
  .sculpture-metrics dt {
    font-size: 11px;
  }
  .sculpture-metrics dd {
    font-size: clamp(17px, 5vw, 26px);
  }
}
