

@font-face {
  font-family: "Archivo";
  src: url("/assets/fonts/archivo-7150c0ec5ad3.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
}

:root {
  --ink: #0f1a22;
  --text: #2a333c;
  --mute: #5e6873;
  --line: #e3e6e9;
  --bg: #ffffff;
  --bg-2: #f3f4f5;
  --accent: #0a7a43;
  --accent-dark: #07613a;
  --font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter: 40px;
  --sec: 136px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.55;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, p { margin: 0; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); }


.btn {
  display: inline-flex; align-items: center; gap: 10px;
  height: 54px; padding: 0 28px;
  font: 600 16px/1 var(--font); letter-spacing: .01em;
  text-decoration: none; border-radius: 2px;
  transition: background-color .15s;
}
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-dark); }
.btn-sm { height: 42px; padding: 0 20px; font-size: 15px; }


.head { position: absolute; top: 0; left: 0; right: 0; z-index: 10; color: #fff; }
.head-in { display: flex; align-items: center; height: 88px; gap: 40px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.brand-mark { width: 52px; height: 26px; }
.brand-word { font-weight: 700; font-size: 21px; letter-spacing: .16em; }
.nav { display: flex; gap: 36px; }
.nav a { text-decoration: none; font-size: 15px; font-weight: 500; opacity: .88; }
.nav a:hover { opacity: 1; }
.menu { display: none; position: relative; }
.menu summary { list-style: none; cursor: pointer; font-size: 15px; font-weight: 600; padding: 10px 0; }
.menu summary::-webkit-details-marker { display: none; }
.menu-panel {
  position: absolute; right: 0; top: 44px; min-width: 200px;
  background: #fff; color: var(--ink); padding: 8px 0; box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.menu-panel a { display: block; padding: 12px 20px; text-decoration: none; font-weight: 500; }


.hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; max-height: 1000px; display: flex; align-items: flex-end; color: #fff; background: #1a2026; overflow: hidden; }
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.hero-shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(8,13,18,.55) 0%, rgba(8,13,18,0) 22%),
    linear-gradient(90deg, rgba(8,13,18,.9) 0%, rgba(8,13,18,.74) 36%, rgba(8,13,18,.2) 62%, rgba(8,13,18,0) 80%);
}
.hero-in { position: relative; padding-top: 140px; padding-bottom: 15vh; }
.hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 5.5vw, 80px);
  line-height: 1.02; font-weight: 600; letter-spacing: -.025em;
}
.hero-sub { margin-top: 28px; max-width: 640px; font-size: 20px; line-height: 1.5; color: rgba(255,255,255,.86); }
.hero-actions { margin-top: 40px; display: flex; align-items: center; gap: 36px; flex-wrap: wrap; }
.link-light { color: #fff; font-weight: 600; font-size: 16px; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 3px; }
.link-light:hover { border-bottom-color: #fff; }


.intro { padding: var(--sec) 0 calc(var(--sec) - 16px); }
.statement {
  max-width: 980px;
  font-size: clamp(28px, 3.3vw, 46px); line-height: 1.18; font-weight: 600; letter-spacing: -.018em; color: var(--ink);
}
.statement span { color: var(--mute); }
.figures {
  margin: 104px 0 0;
  display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 48px;
}
.figures div { display: flex; flex-direction: column-reverse; }
.figures dd { margin: 0; font-size: clamp(40px, 4.6vw, 68px); line-height: 1; font-weight: 600; letter-spacing: -.03em; color: var(--ink); }
.figures dd small { font-size: .56em; font-weight: 600; letter-spacing: -.01em; margin-left: .08em; }
.figures dt { margin-top: 16px; font-size: 15px; color: var(--mute); }


.plant { position: relative; height: 86vh; min-height: 560px; max-height: 820px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: #1a2026; }
.plant > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.plant-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,13,18,.84) 0%, rgba(8,13,18,.45) 32%, rgba(8,13,18,0) 60%); }
.plant-in { position: relative; padding-bottom: 88px; }
.plant-line { max-width: 900px; font-size: clamp(30px, 3.8vw, 54px); line-height: 1.1; font-weight: 600; letter-spacing: -.02em; }
.plant-sub { margin-top: 22px; font-size: 17px; color: rgba(255,255,255,.82); }


.sec { padding: var(--sec) 0; }
.sec-grey { background: var(--bg-2); }
.sec-head { margin-bottom: 64px; max-width: 760px; }
.sec-head h2 { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.08; font-weight: 600; letter-spacing: -.022em; color: var(--ink); }
.sec-head p { margin-top: 18px; font-size: 19px; color: var(--mute); max-width: 600px; }


.procs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 56px 32px; }
.proc { grid-column: span 2; text-decoration: none; color: var(--text); }
.proc-lg { grid-column: span 3; }
.proc-img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-2); }
.proc-lg .proc-img { aspect-ratio: 3 / 2; }
.proc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.proc:hover .proc-img img { transform: scale(1.03); }
.proc h3 { margin-top: 24px; font-size: 24px; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.proc h3 span { color: var(--accent); display: inline-block; margin-left: 4px; transition: transform .15s; }
.proc:hover h3 span { transform: translateX(4px); }
.proc p { margin-top: 8px; font-size: 17px; color: var(--mute); }


.parts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.parts li { background: #fff; padding: 36px 32px 28px; }
.parts img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.parts span { display: block; margin-top: 20px; font-size: 16px; font-weight: 600; color: var(--ink); }
.note { margin-top: 32px; font-size: 15px; color: var(--mute); }


.sec-head-split { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.facts { list-style: none; margin: 0; padding: 0; display: flex; gap: 48px; }
.facts li { font-size: 15px; color: var(--mute); }
.facts b { display: block; font-size: 22px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; margin-bottom: 4px; }
.qrow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.qrow figure { margin: 0; }
.qrow img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.qrow figcaption { margin-top: 16px; font-size: 16px; font-weight: 600; color: var(--ink); }


.cta { background: var(--ink); color: #fff; padding: 128px 0; }
.cta-in { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; }
.cta h2 { font-size: clamp(40px, 5.6vw, 80px); line-height: 1.02; font-weight: 600; letter-spacing: -.025em; }
.cta-sub { margin: 24px 0 40px; max-width: 560px; font-size: 19px; color: rgba(255,255,255,.75); }
.contact { min-width: 320px; padding-left: 48px; border-left: 1px solid rgba(255,255,255,.18); }
.contact-name { font-size: 34px; line-height: 1.1; font-weight: 600; }
.contact-role { margin-top: 6px; font-size: 17px; color: rgba(255,255,255,.7); }
.contact-mail { display: inline-block; margin-top: 28px; font-size: 20px; font-weight: 500; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 2px; }
.contact-mail:hover { border-bottom-color: #fff; }
.contact-where { margin-top: 14px; font-size: 15px; color: rgba(255,255,255,.55); }


.foot { padding: 64px 0 40px; font-size: 15px; color: var(--mute); }
.foot-in { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.foot-brand { display: flex; align-items: center; gap: 18px; }
.foot-mark { width: 64px; height: 32px; flex: none; }
.foot-brand strong { display: block; color: var(--ink); font-weight: 600; }
.foot-nav { display: flex; gap: 32px; }
.foot-nav a { text-decoration: none; color: var(--text); }
.foot-nav a:hover { color: var(--accent); }
.foot-base { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; }


@media (max-width: 1080px) {
  .nav { display: none; }
  .menu { display: block; }
  .head-in { gap: 24px; }
  .figures { grid-template-columns: repeat(2, auto); justify-content: start; gap: 56px 96px; }
  .procs { grid-template-columns: repeat(2, 1fr); }
  .proc, .proc-lg { grid-column: span 1; }
  .proc-lg .proc-img { aspect-ratio: 4 / 3; }
  .proc:last-child { grid-column: span 2; }
  .proc:last-child .proc-img { aspect-ratio: 21 / 9; }
  .parts { grid-template-columns: repeat(3, 1fr); }
  .sec-head-split { flex-direction: column; align-items: flex-start; }
  .facts { flex-wrap: wrap; gap: 24px 40px; }
  .qrow { grid-template-columns: repeat(3, 1fr); }
  .cta-in { flex-direction: column; align-items: flex-start; }
  .contact { padding-left: 0; border-left: 0; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.18); }
  .foot-in { flex-direction: column; align-items: flex-start; }
}


@media (max-width: 640px) {
  :root { --gutter: 20px; --sec: 80px; }
  body { font-size: 16px; }
  .head-in { height: 68px; gap: 16px; }
  .brand-mark { width: 44px; height: 22px; }
  .brand-word { font-size: 18px; }
  .head-cta { display: none; }
  .hero-img { object-position: 76% 60%; }
  .hero-shade {
    background:
      linear-gradient(180deg, rgba(8,13,18,.6) 0%, rgba(8,13,18,0) 20%),
      linear-gradient(0deg, rgba(8,13,18,.92) 0%, rgba(8,13,18,.78) 38%, rgba(8,13,18,.1) 70%);
  }
  .hero-in { padding-bottom: 56px; }
  .hero h1 { font-size: 42px; }
  .hero-sub { margin-top: 18px; font-size: 17px; }
  .hero-actions { margin-top: 28px; gap: 24px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .figures { margin-top: 56px; grid-template-columns: 1fr; gap: 36px; }
  .figures dd { font-size: 48px; }
  .figures dt { margin-top: 10px; font-size: 14px; }
  .plant { height: 78vh; min-height: 520px; max-height: 700px; }
  .plant > img { object-position: 50% 50%; }
  .plant-in { padding-bottom: 48px; }
  .plant-sub { font-size: 15px; }
  .sec-head { margin-bottom: 40px; }
  .sec-head p { font-size: 17px; }
  .procs { grid-template-columns: 1fr; gap: 44px; }
  .proc, .proc-lg, .proc:last-child { grid-column: auto; }
  .proc:last-child .proc-img { aspect-ratio: 4 / 3; }
  .proc h3 { margin-top: 18px; font-size: 21px; }
  .parts { grid-template-columns: 1fr 1fr; gap: 12px; }
  .parts li { padding: 20px 16px 16px; }
  .parts span { margin-top: 12px; font-size: 14px; }
  .facts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .facts b { font-size: 19px; }
  .qrow { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .qrow::-webkit-scrollbar { display: none; }
  .qrow figure { flex: 0 0 62%; scroll-snap-align: start; }
  .cta { padding: 88px 0; }
  .cta .btn { width: 100%; justify-content: center; }
  .foot-nav { flex-wrap: wrap; gap: 14px 24px; }
}


.hero-media, .hero-media img, .hero-vid { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media img, .hero-vid { object-fit: cover; object-position: 50% 50%; }
.hero-vid { opacity: 0; transition: opacity .8s ease; pointer-events: none; }
.hero-vid.on { opacity: 1; }
.hero-video .hero-shade {
  background:
    linear-gradient(180deg, rgba(8,13,18,.6) 0%, rgba(8,13,18,0) 24%),
    linear-gradient(0deg, rgba(8,13,18,.5) 0%, rgba(8,13,18,0) 30%),
    linear-gradient(90deg, rgba(8,13,18,.86) 0%, rgba(8,13,18,.66) 38%, rgba(8,13,18,.18) 66%, rgba(8,13,18,.08) 100%);
}
.film-btn { display: inline-flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; color: #fff; font: 600 16px/1 var(--font); cursor: pointer; }
.film-play { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.72); padding-left: 2px; transition: background-color .15s, border-color .15s; }
.film-btn:hover .film-play { background: rgba(255,255,255,.14); border-color: #fff; }
.film-len { font-weight: 500; color: rgba(255,255,255,.62); }
.hero-note { position: absolute; right: var(--gutter); bottom: 30px; display: flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: .02em; color: rgba(255,255,255,.7); }
.hero-note i { width: 7px; height: 7px; border-radius: 50%; background: #4fd18b; }
.film { padding: 0; border: 0; background: transparent; width: min(1200px, 92vw); max-width: none; overflow: visible; }
.film::backdrop { background: rgba(5,8,11,.88); }
.film-box { position: relative; }
.film video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 6px; }
.film-close { position: absolute; top: -52px; right: -6px; width: 44px; height: 44px; border: 0; background: none; color: #fff; font-size: 36px; line-height: 1; cursor: pointer; opacity: .8; }
.film-close:hover { opacity: 1; }
@media (max-width: 640px) {
  .hero-in { padding-bottom: 72px; }
  .hero-note { left: var(--gutter); right: auto; bottom: 24px; font-size: 12px; }
  .film-btn { width: 100%; justify-content: center; }
  .film-close { top: -50px; right: 0; }
}


.hero-note { opacity: 0; transition: opacity .6s ease; }
.hero.is-live .hero-note { opacity: 1; }
@media (max-aspect-ratio: 4/5) { .hero-media .hero-still { object-position: 84% 50%; } }


.show { padding: 96px 0 var(--sec); background: var(--bg-2); }
.show-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 36px; }
.show-head h2 { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.08; font-weight: 600; letter-spacing: -.022em; color: var(--ink); }
.show-head p { margin-top: 16px; max-width: 640px; font-size: 18px; line-height: 1.5; color: var(--mute); }
.show-all { flex: none; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-weight: 600; color: var(--accent); text-decoration: none; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.chip { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px;
  background: #fff; color: var(--ink); font: 500 15px/1 var(--font); cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.chip i { font-style: normal; font-size: 13px; color: var(--mute); }
.chip:hover { border-color: #b9c0c6; }
.chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip.is-on i { color: rgba(255,255,255,.62); }
.pgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pc[hidden] { display: none; }
.pc-btn { display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 2px; background: #fff; color: inherit; font: inherit; text-align: left; cursor: zoom-in; transition: box-shadow .2s; }
.pc-btn:hover { box-shadow: 0 18px 40px -24px rgba(15,26,34,.38); }
.pc-img { display: block; aspect-ratio: 5 / 4; padding: 22px 22px 6px; overflow: hidden; }
.pc-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.pc-btn:hover .pc-img img { transform: scale(1.05); }
.pc-name { display: block; padding: 10px 20px 0; font-size: 16px; font-weight: 600; color: var(--ink); }
.pc-cat { display: block; padding: 4px 20px 18px; font-size: 13px; color: var(--mute); }
.show-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 24px; margin-top: 32px; }
.btn-more { height: 48px; padding: 0 22px; border: 1px solid var(--ink); border-radius: 2px; background: transparent; color: var(--ink); font: 600 15px/1 var(--font); cursor: pointer; }
.btn-more span { margin-left: 6px; color: var(--mute); font-weight: 500; }
.btn-more:hover { background: var(--ink); color: #fff; }
.btn-more:hover span { color: rgba(255,255,255,.7); }
.btn-more[hidden] { display: none; }
.show-cta { margin-left: auto; font-size: 16px; color: var(--mute); }
.show-cta a { color: var(--accent); font-weight: 600; }
.pview { width: min(1080px, 94vw); max-width: none; padding: 0; border: 0; border-radius: 4px; background: #fff; overflow: hidden; }
.pview::backdrop { background: rgba(10,14,18,.72); }
.pview-box { position: relative; display: grid; grid-template-columns: 1.6fr 1fr; min-height: min(600px, 80vh); }
.pview-fig { display: grid; place-items: center; margin: 0; padding: 48px; background: #fff; }
.pview-fig img { max-width: 100%; max-height: 66vh; object-fit: contain; }
.pview-side { display: flex; flex-direction: column; gap: 14px; padding: 56px 40px 32px; background: var(--bg-2); }
.pview-cat { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
.pview-name { font-size: 30px; line-height: 1.15; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
.pview-note { font-size: 15px; line-height: 1.5; color: var(--mute); }
.pview-side .btn { align-self: flex-start; margin-top: 10px; }
.pview-nav { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 24px; font-size: 14px; color: var(--mute); }
.pview-nav button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: var(--ink); font-size: 18px; cursor: pointer; }
.pview-nav button:hover { border-color: var(--ink); }
.pview-close { position: absolute; top: 8px; right: 10px; z-index: 1; width: 44px; height: 44px; border: 0; background: none; color: var(--ink); font-size: 32px; line-height: 1; cursor: pointer; }
@media (max-width: 1080px) { .pgrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
  .show { padding: 64px 0 72px; }
  .show-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
  .show-head p { font-size: 16px; }
  .chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--gutter)) 20px; padding: 0 var(--gutter); scrollbar-width: none; }
  .chips::-webkit-scrollbar { display: none; }
  .chip { flex: none; }
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .pc-img { padding: 14px 14px 4px; }
  .pc-name { padding: 8px 12px 0; font-size: 14px; }
  .pc-cat { padding: 2px 12px 12px; font-size: 12px; }
  .show-cta { margin-left: 0; }
  .pview-box { grid-template-columns: 1fr; min-height: 0; }
  .pview-fig { padding: 28px 20px 12px; }
  .pview-fig img { max-height: 46vh; }
  .pview-side { padding: 20px 20px 18px; gap: 10px; }
  .pview-name { font-size: 22px; }
  .pview-side .btn { width: 100%; justify-content: center; }
  .pview-nav { padding-top: 8px; }
}

[hidden]{display:none!important}picture{display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a{overflow-wrap:anywhere}.skip{position:absolute;left:16px;top:-100px;z-index:100;padding:12px;background:white;color:var(--ink)}.skip:focus{top:12px}.head-in{gap:26px}.nav{gap:22px}.brand{flex-shrink:0}.brand-mark{object-fit:contain}body:not(.template-home) .head{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}.nav a[aria-current=page]{color:var(--accent)}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.hero .eyebrow{color:#fff}.hero h1{max-width:820px;font-size:clamp(42px,5.2vw,74px)}.hero-sub{max-width:600px}.hero-pause{position:absolute;right:24px;top:110px;background:rgba(15,26,34,.7);color:white;border:1px solid #ffffff80;padding:8px 12px;border-radius:2px;font-size:13px}.film-btn{text-decoration:none}.hero-media picture{position:absolute;inset:0}.plant>picture{position:absolute;inset:0}.plant>picture img{width:100%;height:100%;object-fit:cover}.proc-img picture,.pc-img picture{height:100%}.breadcrumbs{font-size:14px;color:var(--mute);padding:28px 0 0}.breadcrumbs ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0}.breadcrumbs li:not(:last-child)::after{content:'/';margin-left:8px;color:#8e969c}.breadcrumbs a{text-decoration:none}.page-head{padding:64px 0 60px}.page-head h1{font-size:clamp(36px,4.4vw,64px);font-weight:600;letter-spacing:-.025em;line-height:1.08;max-width:1000px;color:var(--ink)}.lead{font-size:21px;line-height:1.6;max-width:74ch;margin-top:24px;color:var(--mute)}.page-hero{margin-top:40px;max-height:520px;overflow:hidden}.page-hero img{width:100%;max-height:520px;object-fit:cover}.content-layout{padding-bottom:90px;min-width:0}.content-layout.with-toc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:68px;align-items:start}.prose{max-width:72ch;font-size:18px;line-height:1.65;min-width:0}.prose>section+section,.prose>div+section{margin-top:48px}.prose h2{font-size:32px;line-height:1.2;letter-spacing:-.015em;margin:44px 0 20px;color:var(--ink)}.prose h2:first-child{margin-top:0}.prose h3{font-size:23px;line-height:1.3;margin:32px 0 14px;color:var(--ink)}.prose p,.prose ul,.prose ol{margin:0 0 22px}.prose a:not(.card):not(.btn):not(.pc-btn){color:var(--accent)}.prose li{margin-bottom:8px}.prose section{scroll-margin-top:24px}.content-layout.wide .prose{max-width:none}.wide #gallery-introduction{max-width:72ch}.home-copy{margin-top:36px}.keyfacts{background:var(--bg-2);padding:28px;margin:28px 0}.keyfacts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:28px;margin:0}.keyfacts dt{font-size:14px;color:var(--mute)}.keyfacts dd{margin:6px 0 0;font-weight:600;font-size:26px;color:var(--ink)}.bohua{border-left:4px solid var(--accent);padding:24px 28px;background:#f1f7f3;margin:28px 0}.bohua .bohua-t{font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:12px}.bohua p:last-child{margin-bottom:0}.fig{margin:32px 0}.fig img{width:100%;height:auto}.fig figcaption{font-size:14px;line-height:1.5;color:var(--mute);margin-top:10px}.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.table-wrap{overflow:auto;margin:28px 0;max-width:100%;border:1px solid var(--line)}table{border-collapse:collapse;min-width:560px;width:100%;font-size:16px}th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:var(--bg-2);font-weight:600}caption{text-align:left;font-weight:600;padding:16px;background:#fff}.source{font-size:14px;color:var(--mute)}.steps{padding-left:28px}.steps li{padding-left:6px;margin-bottom:24px}.note{border-left:3px solid #87918c;background:var(--bg-2);padding:20px 24px;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{display:flex;flex-direction:column;padding:28px;background:var(--bg-2);text-decoration:none;border-radius:2px;transition:background-color .15s}.card:hover{background:#e8f1eb}.card-t{font-weight:600;font-size:21px;line-height:1.25;color:var(--ink)}.card-d{margin-top:12px;font-size:16px;line-height:1.55;color:var(--mute)}.qa{border-top:1px solid var(--line);padding-top:30px}.toc{position:sticky;top:24px;background:var(--bg-2);padding:22px;font-size:14px}.toc summary{font-size:16px;font-weight:600;cursor:pointer;color:var(--ink)}.toc ol{margin:18px 0 0;padding-left:20px}.toc li{margin-bottom:12px}.toc a{text-decoration:none}.article-meta{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:24px;color:var(--mute);font-size:14px}.related{padding:72px 0;background:#f8f9f8}.related h2{font-size:32px;color:var(--ink);margin-bottom:28px}.related .card{background:white}.template-rfq .prose{max-width:900px}.rfq-placeholder{padding:32px;background:#f1f7f3;border-left:4px solid var(--accent)}.rfq-placeholder h2{margin-top:0}.body-video{margin:32px 0}.body-video video{width:100%;max-height:560px;background:var(--ink)}.body-video figcaption{font-size:15px;margin-top:12px}.blog-list{list-style:none;padding:0}.blog-list li{padding:28px 0;border-bottom:1px solid var(--line)}.blog-list h2{font-size:28px!important;margin:0 0 12px!important}.blog-list time{font-size:14px;color:var(--mute)}.pagination{display:flex;gap:16px;margin-top:36px}.pagination a{padding:8px 16px;border:1px solid var(--line)}.foot-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}.foot-columns h2{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:16px}.foot-columns a{display:block;text-decoration:none;margin:10px 0;font-size:14px}.foot-columns a:hover{color:var(--accent)}.foot-contact{margin-top:24px}.pc-btn{text-decoration:none}.gallery{margin-top:28px}.gallery .show-foot{font-size:16px}.pview .pview-name{margin:0}.pview{max-height:92vh;overflow:auto}.pview-side .btn{height:auto;min-height:54px;line-height:1.3}.cta .contact{min-width:0}.cta .contact-mail{overflow-wrap:anywhere}.error-page{min-height:50vh;padding:100px 0}.error-page h1{font-size:64px;margin-bottom:20px}.error-page p{margin-bottom:24px}
@media(min-width:1081px){.toc>summary{pointer-events:none;list-style:none}.toc:not([open])>ol{display:block}}
@media(max-width:1080px){.content-layout.with-toc{display:block}.toc{position:static;margin-bottom:32px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-columns{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.page-head{padding:38px 0}.page-head h1{font-size:36px}.lead{font-size:18px}.page-hero{margin-top:28px}.page-hero img{max-height:320px}.prose{font-size:17px}.prose h2{font-size:28px}.content-layout{padding-bottom:56px}.cards{grid-template-columns:1fr}.related{padding:56px 0}.foot-columns{gap:26px 16px}.foot-brand{align-items:flex-start}.foot-brand strong{font-size:14px}.hero h1{font-size:42px}.hero .eyebrow{font-size:12px}.hero-in{padding-top:130px;padding-bottom:78px}.hero-pause{top:84px;right:20px;font-size:11px}.hero-actions{gap:18px}.hero-sub{font-size:17px}.cta h2{font-size:42px}.contact-mail{font-size:18px}.table-wrap{width:100%}.keyfacts{padding:22px}.bohua{padding:20px}.article-meta{gap:8px 18px}.film-btn{font-size:14px}.film-len{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


.print-brand{display:none}
@media print{
  .head,.foot,.cta,.related,.toc,.breadcrumbs,.consent-banner,.consent-controls,.page-hero,.rfq-section,.download-box,[data-gallery]{display:none!important}
  html,body{background:#fff;color:#111;font:10.5pt/1.45 Archivo,Arial,sans-serif}
  main,.wrap,.content-layout,.prose,.page-head,section{display:block!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important}
  .print-brand{display:block;margin:0 0 10pt;padding-bottom:6pt;border-bottom:1.5pt solid #0a7a43;font-size:9.5pt;color:#333}
  .eyebrow,.page-dates{display:none!important}
  h1{font-size:20pt;line-height:1.15;margin:0 0 6pt}
  .lead{font-size:11pt;margin:0 0 10pt}
  h2{font-size:13.5pt;margin:14pt 0 5pt;break-after:avoid}
  h3{font-size:11.5pt;margin:10pt 0 4pt;break-after:avoid}
  p,li{orphans:3;widows:3}
  a{color:#111;text-decoration:none}
  .table-wrap{overflow:visible!important;margin:6pt 0 10pt}
  table{width:100%;border-collapse:collapse;break-inside:auto}
  tr{break-inside:avoid}
  th,td{border:.75pt solid #bbb;padding:3.5pt 5pt;font-size:9.5pt;text-align:left;vertical-align:top}
  caption{text-align:left;font-weight:600;margin-bottom:3pt}
  .keyfacts dl{display:block!important;margin:0}
  .keyfacts dl>div{display:inline-block;width:30%;margin:0 2% 6pt 0;vertical-align:top;break-inside:avoid}
  .bohua,.note{display:block!important;border:.75pt solid #bbb;padding:5pt 7pt!important;margin:6pt 0!important;break-inside:avoid;background:none!important}
  .figs,.cards{display:block!important}
  figure{display:block!important;margin:6pt 0!important;break-inside:avoid}
  img{max-width:55%!important;height:auto!important}
  video{display:none!important}
  @page{size:A4;margin:15mm 14mm}
}


.download-box{margin:20px 0 28px;padding:14px 18px;border:1px solid #d6e5dc;border-left:4px solid #0a7a43;border-radius:4px;background:#f3f8f5}
.download-box p{margin:0;font-size:15px;line-height:1.55}
.download-box a{font-weight:600;color:#0a7a43}


:root{--ink2:#0d1114;--char:#14191d;--char-2:#1c2328;--paper:#f4f2ed;--melt:#f2a33a;--melt-2:#f6c27a;--hair:#2e353b}
body{background:#fff}
h1,h2,h3{font-weight:700}

body:not(.template-home) .head{position:relative;background:var(--char);color:#fff;border-bottom:0}
.head .nav a{color:rgba(255,255,255,.82)}.head .nav a:hover{color:#fff}.nav a[aria-current=page]{color:var(--melt)}
.menu summary{color:#fff}

.hero.hero-a{height:auto;min-height:0;max-height:none;display:block;background:radial-gradient(1100px 620px at 78% 42%,#1f272e 0%,var(--ink2) 72%);padding:150px 0 120px;clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),0 100%)}
.hero-a .hero-in{padding:0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.hero-a h1{max-width:none;font-size:clamp(42px,5vw,78px);line-height:1;letter-spacing:-.02em}
.hero-a .eyebrow{color:var(--melt);letter-spacing:.16em}
.hero-a .hero-sub{max-width:34em}
.hero-a .hero-frame{position:relative;min-width:0}
.hero-a .hero-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1300/1080;overflow:hidden;background:#000;clip-path:polygon(0 0,100% 0,100% calc(100% - 56px),calc(100% - 56px) 100%,0 100%);box-shadow:0 40px 80px rgba(0,0,0,.5)}
.hero-a .hero-media picture,.hero-a .hero-media img,.hero-a .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-a .hero-note{position:static;opacity:1;margin-top:16px;color:rgba(255,255,255,.72);font-size:13px}
.hero-a .hero-note i{width:28px;height:2px;border-radius:0;background:var(--melt)}
.hero-a .hero-pause{top:14px;right:14px}

.template-home .intro{padding:110px 0 96px}
.template-home .figures{margin-top:72px;padding-top:28px;border-top:2px solid var(--ink)}
.template-home .figures dd{font-weight:700}
.sourcing{background:var(--paper)}
.sourcing .eyebrow,.template-home .sec .eyebrow{color:#a2671a;letter-spacing:.16em}
.sourcing .cards{gap:1px;background:#d8d3c8;border:1px solid #d8d3c8}
.card-photo{padding:0;background:#fff;border-radius:0}
.card-photo:hover{background:#fbfaf7}
.card-img{display:grid;place-items:center;height:230px;padding:24px;background:linear-gradient(180deg,#fff 0%,#efede7 100%)}
.card-img picture{display:contents}
.card-img img{max-height:182px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.card-photo .card-t{padding:22px 26px 0}.card-photo .card-d{padding:6px 26px 26px}
.card-photo .card-t::after{content:" →";color:var(--accent)}
.template-home .plant{clip-path:polygon(0 0,100% 40px,100% 100%,0 100%)}
.template-home .sec-grey{background:var(--char);color:#dcd8cf}
.template-home .sec-grey h2,.template-home .sec-grey h3{color:#fff}
.template-home .sec-grey .sec-head p,.template-home .sec-grey figcaption,.template-home .sec-grey .prose{color:#aeb5ba}
.template-home .sec-grey a{color:var(--melt-2)}
#project-path .card{background:#fff;border-top:2px solid var(--melt);border-radius:0}
#project-path .card-t{font-size:19px}

.page-band{background:radial-gradient(1000px 520px at 85% 20%,#1f272e 0%,var(--char) 70%);color:#dcd8cf;padding-bottom:84px;clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),0 100%)}
.page-band .breadcrumbs{color:rgba(255,255,255,.6)}.page-band .breadcrumbs a{color:rgba(255,255,255,.78)}
.page-band .page-head{padding:44px 0 0}
.page-band .eyebrow{color:var(--melt);letter-spacing:.16em}
.page-band .page-head h1{color:#fff;font-weight:700;font-size:clamp(38px,4.6vw,68px);letter-spacing:-.02em}
.page-band .lead{color:#b4bbc0}
.page-band .article-meta{color:#8f989f}
.page-band .page-hero{margin-top:48px;max-height:none;clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),calc(100% - 48px) 100%,0 100%)}
.page-band .page-hero img{max-height:560px}
.content-layout{padding-top:56px}

.prose{max-width:none}
.prose :is(p,ul,h2,h3,h4,dl){max-width:74ch}
.prose ol:not(.steps){max-width:74ch}
.prose .bohua p,.prose .note p,.prose td p,.prose .card-d{max-width:none}
.prose>section:nth-of-type(even){background:var(--paper);padding:44px 48px;margin-left:-48px;margin-right:-48px}
.prose>section+section,.prose>div+section{margin-top:56px}
.prose h2{font-weight:700;letter-spacing:-.02em}
.prose h2::before{content:"";display:block;width:36px;height:2px;background:var(--melt);margin-bottom:18px}

.bohua{background:var(--char);color:#dcd8cf;border-left:0;border-top:2px solid var(--melt);padding:28px 32px}
.bohua .bohua-t{color:var(--melt)}
.prose .bohua a{color:var(--melt-2)}
.bohua table{color:#dcd8cf}.bohua th{background:var(--char-2);color:#fff}.bohua td,.bohua th{border-color:var(--hair)}.bohua caption{background:transparent;color:#fff}.bohua tbody tr:nth-child(even) td{background:rgba(255,255,255,.05)}
.bohua .table-wrap{border-color:var(--hair)}
.bohua .keyfacts{background:var(--char-2)}.bohua .keyfacts dd{color:#fff}.bohua .keyfacts dt{color:#9aa3aa}

.prose ol.steps>li::marker{color:#c47f1d;font-weight:700}
.table-wrap{border:1px solid var(--line);border-top:2px solid var(--ink)}
thead th{background:var(--char);color:#fff;font-weight:600}
tbody tr:nth-child(even) td{background:#faf9f6}
.prose .fig img{clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
.prose .fig figcaption{display:flex;gap:10px;align-items:baseline}
.prose .fig figcaption::before{content:"";flex:0 0 auto;width:22px;height:2px;background:var(--melt);transform:translateY(-4px)}
.keyfacts{background:var(--paper);border-top:2px solid var(--ink)}
.keyfacts dd{font-weight:700}
.toc{background:#fff;border:1px solid var(--line);border-top:2px solid var(--melt)}
.toc a:hover{color:var(--accent)}

.cta{background:radial-gradient(900px 480px at 82% 110%,rgba(242,163,58,.22) 0%,rgba(242,163,58,0) 60%),var(--ink2);clip-path:polygon(0 48px,100% 0,100% 100%,0 100%);padding-top:150px}
.cta h2{font-weight:700}
.contact-name{font-weight:700}
.related{background:var(--paper)}
.related .card{background:#fff;border-top:2px solid transparent;border-radius:0}
.related .card:hover{background:#fff;border-top-color:var(--melt)}

.foot{background:var(--ink2);color:#8f989f}
.foot-brand strong,.foot-columns h2{color:#fff}
.foot-columns a,.foot-contact a,.foot-contact{color:#b4bbc0}
.foot-columns a:hover{color:var(--melt)}
.pref-src{margin-top:18px}
.pref-src a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--hair);color:#dcd8cf;text-decoration:none;font-size:14px}
.pref-src a::before{content:"G";font-weight:700;color:var(--melt)}
.pref-src a:hover{border-color:var(--melt);color:#fff}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-a .hero-frame{order:-1}.hero.hero-a{padding:120px 0 96px}.prose>section:nth-of-type(even){padding:32px 24px;margin-left:-24px;margin-right:-24px}}
@media(max-width:640px){.hero.hero-a{padding:104px 0 84px}.card-img{height:180px}.page-band{padding-bottom:64px}.page-band .page-head h1{font-size:34px}.prose>section:nth-of-type(even){padding:28px 20px;margin-left:-20px;margin-right:-20px}}
@media print{.page-band,.hero-a,.cta{clip-path:none!important;background:none!important;color:#000!important}.page-band .page-head h1,.page-band .lead{color:#000!important}.bohua{background:none!important;color:#000!important}}

.template-home .hero.hero-video{clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),0 100%)}
.template-home .hero.hero-video .eyebrow{color:var(--melt);letter-spacing:.16em}
.template-home .hero.hero-video h1{font-weight:700}
.template-home .hero-note{opacity:1}
.template-home .hero-note i{width:28px;height:2px;border-radius:0;background:var(--melt)}


html{scroll-padding-top:100px}
body:not(.template-home) .head{position:sticky;top:0;z-index:50}
.js-sticky .template-home .head{position:fixed;z-index:50}
.head.is-scrolled{box-shadow:0 10px 28px rgba(0,0,0,.22)}
.js-sticky .template-home .head.is-scrolled{background:var(--char)}
@media(max-width:640px){html{scroll-padding-top:80px}}


:root{--header-height:88px}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.prose :is(section,h2,h3,input,textarea,select,button),.page-actions a{scroll-margin-top:16px}
.prose .bohua p{max-width:74ch}
.prose .bohua a:not(.card):not(.btn):not(.pc-btn){color:var(--melt-2);text-decoration:underline;text-underline-offset:3px}
.prose .bohua a:focus-visible,.head a:focus-visible,.head summary:focus-visible,.page-band a:focus-visible{outline:3px solid var(--melt-2);outline-offset:3px}
@media(min-width:1081px){.toc{top:calc(var(--header-height) + 16px);max-height:calc(100vh - var(--header-height) - 32px);overflow:auto;scroll-padding-block:16px}}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.page-actions a{min-height:44px;max-width:100%}
.page-actions .btn{height:auto;min-height:48px;line-height:1.35;padding:12px 24px}
.page-action-link{display:inline-flex;align-items:center;color:var(--melt-2);text-underline-offset:4px;font-size:16px}
.page-band--form{padding-bottom:32px;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),0 100%)}
.page-band--form .page-head{padding-top:24px}
.page-band--form .lead{font-size:19px;line-height:1.55}
.form-layout{padding-top:28px}
.form-layout .rfq-form{margin-top:20px}
.form-layout .rfq-section>p:first-child{margin-bottom:16px}
.form-layout #submit-rfq .rfq-section,.form-layout #contact-form .rfq-section{padding:0;margin:0;max-width:none}
.form-layout .form-certification,.form-layout .contact-safety{font-size:16px;margin-bottom:12px}
@media(max-width:640px){
 :root{--header-height:64px}
 .head-in{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:44px;gap:0 10px;height:var(--header-height);padding-top:10px;padding-bottom:10px}
 .head .brand{grid-column:1;grid-row:1;min-width:0}
 .head .menu{grid-column:3;grid-row:1}
 .head .menu summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 4px}
 .head .head-cta{display:flex;grid-column:2;grid-row:1;justify-content:center;align-items:center;height:44px;min-height:44px;padding:0 14px;font-size:15px;white-space:nowrap}
 .head .cta-full{display:none}
 .head .menu-panel{position:fixed;top:var(--header-height);left:var(--gutter);right:var(--gutter);min-width:0;max-height:calc(100vh - var(--header-height) - 16px);max-height:calc(100dvh - var(--header-height) - 16px);overflow:auto}
 .body-video video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain}
 .template-home .hero-in{padding-top:calc(var(--header-height) + 76px)}
 .template-home .hero{height:auto;min-height:100vh;min-height:100svh;max-height:none}
 .template-home .hero-pause{top:calc(var(--header-height) + 16px)}
 .page-actions{gap:8px 20px;margin-top:20px}
 .page-actions .btn{width:100%;justify-content:center}
 .page-band--form{padding-bottom:28px}
 .page-band--form .page-head{padding-top:20px}
 .page-band--form .lead{font-size:17px;line-height:1.55;margin-top:18px}
 .form-layout{padding-top:24px}
}
@media print{.page-actions{display:none!important}}

@media(max-width:360px){.head .brand-word{display:none}}
