.production-system{padding:140px 6% 150px;background:#fbf8f5;color:#242220;scroll-margin-top:85px}
.ps-heading{text-align:center;max-width:1100px;margin:0 auto 70px}
.ps-heading>p{font-size:11px;font-weight:600;letter-spacing:2px;color:#ff5400;margin:0 0 22px}
.ps-heading h2{font-size:clamp(32px,3.6vw,56px);font-weight:400;line-height:1.4;letter-spacing:-2px;margin:0 0 28px;word-break:keep-all}
.ps-heading h2 strong{font-weight:700}
.ps-heading>div{font-size:18px;line-height:1.8;color:#9a8d83;word-break:keep-all}
.ps-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.ps-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px 30px 30px;border:1px solid #eee4dc;border-radius:20px;background:#fff;transition:transform .3s,border-color .3s,box-shadow .3s}
.ps-card:hover{transform:translateY(-6px);border-color:#ffb98e;box-shadow:0 18px 40px #ff54000a}
.ps-number{position:absolute;top:23px;right:26px;font-size:37px;font-weight:600;letter-spacing:-2px;color:#eee5df}
.ps-icon{display:grid;place-items:center;width:55px;height:55px;color:#ff5400;background:#fff0e5;border-radius:16px;margin-bottom:30px}
.ps-icon svg{width:27px;height:27px}
.ps-card h3{font-size:25px;font-weight:600;letter-spacing:-.8px;line-height:1.4;margin:0 0 16px}
.ps-card>p{font-size:16px;line-height:1.8;color:#8e8177;word-break:keep-all;margin:0 0 30px}
.ps-deliverable{margin-top:auto;padding-top:19px;border-top:1px solid #f0e7df;font-size:12px;line-height:1.5;color:#bc8f74;word-break:keep-all}
.th-contact{position:relative;isolation:isolate;overflow:hidden;background:#292929;min-height:680px;padding:125px 6% 115px;color:#fff;scroll-margin-top:0}
.contact-ribbons{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;perspective:700px}
.contact-ribbons i{position:absolute;left:17%;top:-25%;width:140%;height:230px;background:#ff5400;transform:rotate(26deg);transform-origin:0 0;box-shadow:0 0 0 1px #ff5400}
.contact-ribbons i:nth-child(2){left:46%;top:-22%;transform:rotate(45deg);opacity:.3}
.contact-ribbons i:nth-child(3){left:66%;top:-20%;transform:rotate(62deg);opacity:.17}
.contact-ribbons i:nth-child(4){left:83%;top:-20%;transform:rotate(78deg);opacity:.1}
.contact-content{position:relative;max-width:1440px;margin:auto}
.contact-kicker{font-size:34px;letter-spacing:-1.4px;font-weight:700;margin:0 0 46px}
.contact-kicker strong{color:#ff5400;font-weight:700}
.contact-content h2{font-size:clamp(50px,6.3vw,94px);line-height:1.12;letter-spacing:-3.2px;font-weight:600;margin:0 0 30px;max-width:900px}
.contact-description{font-size:19px;line-height:1.8;color:#e1dbd7;margin:0 0 48px;word-break:keep-all}
.contact-project{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:18px 29px;border-radius:8px;background:#ffffff16;color:#fff;font-size:16px;font-weight:600;border:1px solid #ffffff12;transition:background .25s,border-color .25s}
.contact-project:hover{background:#ff5400;border-color:#ff5400}
.contact-direct{display:flex;gap:25px;flex-wrap:wrap;margin-top:27px;font-size:15px;color:#bdb5af}
.contact-direct a:hover{color:#fff}
.th-footer{background:#161616;color:#fff;padding:85px 6% 28px;border:0}
.footer-main{display:grid;grid-template-columns:1.5fr 1.5fr .7fr;gap:60px;max-width:1440px;margin:auto;padding-bottom:75px}
.footer-brand>img{display:block;width:100px;height:auto;margin-bottom:28px}
.footer-brand>p:first-of-type{font-size:20px;font-weight:500;line-height:1.7;letter-spacing:-.6px;margin:0 0 30px}
.footer-brand address{font-style:normal;font-size:13px;line-height:1.9;color:#a7a09a}
.footer-business{font-size:12px;color:#77716c;margin:8px 0 0}
.footer-direct{list-style:none;padding:0;margin:20px 0 0;font-size:14px;color:#c3bcb6;line-height:1.9}
.footer-direct span{display:inline-block;width:45px;font-size:12px;color:#77716c}
.footer-direct a:hover{color:#ff7a39}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:35px 45px;align-content:start;padding-top:4px}
.footer-nav span{display:block;font-size:12px;color:#77716c;letter-spacing:.3px;margin-bottom:16px}
.footer-nav a{display:inline-block;font-size:19px;line-height:1.4;transition:color .2s}
.footer-nav a:hover{color:#ff6c25}
.footer-inquiry{display:inline-flex;justify-content:center;align-items:center;align-self:start;justify-self:end;border:1px solid #71655b;border-radius:999px;padding:16px 25px;font-size:14px;white-space:nowrap;transition:background .2s,border-color .2s}
.footer-inquiry:hover{background:#ff5400;border-color:#ff5400}
.footer-bottom{max-width:1440px;margin:auto;border-top:1px solid #ffffff14;padding-top:24px;display:flex;align-items:center;gap:25px;color:#7c756f;font-size:11px}
.footer-bottom small{margin-right:auto;font-size:11px}
.footer-bottom>a:hover{color:#fff}
.footer-top{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #494039;font-size:10px;letter-spacing:1px}
@media(max-width:1050px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:1.2fr 1.2fr;gap:40px}.footer-inquiry{grid-column:2;justify-self:start;margin-top:-25px}.footer-nav{gap:30px}.ps-desktop-break{display:none}}
@media(max-width:760px){.production-system{padding:90px 24px}.ps-heading{margin-bottom:42px}.ps-heading h2{font-size:34px;letter-spacing:-1.3px}.ps-heading>div{font-size:16px}.ps-grid{grid-template-columns:1fr;gap:17px}.ps-card{padding:28px 26px}.ps-icon{margin-bottom:24px}.ps-card h3{font-size:25px}.ps-card>p{font-size:15px;margin-bottom:23px}.th-contact{padding:95px 26px 90px;min-height:620px}.contact-kicker{font-size:29px;margin-bottom:44px}.contact-content h2{font-size:53px;letter-spacing:-2px}.contact-description{font-size:16px}.contact-ribbons i{left:-20%;top:-20%;height:135px;transform:rotate(31deg);width:220%}.contact-ribbons i:nth-child(2){left:35%;top:-20%}.contact-ribbons i:nth-child(3){left:65%;top:-18%}.contact-ribbons i:nth-child(4){left:90%;top:-14%}.contact-direct{font-size:14px;gap:10px 20px}.th-footer{padding:65px 26px 25px}.footer-main{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.footer-nav{grid-template-columns:1fr 1fr;gap:30px}.footer-inquiry{grid-column:1;justify-self:start;margin-top:0}.footer-nav a{font-size:18px}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom small{width:100%;margin:0}.footer-top{margin-left:auto}.footer-brand>p:first-of-type{font-size:19px}.footer-brand address{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ps-card{transition:none}.ps-card:hover{transform:none}}
@media(max-width:760px){.contact-ribbons i:first-child{left:16%;top:-27%;height:135px}}
/* Numbered vertical timeline, following the reference's left-hand process layout. */
.production-system{background:#fff}
.ps-grid{position:relative;display:flex;flex-direction:column;gap:28px;max-width:1120px;padding-left:78px}
.ps-grid:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:#ececec}
.ps-card{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:34px;min-height:164px;padding:28px 38px;border:0;border-radius:14px;background:#f8f8f8;box-shadow:none;transition:background .25s}
.ps-card:hover{transform:none;border:0;box-shadow:none;background:#fff5ee}
.ps-number{position:absolute;left:-79px;right:auto;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dedede;color:#fff;font-size:16px;font-weight:600;letter-spacing:0;z-index:1;transition:background .25s}
.ps-card:hover .ps-number{background:#ff5400}
.ps-step-icon{display:block;width:104px;height:104px;margin:0;border-radius:0;background-color:transparent;background-image:url('process-icons-3d.png');background-size:300% 200%;background-repeat:no-repeat}
.ps-icon-1{background-position:0 0}.ps-icon-2{background-position:50% 0}.ps-icon-3{background-position:100% 0}.ps-icon-4{background-position:0 100%}.ps-icon-5{background-position:50% 100%}.ps-icon-6{background-position:100% 100%}
.ps-text{min-width:0}
.ps-card .ps-text h3{font-size:23px;font-weight:700;line-height:1.4;letter-spacing:-.7px;margin:0 0 12px}
.ps-card .ps-text p{font-size:17px;line-height:1.9;color:#909090;word-break:keep-all;margin:0}
@media(max-width:760px){
 .ps-grid{gap:22px;padding-left:52px}
 .ps-grid:before{left:15px}
 .ps-card{grid-template-columns:66px minmax(0,1fr);gap:17px;min-height:150px;padding:24px 19px;border-radius:12px}
 .ps-number{left:-53px;width:32px;height:32px;font-size:13px}
 .ps-step-icon{width:66px;height:66px}
 .ps-card .ps-text h3{font-size:20px;line-height:1.45;margin-bottom:9px}
 .ps-card .ps-text p{font-size:15px;line-height:1.8}
}

/* The connector touches only the inner edges of the first and last circles. */
.ps-grid:before,.ps-grid:after{top:var(--ps-line-top,103px);bottom:auto;height:var(--ps-line-height,calc(100% - 206px));left:var(--ps-line-left,20px);width:2px;pointer-events:none}
.ps-grid:after{content:"";position:absolute;background:#ff5400;transform:scaleY(var(--ps-line-fill,0));transform-origin:top}
.ps-card.is-reached{background:#fff5ee}
.ps-card.is-reached .ps-number{background:#ff5400}
