/* Factory composition; all global components are shared with the accepted pages. */
.szy-factory-page .szy-fac-hero{position:relative;overflow:hidden;background:#edf3f5}
.szy-factory-page .szy-fac-hero-art{position:absolute;inset:0 0 0 25%}
.szy-factory-page .szy-fac-hero-art img{height:100%;width:100%;object-fit:cover;object-position:65% 50%}
.szy-factory-page .szy-fac-hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#edf3f5 0%,#edf3f5ed 10%,#edf3f576 35%,transparent 65%)}
.szy-factory-page .szy-fac-hero-content{position:relative;min-height:414px;display:flex;align-items:center;padding-block:36px}
.szy-factory-page .szy-fac-hero-content>div{max-width:650px;width:55%}
.szy-factory-page .szy-fac-hero h1{font-size:clamp(38px,3.8vw,54px);line-height:1.06;letter-spacing:-.04em;margin:12px 0 18px}
.szy-factory-page .szy-fac-hero h1 span{color:var(--szy-dark-green)}
.szy-factory-page .szy-fac-intro{max-width:510px;font-size:16px;color:var(--szy-ink)}
.szy-factory-page .szy-fac-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}
.szy-factory-page .szy-fac-benefits>span{display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.3}
.szy-factory-page .szy-fac-benefits .szy-icon{width:30px;height:30px;color:var(--szy-dark-green)}
.szy-factory-page .szy-factory-image-tag{position:absolute;left:8px;top:8px;border-radius:2px;background:#fffffff2;color:#3c5948;font-size:9px;line-height:1.3;padding:4px 6px;z-index:1}
.szy-factory-page .szy-fac-hero-art>.szy-factory-image-tag{top:auto;left:auto;bottom:12px;right:16px;font-size:11px}
.szy-factory-page .szy-fac-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:25px 10px;background:var(--szy-light);border-radius:var(--szy-radius)}
.szy-factory-page .szy-fac-stats>div{display:flex;gap:12px;align-items:center;justify-content:center;border-right:1px solid var(--szy-line);padding:5px 10px}
.szy-factory-page .szy-fac-stats>div:last-child{border:0}
.szy-factory-page .szy-fac-stats .szy-icon{color:var(--szy-dark-green);width:33px;height:33px}
.szy-factory-page .szy-fac-stats strong{display:block;color:var(--szy-dark-green);font-size:23px;line-height:1.25}
.szy-factory-page .szy-fac-stats small{display:block;font-size:11px;margin-top:4px}
.szy-factory-page .szy-fac-section{padding:30px 0 0}
.szy-factory-page .szy-section-heading{margin-bottom:20px}
.szy-factory-page .szy-section-heading h2{font-size:clamp(27px,2.4vw,34px)}
.szy-factory-page .szy-fac-process{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.szy-factory-page .szy-fac-process li{border:1px solid var(--szy-line);border-radius:var(--szy-radius);overflow:hidden;min-width:0}
.szy-factory-page .szy-fac-process-art{position:relative;aspect-ratio:1.7;background:#edf4ef;overflow:hidden}
.szy-factory-page .szy-fac-process-art img{width:100%;height:100%;object-fit:cover}
.szy-factory-page .szy-oem-diagram{display:block;width:100%;height:100%;color:#47785a;padding:15px}
.szy-factory-page .szy-factory-icon-art{display:flex;align-items:center;justify-content:center;height:100%;color:var(--szy-dark-green);background:#eaf3ed}
.szy-factory-page .szy-factory-icon-art>.szy-icon{width:55px;height:55px}
.szy-factory-page .szy-fac-process-copy{padding:13px 12px}
.szy-factory-page .szy-fac-process h3{font-size:14px;line-height:1.4;display:flex;gap:8px;min-height:38px}
.szy-factory-page .szy-fac-process h3 span{color:var(--szy-dark-green)}
.szy-factory-page .szy-fac-process p{font-size:12px;line-height:1.5;margin-top:8px}
.szy-factory-page .szy-fac-workshop{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.szy-factory-page .szy-fac-workshop figure,.szy-factory-page .szy-fac-tests figure{margin:0;border-radius:var(--szy-radius);overflow:hidden;background:var(--szy-light);min-width:0}
.szy-factory-page .szy-fac-workshop figure>div,.szy-factory-page .szy-fac-tests figure>div{position:relative;overflow:hidden;background:#edf4ef}
.szy-factory-page .szy-fac-workshop img,.szy-factory-page .szy-fac-tests img{width:100%;height:100%;object-fit:cover}
.szy-factory-page .szy-fac-workshop-main{display:flex;flex-direction:column}
.szy-factory-page .szy-fac-workshop-main>div{flex:1;min-height:300px}
.szy-factory-page .szy-fac-workshop-main img{position:absolute;inset:0}
.szy-factory-page .szy-fac-workshop figcaption,.szy-factory-page .szy-fac-tests figcaption{font-size:12px;padding:8px 10px;font-weight:600;line-height:1.4}
.szy-factory-page .szy-fac-workshop-main figcaption{background:var(--szy-footer);color:#fff;font-size:16px;padding:14px 20px}
.szy-factory-page .szy-fac-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.szy-factory-page .szy-fac-gallery figure>div{aspect-ratio:1.65}
.szy-factory-page .szy-fac-image-note{font-size:11px;margin-top:10px;color:var(--szy-muted)}
.szy-factory-page .szy-fac-quality-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:stretch}
.szy-factory-page .szy-fac-tests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.szy-factory-page .szy-fac-tests figure{border:1px solid var(--szy-line)}
.szy-factory-page .szy-fac-tests figure>div{aspect-ratio:1.3}
.szy-factory-page .szy-fac-qc{padding:28px;background:var(--szy-light);border-radius:var(--szy-radius)}
.szy-factory-page .szy-fac-qc-title{display:flex;align-items:center;justify-content:space-between;gap:15px}
.szy-factory-page .szy-fac-qc-title h2{font-size:30px}
.szy-factory-page .szy-fac-qc-title>.szy-icon{width:52px;height:52px;color:#6fa68a}
.szy-factory-page .szy-fac-qc p{font-size:14px;margin:10px 0 22px}
.szy-factory-page .szy-fac-qc ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
.szy-factory-page .szy-fac-qc li{display:flex;gap:8px;font-size:13px;align-items:flex-start}
.szy-factory-page .szy-fac-qc li .szy-icon{width:19px;height:19px;border-radius:50%;padding:3px;background:var(--szy-dark-green);color:white}
.szy-factory-page .szy-fac-cert-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center;border-top:1px solid var(--szy-line);padding-block:26px 32px}
.szy-factory-page .szy-fac-cert-wrap h2{font-size:30px}
.szy-factory-page .szy-fac-cert-wrap p{font-size:13px;margin-top:10px;max-width:440px}
.szy-factory-page .szy-fac-certs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.szy-factory-page .szy-fac-certs li{border:1px solid var(--szy-line);padding:16px 6px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:18px;font-weight:700;color:var(--szy-dark-green);border-radius:4px}
.szy-factory-page .szy-fac-cta{background:var(--szy-footer);color:#fff}
.szy-factory-page .szy-fac-cta-grid{display:grid;grid-template-columns:1.35fr 1fr}
.szy-factory-page .szy-fac-cta-grid>div{padding:32px 36px 34px 0}
.szy-factory-page .szy-fac-cta-grid .szy-fac-visit{border-left:1px solid #ffffff26;padding-left:36px;padding-right:0}
.szy-factory-page .szy-fac-cta .szy-eyebrow{color:#9ddcaf!important;font-size:11px}
.szy-factory-page .szy-fac-cta h2{font-size:clamp(26px,2.3vw,32px);margin-top:10px}
.szy-factory-page .szy-fac-cta p:not(.szy-eyebrow){color:#e4efe8;font-size:14px;margin:14px 0 22px;max-width:570px}
@media(max-width:1199px){.szy-factory-page .szy-fac-benefits{grid-template-columns:1fr 1fr;max-width:420px}.szy-factory-page .szy-fac-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 0}.szy-factory-page .szy-fac-stats>div:nth-child(3){border:0}.szy-factory-page .szy-fac-process{grid-template-columns:repeat(4,minmax(0,1fr))}.szy-factory-page .szy-fac-workshop{grid-template-columns:1fr 1.2fr}.szy-factory-page .szy-fac-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.szy-factory-page .szy-fac-qc{padding:22px}}
@media(max-width:991px){.szy-factory-page .szy-fac-hero-content>div{width:70%}.szy-factory-page .szy-fac-hero-art{left:15%}.szy-factory-page .szy-fac-hero-art:after{background:linear-gradient(90deg,#edf3f5,#edf3f5e8 35%,#edf3f555 80%)}.szy-factory-page .szy-fac-process{grid-template-columns:repeat(3,minmax(0,1fr))}.szy-factory-page .szy-fac-quality-grid{grid-template-columns:1fr}.szy-factory-page .szy-fac-cert-wrap{grid-template-columns:1fr}.szy-factory-page .szy-fac-cta-grid{grid-template-columns:1.15fr 1fr}}
@media(max-width:767px){.szy-factory-page .szy-fac-hero-content{min-height:0;padding-block:30px 34px}.szy-factory-page .szy-fac-hero-content>div{width:100%}.szy-factory-page .szy-fac-hero h1{font-size:clamp(34px,8.7vw,46px)}.szy-factory-page .szy-fac-hero-art{inset:0}.szy-factory-page .szy-fac-hero-art:after{background:#edf3f5e8}.szy-factory-page .szy-fac-benefits{gap:18px 12px;margin:24px 0}.szy-factory-page .szy-fac-intro{font-size:15px}.szy-factory-page .szy-fac-stats{grid-template-columns:1fr 1fr;padding:20px 6px;gap:22px 0}.szy-factory-page .szy-fac-stats>div{justify-content:flex-start;padding-inline:8px;gap:9px}.szy-factory-page .szy-fac-stats>div:nth-child(3){border-right:1px solid var(--szy-line)}.szy-factory-page .szy-fac-stats>div:nth-child(even){border:0}.szy-factory-page .szy-fac-stats strong{font-size:22px}.szy-factory-page .szy-fac-stats .szy-icon{width:27px;height:27px}.szy-factory-page .szy-fac-stats small{font-size:10px}.szy-factory-page .szy-fac-process{grid-template-columns:1fr 1fr;gap:12px}.szy-factory-page .szy-fac-process h3{font-size:14px}.szy-factory-page .szy-fac-process-copy{padding:13px 10px}.szy-factory-page .szy-fac-process-art{aspect-ratio:1.5}.szy-factory-page .szy-fac-workshop{grid-template-columns:1fr}.szy-factory-page .szy-fac-workshop-main>div{min-height:220px}.szy-factory-page .szy-fac-tests{grid-template-columns:1fr}.szy-factory-page .szy-fac-tests figure{display:grid;grid-template-columns:1fr 1fr;align-items:center}.szy-factory-page .szy-fac-tests figure>div{aspect-ratio:1.5}.szy-factory-page .szy-fac-qc ul{grid-template-columns:1fr;gap:15px}.szy-factory-page .szy-fac-certs{grid-template-columns:1fr 1fr}.szy-factory-page .szy-fac-cta-grid{grid-template-columns:1fr}.szy-factory-page .szy-fac-cta-grid>div{padding:28px 0}.szy-factory-page .szy-fac-cta-grid .szy-fac-visit{padding:28px 0;border-left:0;border-top:1px solid #ffffff26}.szy-factory-page .szy-fac-section{padding-top:28px}}
@media(max-width:359px){.szy-factory-page .szy-fac-process{grid-template-columns:1fr}.szy-factory-page .szy-fac-process-art{aspect-ratio:2}.szy-factory-page .szy-fac-process h3{min-height:0}.szy-factory-page .szy-fac-stats .szy-icon{width:22px;height:22px}.szy-factory-page .szy-fac-stats strong{font-size:19px}.szy-factory-page .szy-fac-gallery{grid-template-columns:1fr}}

/* Approved A: light campus gradient with bounded image scaling. */
.szy-factory-page .szy-fac-hero{background:#f4f7f8}
.szy-factory-page .szy-fac-hero-art{inset:0 0 0 auto;width:min(100%,1225px)}
.szy-factory-page .szy-fac-hero-art img{object-fit:contain;object-position:right center}
.szy-factory-page .szy-fac-hero-art:after{background:linear-gradient(90deg,#f4f7f8 0%,rgba(244,247,248,.95) 12%,rgba(244,247,248,.72) 29%,rgba(244,247,248,.2) 47%,transparent 65%)}
.szy-factory-page .szy-fac-hero-content{min-height:490px;padding-block:42px}
@media(min-width:1600px){.szy-factory-page .szy-fac-hero-art{width:1400px}.szy-factory-page .szy-fac-hero-content{min-height:560px}}
@media(max-width:1199px){.szy-factory-page .szy-fac-hero-art{width:100%}.szy-factory-page .szy-fac-hero-art img{object-fit:cover;object-position:60% center}}
@media(max-width:767px){.szy-factory-page .szy-fac-hero-content{min-height:490px;padding-block:32px}.szy-factory-page .szy-fac-hero-art:after{background:linear-gradient(90deg,#f4f7f8f5,#f4f7f8e3 55%,#f4f7f8b8)}}
