.sustainability-page { --bg:#0b0e0c; --ink:#edf3ef; --muted:#aab6ae; --line:#354339; --accent:#54f498; --signal:#54f498; background:var(--bg); }
.sustainability-page ::selection { background:var(--accent); color:var(--bg); }
.sustainability-page .site-header { background:#0b0e0cf5; }
.sustainability-page .mobile-menu { background:var(--bg); }
.sustainability-page main { overflow:clip; }
.sustainability-page h1,.sustainability-page h2 { font-family:var(--display); font-weight:700; line-height:.94; text-transform:uppercase; text-wrap:initial; }
.sustainability-page h1 { font-size:104px; }
.sustainability-page h2 { font-size:76px; }
.sustainability-page h3 { font-size:24px; line-height:1.2; font-weight:600; }
.sustainability-page h1 span,.sustainability-page h2 span { color:var(--accent); }
.sustainability-page p { max-width:66ch; }
.sustainability-page p+p { margin-top:22px; }
.sustainability-page a:focus-visible,.sustainability-page summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.su-mono,.su-section-label,.su-kicker { font:11px/1.7 var(--mono); }
.su-kicker { color:var(--accent); margin-bottom:24px; }
.su-hero { padding:125px var(--gutter) 0; max-width:1800px; margin:auto; }
.su-hero-top,.su-hero-bottom,.su-section-label { display:flex; justify-content:space-between; gap:20px; }
.su-hero-top { color:var(--muted); }
.su-hero-top a:hover { color:var(--accent); }
.su-hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; padding:62px 0 65px; }
.su-hero-copy { position:relative; z-index:1; }
.su-lead { font-size:24px; line-height:1.45; }
.su-hero-copy .su-lead { max-width:470px; margin-top:30px; font-size:20px; }
.su-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; border-bottom:1px solid var(--line); margin-top:24px; font-weight:600; }
.su-link:hover { border-color:var(--accent); color:var(--accent); }
.su-link span { transition:transform .2s; }
.su-link:hover span { transform:translate(3px,3px); }
.su-hero-figure { color:var(--accent); position:relative; }
.su-part { width:100%; height:auto; }
.su-hero-figure figcaption { padding:0 22px; color:var(--muted); }
.su-object-note { margin:30px 22px 0; padding-top:24px; border-top:1px solid var(--line); font:700 28px/1.1 var(--display); color:var(--ink); }
.su-status-dot { display:inline-block; width:7px; height:7px; background:var(--accent); margin:0 8px 4px 0; }
.su-hero-bottom { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; color:var(--muted); }
.su-section { padding:110px var(--gutter); max-width:1800px; margin:auto; }
.su-section-label { margin-bottom:60px; color:var(--muted); border-top:1px solid var(--line); padding-top:18px; }
.su-editorial { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:start; }
.su-editorial>div>p:first-of-type { margin-top:30px; }
.su-editorial>div>p:first-child { margin-top:0; }
.su-problem { padding-top:95px; }
.su-repair { background:#e5ebe6; color:#122319; --line:#aab7ae; --muted:#405248; --accent:#136236; --signal:#136236; }
.su-repair h2 { font-size:82px; }
.su-repair-drawing { margin-top:30px; color:#4c6658; }
.su-repair-drawing svg { width:100%; }
.su-repair-highlight { stroke:#14673b; }
.su-repair-highlight path { stroke:inherit; }
.su-repair-drawing text { fill:#14673b; }
.su-repair-drawing figcaption { margin-top:25px; }
.su-note { font-size:14px; line-height:1.7; color:var(--muted); }
.su-repair>.su-note { margin-top:48px; max-width:850px; }
.su-warehouse { background:#101712; }
.su-warehouse h2 { font-size:100px; }
.su-warehouse-grid { display:grid; grid-template-columns:1fr 1fr; gap:7%; margin-top:65px; }
.su-warehouse-grid>div { border-top:1px solid var(--line); padding-top:22px; }
.su-warehouse-grid h3 { font-size:20px; }
.su-warehouse-grid ul { list-style:none; padding:0; margin:30px 0; }
.su-warehouse-grid li { border-top:1px solid var(--line); padding:11px 0; color:var(--muted); }
.su-stock { display:grid; grid-template-columns:repeat(8,1fr); gap:8px; padding:35px 0; min-height:220px; }
.su-stock i { display:block; border:1px solid #85978b; background:linear-gradient(145deg,#29332d,#141c17); position:relative; }
.su-stock i:after { content:''; position:absolute; left:20%; right:20%; top:40%; height:1px; background:#637469; }
.su-digital h3 { color:var(--accent); }
.su-filetree { display:flex; flex-direction:column; justify-content:center; min-height:220px; color:var(--accent); font-size:14px; line-height:2.1; padding:20px 0; }
.su-filetree span:first-child { color:var(--ink); }
.su-warehouse>.su-note { max-width:850px; }
.su-data-chain { display:grid; grid-template-columns:repeat(6,1fr); margin-top:55px; border-top:1px solid var(--line); }
.su-data-chain span { padding:20px 14px; border-left:1px solid var(--line); font-size:15px; }
.su-data-chain small { display:block; font:11px var(--mono); color:var(--accent); margin-bottom:12px; }
.su-equation { margin-top:60px; border-top:1px solid var(--line); }
.su-equation>div { display:grid; grid-template-columns:1fr 2fr; gap:30px; padding:30px 0; border-bottom:1px solid var(--line); align-items:center; }
.su-equation p { font:700 32px/1.2 var(--display); }
.su-equation b { color:var(--accent); padding-inline:10px; }
.su-equation>div:last-child { color:var(--accent); }
.su-production { background:#101712; }
.su-state { color:var(--accent); }
.su-process-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:start; }
.su-process-visual h2 { font-size:72px; }
.su-network { margin:35px 0 25px; width:100%; }
.su-progress { height:2px; background:var(--line); margin:20px 0; }
.su-progress span { display:block; background:var(--accent); height:100%; transform-origin:left; transform:scaleX(1); }
.su-process-status { color:var(--accent); }
.su-process-visual .su-note { margin-top:18px; max-width:48ch; }
.su-stages { list-style:none; padding:0; margin:0; }
.su-stages li { display:grid; grid-template-columns:50px 1fr; gap:20px; border-top:1px solid var(--line); padding:32px 0; min-height:190px; transition:color .25s; }
.su-stage-number { font:700 42px/1 var(--display); color:#839389; }
.su-stages li.is-active .su-stage-number,.su-stages li.is-active h3 { color:var(--accent); }
.su-stages p { margin-top:14px; color:var(--muted); }
.su-material { background:#101712; }
.su-material-fields details,.su-faq details { border-top:1px solid var(--line); }
.su-material-fields summary,.su-faq summary { display:flex; align-items:center; gap:20px; list-style:none; cursor:pointer; min-height:80px; font-size:22px; padding:18px 0; }
.su-material-fields summary::-webkit-details-marker,.su-faq summary::-webkit-details-marker { display:none; }
.su-material-fields summary span { font:12px var(--mono); color:var(--muted); }
.su-material-fields summary b,.su-faq summary b { font-size:25px; color:var(--accent); margin-left:auto; }
.su-material-fields details[open] summary b,.su-faq details[open] summary b { transform:rotate(45deg); }
.su-material-fields details>div,.su-faq details>p { padding:0 0 30px; color:var(--muted); }
.su-material-fields .su-kicker { margin:5px 0 15px; }
.su-material-fields .su-kicker+p { margin-top:0; }
.su-lifetime h2 { font-size:100px; margin-bottom:65px; }
.su-boundary { padding:32px 0 0 28px; border-left:2px solid var(--accent); margin-top:65px; }
.su-boundary p { margin-top:20px; max-width:90ch; color:var(--muted); }
.su-faq h2 { font-size:66px; }
.su-faq summary { font-size:20px; }
.su-sources { padding-top:0; padding-bottom:70px; font-size:14px; color:var(--muted); }
.su-sources a { display:block; width:fit-content; padding:12px 0; text-decoration:underline; text-underline-offset:5px; }
.su-sources a:hover { color:var(--accent); }
.su-sources p:last-child { margin-top:15px; }
.su-cta { padding-top:90px; padding-bottom:100px; border-top:1px solid var(--line); background:#122019; }
.su-cta h2 { font-size:110px; }
.su-button { display:inline-flex; gap:60px; align-items:center; padding:17px 24px; min-height:60px; background:var(--accent); color:#0b0e0c; font-weight:600; margin-top:45px; margin-right:30px; }
.su-button:hover { background:var(--ink); }
.su-footer { display:flex; flex-wrap:wrap; gap:30px; justify-content:space-between; padding:35px var(--gutter); font:11px/1.6 var(--mono); }
@media (min-width:1800px) { .sustainability-page h1 { font-size:130px; } .su-hero-grid { gap:50px; } }
@media (max-width:1199px) { .sustainability-page h1 { font-size:86px; } .sustainability-page h2 { font-size:66px; } .su-hero-grid { gap:0; } .su-editorial,.su-process-grid { gap:6%; } .su-hero-copy .su-lead { max-width:400px; } }
@media (max-width:1023px) { .su-hero { padding-top:115px; } .sustainability-page h1 { font-size:72px; } .sustainability-page h2 { font-size:60px; } .su-section { padding-top:75px; padding-bottom:75px; } .su-process-grid { grid-template-columns:1fr; } .su-process-visual { max-width:600px; } .su-stages { margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:0 30px; } .su-stages li { min-height:0; grid-template-columns:32px 1fr; gap:12px; } .su-stage-number { font-size:30px; } .su-data-chain { grid-template-columns:repeat(3,1fr); } .su-equation>div { grid-template-columns:1fr; gap:15px; } .su-lead { font-size:21px; } }
@media (max-width:767px) {
 .sustainability-page { --gutter:22px; }
 .su-hero { padding-top:115px; }
 .su-hero-top { font-size:10px; }
 .su-hero-top>span { display:none; }
 .su-hero-grid { grid-template-columns:1fr; padding:36px 0; }
 .sustainability-page h1 { font-size:76px; }
 .sustainability-page h2 { font-size:57px; }
 .su-hero-copy .su-lead { font-size:18px; max-width:38ch; }
 .su-hero-figure { margin:30px -10px 0; }
 .su-object-note { font-size:23px; margin-top:20px; }
 .su-hero-bottom { flex-wrap:wrap; gap:8px 20px; font-size:9px; }
 .su-section { padding-block:65px; }
 .su-section-label { margin-bottom:35px; font-size:10px; flex-wrap:wrap; gap:6px; }
 .su-editorial { grid-template-columns:1fr; gap:30px; }
 .su-editorial p { font-size:17px; }
 .su-editorial .su-lead { font-size:21px; }
 .su-repair-drawing { margin:0; }
 .su-warehouse-grid { grid-template-columns:1fr; margin-top:35px; gap:30px; }
 .su-stock { min-height:170px; padding-block:25px; }
 .su-filetree { min-height:190px; }
 .su-data-chain { grid-template-columns:1fr 1fr; margin-top:35px; }
 .su-data-chain span { padding:18px 12px; border-bottom:1px solid var(--line); }
 .su-equation { margin-top:35px; }
 .su-equation p { font-size:28px; }
 .su-equation b { padding-inline:3px; }
 .su-stages { grid-template-columns:1fr; margin-top:30px; }
 .su-stages li { padding:25px 0; }
 .su-stages p { font-size:17px; }
 .su-network { margin-top:25px; }
 .su-material-fields summary { font-size:21px; }
 .su-lifetime h2 { margin-bottom:35px; }
 .su-boundary { padding:10px 0 10px 20px; margin-top:40px; }
 .su-boundary h3 { font-size:22px; }
 .su-boundary p { font-size:16px; }
 .su-sources { padding-top:0; }
 .su-button { display:flex; justify-content:space-between; margin-right:0; gap:20px; }
 .su-cta>.su-link { font-size:16px; }
 .su-footer { gap:20px; }
}
@media (max-width:389px) { .sustainability-page h1 { font-size:66px; } .sustainability-page h2 { font-size:49px; } .su-kicker { font-size:10px; } }
@media (prefers-reduced-motion:reduce) { .sustainability-page *, .sustainability-page *:before, .sustainability-page *:after { transition:none!important; scroll-behavior:auto!important; } }
@media print { .su-section,.su-hero { padding:25px 0; } .su-stages li { break-inside:avoid; } .su-process-visual { position:static!important; transform:none!important; } }
.su-hero-grid,.su-editorial,.su-process-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.su-material-fields summary b,.su-faq summary b { width:32px; text-align:center; flex-shrink:0; }
@media (max-width:1023px) { .su-process-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px) { .su-hero-grid,.su-editorial { grid-template-columns:minmax(0,1fr); } .sustainability-page h1 { font-size:66px; } }
@media (max-width:389px) { .sustainability-page h1 { font-size:62px; } }
@media (max-width:349px) { .sustainability-page h1 { font-size:54px; } .sustainability-page h2 { font-size:43px; } .su-kicker { font-size:9px; } }
@media (min-width:1024px) and (max-height:850px) { .su-process-visual h2 { font-size:58px; } .su-network { max-height:210px; margin:20px 0; } }

.su-material-fields summary,.su-faq summary { padding-right:10px; }
@media (min-width:768px) and (max-width:1023px) { .sustainability-page h1 { font-size:60px; } .sustainability-page .su-distributed h2 { font-size:48px; } }
@media (min-width:390px) and (max-width:767px) { .sustainability-page .su-distributed h2 { font-size:51px; } }
@media (max-width:349px) { .sustainability-page .su-distributed h2 { font-size:43px; } }

