/* Homepage refinement: consistent type, readable copy and varied composition. */
.home .products .section-heading h2,
.home .industry-heading h2,
.home .showcase-section h2,
.home .engineering-copy h2,
.home .home-news-heading h2{font-size:clamp(28px,2.65vw,42px);font-weight:500;line-height:1.3;letter-spacing:-.035em}
.home .engineering-copy h2{white-space:normal;font-size:clamp(28px,2.45vw,38px)}
.home .home-news-heading h2{text-transform:none;font-size:clamp(28px,2.4vw,36px);letter-spacing:-.025em}
.home .heading-note,.home .industry-intro,.home .engineering-description{font-size:15px;line-height:1.85;color:#555f5b}
.home .products .product-info p,.home .industry-panel .application-copy p,.home .engineering-process p,.home .showcase-choice-copy>span{font-size:14px;line-height:1.8;color:#59635e}
.home .products.section-pad,.home .about.engineering-section,.home .projects.showcase-section,.home .home-news{padding-top:80px;padding-bottom:80px}
.home .products + .industry-section{padding-top:80px}
.home .section-heading,.home .home-news-heading{margin-bottom:36px}
.home .industry-heading{padding-bottom:36px}
.home .industry-stage{max-width:1600px;margin:0 auto;padding:0 var(--pad);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;background:#fff;min-height:540px}
.home .industry-panel{grid-column:2;grid-row:1;padding:22px 0 22px 30px;background:#fff}
.home .industry-photo{grid-column:1;grid-row:1;min-height:540px}
.home .industry-panel .application h3{font-size:23px}
.home .industry-panel .application summary{padding:22px 0}
.home .industry-panel .application-copy p{max-width:390px}
.home .industry-panel-label,.home .showcase-nav-label{color:#66716b}
.home .engineering-photo img{height:430px}
.home .engineering-process{margin-top:48px}
.home .engineering-since strong{font-size:56px}
.home .showcase-choice-copy strong{font-size:21px}
.home .home-news-card h3{font-size:21px;font-weight:500;line-height:1.5}
.home .products .product-visual{overflow:hidden}
.home .products .product-image{max-width:92%;margin:auto;object-fit:contain}
.home #product-furnace .product-image{filter:saturate(.65)}
.home .product-entry:focus-visible{outline:2px solid #ad342d;outline-offset:5px}
@media(max-width:1000px){
 .home .industry-stage{gap:28px;grid-template-columns:1fr 1fr}
 .home .industry-panel{padding-right:0}
 .home .industry-photo{min-height:540px}
}
@media(max-width:760px){
 .home .products .section-heading h2,.home .industry-heading h2,.home .showcase-section h2,.home .engineering-copy h2,.home .home-news-heading h2{font-size:28px;line-height:1.35;white-space:normal}
 .home .products.section-pad,.home .about.engineering-section,.home .projects.showcase-section,.home .home-news{padding-top:56px;padding-bottom:56px}
 .home .products + .industry-section{padding-top:56px}
 .home .industry-stage{display:flex;flex-direction:column;padding:0 var(--pad);gap:24px;min-height:0}
 .home .industry-photo{min-height:0;aspect-ratio:1.4;order:0}
 .home .industry-panel{padding:0;order:1}
 .home .industry-heading{padding-bottom:28px}
 .home .industry-panel .application h3{font-size:21px}
 .home .engineering-photo img{height:auto;aspect-ratio:1.4}
 .home .engineering-since strong{font-size:48px}
 .home .heading-note,.home .industry-intro,.home .engineering-description{font-size:14px}
 .home .products .product-info p{font-size:12px}
 .home .engineering-process{margin-top:36px}
 .home .home-news-card h3{font-size:20px}
}

/* Interactive delivery progress; all descriptions remain available. */
.home .engineering-process.has-stage-progress li{cursor:pointer}
.home .engineering-process.has-stage-progress li:before{background:linear-gradient(#b8322a,#b8322a) left center/0% 100% no-repeat,#d9ded9;transition:background-size .5s ease}
.home .engineering-process.has-stage-progress li.stage-complete:before{background-size:100% 100%}
.home .engineering-process.has-stage-progress li:after{background:#c5cbc7;transition:background .25s,box-shadow .25s}
.home .engineering-process.has-stage-progress li.stage-complete:after,.home .engineering-process.has-stage-progress li.stage-current:after{background:#b8322a}
.home .engineering-process.has-stage-progress li.stage-current:after{box-shadow:0 0 0 5px #fff,0 0 0 6px #b8322a50}
.home .engineering-stage-button{display:block;text-align:left;font:inherit;color:inherit;line-height:inherit;padding:0;background:none;border:0;cursor:pointer;transition:color .2s}
.home .engineering-stage-button:focus-visible{outline:2px solid #b8322a;outline-offset:7px}
.home .engineering-process.has-stage-progress .engineering-step-number{color:#858d88;transition:color .25s}
.home .engineering-process.has-stage-progress .stage-current .engineering-step-number,.home .engineering-process.has-stage-progress .stage-current .engineering-stage-button{color:#b8322a}
.home .engineering-process.has-stage-progress li:hover .engineering-stage-button{color:#b8322a}
.home .engineering-process.has-stage-progress p{transition:color .25s}
.home .engineering-process.has-stage-progress .stage-current p{color:#303b35}
@media(max-width:760px){
 .home .engineering-process.has-stage-progress li:before{background-size:100% 0%;background-position:top center}
 .home .engineering-process.has-stage-progress li.stage-complete:before{background-size:100% 100%}
}
@media(prefers-reduced-motion:reduce){.home .engineering-process.has-stage-progress li:before,.home .engineering-process.has-stage-progress li:after,.home .engineering-stage-button,.home .engineering-process.has-stage-progress p{transition:none}}

/* Automatic sequence: no click affordance. */
.home .engineering-process.automatic-progress li{cursor:default}
.home .engineering-process.automatic-progress .stage-current h3{color:#b8322a}
.home .engineering-process.automatic-progress li.stage-current:before{transition:none}
.home .engineering-process.automatic-progress.progress-running li.stage-current:before{animation:engineering-progress .6s linear forwards}
@keyframes engineering-progress{from{background-size:0% 100%}to{background-size:100% 100%}}
@media(max-width:760px){
 .home .engineering-process.automatic-progress.progress-running li.stage-current:before{animation-name:engineering-progress-vertical}
}
@keyframes engineering-progress-vertical{from{background-size:100% 0%}to{background-size:100% 100%}}
@media(prefers-reduced-motion:reduce){.home .engineering-process.automatic-progress li:before{animation:none!important}}
/* Home uses the Contact page form design. */
.home .contact-section .contact-page-form{padding:25px 0 0}
.home .contact-section .contact-page-form .fluentform fieldset{display:grid;column-gap:32px}
.home .contact-section .contact-page-form .fluentform .ff-el-form-control{border:0;border-bottom:1px solid #d8d9d5;border-radius:0;padding:15px 0 8px;background:transparent;font-family:inherit}
.home .contact-section .contact-page-form .fluentform .ff-el-form-control:focus{border-bottom-color:#b8322a;outline:0}
.home .contact-section .contact-page-form .fluentform textarea.ff-el-form-control{padding-top:17px}
.home .contact-section .contact-page-form .fluentform button.ff-btn-submit{background:#b8322a!important;border-color:#b8322a!important;color:#fff!important;padding:16px 28px}
.home .contact-section .contact-page-form .fluentform button.ff-btn-submit:hover{background:#982820!important;border-color:#982820!important}
/* Contact information balances the home enquiry form. */
.home .home-contact-details{margin-top:44px;padding-top:25px;border-top:1px solid #d6dadd;max-width:390px}
.home .contact-section .home-contact-caption{font-size:10px;letter-spacing:.12em;margin:0 0 15px;color:#727b80}
.home .home-contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.025em;color:var(--ink)}
.home .home-contact-email svg{width:19px;height:19px;color:var(--red);flex-shrink:0}
.home .home-contact-phone{display:inline-block;margin-top:14px;font-size:15px;color:var(--ink)}
.home .contact-section .home-contact-location{font-size:12px;margin:13px 0 0;line-height:1.7;color:#727b80}
.home .home-contact-note{display:flex;gap:16px;margin-top:42px;max-width:390px}
.home .home-contact-note>span{font-size:24px;color:var(--red);line-height:1.2}
.home .home-contact-note h3{font-size:14px;font-weight:400;margin:0 0 9px;color:var(--ink)}
.home .contact-section .home-contact-note p{font-size:12px;line-height:1.85;margin:0;color:#667178}
@media(max-width:760px){.home .home-contact-details{margin-top:28px;max-width:none}.home .home-contact-note{margin-top:26px;max-width:none}}
/* Align the enquiry section on a consistent two-column grid. */
.home .contact-section .contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,6vw,96px);align-items:start}
.home .contact-section .contact-grid>div:first-child{padding-top:0}
.home .contact-section .contact-grid h2{max-width:440px;margin-bottom:20px}
.home .contact-section .contact-page-form{padding-top:0}
.home .home-contact-details{max-width:none;margin-top:36px;padding-top:24px}
.home .home-contact-email{justify-content:flex-start;font-size:20px;letter-spacing:0;overflow-wrap:anywhere}
.home .home-contact-phone{margin-top:12px}
.home .home-contact-note{display:block;max-width:none;margin-top:28px;padding-top:24px;border-top:1px solid #d6dadd}
.home .home-contact-note h3{margin-bottom:10px}
.home .contact-section .home-contact-note p{max-width:380px}
@media(max-width:760px){.home .contact-section .contact-grid{grid-template-columns:1fr;gap:40px}.home .contact-section .contact-grid h2{max-width:none}.home .home-contact-details{margin-top:28px}.home .home-contact-email{font-size:18px}}
.all-products-link{display:block;width:fit-content;margin:0 0 25px auto;font-size:12px;border-bottom:1px solid #aeb5b1;padding-bottom:4px;color:#4c5b5e}.all-products-link:hover{color:#bd2929}
