.factory-page{--fp-green:#233d2b;--fp-muted:#5c6857;--fp-line:#cfd7c7;background:#f7f6f2;color:var(--fp-green)}
.factory-page p{line-height:1.75}
.factory-page figure{margin:0;min-width:0}
.factory-page .eyebrow{font-size:14px;letter-spacing:1.7px;color:#718066;margin-bottom:18px}
.factory-page h2{font-size:clamp(32px,3.2vw,48px);font-weight:700;letter-spacing:-1.6px;line-height:1.16}
.factory-page h3{line-height:1.4;font-weight:700}
.factory-page .presentation-photo{background:#e8e8de}
.factory-page .desktop-nav a{font-size:14px}
.fp-section{padding-block:76px;border-top:1px solid var(--fp-line);scroll-margin-top:20px}
.fp-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--fp-muted);padding-block:25px 32px}
.fp-breadcrumb a:hover{text-decoration:underline}
.fp-profile{background:#f5f4ef;padding-bottom:36px}
.fp-profile-grid{display:grid;grid-template-columns:1.02fr 1fr;align-items:stretch;gap:56px}
.fp-profile-copy{padding-block:9px 12px;min-width:0}
.fp-profile h1{font-size:clamp(42px,4.4vw,66px);font-weight:750;letter-spacing:-2.5px;line-height:1.12;margin-bottom:16px}
.fp-profile-heading{font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.35!important;letter-spacing:-.6px;margin-bottom:21px}
.fp-lead{font-size:19px;color:#43543e;font-weight:550;margin-bottom:19px}
.fp-profile-copy>p:not(.eyebrow):not(.fp-profile-heading):not(.fp-lead),.fp-production-copy>p:not(.eyebrow):not(.fp-lead){font-size:16px;color:var(--fp-muted);margin-top:15px;max-width:650px}
.fp-profile-copy .button{margin-top:26px}
.fp-architecture{position:relative;overflow:hidden;min-height:460px;border-radius:4px;background:#c7cec4}
.fp-architecture>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:62% center}
.fp-architecture>figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#142e22bd,transparent);padding:60px 26px 24px;color:#fff;font-size:14px;letter-spacing:.3px}
.fp-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:37px 0 0;padding-top:29px;border-top:1px solid var(--fp-line)}
.fp-metrics>div{padding:0 20px;border-left:1px solid var(--fp-line);min-width:0}
.fp-metrics>div:first-child{padding-left:0;border:0}
.fp-metrics dt{font-size:clamp(25px,2.3vw,35px);line-height:1.2;letter-spacing:-1px;font-weight:650;white-space:nowrap}
.fp-metrics dt small{font-size:18px;font-weight:450;letter-spacing:0}
.fp-metrics dd{margin:10px 0 0;color:var(--fp-muted);font-size:14px;line-height:1.6}
.fp-centered-heading{text-align:center;max-width:1050px;margin:0 auto 39px}
.fp-centered-heading .eyebrow{margin-bottom:15px}
.fp-centered-heading>p:last-child:not(.eyebrow){margin-top:20px;color:var(--fp-muted);font-size:16px}
.fp-factories{background:#eaf0e3}
.fp-factory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.fp-factory-grid figure{background:#f9faf5;border:1px solid #c6d2bc;border-radius:4px;overflow:hidden}
.fp-factory-grid .presentation-photo{border-bottom:1px solid #c6d2bc}
.fp-factory-grid figcaption{display:flex;justify-content:center;gap:11px;padding:23px 13px 26px;text-align:center;align-items:flex-start}
.fp-factory-grid figcaption strong{font-size:24px;font-weight:750;display:block;line-height:1.25}
.fp-factory-grid figcaption small{font-size:14px;color:var(--fp-muted);display:block;margin-top:8px;line-height:1.5}
.fp-location-icon{flex-shrink:0;width:21px;height:24px;margin-top:3px;color:#435c38}
.fp-location-icon svg{width:100%;height:100%}
.fp-factories-note{font-size:16px;max-width:900px;margin:30px auto 0;text-align:center;color:var(--fp-muted)}
.fp-production{background:#f7f6f2}
.fp-production-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}
.fp-production-copy h2{margin-bottom:22px}
.fp-company-photo{align-self:center;border:1px solid var(--fp-line);border-radius:4px;overflow:hidden;background:#ecf0e5}
.fp-company-photo figcaption{font-size:14px;padding:13px 17px;color:var(--fp-muted)}
.fp-production-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:39px 0 28px;padding:25px 0;border-block:1px solid var(--fp-line)}
.fp-production-chain li{position:relative;padding-left:40px;min-width:0}
.fp-production-chain li>span{position:absolute;top:2px;left:0;color:#829374;font-size:16px;font-weight:600}
.fp-production-chain h3{font-size:19px;margin-bottom:10px}
.fp-production-chain p{font-size:16px;color:var(--fp-muted)}
.fp-team-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fp-team-gallery figure{overflow:hidden;border:1px solid var(--fp-line);border-radius:4px;background:#e9eede}
.fp-team-gallery figcaption{padding:12px 15px;font-size:14px;font-weight:600;line-height:1.6}
.fp-history{background:linear-gradient(115deg,#f1f2e9,#f7f6f1 52%,#ebece0)}
.fp-timeline-wrap{position:relative}
.fp-timeline-line{position:absolute;inset:calc(50% - 75px) 0 auto;width:100%;height:150px;pointer-events:none}
.fp-timeline{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));padding:0;margin:0;list-style:none;gap:16px}
.fp-timeline::before{content:"";height:2px;position:absolute;top:50%;left:5%;right:5%;background:#758a69}
.fp-milestone{display:grid;grid-template-rows:minmax(390px,1fr) 44px minmax(390px,1fr);position:relative;min-width:0}
.fp-milestone-copy{grid-row:3;padding-top:20px}
.fp-milestone:nth-child(even) .fp-milestone-copy{grid-row:1;align-self:end;padding-top:0;padding-bottom:20px}
.fp-milestone-point{grid-row:2;grid-column:1;align-self:center;justify-self:start;background:#36503a;width:15px;height:15px;border:4px solid #f5f5ed;outline:1px solid #9fae93;border-radius:50%;z-index:1}
.fp-milestone time{display:block;font-size:31px;line-height:1.1;font-weight:750;color:#3d5a3b;letter-spacing:-1px;margin-bottom:12px}
.fp-milestone h3{font-size:18px;margin-bottom:10px;letter-spacing:-.3px}
.fp-milestone p{font-size:16px;line-height:1.65;color:var(--fp-muted);overflow-wrap:break-word}
.fp-certificates{background:linear-gradient(110deg,#e6e0d0 0%,#f5f3eb 45%,#f7f6f2 100%)}
.fp-certificate-grid{display:grid;grid-template-columns:.8fr 1.5fr;align-items:center;gap:45px}
.fp-certificate-list{list-style:none;padding:0;margin:0 0 25px}
.fp-certificate-list li{position:relative;font-size:19px;padding:18px 0 18px 27px;border-bottom:1px solid #c9c5b6;line-height:1.5;font-weight:500}
.fp-certificate-list li::before{content:"";width:8px;height:8px;background:#9e8961;position:absolute;left:0;top:29px;transform:rotate(45deg)}
.fp-certificate-visual .presentation-photo{border-radius:4px}
.fp-certificate-visual figcaption{font-size:14px;text-align:right;margin-top:14px;color:var(--fp-muted)}
.fp-patents{background:#faf9f4}
.fp-awards-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}
.fp-award-years{list-style:none;padding:0;margin:34px 0 30px}
.fp-award-years li{display:grid;grid-template-columns:74px 1fr;gap:20px;padding-block:20px;border-bottom:1px solid var(--fp-line)}
.fp-award-years time{font-size:24px;font-weight:700;line-height:1.5;color:#667752}
.fp-award-years p{font-size:16px;color:var(--fp-muted)}
.fp-patent-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fp-patent-documents .presentation-photo{border:1px solid #dbd2ba}
.fp-award-art{overflow:hidden;border-radius:4px}
.fp-footer{background:#21352a;color:#f3f5ed;padding-block:34px}
.fp-footer .container{display:grid;grid-template-columns:auto 1fr;gap:22px 50px;align-items:center}
.fp-footer p{font-size:14px;color:#c0cbb8;max-width:800px;justify-self:end}
.fp-footer-links{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:14px 26px;border-top:1px solid #6c7b654f;padding-top:22px;font-size:14px}
.fp-footer-links a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#6f8565}
.fp-footer-links a:hover{color:#d6e5c9}
@media(max-width:1450px){
 .fp-profile-grid{gap:38px}.fp-profile-copy{padding-top:0}.fp-profile-copy .fp-lead{font-size:18px}
 .fp-metrics>div{padding-inline:14px}.fp-metrics dt{font-size:27px}.fp-metrics dt small{font-size:16px}
 .fp-timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 38px}
 .fp-timeline::before,.fp-timeline-line{display:none}
 .fp-milestone{display:block;border-left:1px solid #aab99d;padding-left:25px}
 .fp-milestone-copy,.fp-milestone:nth-child(even) .fp-milestone-copy{padding:0}
 .fp-milestone-point{position:absolute;left:-8px;top:8px}
 .fp-production-grid{gap:38px}
}
@media(max-width:1050px){
 .fp-section{padding-block:58px}.fp-profile-grid{gap:30px;grid-template-columns:1.1fr 1fr}.fp-profile h1{font-size:45px}
 .fp-profile-heading{font-size:25px}.fp-desktop-break{display:none}.fp-architecture{min-height:520px}
 .fp-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 0}.fp-metrics>div:nth-child(4){padding-left:0;border:0}
 .fp-factory-grid{gap:15px}.fp-factory-grid figcaption strong{font-size:22px}.fp-factory-grid figcaption{padding:18px 11px;gap:6px}
 .fp-production-grid{grid-template-columns:1fr 1fr;gap:30px}.fp-production-chain{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 35px}
 .fp-certificate-grid{gap:25px;grid-template-columns:.85fr 1.3fr}.fp-certificate-list li{font-size:17px;padding-block:14px}.fp-certificate-list li::before{top:24px}
 .fp-awards-grid{gap:30px}.fp-team-gallery{gap:15px}
}
@media(max-width:800px){
 .factory-page .site-header{height:72px}.factory-page .header-cta{font-size:14px;gap:10px}
 .fp-breadcrumb{padding-block:22px 28px;font-size:14px}.fp-profile-grid{grid-template-columns:1fr;gap:28px}
 .fp-profile h1{font-size:clamp(40px,8vw,56px);letter-spacing:-1.5px}.fp-profile-heading{font-size:26px;line-height:1.4!important;max-width:550px}
 .fp-profile-copy{padding:0}.fp-profile-copy .button{margin-top:24px}.fp-architecture{min-height:0;aspect-ratio:3/2}
 .fp-architecture>figcaption{padding:44px 19px 18px}.fp-metrics{margin-top:27px;padding-top:24px}.fp-metrics>div{padding-inline:14px}.fp-metrics dt{font-size:29px}
 .fp-section{padding-block:48px}.fp-centered-heading{margin-bottom:28px}.factory-page .eyebrow{font-size:14px;letter-spacing:1.2px}
 .factory-page h2{font-size:34px;letter-spacing:-1.1px}.fp-centered-heading>p:last-child:not(.eyebrow){margin-top:15px;overflow-wrap:anywhere}
 .fp-factory-grid{grid-template-columns:1fr;gap:25px}.fp-factory-grid figcaption{padding:20px;gap:12px}.fp-factory-grid figcaption strong{font-size:26px}
 .fp-factories-note{text-align:left;margin-top:24px}.fp-production-grid{grid-template-columns:1fr;gap:28px}.fp-production-copy h2 br{display:none}
 .fp-production-chain{margin-top:27px;gap:24px}.fp-production-chain li{padding-left:33px}.fp-production-chain h3{font-size:18px}
 .fp-team-gallery{grid-template-columns:1fr;gap:22px}.fp-team-gallery figcaption{font-size:16px}
 .fp-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:31px 25px}.fp-milestone{padding-left:20px}.fp-milestone p{line-height:1.7}
 .fp-certificate-grid{grid-template-columns:1fr;gap:26px}.fp-certificate-list{margin:0}.fp-certificate-list li{font-size:18px;padding-block:16px}.fp-certificate-list li::before{top:26px}
 .fp-certificate-visual figcaption{text-align:left}.fp-awards-grid{grid-template-columns:1fr;gap:30px}.fp-award-art{max-width:450px;margin-inline:auto;width:100%}
 .fp-award-years{margin-top:20px}.fp-patent-documents{gap:10px}.fp-footer .container{grid-template-columns:1fr;gap:24px}.fp-footer p{justify-self:start}.fp-footer-links{justify-content:flex-start}
}
@media(max-width:500px){
 .fp-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 0}.fp-metrics>div{border-left:1px solid var(--fp-line);padding-inline:15px}.fp-metrics>div:nth-child(4){padding-left:15px;border-left:1px solid var(--fp-line)}.fp-metrics>div:nth-child(odd){padding-left:0;border:0}.fp-metrics dt{font-size:27px}
 .fp-profile-copy .button{width:100%}.fp-production-chain{grid-template-columns:1fr}.fp-timeline{grid-template-columns:1fr;gap:27px}
 .fp-milestone{padding-left:25px}.fp-milestone h3{font-size:20px}.fp-award-years li{grid-template-columns:1fr;gap:8px}.fp-award-years time{font-size:26px}
 .factory-page .brand-descriptor{display:none}.factory-page .site-header{gap:15px}.factory-page .header-cta{padding-inline:12px;min-height:43px}
}
