/* Dedicated homepage styling. No legacy section, column or slider classes. */
.ref-home { --rf-navy:#031d2e; --rf-ink:#0b172c; --rf-yellow:#ffdc00; color:var(--rf-ink); background:#fff; font-family:Arial,Helvetica,sans-serif; width:100%; overflow:hidden; }
.ref-home *, .ref-home *:before, .ref-home *:after { box-sizing:border-box; }
.ref-home section { position:relative; margin:0; padding:26px 0; width:100%; float:none; clear:both; }
.ref-home .rf-wrap { width:calc(100% - 64px); max-width:1140px; margin:0 auto; padding:0; float:none; }
.ref-home h1,.ref-home h2,.ref-home h3,.ref-home p { margin:0; padding:0; font-family:inherit; }
.ref-home h2 { color:var(--rf-ink); font-size:27px; font-weight:800; line-height:1.12; letter-spacing:-.8px; }
.ref-home h3 { color:var(--rf-ink); font-size:13px; font-weight:700; line-height:1.25; }
.ref-home p { color:#596779; font-size:12px; line-height:1.55; margin:7px 0; }
.ref-home a { color:inherit; text-decoration:none; }
.ref-home img { display:block; width:100%; max-width:100%; }
.ref-home .rf-eyebrow { display:block; color:#b58e00; font-size:10px; line-height:1.4; font-weight:700; margin-bottom:7px; }
.ref-home .rf-eyebrow:before { content:''; display:inline-block; width:20px; height:3px; background:var(--rf-yellow); margin:0 6px 2px 0; }
.ref-home .rf-btn { display:inline-flex; justify-content:center; align-items:center; gap:15px; padding:13px 23px; background:var(--rf-yellow); border:1px solid var(--rf-yellow); border-radius:30px; color:#071c2b; font-size:12px; font-weight:700; line-height:1.2; cursor:pointer; white-space:nowrap; transition:background .2s; }
.ref-home .rf-btn:hover { background:#ffe957; }
.ref-home .rf-small { padding:11px 18px; font-size:10px; border-radius:6px; }
.ref-home .rf-outline { border-color:#94a4b0; background:transparent; color:#fff; }
.ref-home .rf-outline i { color:var(--rf-yellow); font-size:19px; }
.ref-home .rf-actions { display:flex; gap:14px; margin-top:20px; align-items:center; }
.ref-home .rf-hero { height:455px; padding:0; background:#031b2d url('../../../images/banners/home-hero-edited-v2.webp') center center/cover no-repeat; }
.ref-home .rf-hero-inner { height:100%; position:relative; display:flex; align-items:center; }
.ref-home .rf-hero-copy { position:relative; width:43%; z-index:1; padding-bottom:42px; }
.ref-home .rf-hero .rf-eyebrow { color:#ffdc00; }
.ref-home .rf-hero h1 { font-size:51px; font-weight:800; line-height:1.02; color:#fff; letter-spacing:-1.8px; }
.ref-home .rf-hero h1 em { color:var(--rf-yellow); font-style:normal; }
.ref-home .rf-hero-description { color:#fff; font-size:17px; font-weight:600; line-height:1.35; margin-top:16px; max-width:355px; }
.ref-home .rf-hero-description p { color:#fff; font-size:17px; line-height:1.35; }
.ref-home .rf-hero-side { position:absolute; right:0; top:48px; bottom:35px; width:100px; border:1px solid #26414e; border-radius:8px; background:rgba(0,19,34,.75); display:grid; grid-template-rows:repeat(4,1fr); padding:8px 14px; }
.ref-home .rf-hero-side > div { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; color:#fff; font-size:10px; line-height:1.25; }
.ref-home .rf-hero-side i { font-size:21px; }
.ref-home .rf-hero-strip { position:absolute; bottom:0; left:0; display:flex; gap:25px; width:65%; align-items:center; min-height:49px; border-top:1px solid #38505a; }
.ref-home .rf-hero-strip span { font-size:10px; color:#fff; white-space:nowrap; }
.ref-home .rf-hero-strip i { color:var(--rf-yellow); font-size:21px; margin-right:7px; vertical-align:middle; }
.ref-home .rf-about { padding:27px 0; background:#fff; }
.ref-home .rf-about-grid { display:grid; grid-template-columns:46% 1fr; align-items:center; gap:40px; }
.ref-home .rf-about-photo { position:relative; height:306px; border-radius:14px; overflow:hidden; background:#05233a; }
.ref-home .rf-about-photo > img { height:100%; object-fit:cover; object-position:76% center; transform:scale(1.35); transform-origin:78% center; }
.ref-home .rf-about-photo > span { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; gap:8px; background:rgba(0,15,31,.08); }
.ref-home .rf-about-photo i { display:grid; place-items:center; width:65px; height:65px; border-radius:50%; background:#fff; color:#0b233a; font-size:22px; padding-left:4px; box-shadow:0 3px 18px #08233555; }
.ref-home .rf-about-photo small { padding:3px 8px; background:#082335bb; border-radius:4px; font-size:11px; }
.ref-home .rf-about-copy h2 { font-size:28px; margin-bottom:11px; }
.ref-home .rf-about-copy > div:not(.rf-facts) { max-height:120px; overflow:auto; scrollbar-width:thin; }
.ref-home .rf-about-copy p { margin:0; font-size:12px; line-height:1.45; }
.ref-home .rf-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:15px 0 12px; }
.ref-home .rf-facts > div { display:flex; gap:7px; align-items:center; min-height:49px; padding:8px; background:#05243a; border-radius:6px; color:#fff; }
.ref-home .rf-facts i { color:#ffdc00; font-size:20px; }
.ref-home .rf-facts span { font-size:11px; font-weight:700; line-height:1.3; }
.ref-home .rf-facts small { display:block; font-size:8px; font-weight:400; }
.ref-home .rf-products { background:linear-gradient(110deg,#f3f9fc,#edf4f9); padding:24px 0 18px; }
.ref-home .rf-section-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:15px; }
.ref-home .rf-section-head h2 { font-size:25px; }
.ref-home .rf-section-head p { margin:5px 0 0; }
.ref-home .rf-product-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 50px)/6); gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; align-items:stretch; }
.ref-home .rf-product-track::-webkit-scrollbar,.ref-home .rf-gallery-track::-webkit-scrollbar { display:none; }
.ref-home .rf-product-card { padding:14px 13px; border-radius:10px; background:#fff; display:flex; flex-direction:column; scroll-snap-align:start; min-width:0; }
.ref-home .rf-product-card img { height:130px; object-fit:contain; margin-bottom:12px; border-radius:4px; }
.ref-home .rf-product-card h3 { font-size:11px; margin:0 0 7px; min-height:27px; }
.ref-home .rf-product-card p, .ref-home .rf-product-copy { color:#697487; font-size:11px; line-height:1.45; }
.ref-home .rf-product-copy p { margin:0; }
.ref-home .rf-detail { display:block; margin-top:auto; padding-top:12px; color:#c49d00; font-size:10px; font-weight:700; }
.ref-home .rf-track-controls { display:flex; align-items:center; justify-content:flex-end; gap:6px; padding-top:9px; }
.ref-home .rf-track-controls > span { margin-right:auto; font-size:10px; color:#667589; }
.ref-home .rf-track-controls a { color:#b18b00; }
.ref-home button[data-rf-scroll] { width:27px; height:27px; border:1px solid #e3ebf1; border-radius:50%; background:#fff; color:#132b42; font-size:22px; line-height:20px; cursor:pointer; }
.ref-home .rf-benefits { padding:25px 0; background:linear-gradient(90deg,rgba(0,19,33,.89),rgba(0,19,33,.91)),url('../../../images/banners/home-hero-edited-v2.webp') center/cover; }
.ref-home .rf-benefits-grid { display:grid; grid-template-columns:35% 1fr; align-items:center; gap:36px; }
.ref-home .rf-benefits h2 { color:#fff; font-size:28px; }
.ref-home .rf-benefits p { color:#d0dbe2; font-size:13px; margin:11px 0 15px; }
.ref-home .rf-benefits .rf-eyebrow { color:#ffdc00; }
.ref-home .rf-benefit-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }
.ref-home .rf-benefit-cards > div { min-height:96px; background:#f5f8fc; border:1px solid #e1e8ee; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:13px 15px; gap:10px; text-align:center; }
.ref-home .rf-benefit-cards i { font-size:24px; color:#0a243c; }
.ref-home .rf-benefit-cards span { font-size:11px; font-weight:700; line-height:1.25; max-width:95px; }
.ref-home .rf-industries { padding:20px 0 23px; background:#f4f8fc; }
.ref-home .rf-centered { text-align:center; margin-bottom:17px; }
.ref-home .rf-centered h2 { font-size:25px; }
.ref-home .rf-centered h2:before,.ref-home .rf-gallery h2:before,.ref-home .rf-contact h2:before,.ref-home .rf-faq h2:before,.ref-home .rf-process h2:before { content:''; display:inline-block; width:19px; height:3px; background:#ffdc00; vertical-align:middle; margin-right:8px; }
.ref-home .rf-centered p { font-size:11px; margin:5px 0 0; }
.ref-home .rf-industry-track { display:grid; grid-template-columns:repeat(8,1fr); gap:15px; }
.ref-home .rf-industry-track img { height:82px; object-fit:cover; border-radius:8px; }
.ref-home .rf-industry-track h3 { font-size:10px; text-align:center; margin:8px auto 0; max-width:110px; }
.ref-home .rf-production { padding:0; display:grid; grid-template-columns:52.5% 47.5%; min-height:180px; }
.ref-home .rf-process { padding:23px 28px; background:#021a2b; color:#fff; display:flex; justify-content:flex-end; }
.ref-home .rf-process-inner { width:100%; max-width:580px; }
.ref-home .rf-process h2 { color:#fff; font-size:23px; }
.ref-home .rf-process p { color:#d6e1e8; font-size:11px; margin-bottom:18px; }
.ref-home .rf-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; position:relative; }
.ref-home .rf-steps:before { content:''; position:absolute; top:19px; height:1px; background:#34505f; left:8%; right:8%; }
.ref-home .rf-steps > div { position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.ref-home .rf-steps i { display:grid; place-items:center; width:37px; height:37px; border-radius:50%; background:#ffdc00; color:#0d2c41; font-size:21px; }
.ref-home .rf-steps span { font-size:10px; line-height:1.25; max-width:85px; }
.ref-home .rf-video { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:22px; padding:12px 25px; background:#ffdc00; }
.ref-home .rf-video .rf-eyebrow { font-size:8px; color:#8b7000; }
.ref-home .rf-video h2 { font-size:24px; }
.ref-home .rf-video p { font-size:10px; color:#4c451a; margin:8px 0; }
.ref-home .rf-video a { display:flex; align-items:center; gap:8px; font-size:10px; font-weight:700; color:#092238; }
.ref-home .rf-video a i { font-size:29px; }
.ref-home .rf-video-poster { position:relative; border:0; padding:0; border-radius:8px; height:153px; overflow:hidden; cursor:pointer; background:#052b43; }
.ref-home .rf-video-poster img { height:100%; object-fit:cover; }
.ref-home .rf-video-poster > span { position:absolute; inset:0; display:grid; place-items:center; background:#03172411; }
.ref-home .rf-video-poster i { background:#ffdc00; color:#07243a; font-size:13px; padding:12px; border-radius:50%; }
.ref-home .rf-video iframe { width:100%; height:153px; border:0; border-radius:8px; }
.ref-home .rf-gallery { padding:22px 0 14px; background:#f4f8fc; }
.ref-home .rf-gallery-controls { display:flex; gap:7px; }
.ref-home .rf-gallery-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/5); gap:12px; overflow:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.ref-home .rf-gallery-track a { height:137px; border-radius:8px; overflow:hidden; scroll-snap-align:start; }
.ref-home .rf-gallery-track img { height:100%; object-fit:cover; }
.ref-home .rf-dots { display:flex; justify-content:center; gap:5px; padding-top:10px; }
.ref-home .rf-dots b { width:7px; height:7px; border-radius:50%; background:#d9e2e9; }
.ref-home .rf-dots b:first-child { background:#ffdc00; }
.ref-home .rf-contact { padding:22px 0; background:radial-gradient(ellipse at left,#0c3447,#021a2b 70%); color:#fff; }
.ref-home .rf-contact-grid { display:grid; grid-template-columns:47% 24% 1fr; gap:25px; align-items:start; }
.ref-home .rf-contact h2 { color:#fff; font-size:23px; }
.ref-home .rf-quote form { display:grid; grid-template-columns:1fr 1fr; gap:8px 13px; margin:15px 0 0; }
.ref-home .rf-quote label { margin:0; font-weight:400; }
.ref-home .rf-quote label > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.ref-home .rf-quote input:not([type=hidden]), .ref-home .rf-quote textarea { width:100%; border:1px solid #dce3e9; border-radius:5px; padding:8px 10px; background:#fff; color:#21334a; font-family:inherit; font-size:10px; height:30px; }
.ref-home .rf-quote textarea { height:66px; resize:vertical; display:block; }
.ref-home .rf-full { grid-column:1/-1; }
.ref-home .rf-quote button { border-radius:5px; padding:7px; font-size:10px; min-height:29px; }
.ref-home .rf-location { border-left:1px solid #36515e; padding-left:20px; }
.ref-home .rf-location .rf-eyebrow { color:#ffdc00; }
.ref-home .rf-location h2:before { display:none; }
.ref-home .rf-location p { font-size:11px; line-height:1.4; color:#d1dce4; }
.ref-home .rf-location ul { padding:0; margin:11px 0 0; list-style:none; }
.ref-home .rf-location li { position:relative; font-size:10px; line-height:1.4; padding-left:28px; margin-bottom:10px; overflow-wrap:anywhere; }
.ref-home .rf-location li i { display:grid; place-items:center; position:absolute; left:0; top:0; width:21px; height:21px; background:#ffdc00; color:#09273c; border-radius:50%; font-size:12px; }
.ref-home .rf-map { width:100%; height:224px; border:0; border-radius:8px; }
.ref-home .rf-testimonials { padding:23px 0; background:#fff; }
.ref-home .rf-testimonial-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px)/4); gap:12px; overflow:auto; margin-top:16px; }
.ref-home .rf-testimonial-track article { padding:18px; border:1px solid #e5edf3; border-radius:8px; }
.ref-home .rf-testimonial-track article > i { color:#c79f3f; font-size:22px; }
.ref-home .rf-testimonial-track strong { font-size:11px; }
.ref-home .rf-testimonial-track article > div { font-size:10px; color:#778496; }
.ref-home .rf-faq { padding:23px 0 20px; background:linear-gradient(#fff,#f1f7fb); }
.ref-home .rf-faq h2 { font-size:25px; margin-bottom:15px; }
.ref-home .rf-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; align-items:start; }
.ref-home details { background:#fff; border:1px solid #e1e8ef; border-radius:5px; font-size:12px; }
.ref-home summary { display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; padding:10px 13px; color:#132238; font-size:11px; font-weight:700; }
.ref-home summary::-webkit-details-marker { display:none; }
.ref-home summary:before { content:''; width:2px; height:13px; background:#ffdc00; flex-shrink:0; }
.ref-home summary > span { margin-left:auto; background:#edf2f6; border-radius:50%; font-size:15px; width:17px; height:17px; text-align:center; line-height:17px; flex-shrink:0; }
.ref-home details[open] > summary > span { transform:rotate(45deg); }
.ref-home details > div { padding:8px 16px 15px; font-size:12px; line-height:1.65; }
.ref-home .rf-more-content { margin-top:12px; }
.ref-home .rf-original-content h2 { font-size:21px; margin:20px 0 10px; }
.ref-home .rf-original-content ul { padding-left:20px; }
.ref-home :focus-visible { outline:3px solid #b39300; outline-offset:3px; }
/* Header and footer belong to the common layout; match reference only on home. */
body.phe-home-page { margin:0; background:#fff; overflow-x:hidden; }
body.phe-home-page .site-header { padding:0; background:#fff; box-shadow:none; }
body.phe-home-page .site-header .topbar { background:#021724; min-height:30px; border:0; }
body.phe-home-page .site-header .topbar .container { width:calc(100% - 64px); max-width:1140px; padding:0; border:0; border-radius:0; background:transparent; min-height:30px; }
body.phe-home-page .site-header .topbar .row { min-height:30px; margin:0; }
body.phe-home-page .site-header .topbar li,body.phe-home-page .site-header .topbar a { color:#fff; font-size:9px; line-height:30px; }
body.phe-home-page .site-header .topbar i { color:#ffdc00; }
body.phe-home-page .site-header .topbar .col-sm-6 { padding:0; }
body.phe-home-page .site-header .topbar .contact-info ul li { padding:0 12px; }
body.phe-home-page .site-header .topbar .contact-info ul li + li:before { top:8px; height:14px; }
body.phe-home-page .site-header .menu-container { padding:0!important; margin:0; background:#fff; box-shadow:none; }
body.phe-home-page .site-header .menu-container .container { width:calc(100% - 64px); max-width:1140px; padding:0; border:0; border-radius:0; box-shadow:none; background:#fff; }
body.phe-home-page .site-header .menu { min-height:68px; display:flex; gap:20px; align-items:center; }
body.phe-home-page .site-header .menu .logo { display:flex; align-items:center; gap:8px; flex:0 0 255px; min-width:0; height:59px; padding:5px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.phe-home-page .site-header .menu .logo img { width:49px; max-width:49px; height:49px; max-height:49px; object-fit:cover; object-position:left; }
body.phe-home-page .site-header .menu .reference-brand-name { display:block; color:#0c2033; font-size:15px; line-height:1.05; font-weight:800; }
body.phe-home-page .site-header .menu .reference-brand-name small { display:block; font-size:6px; font-weight:600; letter-spacing:1px; margin-top:4px; }
body.phe-home-page .site-header .menu > ul { display:flex; position:static; width:auto!important; flex:1; justify-content:space-between; align-items:center; margin:0; padding:0; }
body.phe-home-page .site-header .menu > ul > li { float:none; }
body.phe-home-page .site-header .menu > ul > li > a { color:#0c2033; padding:25px 8px; font-size:10px; font-weight:700; }
body.phe-home-page .site-header .menu > ul > li > a:after { bottom:15px; left:8px; right:8px; background:#ffdc00; }
body.phe-home-page .site-header .menu > ul > li.header-quote { margin-left:25px; }
body.phe-home-page .site-header .menu > ul > li.header-quote > a { background:#ffdc00; color:#0c2033; margin:0; padding:7px 9px 7px 15px; border-radius:30px; font-size:10px; box-shadow:none; }
body.phe-home-page .site-header .menu > ul > li.header-quote i { width:26px; height:26px; line-height:26px; background:#06223a; color:#ffdc00; margin-left:8px; }
body.phe-home-page .site-footer { color:#b8c8d5; background:#021b2c; }
body.phe-home-page .site-footer .upper-footer { padding:25px 0 20px; }
body.phe-home-page .site-footer .container { width:calc(100% - 64px); max-width:1140px; padding:0; }
body.phe-home-page .site-footer .footer-title { color:#fff; font-size:14px; margin-bottom:10px; }
body.phe-home-page .site-footer p,body.phe-home-page .site-footer li,body.phe-home-page .site-footer li a,body.phe-home-page .site-footer strong { color:#b8c8d5; font-size:10px; line-height:1.45; font-weight:400; }
body.phe-home-page .site-footer .footer-logo { margin-bottom:12px; }
body.phe-home-page .site-footer .footer-logo img { max-width:180px; }
body.phe-home-page .site-footer .copyright-info { background:#0d2f4c; padding:10px 0; }
body.phe-home-page .site-footer .copyright-info p { margin:0; font-size:10px; color:#fff; }
body.phe-home-page .whats-app-icon { display:none; }
@media(min-width:1600px) { .ref-home .rf-hero { height:500px; } }
@media(max-width:1100px) {
 body.phe-home-page .site-header .menu .logo { flex-basis:220px; }
 body.phe-home-page .site-header .menu > ul > li > a { padding-left:5px; padding-right:5px; font-size:9px; }
 body.phe-home-page .site-header .menu > ul > li.header-quote { margin-left:8px; }
 .ref-home .rf-hero { height:430px; }
 .ref-home .rf-hero h1 { font-size:46px; }
 .ref-home .rf-about-grid { gap:26px; }
 .ref-home .rf-facts { gap:5px; }
 .ref-home .rf-facts i { font-size:16px; }
 .ref-home .rf-facts > div { padding:7px 5px; }
 .ref-home .rf-benefits-grid { gap:22px; }
 .ref-home .rf-contact-grid { gap:18px; grid-template-columns:45% 26% 1fr; }
}
@media(max-width:943px) {
 body.phe-home-page .site-header .menu { display:flex; position:relative; }
 body.phe-home-page .site-header .menu-mobile { position:absolute; right:0; top:17px; }
 body.phe-home-page .site-header .menu > ul { display:none; position:absolute; top:68px; left:0; width:100%!important; background:#fff; box-shadow:0 14px 20px #09223822; }
 body.phe-home-page .site-header .menu > ul.show-on-mobile { display:block; }
 body.phe-home-page .site-header .menu > ul > li > a { padding:13px 18px; font-size:12px; }
 .ref-home .rf-about-grid { grid-template-columns:44% 1fr; gap:24px; }
 .ref-home .rf-about-copy h2 { font-size:24px; }
 .ref-home .rf-facts { grid-template-columns:repeat(2,1fr); margin:10px 0; }
 .ref-home .rf-about-photo { height:320px; }
 .ref-home .rf-benefit-cards { gap:8px; }
 .ref-home .rf-benefit-cards > div { padding:10px; }
 .ref-home .rf-production { grid-template-columns:1fr 1fr; }
 .ref-home .rf-process { padding:20px 18px; }
 .ref-home .rf-video { padding:15px; gap:12px; }
 .ref-home .rf-video h2 { font-size:21px; }
 .ref-home .rf-product-track { grid-auto-columns:calc((100% - 20px)/3); }
 .ref-home .rf-contact-grid { grid-template-columns:1fr 1fr; }
 .ref-home .rf-map { grid-column:1/-1; height:220px; }
 .ref-home .rf-industry-track { grid-template-columns:repeat(4,1fr); row-gap:18px; }
}
@media(max-width:600px) {
 .ref-home .rf-wrap,body.phe-home-page .site-header .menu-container .container,body.phe-home-page .site-footer .container { width:calc(100% - 32px); }
 .ref-home section { padding:24px 0; }
 .ref-home .rf-hero { height:495px; padding:0; background-position:60% center; }
 .ref-home .rf-hero:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,16,29,.9),rgba(0,16,29,.35)); }
 .ref-home .rf-hero-copy { width:85%; padding-bottom:70px; }
 .ref-home .rf-hero h1 { font-size:43px; }
 .ref-home .rf-hero-description { font-size:15px; max-width:260px; }
 .ref-home .rf-hero-side { display:none; }
 .ref-home .rf-hero-strip { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:13px 0; }
 .ref-home .rf-hero-strip span { font-size:9px; }
 .ref-home .rf-hero-strip i { font-size:17px; }
 .ref-home .rf-actions { gap:10px; }
 .ref-home .rf-btn { padding:12px 17px; font-size:11px; }
 .ref-home .rf-about-grid,.ref-home .rf-benefits-grid,.ref-home .rf-production,.ref-home .rf-contact-grid { grid-template-columns:1fr; }
 .ref-home .rf-about-photo { height:270px; }
 .ref-home .rf-about-copy h2 { font-size:27px; }
 .ref-home .rf-about-copy > div:not(.rf-facts) { max-height:none; }
 .ref-home .rf-facts { grid-template-columns:repeat(4,1fr); }
 .ref-home .rf-facts > div { flex-direction:column; text-align:center; padding:9px 5px; }
 .ref-home .rf-section-head { align-items:flex-start; gap:10px; }
 .ref-home .rf-section-head h2 { font-size:22px; }
 .ref-home .rf-section-head > .rf-btn { white-space:normal; min-width:88px; padding:9px; gap:6px; font-size:9px; }
 .ref-home .rf-product-track { grid-auto-columns:calc((100% - 10px)/2); }
 .ref-home .rf-product-card img { height:140px; }
 .ref-home .rf-benefits h2 { font-size:28px; }
 .ref-home .rf-benefit-cards { grid-template-columns:repeat(2,1fr); }
 .ref-home .rf-industry-track { grid-template-columns:repeat(4,1fr); gap:12px 9px; }
 .ref-home .rf-industry-track img { height:64px; }
 .ref-home .rf-industry-track h3 { font-size:9px; }
 .ref-home .rf-production { padding:0; }
 .ref-home .rf-process { padding:24px 16px; }
 .ref-home .rf-process h2 { font-size:22px; }
 .ref-home .rf-steps { gap:8px; }
 .ref-home .rf-steps span { font-size:9px; }
 .ref-home .rf-video { padding:17px 16px; min-height:180px; }
 .ref-home .rf-gallery-track { grid-auto-columns:calc((100% - 12px)/2); }
 .ref-home .rf-gallery-track a { height:145px; }
 .ref-home .rf-location { border:0; padding:8px 0; }
 .ref-home .rf-map { grid-column:auto; }
 .ref-home .rf-testimonial-track { grid-auto-columns:85%; }
 .ref-home .rf-faq-grid { grid-template-columns:1fr; }
 body.phe-home-page .site-footer .upper-footer .row { display:grid; grid-template-columns:1fr 1fr; gap:20px 0; }
 body.phe-home-page .site-footer .upper-footer .col { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ref-home * { scroll-behavior:auto!important; transition:none!important; } }
body.phe-home-page .site-footer .footer-logo { display:flex; align-items:center; gap:7px; }
body.phe-home-page .site-footer .footer-logo img { width:42px; height:42px; max-width:42px; object-fit:cover; object-position:left; }
body.phe-home-page .site-footer .rf-footer-brand { font-size:13px; line-height:1.1; font-weight:700; color:#fff; }
body.phe-home-page .site-footer .widget-items { width:100%; padding-top:12px; }
body.phe-home-page .site-footer .widget-items .prt-stl { font-size:13px!important; margin:0 0 5px; }
body.phe-home-page .site-footer .widget-items a { color:#b8c8d5; font-size:10px; }
.ref-home .overlaysan { display:none; }
.ref-home #homesuccessmsg:not(:empty) { color:#ffdc00; margin:8px 0; font-size:11px; }
.ref-home .rf-quote button:disabled { opacity:.65; cursor:wait; }
@media(min-width:944px) {
 body.phe-home-page .site-header .topbar .col-sm-6:first-child { display:none; }
 body.phe-home-page .site-header .topbar .col-sm-6:last-child { width:100%; }
 body.phe-home-page .site-header .topbar .header-address { order:-1; max-width:none; margin-right:auto; padding-left:0; }
 body.phe-home-page .site-header .topbar .header-address:before { display:none; }
}
/* Footer uses its own grid, independent of legacy Bootstrap/widget styles. */
.rf-site-footer { background:#031b2b; color:#b7c8d5; padding:0; font-family:Arial,Helvetica,sans-serif; clear:both; }
.rf-site-footer *, .rf-site-footer *:before, .rf-site-footer *:after { box-sizing:border-box; }
.rf-site-footer .rf-footer-wrap { width:calc(100% - 64px); max-width:1140px; margin:0 auto; }
.rf-site-footer .rf-footer-grid { display:grid; grid-template-columns:1.3fr .7fr 1.05fr 1.15fr; gap:36px; padding:30px 0 22px; align-items:start; }
.rf-site-footer .rf-footer-grid > * { min-width:0; }
.rf-site-footer h2 { font-family:inherit; font-size:14px; line-height:1.25; font-weight:700; color:#fff; margin:3px 0 14px; padding:0; }
.rf-site-footer p, .rf-site-footer li, .rf-site-footer a, .rf-site-footer .rf-footer-description { color:#b7c8d5; font-size:11px; line-height:1.6; }
.rf-site-footer a { text-decoration:none; transition:color .2s; }
.rf-site-footer a:hover { color:#ffdc00; }
.rf-site-footer ul { list-style:none; padding:0; margin:0; }
.rf-site-footer li { padding:0; margin:0 0 6px; }
.rf-site-footer .rf-footer-logo { display:flex; align-items:center; gap:9px; margin-bottom:14px; width:max-content; max-width:100%; }
.rf-site-footer .rf-footer-logo img { display:block; width:44px; height:44px; max-width:44px; object-fit:cover; object-position:left; }
.rf-site-footer .rf-footer-logo > span { color:#fff; font-size:15px; line-height:1.1; font-weight:700; }
.rf-site-footer .rf-footer-logo small { display:block; font-size:6px; letter-spacing:1px; margin-top:5px; color:#b7c8d5; }
.rf-site-footer .rf-footer-description, .rf-site-footer .rf-footer-description p { margin:0; font-size:11px; line-height:1.6; }
.rf-site-footer .rf-footer-socials { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:14px; }
.rf-site-footer .rf-footer-socials a { display:block; width:25px; height:25px; }
.rf-site-footer .rf-footer-socials img { display:block; width:25px; height:25px; object-fit:contain; }
.rf-site-footer .rf-footer-contact li { display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:8px; margin-bottom:10px; }
.rf-site-footer .rf-footer-contact li > i { color:#ffdc00; font-size:14px; line-height:19px; }
.rf-site-footer .rf-footer-contact a { display:block; overflow-wrap:anywhere; }
.rf-site-footer .rf-footer-contact p { margin:0; }
.rf-site-footer .rf-footer-partners { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 0 15px; border-top:1px solid #254052; }
.rf-site-footer .rf-footer-partners strong { color:#dce5eb; font-size:11px; white-space:nowrap; }
.rf-site-footer .rf-footer-partners > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px 18px; }
.rf-site-footer .rf-footer-partners a { font-size:10px; }
.rf-site-footer .rf-footer-bottom { background:#0a2b45; padding:11px 0; }
.rf-site-footer .rf-footer-bottom .rf-footer-wrap { display:flex; justify-content:space-between; align-items:center; gap:12px 30px; }
.rf-site-footer .rf-footer-bottom span,.rf-site-footer .rf-footer-bottom a { font-size:9px; line-height:1.6; color:#d4e0e8; }
.rf-site-footer .rf-footer-bottom span:last-child { text-align:right; max-width:48%; }
.rf-site-footer :focus-visible { outline:2px solid #ffdc00; outline-offset:3px; }
@media(max-width:943px) {
 .rf-site-footer .rf-footer-grid { grid-template-columns:1.1fr 1fr; gap:28px 36px; }
 .rf-site-footer .rf-footer-partners { align-items:flex-start; }
}
@media(max-width:600px) {
 .rf-site-footer .rf-footer-wrap { width:calc(100% - 32px); }
 .rf-site-footer .rf-footer-grid { grid-template-columns:1fr 1fr; gap:25px 20px; padding-top:25px; }
 .rf-site-footer .rf-footer-company,.rf-site-footer .rf-footer-contact { grid-column:1/-1; }
 .rf-site-footer .rf-footer-description { max-width:440px; }
 .rf-site-footer .rf-footer-partners,.rf-site-footer .rf-footer-bottom .rf-footer-wrap { flex-direction:column; align-items:flex-start; }
 .rf-site-footer .rf-footer-partners > div { justify-content:flex-start; gap:6px 14px; }
 .rf-site-footer .rf-footer-bottom span:last-child { text-align:left; max-width:100%; }
}
/* Fit the complete replacement machine, rather than cropping it with cover. */
.ref-home .rf-hero {
 background-color:#031b2d;
 background-image:linear-gradient(90deg,#031b2d 0%,rgba(3,27,45,0) 27%),url('../../../images/banners/home-hero-user-phe-v3.webp');
 background-size:100% 100%,auto 100%;
 background-position:center,right center;
 background-repeat:no-repeat;
}
@media(max-width:1100px) { .ref-home .rf-hero { background-position:center,center center; } }
@media(max-width:600px) { .ref-home .rf-hero { background-position:center,60% center; } }
/* Roomier section rhythm and readable content; retain natural height on mobile. */
.ref-home .rf-hero { height:560px; background-position:center,center center; }
.ref-home .rf-hero h1 { font-size:58px; }
.ref-home .rf-about { padding:64px 0; }
.ref-home .rf-about-grid { gap:48px; }
.ref-home .rf-about-photo { margin:0; height:400px; border-radius:16px; box-shadow:0 14px 35px #09283e14; }
.ref-home .rf-about-photo > img { height:100%; width:100%; object-fit:cover; object-position:center; transform:none; }
.ref-home .rf-about-copy h2 { font-size:32px; margin-bottom:18px; }
.ref-home .rf-about-copy > div:not(.rf-facts) { max-height:none; overflow:visible; }
.ref-home .rf-about-copy p { font-size:14px; line-height:1.75; }
.ref-home .rf-facts { margin:22px 0 20px; }
.ref-home .rf-facts > div { min-height:62px; padding:11px 8px; }
.ref-home .rf-products { padding:54px 0 38px; }
.ref-home .rf-section-head { margin-bottom:26px; }
.ref-home .rf-section-head h2 { font-size:30px; }
.ref-home .rf-section-head p { font-size:14px; margin-top:8px; }
.ref-home .rf-product-card { min-height:365px; padding:20px 14px; }
.ref-home .rf-product-card img { height:165px; margin-bottom:18px; }
.ref-home .rf-product-card h3 { font-size:13px; line-height:1.4; min-height:37px; margin-bottom:10px; }
.ref-home .rf-product-card p,.ref-home .rf-product-copy { font-size:12px; line-height:1.65; }
.ref-home .rf-detail { font-size:11px; padding-top:18px; }
.ref-home .rf-track-controls { padding-top:18px; }
.ref-home .rf-benefits { padding:48px 0; }
.ref-home .rf-benefits h2 { font-size:32px; }
.ref-home .rf-benefits p { font-size:14px; line-height:1.7; margin:17px 0 22px; }
.ref-home .rf-benefit-cards { gap:15px; }
.ref-home .rf-benefit-cards > div { min-height:118px; padding:18px 12px; gap:14px; }
.ref-home .rf-benefit-cards span { font-size:12px; }
.ref-home .rf-industries { padding:42px 0; }
.ref-home .rf-centered { margin-bottom:26px; }
.ref-home .rf-centered h2 { font-size:30px; }
.ref-home .rf-centered p { font-size:13px; margin-top:9px; }
.ref-home .rf-industry-track img { height:112px; }
.ref-home .rf-industry-track h3 { font-size:12px; line-height:1.4; margin-top:12px; }
.ref-home .rf-production { min-height:250px; }
.ref-home .rf-process { padding:37px 30px; align-items:center; }
.ref-home .rf-process h2 { font-size:27px; }
.ref-home .rf-process p { font-size:13px; margin:10px 0 25px; }
.ref-home .rf-steps i { width:43px; height:43px; }
.ref-home .rf-steps:before { top:22px; }
.ref-home .rf-steps span { font-size:11px; line-height:1.4; }
.ref-home .rf-video { padding:26px; gap:25px; }
.ref-home .rf-video h2 { font-size:28px; }
.ref-home .rf-video p { font-size:12px; line-height:1.6; margin:12px 0; }
.ref-home .rf-video-poster,.ref-home .rf-video iframe { height:195px; }
.ref-home .rf-gallery { padding:45px 0 30px; }
.ref-home .rf-gallery-track a { height:180px; }
.ref-home .rf-dots { padding-top:18px; }
.ref-home .rf-contact { padding:42px 0; }
.ref-home .rf-contact-grid { align-items:stretch; }
.ref-home .rf-contact h2 { font-size:27px; }
.ref-home .rf-quote form { gap:12px 13px; margin-top:22px; }
.ref-home .rf-quote input:not([type=hidden]) { height:39px; font-size:12px; }
.ref-home .rf-quote textarea { height:99px; font-size:12px; }
.ref-home .rf-quote button { min-height:37px; font-size:12px; }
.ref-home .rf-location p,.ref-home .rf-location li { font-size:12px; line-height:1.6; }
.ref-home .rf-location li { margin-bottom:15px; }
.ref-home .rf-map { height:100%; min-height:285px; }
.ref-home .rf-testimonials { padding:44px 0; }
.ref-home .rf-testimonial-track article { min-height:180px; padding:24px; }
.ref-home .rf-faq { padding:42px 0 38px; }
.ref-home .rf-faq h2 { font-size:29px; margin-bottom:24px; }
.ref-home .rf-faq-grid { gap:13px 24px; }
.ref-home summary { min-height:48px; padding:14px 15px; font-size:12px; line-height:1.5; }
.ref-home .rf-more-content { margin-top:18px; }
.rf-site-footer .rf-footer-grid { padding-top:38px; padding-bottom:30px; }
@media(max-width:1100px) {
 .ref-home .rf-hero { height:510px; }
 .ref-home .rf-hero h1 { font-size:51px; }
 .ref-home .rf-about-grid { gap:30px; }
 .ref-home .rf-about-photo { height:380px; }
 .ref-home .rf-about-copy h2 { font-size:28px; }
 .ref-home .rf-process { padding:30px 20px; }
 .ref-home .rf-video { padding:22px 18px; gap:16px; }
}
@media(max-width:943px) {
 .ref-home .rf-about,.ref-home .rf-products,.ref-home .rf-benefits,.ref-home .rf-gallery,.ref-home .rf-contact,.ref-home .rf-faq { padding-top:40px; padding-bottom:40px; }
 .ref-home .rf-about-photo { height:400px; }
 .ref-home .rf-benefits-grid { grid-template-columns:32% 1fr; gap:24px; }
 .ref-home .rf-benefits h2 { font-size:27px; }
 .ref-home .rf-benefit-cards > div { min-height:110px; }
 .ref-home .rf-benefit-cards span { font-size:11px; }
 .ref-home .rf-production { grid-template-columns:1fr; }
 .ref-home .rf-process { justify-content:center; padding:32px; }
 .ref-home .rf-process-inner { max-width:none; }
 .ref-home .rf-video { padding:25px 32px; min-height:240px; }
 .ref-home .rf-map { min-height:245px; height:245px; }
}
@media(max-width:600px) {
 .ref-home .rf-hero { height:530px; background-position:center,60% center; }
 .ref-home .rf-hero h1 { font-size:45px; }
 .ref-home .rf-about,.ref-home .rf-products,.ref-home .rf-benefits,.ref-home .rf-industries,.ref-home .rf-gallery,.ref-home .rf-contact,.ref-home .rf-testimonials,.ref-home .rf-faq { padding-top:32px; padding-bottom:32px; }
 .ref-home .rf-about-grid { gap:28px; }
 .ref-home .rf-about-photo { height:auto; aspect-ratio:4/3; }
 .ref-home .rf-about-copy h2 { font-size:28px; }
 .ref-home .rf-about-copy p { font-size:13px; line-height:1.75; }
 .ref-home .rf-facts { margin:18px 0; }
 .ref-home .rf-section-head h2 { font-size:24px; }
 .ref-home .rf-section-head p { font-size:12px; }
 .ref-home .rf-section-head { margin-bottom:21px; }
 .ref-home .rf-product-card { min-height:345px; padding:17px 12px; }
 .ref-home .rf-product-card img { height:155px; margin-bottom:14px; }
 .ref-home .rf-product-card h3 { font-size:12px; }
 .ref-home .rf-benefits-grid { grid-template-columns:1fr; gap:26px; }
 .ref-home .rf-benefit-cards > div { min-height:112px; }
 .ref-home .rf-industry-track { grid-template-columns:repeat(2,1fr); gap:20px 15px; }
 .ref-home .rf-industry-track img { height:106px; }
 .ref-home .rf-industry-track h3 { font-size:11px; }
 .ref-home .rf-process { padding:28px 16px; }
 .ref-home .rf-process h2 { font-size:23px; }
 .ref-home .rf-steps span { font-size:9px; }
 .ref-home .rf-video { min-height:225px; padding:23px 16px; gap:15px; }
 .ref-home .rf-video h2 { font-size:24px; }
 .ref-home .rf-video p { font-size:11px; }
 .ref-home .rf-video-poster,.ref-home .rf-video iframe { height:175px; }
 .ref-home .rf-gallery-track a { height:165px; }
 .ref-home .rf-location { padding-top:15px; }
 .ref-home .rf-location li { min-height:23px; }
 .ref-home .rf-faq h2 { font-size:26px; }
 .ref-home summary { font-size:11px; }
}
/* Four-slide hero: consistent height, accessible controls and gentle crossfade. */
.ref-home .rf-hero-carousel { background:#031b2d; isolation:isolate; touch-action:pan-y; }
.ref-home .rf-hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility .65s ease; background-color:#031b2d; background-image:linear-gradient(90deg,#031b2d 0%,#031b2d 30%,rgba(3,27,45,.88) 40%,transparent 70%),var(--rf-slide-image); background-size:100% 100%,auto 100%; background-repeat:no-repeat; background-position:center,right center; }
.ref-home .rf-hero-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; }
.ref-home .rf-hero .rf-hero-heading { font-family:inherit; font-size:58px; font-weight:800; line-height:1.02; color:#fff; letter-spacing:-1.8px; padding:0; margin:0; }
.ref-home .rf-hero .rf-hero-heading em { color:#ffdc00; font-style:normal; }
.ref-home .rf-hero-overlay { position:relative; z-index:2; pointer-events:none; }
.ref-home .rf-hero-strip { width:67%; }
.ref-home .rf-hero-copy { padding-bottom:45px; }
.ref-home .rf-hero-navigation { position:absolute; bottom:12px; right:max(32px,calc((100% - 1140px)/2)); z-index:4; display:flex; align-items:center; gap:9px; padding:5px 8px; border:1px solid #294456; border-radius:28px; background:rgba(1,20,34,.8); }
.ref-home .rf-hero-navigation > button { display:grid; place-items:center; width:27px; height:27px; border:0; border-radius:50%; background:transparent; color:#fff; font-size:20px; padding:0; cursor:pointer; }
.ref-home .rf-hero-navigation > button:hover { color:#ffdc00; background:#254359; }
.ref-home .rf-hero-navigation > .rf-hero-pause { font-size:11px; border-left:1px solid #3d5667; border-radius:0; padding-left:6px; }
.ref-home .rf-hero-dots { display:flex; align-items:center; gap:2px; }
.ref-home .rf-hero-dots button { display:grid; place-items:center; width:23px; height:27px; padding:0; border:0; background:transparent; cursor:pointer; }
.ref-home .rf-hero-dots button:after { content:''; display:block; width:7px; height:7px; border-radius:50%; background:#91a3b2; transition:background .2s, width .2s; }
.ref-home .rf-hero-dots button[aria-current=true]:after { width:18px; border-radius:8px; background:#ffdc00; }
.ref-home .rf-hero-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:1100px) {
 .ref-home .rf-hero .rf-hero-heading { font-size:51px; }
 .ref-home .rf-hero-strip { width:70%; gap:15px; }
 .ref-home .rf-hero-strip span { font-size:9px; }
 .ref-home .rf-hero-strip i { font-size:17px; margin-right:5px; }
 .ref-home .rf-hero-slide { background-position:center,center center; }
}
@media(max-width:943px) {
 .ref-home .rf-hero-navigation { right:32px; bottom:13px; }
 .ref-home .rf-hero-strip { width:65%; display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; padding:11px 0; }
 .ref-home .rf-hero-side { width:80px; padding:8px; }
 .ref-home .rf-hero-side > div { font-size:9px; }
}
@media(max-width:600px) {
 .ref-home .rf-hero .rf-hero-heading { font-size:43px; }
 .ref-home .rf-hero-slide { background-position:center,62% center; background-image:linear-gradient(90deg,rgba(1,19,34,.97),rgba(1,19,34,.76) 45%,rgba(1,19,34,.22)),var(--rf-slide-image); }
 .ref-home .rf-hero-carousel:before { display:none; }
 .ref-home .rf-hero-copy { width:95%; padding-bottom:125px; }
 .ref-home .rf-hero-strip { width:100%; bottom:59px; padding:12px 0; }
 .ref-home .rf-hero-navigation { right:50%; transform:translateX(50%); bottom:13px; }
 .ref-home .rf-hero-description { font-size:14px; max-width:300px; }
}
@media(prefers-reduced-motion:reduce) { .ref-home .rf-hero-slide { transition:none; } }
