:root{--red:#bb2032;--ink:#191b1b;--muted:#5c6263;--line:#d9dcdc;--paper:#f3f4f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}.wrap{width:min(1320px,90%);margin:auto}header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:26px}.brand strong{font-size:28px;color:var(--red);font-weight:900;letter-spacing:-1px;line-height:.9}.brand strong span{display:block;color:var(--ink);font-size:22px;letter-spacing:-.7px;margin-top:5px}.division{font-size:12px;letter-spacing:1.5px;max-width:120px;line-height:1.5;border-left:1px solid var(--line);padding-left:24px}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.button{background:var(--red);color:white;display:inline-flex;align-items:center;gap:38px;padding:17px 24px;font-size:15px;font-weight:700;line-height:1.4}.button:hover{background:#941626}.button span{font-size:20px}.small{padding:13px 18px;gap:22px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:var(--red)}.hero{padding-top:65px}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:60px;align-items:end;margin-top:26px}h1{font-size:clamp(42px,4.7vw,68px);letter-spacing:-3px;line-height:1.07;margin:0;font-weight:800}h1 em{font-style:normal;color:var(--red)}p{margin:0 0 24px}.hero-copy{max-width:400px;font-size:20px;line-height:1.5}.muted{color:var(--muted);font-size:17px}.hero-rule{margin-top:60px;border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:1.4px}.intro{padding-top:90px;padding-bottom:65px}.intro h2{margin:20px 0;font-size:46px;line-height:1.13;letter-spacing:-1.7px}.intro>p{max-width:650px;color:var(--muted)}footer{padding:30px 0;font-size:12px;letter-spacing:1px;border-top:1px solid var(--line)}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:15px;z-index:5}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3868cc;outline-offset:5px}@media(max-width:850px){.division{display:none}nav{gap:15px}nav>a:not(.button){display:none}.hero-grid{grid-template-columns:1fr;gap:28px}h1{letter-spacing:-1.8px}.hero-copy{max-width:600px}.hero{padding-top:40px}.hero-rule{margin-top:36px;gap:20px;font-size:10px}.intro{padding-top:55px}.intro h2{font-size:36px}header{min-height:92px}.small{font-size:13px;padding:12px;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.plant{margin-top:8px;margin-bottom:0}.plant img{display:block;width:100%;height:440px;object-fit:cover;object-position:50% 60%}.plant figcaption{font-size:12px;color:var(--muted);padding-top:9px}.equipment{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:100px}.equipment article{border-top:2px solid var(--ink);padding:24px 26px 0 0;margin-right:26px}.equipment article:last-child{margin-right:0}.number{font-size:11px;color:var(--red);letter-spacing:1.1px;font-weight:bold}h3{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:24px 0 16px}.equipment p,.steps p{font-size:16px;color:var(--muted)}.projects{background:var(--ink);color:white;padding:85px 0}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.projects .eyebrow{color:#ff7b86}h2{font-size:46px;letter-spacing:-1.7px;line-height:1.12;margin:22px 0 25px}.projects p{color:#c4c9c8;max-width:440px}.project-list article{display:flex;gap:25px;border-top:1px solid #4c5050;padding:26px 0 4px}.project-list article>span{font-size:13px;color:#b8bdbc}.project-list h3{margin:0 0 12px;font-size:25px}.project-list p{font-size:16px}.process{padding:85px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:45px}.steps article>span{color:var(--red);font-size:36px;letter-spacing:-1px;font-weight:bold}.steps h3{margin-top:10px}.scope-note{border-top:1px solid var(--line);padding-top:22px;margin:30px 0 0;color:var(--muted);font-size:14px;max-width:1050px}.contact{background:var(--paper);padding:80px 0}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.contact p{max-width:570px;color:var(--muted)}.email{display:block;font-size:15px;margin-top:17px;text-decoration:underline;text-underline-offset:4px}.contact aside{align-self:center;border-left:3px solid var(--red);padding-left:36px}.contact aside h3{margin:0 0 22px}.contact ul{padding-left:20px;color:var(--muted);font-size:16px}.contact li{margin:12px 0}footer{border:0;padding-top:32px;padding-bottom:32px}@media(max-width:1000px){.equipment{grid-template-columns:repeat(2,1fr);gap:30px}.projects-grid,.contact-grid{gap:45px}.plant img{height:360px}.steps{gap:25px}}@media(max-width:650px){.plant img{height:270px}.equipment{grid-template-columns:1fr;padding-bottom:50px;gap:18px}.equipment article{margin:0;padding-right:0}.equipment h3{margin-top:15px}.projects-grid,.contact-grid,.steps{grid-template-columns:1fr;gap:28px}.projects,.contact{padding:50px 0}h2{font-size:36px}.process{padding:50px 0}.steps p{margin-bottom:5px}.contact aside{padding-left:24px;margin-top:15px}.plant figcaption{font-size:11px}.hero-rule span:last-child{text-align:right}}
.contact-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-intro{position:sticky;top:35px}.form-direct{margin-top:36px}.form-direct .email{margin-top:4px}#project-inquiry{background:#fff;padding:36px;border-top:3px solid var(--red);min-width:0}#project-inquiry h3{margin:0 0 12px;font-size:27px}.form-help{font-size:14px;margin-bottom:25px!important}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}.form-fields label span{font-weight:400;display:contents;color:var(--muted)}.form-fields .full{grid-column:1/-1}.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-width:0;border:1px solid #b9bebe;border-radius:0;background:white;color:var(--ink);padding:12px;font:inherit;font-size:16px;font-weight:400;line-height:1.5}.form-fields input,.form-fields select{min-height:49px}.form-fields textarea{resize:vertical}.form-fields :is(input,select,textarea):focus-visible{outline:2px solid var(--red);outline-offset:2px}.form-fields input::placeholder,.form-fields textarea::placeholder{color:#697070;opacity:1}#project-inquiry .form-privacy{font-size:13px;line-height:1.6;margin:24px 0 20px}.form-privacy a{text-decoration:underline;text-underline-offset:3px}#project-inquiry button{border:0;cursor:pointer;font-family:inherit}#project-inquiry button:disabled{opacity:.65;cursor:wait}.form-trap{display:none}.form-status:empty{display:none}#project-inquiry .form-status{margin:20px 0 0;padding:16px;font-size:16px;background:var(--paper);color:var(--ink)}.form-status[data-state="error"]{border-left:3px solid var(--red)}.form-status[data-state="success"]{border-left:3px solid #34704a}@media(max-width:1000px){.contact-grid{gap:35px}}@media(max-width:800px){.contact-grid{grid-template-columns:1fr}.contact-intro{position:static}#project-inquiry{padding:28px}}@media(max-width:480px){.form-fields{grid-template-columns:1fr}#project-inquiry{padding:22px}.contact-grid{width:92%}}



.service-area{padding:65px 0;border-top:1px solid var(--line)}.service-area p{max-width:880px;color:var(--muted)}.text-link{text-decoration:underline;text-underline-offset:4px}.project-list .text-link{display:block;margin-top:12px}.intro .lead{font-size:23px;margin-top:28px;color:var(--ink)}

/* FAQ: spacious, accessible native disclosure cards. */
.faq{padding:90px 0;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);grid-template-rows:auto auto 1fr;column-gap:70px;align-items:start;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.faq>.eyebrow{grid-column:1;grid-row:1;margin-top:7px}
.faq>h2{grid-column:1;grid-row:2;margin:18px 0 0;font-weight:650;letter-spacing:-1.8px;max-width:360px}
.faq-list{grid-column:2;grid-row:1/4;display:grid;gap:12px;min-width:0}
.faq details{border:1px solid #e1e4e3;border-radius:10px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s;overflow:hidden}
.faq details:hover{border-color:#b9c0bd;background:#fafbf9}
.faq details[open]{border-color:#d6b2b7;background:#faf8f7;box-shadow:0 5px 20px #191b1b06}
.faq summary{list-style:none;cursor:pointer;position:relative;display:flex;align-items:center;min-height:82px;padding:24px 76px 24px 26px;font-size:18px;font-weight:600;letter-spacing:-.25px;line-height:1.45;color:#242b29;-webkit-tap-highlight-color:transparent}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:29px;top:50%;width:14px;height:2px;border-radius:2px;background:var(--red);transform:translateY(-50%);transition:transform .22s}
.faq summary::after{transform:translateY(-50%) rotate(90deg)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(0deg)}
.faq summary:focus-visible{outline:3px solid #3868cc;outline-offset:-5px;border-radius:10px}
.faq details p{margin:0;padding:0 76px 27px 26px;color:#59625f;font-size:16px;font-weight:400;line-height:1.85;max-width:760px}
.faq details[open] p{animation:answer-in .24s ease-out}
.faq-cta{grid-column:1;grid-row:3;margin:30px 0 0}.faq-cta .button{font-size:14px;gap:20px}
@keyframes answer-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@supports (interpolate-size:allow-keywords){.faq details{interpolate-size:allow-keywords}.faq details::details-content{height:0;opacity:0;overflow:hidden;transition:height .28s ease,opacity .22s ease,content-visibility .28s;transition-behavior:allow-discrete}.faq details[open]::details-content{height:auto;opacity:1}}
@media(max-width:950px){.faq{column-gap:35px;grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr)}.faq>h2{font-size:36px}}
@media(max-width:700px){.faq{display:block;padding:55px 0}.faq>h2{max-width:none;margin:18px 0 28px}.faq summary{font-size:17px;min-height:76px;padding:21px 58px 21px 20px}.faq summary::before,.faq summary::after{right:22px}.faq details p{padding:0 24px 24px 20px;font-size:16px}.faq-cta{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.faq details,.faq summary::before,.faq summary::after,.faq details::details-content{transition:none}.faq details[open] p{animation:none}}
