main.rf-main, main.rf-main *{box-sizing: border-box;}
main.rf-main .wrap{width: min(1240px, 100% - 40px); margin: auto;}
main.rf-main .crumb{padding: 23px 0px; color: rgb(115, 124, 132); font-size: 12px;}
main.rf-main .eyebrow{color: rgb(47, 111, 149); font-size: 12px; letter-spacing: 1.7px; font-weight: 700;}
main.rf-main .hero{display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 22px 0px 48px;}
main.rf-main h1{font-size: 50px; line-height: 1.1; margin: 17px 0px 20px; letter-spacing: -1.4px;}
main.rf-main p{font-size: 16px; line-height: 1.75; color: rgb(89, 100, 109);}
main.rf-main h2{font-size: 32px; line-height: 1.2; margin: 12px 0px 16px;}
main.rf-main h3{font-size: 22px; margin: 12px 0px;}
main.rf-main .hero p{max-width: 550px;}
main.rf-main .actions{display: flex; gap: 12px; margin: 26px 0px;}
main.rf-main .button{display: inline-block; background: rgb(37, 42, 47); color: white; padding: 15px 23px; border-radius: 5px; font-size: 14px; font-weight: 700; border: 1px solid rgb(37, 42, 47);}
main.rf-main .button.secondary{background: white; color: rgb(48, 55, 61); border-color: rgb(203, 211, 217);}
main.rf-main .tags{display: flex; gap: 22px; font-size: 12px; color: rgb(83, 97, 109);}
main.rf-main .hero-visual{margin: 0px; border: 1px solid rgb(217, 221, 225); border-radius: 10px; padding: 24px; background: rgb(255, 255, 255); display: block !important;}
main.rf-main .hero-visual img{width: 100%; height: 255px; object-fit: contain;}
main.rf-main .caption{border-top: 1px solid rgb(228, 232, 235); padding-top: 16px; font-size: 12px; color: rgb(101, 112, 121);}
main.rf-main .flow{background: rgb(37, 42, 47); color: rgb(255, 255, 255);}
main.rf-main .steps{display: grid; grid-template-columns: repeat(3, 1fr);}
main.rf-main .step{padding: 27px 28px; border-right: 1px solid rgb(83, 96, 106); display: flex; gap: 18px; align-items: center;}
main.rf-main .step:last-child{border: 0px;}
main.rf-main .number{font-size: 30px; color: rgb(169, 201, 222);}
main.rf-main .step b{display: block; font-size: 16px; margin-bottom: 7px;}
main.rf-main .step small{font-size: 12px; color: rgb(203, 211, 217);}
main.rf-main .intro{padding: 55px 0px 25px;}
main.rf-main .intro p{max-width: 900px;}
main.rf-main .machine{display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; padding: 44px 0px; align-items: center; border-bottom: 1px solid rgb(217, 221, 225);}
main.rf-main .machine.reverse .photo{order: 2;}
main.rf-main .photo{border: 1px solid rgb(217, 221, 225); background: rgb(255, 255, 255); border-radius: 9px; padding: 18px;}
main.rf-main .photo img{height: 285px; width: 100%; object-fit: contain;}
main.rf-main .machine .copy > p{margin: 12px 0px 18px;}
main.rf-main .specs{display: grid; grid-template-columns: 1fr 1fr; gap: 0px 20px; margin-top: 18px;}
main.rf-main .specs div{padding: 11px 0px; border-bottom: 1px solid rgb(227, 231, 234); font-size: 13px;}
main.rf-main .specs span{display: block; color: rgb(120, 131, 139); font-size: 11px; margin-bottom: 5px;}
main.rf-main .text-link{display: inline-block; color: rgb(47, 111, 149); font-weight: 700; font-size: 13px; margin-top: 21px;}
main.rf-main .band{background: rgb(245, 246, 247); margin-top: 52px; padding: 45px 0px;}
main.rf-main .columns{display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}
main.rf-main .columns article{border-left: 2px solid rgb(47, 111, 149); padding-left: 20px;}
main.rf-main .columns p{font-size: 14px; margin-bottom: 0px;}
main.rf-main .faq{padding: 48px 0px;}
main.rf-main .faq details{border-bottom: 1px solid rgb(217, 221, 225); padding: 18px 0px;}
main.rf-main .faq summary{font-size: 15px; font-weight: 700;}
main.rf-main .faq p{font-size: 14px;}
main.rf-main .quote{background: rgb(245, 246, 247); padding: 52px 0px 58px;}
main.rf-main .quote p{margin-bottom: 25px;}
main.rf-main .form{background: rgb(255, 255, 255); border: 1px solid rgb(217, 221, 225); border-radius: 9px; padding: 30px; width: 100%;}
main.rf-main .fields{display: grid; grid-template-columns: 1fr 1fr; gap: 19px 24px;}
main.rf-main .fields label{display: block; font-size: 12px; font-weight: 700; color: rgb(66, 77, 86);}
main.rf-main .fields input,main.rf-main .fields select,main.rf-main .fields textarea{display: block; width: 100%; padding: 12px; border: 1px solid rgb(203, 209, 214); border-radius: 4px; margin-top: 8px; font-family: inherit; background: rgb(255, 255, 255); color: rgb(101, 112, 121); font-size: 14px;}
main.rf-main .full{grid-column: 1 / -1;}
main.rf-main .form .button{margin-top: 24px;}
main.rf-main .form-note{font-size: 12px; margin-bottom: 0px !important;}
main.rf-main .subnav{border-block: 1px solid rgb(217, 221, 225); background: rgb(255, 255, 255);}
main.rf-main .subnav .wrap{display: flex; gap: 35px; justify-content: center; padding: 16px 0px; font-size: 13px; font-weight: 700;}
main.rf-main .photo.welder img{height: 300px;}
@media (max-width: 760px){main.rf-main h1{font-size: 36px;}
main.rf-main .hero,main.rf-main .machine{grid-template-columns: 1fr; gap: 25px;}
main.rf-main .hero{padding-top: 8px;}
main.rf-main .hero-visual img{height: 210px;}
main.rf-main .steps,main.rf-main .columns{grid-template-columns: 1fr;}
main.rf-main .step{border-right: 0px; border-bottom: 1px solid rgb(83, 96, 106);}
main.rf-main .machine.reverse .photo{order: 0;}
main.rf-main .fields{grid-template-columns: 1fr;}
main.rf-main .full{grid-column: auto;}
main.rf-main .form{padding: 20px;}
main.rf-main .subnav .wrap{gap: 17px; flex-wrap: wrap;}
main.rf-main .photo img{height: 230px;}
main.rf-main .tags{flex-wrap: wrap;}
main.rf-main .columns{gap: 25px;}
}

main.rf-main > .wrap:first-child{width: 100%; background: rgb(243, 245, 246);}
main.rf-main > .wrap:first-child > .crumb{width: min(1240px, 100% - 40px); margin: auto;}
main.rf-main .hero{position: relative; width: min(1240px, 100% - 40px); margin: auto; min-height: 580px; padding: 48px 0px 90px; grid-template-columns: 0.92fr 1.18fr; gap: 20px; background: transparent !important; overflow: visible !important;}
main.rf-main .hero h1{font-size: 62px; line-height: 1.04; letter-spacing: -2.6px; font-weight: 700;}
main.rf-main .hero p{font-size: 17px; max-width: 460px; margin: 24px 0px; color: rgb(97, 109, 119);}
main.rf-main .hero .eyebrow{font-size: 11px; letter-spacing: 2px;}
main.rf-main .hero-visual{position: relative; align-self: center; border: 0px !important; background: transparent !important; padding: 0px !important; overflow: visible !important; box-shadow: none !important;}
main.rf-main .hero-visual img{mix-blend-mode: multiply; object-fit: contain; height: 390px !important;}
main.rf-main .hero-visual .caption{border: 0px; font-size: 10px; letter-spacing: 1.5px; padding: 12px 0px 0px 35px;}
main.rf-main .product-float{position: absolute; right: 0px; bottom: -30px; background: white; border: 1px solid rgb(221, 227, 231); width: 230px; padding: 12px 18px; display: flex; gap: 12px; align-items: center; box-shadow: rgba(33, 54, 66, 0.043) 0px 14px 30px;}
main.rf-main .product-float img{width: 106px; object-fit: contain; height: 66px !important;}
main.rf-main .product-float span{font-size: 10px; color: rgb(101, 112, 121); line-height: 1.6; letter-spacing: 1px;}
main.rf-main .hero .actions{margin-top: 32px;}
main.rf-main .hero .button{padding: 17px 24px; border-radius: 2px;}
main.rf-main .hero .tags{font-size: 11px; gap: 16px;}
main.rf-main .flow{display: none;}
main.rf-main .subnav{background: rgb(255, 255, 255);}
main.rf-main .subnav .wrap{justify-content: space-between; font-size: 12px; letter-spacing: 0.4px; padding-block: 20px;}
main.rf-main .intro{padding: 78px 0px 10px;}
main.rf-main .intro h2{font-size: 42px; letter-spacing: -1.3px;}
main.rf-main .intro p{max-width: 750px; font-size: 16px;}
main.rf-main .machine{padding: 58px 0px 64px; gap: 75px;}
main.rf-main .machine h2{font-size: 35px; letter-spacing: -0.8px;}
main.rf-main .machine .eyebrow{font-size: 11px;}
main.rf-main .photo{border: 0px; border-radius: 0px; background: rgb(244, 246, 247); padding: 20px 0px; position: relative;}
main.rf-main .photo::before{content: "WINYING / ROUND FLANGE SYSTEM"; position: absolute; left: 24px; top: 21px; font-size: 9px; letter-spacing: 1.4px; color: rgb(139, 150, 158);}
main.rf-main .photo img{mix-blend-mode: multiply; height: 335px !important;}
main.rf-main .machine .copy > p{font-size: 15px;}
main.rf-main .specs div{padding: 13px 0px; font-size: 14px;}
main.rf-main .specs span{font-size: 10px; letter-spacing: 0.6px;}
main.rf-main .text-link{margin-top: 28px;}
main.rf-main .machine:last-child{border: 0px;}
main.rf-main .process-section{background: rgb(35, 43, 49); color: white; padding: 68px 0px 62px;}
main.rf-main .process-top{display: flex; justify-content: space-between; align-items: end; gap: 80px;}
main.rf-main .process-top h2{font-size: 40px; letter-spacing: -1px; max-width: 580px; margin-bottom: 0px; color: white;}
main.rf-main .process-top p{font-size: 14px; color: rgb(180, 192, 201); max-width: 360px; margin: 0px;}
main.rf-main .process-section .eyebrow{color: rgb(145, 182, 207); font-size: 10px;}
main.rf-main .process-track-new{display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 48px; gap: 20px;}
main.rf-main .process-node{position: relative; min-width: 0px;}
main.rf-main .process-node:not(:last-child)::after{content: "→"; position: absolute; top: 145px; right: -17px; color: rgb(149, 181, 204); font-size: 20px;}
main.rf-main .process-number{font-size: 11px; letter-spacing: 2px; color: rgb(152, 182, 202); border-top: 1px solid rgb(83, 98, 108); padding-top: 13px; margin-bottom: 15px;}
main.rf-main .process-image{height: 155px; background: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; overflow: hidden;}
main.rf-main .process-image img{width: 100%; height: 100%; object-fit: contain;}
main.rf-main .process-node h3{font-size: 17px; margin: 20px 0px 9px; color: rgb(255, 255, 255);}
main.rf-main .process-node p{font-size: 12px; line-height: 1.65; color: rgb(186, 198, 206); margin: 0px;}
main.rf-main .raw-material{display: flex; gap: 6px; transform: skewY(-15deg) rotate(-12deg); width: 128px; height: 55px;}
main.rf-main .raw-material i{display: block; width: 24px; height: 70px; background: linear-gradient(90deg, rgb(195, 203, 208), rgb(241, 244, 246) 35%, rgb(159, 170, 177) 40%, rgb(220, 226, 229) 70%); box-shadow: rgba(0, 0, 0, 0.133) 3px 4px 5px;}
main.rf-main .process-foot{display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgb(83, 98, 108); padding-top: 23px; margin-top: 35px; font-size: 11px; color: rgb(179, 193, 202);}
main.rf-main .band{margin-top: 0px; padding: 62px 0px;}
main.rf-main .band h2{font-size: 34px;}
main.rf-main .columns{margin-top: 28px; gap: 50px;}
main.rf-main .columns h3{font-size: 20px;}
main.rf-main .faq{padding: 60px 0px;}
main.rf-main .faq h2{font-size: 34px;}
main.rf-main .quote{padding: 70px 0px; background: rgb(234, 240, 243);}
main.rf-main .quote h2{font-size: 39px; letter-spacing: -1px;}
main.rf-main .quote .form{border: 0px; border-radius: 0px; padding: 38px;}
main.rf-main .quote .fields{gap: 23px 30px;}
main.rf-main .quote .fields input,main.rf-main .quote .fields select,main.rf-main .quote .fields textarea{background: rgb(250, 251, 252); border-color: rgb(215, 223, 228); border-radius: 2px; padding: 14px;}
main.rf-main .quote .button{border-radius: 2px; padding: 16px 25px;}
main.rf-main .quote .eyebrow{font-size: 11px;}
@media (max-width: 760px){main.rf-main .hero{grid-template-columns: 1fr; padding: 30px 0px 65px; min-height: 0px;}
main.rf-main .hero h1{font-size: 45px; letter-spacing: -1.8px;}
main.rf-main .hero-visual{margin-top: 15px !important;}
main.rf-main .hero-visual img{height: 240px !important;}
main.rf-main .product-float{bottom: -35px; width: 185px;}
main.rf-main .product-float img{width: 85px; height: 55px !important;}
main.rf-main .hero-visual .caption{padding-left: 0px; max-width: 150px; line-height: 1.7;}
main.rf-main .hero p{font-size: 16px;}
main.rf-main .hero .actions{gap: 8px;}
main.rf-main .hero .button{padding: 14px; font-size: 12px;}
main.rf-main .subnav .wrap{justify-content: center;}
main.rf-main .intro{padding-top: 45px;}
main.rf-main .intro h2{font-size: 32px;}
main.rf-main .machine{padding: 35px 0px; gap: 25px;}
main.rf-main .machine h2{font-size: 30px;}
main.rf-main .photo img{height: 250px !important;}
main.rf-main .process-section{padding: 45px 0px;}
main.rf-main .process-top{display: block;}
main.rf-main .process-top h2{font-size: 32px; margin-bottom: 20px;}
main.rf-main .process-track-new{grid-template-columns: 1fr; gap: 30px;}
main.rf-main .process-node{display: grid; grid-template-columns: 110px 1fr; gap: 0px 20px;}
main.rf-main .process-number{grid-column: 1 / -1;}
main.rf-main .process-image{height: 105px; grid-row: 2 / 4;}
main.rf-main .process-node h3{font-size: 18px; margin: 8px 0px;}
main.rf-main .process-node:not(:last-child)::after{display: none;}
main.rf-main .process-foot{display: block; line-height: 1.8;}
main.rf-main .process-foot span{display: block;}
main.rf-main .raw-material{transform: scale(0.6) skewY(-15deg) rotate(-12deg);}
main.rf-main .band,main.rf-main .faq{padding: 40px 0px;}
main.rf-main .quote{padding: 45px 0px;}
main.rf-main .quote h2{font-size: 31px;}
main.rf-main .quote .form{padding: 23px;}
main.rf-main .specs{gap: 0px 12px;}
}

/* Preserve the shared shell; the new layout is scoped to main. */
main.rf-main .hero h1{font-size:clamp(38px,4.1vw,58px)}
main.rf-main .hero-visual{display:block!important}
main.rf-main .hero-visual img{width:100%}
main.rf-main .product-float img{width:106px}
main.rf-main .process-image img{width:100%;height:100%;object-fit:contain}
main.rf-main .crumb{display:flex;flex-wrap:wrap;gap:9px}
main.rf-main .crumb a:hover{text-decoration:underline}
main.rf-main .reference-note{font-size:12px;color:#697781;margin:20px 0 0;line-height:1.7}
main.rf-main .related{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
main.rf-main .related a{font-size:14px;color:#2f6f95;text-decoration:underline}
main.rf-main .skip-link{position:absolute;left:20px;top:-100px}
main.rf-main .fields label{min-width:0}
main.rf-main .form button:disabled{opacity:.65}
@media(max-width:760px){main.rf-main .product-float img{width:85px}main.rf-main .hero h1{font-size:38px}main.rf-main .fields input,main.rf-main .fields select,main.rf-main .fields textarea{font-size:16px}}
