/* Model lineup table above the existing specification cards. */
.ps-detail .ps-model-specs { margin: 28px 0 36px; }
.ps-model-specs-scroll { overflow-x: auto; border: 1px solid #e5d6cf; border-top: 3px solid var(--ps-red); border-radius: 4px; background: #fff; }
.ps-model-specs-scroll:focus-visible { outline: 2px solid var(--ps-red); outline-offset: 4px; }
.ps-model-specs-table { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; font-size: 16px; line-height: 1.65; color: #302b28; }
.ps-model-specs-table .is-number { width: 6%; }
.ps-model-specs-table .is-model { width: 19%; }
.ps-model-specs-table .is-contents { width: 31%; }
.ps-model-specs-table .is-size { width: 34%; }
.ps-model-specs-table .is-remark { width: 10%; }
.ps-model-specs-table th,
.ps-model-specs-table td { padding: 20px 16px; vertical-align: middle; text-align: left; border: 0; border-bottom: 1px solid #ece3de; overflow-wrap: break-word; word-break: normal; }
.ps-model-specs-table thead th { background: #fbf4f0; color: var(--ps-red); font-size: 14px; font-weight: 700; letter-spacing: .03em; }
.ps-model-specs-table tbody th { font-weight: 700; white-space: nowrap; color: #1f1c1a; }
.ps-model-specs-table th:first-child,
.ps-model-specs-table td:first-child,
.ps-model-specs-table th:last-child,
.ps-model-specs-table td:last-child { text-align: center; }
.ps-model-specs-table tbody tr:last-child > * { border-bottom: 0; }
.ps-model-specs-table tbody tr { transition: background-color .2s ease; }
.ps-model-specs-table tbody tr:hover { background: #fffaf7; }
.ps-model-specs-table td span { display: inline-block; white-space: nowrap; }
.ps-detail .ps-model-specs-notes { margin-top: 18px; }
.ps-detail .ps-model-specs-notes p { display: flex; align-items: baseline; gap: 8px; margin: 0; color: #6a625d; font-size: 14px; line-height: 1.8; word-break: keep-all; overflow-wrap: break-word; }
.ps-detail .ps-model-specs-notes p + p { margin-top: 4px; }
.ps-model-specs-notes b { flex: 0 0 18px; color: var(--ps-red); }
.ps-model-specs-hint { display: none; }
@media (max-width: 920px) {
    .ps-detail .ps-model-specs { margin: 24px 0 30px; }
    .ps-detail .ps-model-specs-hint { display: block; margin: 0 0 10px; color: #756c66; font-size: 12px; line-height: 1.6; }
    .ps-model-specs-table { font-size: 14px; }
    .ps-model-specs-table th,
    .ps-model-specs-table td { padding: 16px 12px; }
    .ps-detail .ps-model-specs-notes p { font-size: 12px; line-height: 1.75; }
}

.ps-detail {
    --ps-red: #d14f30;
    --ps-ink: #171717;
    --ps-copy: #575754;
    overflow: clip;
    background: #fff;
    color: var(--ps-ink);
    font-family: 'Noto Sans KR', 'Pretendard', 'Malgun Gothic', sans-serif;
}

/* Product catalog request modal */
body.ps-catalog-modal-open { overflow: hidden; }
.ps-catalog-modal[hidden] { display: none; }
.ps-catalog-modal { position: fixed; inset: 0; z-index: 100010; display: grid; place-items: center; padding: 28px; opacity: 0; transition: opacity .22s ease; }
.ps-catalog-modal.is-open { opacity: 1; }
.ps-catalog-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(10,13,16,.72); backdrop-filter: blur(4px); cursor: pointer; }
.ps-catalog-modal-dialog { position: relative; z-index: 1; width: min(760px,100%); height: min(760px,calc(100vh - 56px)); overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.3); transform: translateY(18px) scale(.985); transition: transform .25s cubic-bezier(.16,1,.3,1); }
.ps-catalog-modal.is-open .ps-catalog-modal-dialog { transform: translateY(0) scale(1); }
.ps-catalog-modal-dialog iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.ps-catalog-modal-close { position: absolute; top: 18px; right: 18px; z-index: 2; width: 42px; height: 42px; padding: 0; border: 1px solid #dedede; border-radius: 50%; background: #fff; color: #222; box-shadow: 0 6px 18px rgba(0,0,0,.08); font-size: 28px; line-height: 1; cursor: pointer; transition: border-color .18s ease,background-color .18s ease,color .18s ease; }
.ps-catalog-modal-close:hover,
.ps-catalog-modal-close:focus-visible { border-color: var(--ps-red); background: var(--ps-red); color: #fff; }

@media (max-width: 680px) {
    .ps-catalog-modal { padding: 12px; }
    .ps-catalog-modal-dialog { height: calc(100dvh - 24px); border-radius: 14px; }
    .ps-catalog-modal-close { top: 12px; right: 12px; width: 38px; height: 38px; font-size: 25px; }
}

/* Wafer Vision Tape Mounter: Figma 531:1047 */
.ps-detail--vision { font-family: Inter, 'Noto Sans KR', sans-serif; }
.ps-detail--vision .ps-detail-hero-dim { background: linear-gradient(90deg,rgba(14,14,14,.94),rgba(14,14,14,.7) 55%,rgba(14,14,14,.2)); }
.ps-detail--vision .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--vision .ps-detail-hero-copy i { width: 64px; border-radius: 2px; }
.ps-detail--vision .ps-detail-hero-copy p { margin-top: 11px; font-family: Inter,sans-serif; font-size: 17px; line-height: 22px; }
.ps-detail--vision .ps-detail-hero-copy h1 { margin-top: 12px; font-family: Inter,sans-serif; font-size: 60px; line-height: 82px; letter-spacing: -2px; }
.ps-detail--vision .ps-detail-hero-copy strong { margin-top: 8px; font-family: Inter,sans-serif; font-size: 22px; line-height: 34px; }
.ps-detail--vision .ps-detail-local > .ps-detail-inner { position: relative; justify-content: flex-start; }
.ps-detail--vision .ps-detail-local-title { width: 440px; flex: 0 0 440px; gap: 10px; font-family: Inter,sans-serif; }
.ps-detail--vision .ps-detail-local-title strong { width: 250px; font-size: 18px; }
.ps-detail--vision .ps-detail-local-title span { width: 180px; font-size: 16px; letter-spacing: .06em; }
.ps-detail--vision .ps-detail-local-links { position: absolute; top: 0; left: 450px; width: 790px; gap: 10px; }
.ps-detail--vision .ps-detail-local-links a { width: 150px; flex: 0 0 150px; justify-content: flex-start; font-family: Inter,sans-serif; font-size: 16px; }
.ps-detail--vision .ps-detail-local-links a::after { right: auto; left: 10px; width: 108px; height: 3px; }

.ps-vision-layout,.ps-vision-overview-layout { position: relative; height: 100%; }
.ps-vision-heading { position: absolute; top: 0; left: 0; }
.ps-vision-heading > p,.ps-vision-overview-copy > p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-vision-heading h2 { margin-top: 5px; color: #111; font-size: 42px; line-height: 1.45; }
.ps-vision-heading > strong { display: block; margin-top: -1px; color: #575757; font-size: 18px; font-weight: 400; line-height: 1.45; }

.ps-vision-overview { height: 720px; overflow: hidden; background: #fff; }
.ps-vision-overview-copy { position: absolute; top: 113px; left: 0; width: 590px; }
.ps-vision-overview-copy h2 { margin-top: 8px; color: #111; font-size: 46px; line-height: 1.2; letter-spacing: -.035em; }
.ps-vision-overview-copy > div { width: 570px; margin-top: 30px; color: #575757; font-size: 20px; line-height: 1.75; }
.ps-vision-overview-copy > strong { position: relative; width: 570px; height: 120px; margin-top: 51px; display: flex; align-items: center; padding: 31px 26px 8px; border-radius: 10px; background: #f6f5f2; color: #111; font-size: 17px; line-height: 1.5; }
.ps-vision-overview-copy > strong i { position: absolute; top: 24px; left: 26px; width: 28px; height: 3px; border-radius: 2px; background: var(--ps-red); }
.ps-vision-overview-image { position: absolute; top: 72px; right: -1px; width: 550px; height: 548px; overflow: hidden; border-radius: 16px; }
.ps-vision-overview-image img { width: 100%; height: 100%; object-fit: cover; }

.ps-vision-config { height: 1647px; overflow: hidden; border: 1px solid #dadada; background: #fff; }
.ps-vision-config .ps-vision-heading { top: 73px; }
.ps-vision-config-block { position: absolute; right: 0; left: 0; }
.ps-vision-config-block.is-front { top: 225px; }
.ps-vision-config-block.is-top { top: 903px; }
.ps-vision-view-label { height: 32px; color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 32px; }
.ps-vision-config-row { display: grid; grid-template-columns: 585px 585px; gap: 30px; margin-top: 3px; align-items: start; }
.ps-vision-config-image { width: 585px; height: 600px; overflow: hidden; border: 1px solid #d6d4cc; border-radius: 14px; background: #fff; }
.ps-vision-config-image img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 14px; }
.ps-vision-parts-panel { width: 585px; height: 455px; margin-top: 2px; overflow: hidden; border: 1px solid rgba(222,216,210,.9); border-radius: 4px; background: #f7f5f2; }
.ps-vision-parts-panel header { height: 112px; padding: 21px 31px; background: #171717; }
.ps-vision-parts-panel header p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 32px; }
.ps-vision-parts-panel header h3 { margin-top: -2px; color: #fff; font-size: 28px; line-height: 40px; }
.ps-vision-parts-panel ol { padding: 5px 31px 0; }
.ps-vision-parts-panel li { display: flex; height: 51px; align-items: center; gap: 12px; }
.ps-vision-parts-panel li b { width: 42px; flex: 0 0 42px; color: var(--ps-red); font-size: 16px; }
.ps-vision-parts-panel li span { color: #292624; font-size: 16.5px; font-weight: 500; line-height: 1.35; }
.ps-vision-parts-panel.is-top { height: 600px; margin-top: 0; }
.ps-vision-parts-panel.is-top ol { padding-top: 5px; }
.ps-vision-parts-panel.is-top li { height: 45px; }

.ps-vision-process { height: 1878px; overflow: hidden; background: #fff; }
.ps-vision-process .ps-vision-heading { top: 70px; }
.ps-vision-process-list { position: absolute; top: 240px; left: 0; width: 1200px; }
.ps-vision-process-list article { position: relative; height: 244px; display: grid; grid-template-columns: 737px 1fr; gap: 16px; align-items: center; }
.ps-vision-process-list article:not(:last-child) { margin-bottom: 48px; }
.ps-vision-process-list article:not(:last-child)::after { position: absolute; right: 0; bottom: -24px; left: 0; height: 1px; background: #ded9d4; content: ''; }
.ps-vision-process-list article:nth-child(even) { grid-template-columns: 447px 737px; }
.ps-vision-process-list article:nth-child(even) img { grid-column: 2; }
.ps-vision-process-list article:nth-child(even) > div { grid-row: 1; grid-column: 1; }
.ps-vision-process-list img { width: 737px; height: 242px; border-radius: 14px; object-fit: cover; }
.ps-vision-process-list article:nth-child(2) img { object-position: center 42%; }
.ps-vision-process-list article > div { padding-left: 0; }
.ps-vision-process-list h3 { color: #111; font-size: 25px; line-height: 1.45; }
.ps-vision-process-list p { margin-top: 4px; color: #575757; font-size: 18px; line-height: 1.45; }

.ps-vision-specs { height: 1140px; overflow: hidden; background: #f6f5f2; }
.ps-vision-specs .ps-vision-heading { top: 70px; }
.ps-vision-spec-grid { position: absolute; top: 240px; left: 0; width: 1200px; display: grid; grid-template-columns: repeat(2,570px); grid-auto-rows: 80px; gap: 16px 40px; }
.ps-vision-spec-grid > div { display: grid; grid-template-columns: 160px 1fr; align-items: center; padding: 0 24px; border: 1px solid #d6d4cc; border-radius: 8px; background: #fff; }
.ps-vision-spec-grid dt { color: #575757; font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-vision-spec-grid dd { color: #111; font-size: 18px; font-weight: 600; line-height: 1.4; }
.ps-vision-safety { position: absolute; top: 918px; left: 0; width: 1200px; height: 110px; display: flex; align-items: center; gap: 22px; padding: 24px 28px; border-radius: 10px; background: #f9efeb; }
.ps-vision-safety > i { width: 4px; height: 56px; flex: 0 0 4px; border-radius: 2px; background: var(--ps-red); }
.ps-vision-safety h3 { color: #111; font-size: 18px; line-height: 26px; }
.ps-vision-safety p { margin-top: 5px; color: #575757; font-size: 16.5px; line-height: 28px; }
.ps-vision-spec-note { position: absolute; top: 1060px; left: 0; color: #575757; font-size: 16px; line-height: 1.45; }

.ps-vision-media { height: 700px; overflow: hidden; background: #fff; }
.ps-vision-media .ps-vision-heading { top: 72px; }
.ps-vision-media .ps-vision-heading h2 { margin-top: 3px; font-size: 44px; line-height: 56px; }
.ps-vision-media .ps-vision-heading > strong { margin-top: 4px; color: #615c59; line-height: 30px; }
.ps-vision-media-grid { position: absolute; top: 250px; left: 0; width: 1200px; display: grid; grid-template-columns: 760px 410px; gap: 30px; }
.ps-linked-video { display: block; width: 100%; height: 100%; background: #111; object-fit: cover; }
[data-video-frame] > i,[data-video-frame] > button,[data-video-frame] > figcaption,[data-video-frame] > span { transition: opacity .25s ease, visibility .25s ease; }
[data-video-frame].is-playing > i,[data-video-frame].is-playing > button,[data-video-frame].is-playing > figcaption,[data-video-frame].is-playing > span { visibility: hidden; opacity: 0; pointer-events: none; }
.ps-vision-video-card { position: relative; height: 340px; overflow: hidden; border-radius: 8px; background: #111; color: #fff; }
.ps-vision-video-card > img { width: 100%; height: 100%; object-fit: cover; }
.ps-vision-video-card > i { position: absolute; inset: 0; background: rgba(5,5,5,.48); }
.ps-vision-video-card > button { position: absolute; top: 104px; left: 340px; width: 80px; height: 80px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: transform .25s ease; }
.ps-vision-video-card > button:hover { transform: scale(1.08); }
.ps-vision-video-card > button img { width: 80px; height: 80px; }
.ps-vision-video-card figcaption { position: absolute; top: 238px; left: 40px; }
.ps-vision-video-card figcaption b { display: block; color: var(--ps-red); font-size: 16px; line-height: 24px; }
.ps-vision-video-card figcaption strong { display: block; margin-top: 8px; color: #fff; font-size: 28px; line-height: 36px; }
.ps-vision-manual-card { position: relative; height: 340px; padding: 35px 39px; border: 1px solid #ded9d4; border-radius: 8px; background: #fff; }
.ps-vision-manual-card > img { width: 64px; height: 64px; }
.ps-vision-manual-card > p { margin-top: 24px; color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 24px; }
.ps-vision-manual-card h3 { margin-top: 10px; color: #111; font-size: 26px; line-height: 34px; }
.ps-vision-manual-card > span { display: block; margin-top: 5px; color: #615c59; font-size: 16px; line-height: 26px; }
.ps-vision-manual-card > button { position: absolute; right: 39px; bottom: 25px; left: 39px; height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 0; border-radius: 4px; background: var(--ps-red); color: #fff; font-size: 17px; cursor: pointer; }
.ps-vision-manual-card > button img { width: 20px; height: 20px; }
.ps-detail-contact.is-vision { height: 260px; background: #0e0e0e; }
.ps-detail-contact.is-vision .ps-detail-contact-inner { position: relative; height: 260px; min-height: 260px; }
.ps-detail-contact.is-vision .ps-detail-contact-inner > div { position: absolute; top: 56px; left: 0; }
.ps-detail-contact.is-vision p { font-family: Inter,sans-serif; font-size: 16px; line-height: 1.45; letter-spacing: normal; }
.ps-detail-contact.is-vision h2 { margin-top: 7px; font-family: Inter,sans-serif; font-size: 34px; line-height: 1.45; }
.ps-detail-contact.is-vision div > span { margin-top: 0; font-family: Inter,sans-serif; font-size: 18px; line-height: 1.45; }
.ps-detail-contact.is-vision a { position: absolute; top: 92px; right: 0; border-radius: 6px; font-family: Inter,sans-serif; font-weight: 600; }

/* Auto Tape Lift Off (Detape): Figma 531:1256 */
.ps-detail--detape { font-family: Inter, 'Noto Sans KR', sans-serif; }
.ps-detail--detape .ps-detail-hero > img { inset: auto 0 0; height: 137.67%; object-position: center bottom; }
.ps-detail--detape .ps-detail-hero-dim { background: linear-gradient(90deg,rgba(14,14,14,.94),rgba(14,14,14,.7) 55%,rgba(14,14,14,.2)); }
.ps-detail--detape .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--detape .ps-detail-hero-copy i { width: 64px; border-radius: 2px; }
.ps-detail--detape .ps-detail-hero-copy p { margin-top: 11px; font-family: Inter,sans-serif; font-size: 17px; line-height: 22px; }
.ps-detail--detape .ps-detail-hero-copy h1 { margin-top: 12px; font-family: Inter,sans-serif; font-size: 60px; line-height: 82px; letter-spacing: -2px; }
.ps-detail--detape .ps-detail-hero-copy strong { margin-top: 8px; font-family: Inter,sans-serif; font-size: 22px; line-height: 34px; }
.ps-detail--detape .ps-detail-local > .ps-detail-inner { position: relative; justify-content: flex-start; }
.ps-detail--detape .ps-detail-local-title { width: 440px; flex: 0 0 440px; gap: 10px; font-family: Inter,sans-serif; }
.ps-detail--detape .ps-detail-local-title strong { width: 250px; font-size: 18px; }
.ps-detail--detape .ps-detail-local-title span { width: 180px; font-size: 16px; letter-spacing: .06em; }
.ps-detail--detape .ps-detail-local-links { position: absolute; top: 0; left: 450px; width: 790px; gap: 10px; }
.ps-detail--detape .ps-detail-local-links a { width: 150px; flex: 0 0 150px; justify-content: flex-start; font-family: Inter,sans-serif; font-size: 16px; }
.ps-detail--detape .ps-detail-local-links a::after { right: auto; left: 0; width: 108px; height: 3px; }
.ps-detape-layout { position: relative; height: 100%; }
.ps-detape-heading { position: absolute; top: 0; left: 0; }
.ps-detape-heading > p,.ps-detape-overview-copy > p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-detape-heading h2 { margin-top: 5px; color: #111; font-size: 42px; line-height: 1.45; }
.ps-detape-heading > strong { display: block; margin-top: -1px; color: #575757; font-size: 18px; font-weight: 400; line-height: 1.45; }

.ps-detape-overview { height: 720px; overflow: hidden; border-bottom: 1px solid #ded9d4; background: #fff; }
.ps-detape-overview-copy { position: absolute; top: 112px; left: 0; width: 620px; }
.ps-detape-overview-copy h2 { margin-top: 12px; color: #111; font-size: 42px; line-height: 52px; letter-spacing: -.035em; }
.ps-detape-overview-copy > div { width: 570px; margin-top: 20px; color: #575757; font-size: 20px; line-height: 1.75; }
.ps-detape-overview-copy > strong { position: relative; width: 570px; height: 112px; margin-top: 28px; display: flex; align-items: center; padding: 31px 26px 8px; border-radius: 10px; background: #f6f5f2; color: #111; font-size: 17px; line-height: 1.5; }
.ps-detape-overview-copy > strong i { position: absolute; top: 26px; left: 26px; width: 28px; height: 3px; border-radius: 2px; background: var(--ps-red); }
.ps-detape-overview-image { position: absolute; top: 103px; right: -101px; width: 511px; height: 538px; overflow: hidden; border-radius: 16px; }
.ps-detape-overview-image img { width: 100%; height: 100%; object-fit: cover; }

.ps-detape-equipment { height: 1293px; overflow: hidden; background: #fff; }
.ps-detape-equipment .ps-detape-heading { top: 74px; }
.ps-detape-drawing { position: absolute; top: 252px; left: -1px; width: 1186px; height: 670px; overflow: hidden; border: 1px solid #dadada; border-radius: 14px; background: #fff; }
.ps-detape-drawing img { position: absolute; top: -37.612%; left: -30.27%; display: block; width: 161.889%; height: 193%; max-width: none !important; object-fit: fill; }
.ps-detape-parts { position: absolute; top: 960px; left: 0; width: 1200px; height: 240px; overflow: hidden; border: 1px solid #ded8d2; border-radius: 4px; background: #f7f5f2; }
.ps-detape-parts-head { display: grid; height: 52px; grid-template-columns: repeat(2,1fr); background: #171717; color: rgba(255,255,255,.86); font-family: 'Noto Sans KR',sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.ps-detape-parts-head span { display: flex; align-items: center; padding-left: 24px; }
.ps-detape-parts-body { display: grid; height: 188px; grid-auto-flow: column; grid-template-columns: repeat(2,600px); grid-template-rows: repeat(3,50px); padding: 18px 0; }
.ps-detape-parts-body p { display: flex; align-items: center; gap: 22px; padding: 0 24px; color: #383430; font-family: 'Noto Sans KR',sans-serif; font-size: 15px; }
.ps-detape-parts-body p:nth-child(-n+3) { border-right: 1px solid rgba(222,216,210,.7); }
.ps-detape-parts-body b { width: 24px; flex: 0 0 24px; color: var(--ps-red); }

.ps-detape-process { height: 900px; overflow: hidden; background: #f6f5f2; }
.ps-detape-process .ps-detape-heading { top: 78px; }
.ps-detail--detape .ps-detape-process-grid { position: absolute; top: 240px; left: 0; width: 1200px; height: 596px; display: grid; grid-template-columns: repeat(3,370px); grid-template-rows: repeat(3,180px); gap: 28px 45px; margin: 0; }
.ps-detail--detape .ps-detape-process-grid li { position: relative; width: 370px; height: 180px; min-height: 0; display: block; padding: 19px 23px; overflow: visible; border: 1px solid #d6d4cc; border-radius: 12px; background: #fff; box-shadow: none; }
.ps-detail--detape .ps-detape-process-grid li:nth-child(1){grid-area:1/1}.ps-detail--detape .ps-detape-process-grid li:nth-child(2){grid-area:1/2}.ps-detail--detape .ps-detape-process-grid li:nth-child(3){grid-area:1/3}.ps-detail--detape .ps-detape-process-grid li:nth-child(4){grid-area:2/3}.ps-detail--detape .ps-detape-process-grid li:nth-child(5){grid-area:2/2}.ps-detail--detape .ps-detape-process-grid li:nth-child(6){grid-area:2/1}.ps-detail--detape .ps-detape-process-grid li:nth-child(7){grid-area:3/1}.ps-detail--detape .ps-detape-process-grid li:nth-child(8){grid-area:3/2}.ps-detail--detape .ps-detape-process-grid li:nth-child(9){grid-area:3/3}
.ps-detail--detape .ps-detape-process-grid li b { display: block; color: var(--ps-red); font-size: 18px; line-height: 26px; }
.ps-detail--detape .ps-detape-process-grid li i { display: block; width: 44px; height: 3px; margin-top: 10px; border-radius: 2px; background: var(--ps-red); }
.ps-detail--detape .ps-detape-process-grid li h3 { margin-top: 16px; color: #111; font-size: 18px; line-height: 26px; }
.ps-detail--detape .ps-detape-process-grid li p { margin-top: 14px; color: #575757; font-size: 16.5px; line-height: 24px; }
.ps-detail--detape .ps-detape-process-grid li::after { position: absolute; z-index: 2; color: var(--ps-red); font-size: 28px; font-style: normal; font-weight: 400; line-height: 41px; }
.ps-detail--detape .ps-detape-process-grid li:nth-child(1)::after,.ps-detail--detape .ps-detape-process-grid li:nth-child(2)::after,.ps-detail--detape .ps-detape-process-grid li:nth-child(7)::after,.ps-detail--detape .ps-detape-process-grid li:nth-child(8)::after { top: 64px; right: -45px; content:'→'; }
.ps-detail--detape .ps-detape-process-grid li:nth-child(3)::after,.ps-detail--detape .ps-detape-process-grid li:nth-child(6)::after { right: 154px; bottom: -43px; content:'↓'; }
.ps-detail--detape .ps-detape-process-grid li:nth-child(4)::after,.ps-detail--detape .ps-detape-process-grid li:nth-child(5)::after { top: 64px; left: -45px; content:'←'; }
.ps-detail--detape .ps-detape-process-grid li.is-current { border-color: var(--ps-red); box-shadow: 0 14px 32px rgba(209,79,48,.14); transform: translateY(-3px); }

.ps-detape-operations { height: 1470px; overflow: hidden; background: #fff; }
.ps-detape-operations .ps-detape-heading { top: 70px; }
.ps-detape-operation-list { position: absolute; top: 240px; left: 0; width: 1200px; }
.ps-detape-operation-list article { position: relative; height: 238px; display: grid; grid-template-columns: 737px 1fr; gap: 13px; align-items: center; }
.ps-detape-operation-list article:not(:last-child) { margin-bottom: 60px; }
.ps-detape-operation-list article:not(:last-child)::after { position: absolute; right: 0; bottom: -30px; left: 0; height: 1px; background: #ded9d4; content: ''; }
.ps-detape-operation-list article:nth-child(even) { grid-template-columns: 450px 737px; }
.ps-detape-operation-list article:nth-child(even) img { grid-column: 2; }
.ps-detape-operation-list article:nth-child(even)>div { grid-row: 1; grid-column: 1; }
.ps-detape-operation-list img { width: 737px; height: 238px; border-radius: 14px; object-fit: cover; }
.ps-detape-operation-list article:nth-child(2) img { object-position: center 64%; }
.ps-detape-operation-list article:nth-child(3) img { object-position: center 60%; }
.ps-detape-operation-list h3 { color: #111; font-size: 25px; line-height: 1.45; }
.ps-detape-operation-list p { margin-top: 8px; color: #575757; font-size: 18px; line-height: 1.45; }

.ps-detape-specs { height: 1000px; overflow: hidden; background: #f6f5f2; }
.ps-detape-specs .ps-detape-heading { top: 70px; }
.ps-detape-spec-grid { position: absolute; top: 240px; left: 0; width: 1200px; display: grid; grid-template-columns: repeat(2,570px); grid-auto-rows: 80px; gap: 16px 40px; }
.ps-detape-spec-grid>div { display: grid; grid-template-columns: 160px 1fr; align-items: center; padding: 0 24px; border: 1px solid #d6d4cc; border-radius: 8px; background: #fff; }
.ps-detape-spec-grid dt { color: #575757; font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-detape-spec-grid dd { color: #111; font-size: 17px; font-weight: 600; line-height: 23px; }
.ps-detape-quality { position: absolute; top: 744px; left: 0; width: 1200px; height: 110px; display: flex; align-items: center; gap: 22px; padding: 24px 28px; border-radius: 10px; background: #f9efeb; }
.ps-detape-quality>i { width: 4px; height: 56px; flex: 0 0 4px; border-radius: 2px; background: var(--ps-red); }
.ps-detape-quality h3 { color: #111; font-size: 18px; line-height: 26px; }
.ps-detape-quality p { margin-top: 5px; color: #575757; font-size: 16.5px; line-height: 24px; }
.ps-detape-spec-note { position: absolute; top: 920px; left: 0; color: #575757; font-size: 16px; line-height: 1.45; }
.ps-detail-contact.is-detape { height: 260px; background: #0e0e0e; }
.ps-detail-contact.is-detape .ps-detail-contact-inner { position: relative; height: 260px; min-height: 260px; }
.ps-detail-contact.is-detape .ps-detail-contact-inner>div { position: absolute; top: 56px; left: 0; }
.ps-detail-contact.is-detape p { font-family: Inter,sans-serif; font-size: 16px; line-height: 1.45; letter-spacing: normal; }
.ps-detail-contact.is-detape h2 { margin-top: 7px; font-family: Inter,sans-serif; font-size: 34px; line-height: 1.45; }
.ps-detail-contact.is-detape div>span { margin-top: 0; font-family: Inter,sans-serif; font-size: 18px; line-height: 1.45; }
.ps-detail-contact.is-detape a { position: absolute; top: 92px; right: 0; border-radius: 6px; font-family: Inter,sans-serif; font-weight: 600; }

@media (max-width:900px){
    .ps-detail--detape .ps-detail-hero>img { inset: 0; height: 100%; object-position: center; }
    .ps-detail--detape .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--detape .ps-detail-hero-copy h1 { font-size: 48px; line-height: 1.3; }
    .ps-detail--detape .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--detape .ps-detail-local-title { width: 100%; flex-basis: auto; gap: 16px; }
    .ps-detail--detape .ps-detail-local-title strong,.ps-detail--detape .ps-detail-local-title span { width: auto; }
    .ps-detail--detape .ps-detail-local-links { position: static; width: 100%; gap: 24px; }
    .ps-detail--detape .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 14px; }
    .ps-detail--detape .ps-detail-local-links a::after { right: 0; left: 0; width: auto; }
    .ps-detape-overview,.ps-detape-equipment,.ps-detape-process,.ps-detape-operations,.ps-detape-specs { height: auto; padding: 70px 0 76px; overflow: visible; }
    .ps-detape-layout { height: auto; }
    .ps-detape-heading,.ps-detape-equipment .ps-detape-heading,.ps-detape-process .ps-detape-heading,.ps-detape-operations .ps-detape-heading,.ps-detape-specs .ps-detape-heading,.ps-detape-overview-copy,.ps-detape-overview-image,.ps-detape-drawing,.ps-detape-parts,.ps-detail--detape .ps-detape-process-grid,.ps-detape-operation-list,.ps-detape-spec-grid,.ps-detape-quality,.ps-detape-spec-note { position: static; width: 100%; }
    .ps-detape-overview .ps-detape-layout { display: grid; gap: 42px; }
    .ps-detape-overview-copy>div,.ps-detape-overview-copy>strong { width: 100%; }
    .ps-detape-overview-copy>strong { margin-top: 36px; }
    .ps-detape-overview-image { height: auto; max-width: 511px; aspect-ratio: 511/538; margin: 0 auto; }
    .ps-detape-drawing { height: auto; aspect-ratio: 1186/670; margin-top: 42px; }
    .ps-detape-parts { height: auto; margin-top: 36px; }
    .ps-detape-parts-body { width: 100%; grid-template-columns: repeat(2,1fr); }
    .ps-detail--detape .ps-detape-process-grid { height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; gap: 20px; margin-top: 42px; }
    .ps-detail--detape .ps-detape-process-grid li,.ps-detail--detape .ps-detape-process-grid li:nth-child(n) { width: auto; height: 180px; grid-area: auto; }
    .ps-detail--detape .ps-detape-process-grid li::after { display: none; }
    .ps-detape-operation-list { display: grid; gap: 36px; margin-top: 42px; }
    .ps-detape-operation-list article,.ps-detape-operation-list article:nth-child(even) { height: auto; grid-template-columns: 1.35fr 1fr; gap: 28px; padding-bottom: 36px; }
    .ps-detape-operation-list article:nth-child(even) { grid-template-columns: 1fr 1.35fr; }
    .ps-detape-operation-list article:not(:last-child) { margin-bottom: 0; }
    .ps-detape-operation-list article:not(:last-child)::after { bottom: 0; }
    .ps-detape-operation-list img { width: 100%; height: auto; aspect-ratio: 737/238; }
    .ps-detape-spec-grid { margin-top: 42px; grid-template-columns: 1fr; grid-auto-rows: minmax(80px,auto); gap: 16px; }
    .ps-detape-quality { height: auto; min-height: 110px; margin-top: 24px; }
    .ps-detape-spec-note { margin-top: 28px; }
    .ps-detail-contact.is-detape { height: auto; }
    .ps-detail-contact.is-detape .ps-detail-contact-inner { position: static; height: auto; min-height: 0; padding: 55px 0; }
    .ps-detail-contact.is-detape .ps-detail-contact-inner>div,.ps-detail-contact.is-detape a { position: static; }
}

@media (max-width:560px){
    .ps-detail--detape .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--detape .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--detape .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--detape .ps-detail-hero-copy h1 { font-size: 34px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--detape .ps-detail-hero-copy strong { margin-left: 0; font-size: 14px; }
    .ps-detail--detape .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--detape .ps-detail-local-links { gap: 22px; }
    .ps-detape-overview,.ps-detape-equipment,.ps-detape-process,.ps-detape-operations,.ps-detape-specs { padding: 56px 0 64px; }
    .ps-detape-heading h2,.ps-detape-overview-copy h2 { font-size: 32px; line-height: 1.4; }
    .ps-detape-heading>strong,.ps-detape-overview-copy>div { margin-top: 10px; font-size: 16px; line-height: 1.75; }
    .ps-detape-overview-copy>strong { height: auto; min-height: 112px; margin-top: 30px; padding: 48px 22px 18px; font-size: 15px; line-height: 1.65; }
    .ps-detape-overview-copy>strong i { left: 22px; }
    .ps-detape-parts-head { grid-template-columns: 1fr; }
    .ps-detape-parts-head span:nth-child(2) { display: none; }
    .ps-detape-parts-body { height: auto; grid-auto-flow: row; grid-template-columns: 1fr; grid-template-rows: none; padding: 12px 0; }
    .ps-detape-parts-body p { min-height: 48px; border-right: 0!important; border-bottom: 1px solid rgba(222,216,210,.7); font-size: 14px; }
    .ps-detape-parts-body p:last-child { border-bottom: 0; }
    .ps-detail--detape .ps-detape-process-grid { grid-template-columns: 1fr; }
    .ps-detail--detape .ps-detape-process-grid li,.ps-detail--detape .ps-detape-process-grid li:nth-child(n) { height: 176px; }
    .ps-detape-operation-list article,.ps-detape-operation-list article:nth-child(even) { grid-template-columns: 1fr; gap: 22px; }
    .ps-detape-operation-list article:nth-child(even) img,.ps-detape-operation-list article:nth-child(even)>div { grid-row: auto; grid-column: auto; }
    .ps-detape-operation-list h3 { font-size: 23px; }
    .ps-detape-operation-list p { font-size: 15px; line-height: 1.7; }
    .ps-detape-spec-grid>div { grid-template-columns: 1fr; gap: 6px; padding: 18px 20px; }
    .ps-detape-quality { align-items: flex-start; padding: 20px; }
    .ps-detape-quality p { font-size: 14px; line-height: 1.65; }
    .ps-detape-spec-note { font-size: 14px; line-height: 1.65; }
    .ps-detail-contact.is-detape h2 { font-size: 26px; line-height: 1.5; }
    .ps-detail-contact.is-detape div>span { font-size: 15px; line-height: 1.7; }
    .ps-detail-contact.is-detape a { width: 100%; height: 58px; margin-top: 30px; }
}

@media (max-width:900px){
    .ps-detail--vision .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--vision .ps-detail-hero-copy h1 { font-size: 48px; line-height: 1.3; }
    .ps-detail--vision .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--vision .ps-detail-local-title { width: 100%; flex-basis: auto; gap: 16px; }
    .ps-detail--vision .ps-detail-local-title strong,.ps-detail--vision .ps-detail-local-title span { width: auto; }
    .ps-detail--vision .ps-detail-local-links { position: static; width: 100%; gap: 24px; }
    .ps-detail--vision .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 14px; }
    .ps-detail--vision .ps-detail-local-links a::after { right: 0; left: 0; width: auto; }
    .ps-vision-overview,.ps-vision-config,.ps-vision-process,.ps-vision-specs,.ps-vision-media { height: auto; padding: 70px 0 76px; overflow: visible; }
    .ps-vision-layout,.ps-vision-overview-layout { height: auto; }
    .ps-vision-heading,.ps-vision-config .ps-vision-heading,.ps-vision-process .ps-vision-heading,.ps-vision-specs .ps-vision-heading,.ps-vision-media .ps-vision-heading,.ps-vision-overview-copy,.ps-vision-overview-image,.ps-vision-config-block,.ps-vision-process-list,.ps-vision-spec-grid,.ps-vision-safety,.ps-vision-spec-note,.ps-vision-media-grid { position: static; width: 100%; }
    .ps-vision-overview-layout { display: grid; gap: 42px; }
    .ps-vision-overview-copy > div,.ps-vision-overview-copy > strong { width: 100%; }
    .ps-vision-overview-copy > strong { margin-top: 36px; }
    .ps-vision-overview-image { height: auto; max-width: 550px; aspect-ratio: 550/548; margin: 0 auto; }
    .ps-vision-config-block { margin-top: 42px; }
    .ps-vision-config-block.is-top { margin-top: 54px; }
    .ps-vision-config-row { grid-template-columns: 1fr; gap: 24px; }
    .ps-vision-config-image { width: 100%; height: auto; aspect-ratio: 585/600; }
    .ps-vision-parts-panel,.ps-vision-parts-panel.is-top { width: 100%; height: auto; min-height: 455px; margin-top: 0; }
    .ps-vision-parts-panel.is-top { min-height: 600px; }
    .ps-vision-process-list { display: grid; gap: 36px; margin-top: 42px; }
    .ps-vision-process-list article,.ps-vision-process-list article:nth-child(even) { height: auto; grid-template-columns: 1.35fr 1fr; gap: 28px; padding-bottom: 36px; }
    .ps-vision-process-list article:not(:last-child) { margin-bottom: 0; }
    .ps-vision-process-list article:not(:last-child)::after { bottom: 0; }
    .ps-vision-process-list article:nth-child(even) { grid-template-columns: 1fr 1.35fr; }
    .ps-vision-process-list img { width: 100%; height: auto; aspect-ratio: 737/242; }
    .ps-vision-spec-grid { margin-top: 42px; grid-template-columns: 1fr; grid-auto-rows: minmax(80px,auto); gap: 16px; }
    .ps-vision-safety { height: auto; min-height: 110px; margin-top: 22px; }
    .ps-vision-spec-note { margin-top: 28px; }
    .ps-vision-media-grid { margin-top: 42px; grid-template-columns: 1fr; gap: 24px; }
    .ps-vision-video-card { height: auto; aspect-ratio: 760/340; }
    .ps-vision-video-card > button { top: 50%; left: 50%; transform: translate(-50%,-50%); }
    .ps-vision-video-card > button:hover { transform: translate(-50%,-50%) scale(1.08); }
    .ps-vision-manual-card { height: 340px; }
    .ps-detail-contact.is-vision { height: auto; }
    .ps-detail-contact.is-vision .ps-detail-contact-inner { position: static; height: auto; min-height: 0; padding: 55px 0; }
    .ps-detail-contact.is-vision .ps-detail-contact-inner > div,.ps-detail-contact.is-vision a { position: static; }
}

@media (max-width:560px){
    .ps-detail--vision .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--vision .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--vision .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--vision .ps-detail-hero-copy h1 { font-size: 33px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--vision .ps-detail-hero-copy strong { margin-left: 0; font-size: 14px; }
    .ps-detail--vision .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--vision .ps-detail-local-links { gap: 22px; }
    .ps-vision-overview,.ps-vision-config,.ps-vision-process,.ps-vision-specs,.ps-vision-media { padding: 56px 0 64px; }
    .ps-vision-heading h2,.ps-vision-overview-copy h2,.ps-vision-media .ps-vision-heading h2 { font-size: 32px; line-height: 1.4; }
    .ps-vision-heading > strong,.ps-vision-overview-copy > div { margin-top: 10px; font-size: 16px; line-height: 1.75; }
    .ps-vision-overview-copy > strong { height: auto; min-height: 120px; margin-top: 30px; padding: 48px 22px 18px; font-size: 15px; line-height: 1.65; }
    .ps-vision-overview-copy > strong i { left: 22px; }
    .ps-vision-parts-panel header { padding-right: 22px; padding-left: 22px; }
    .ps-vision-parts-panel ol { padding-right: 20px; padding-left: 20px; }
    .ps-vision-parts-panel li { height: auto; min-height: 51px; }
    .ps-vision-parts-panel.is-top { min-height: 590px; }
    .ps-vision-parts-panel.is-top li { height: auto; min-height: 45px; }
    .ps-vision-parts-panel li span { font-size: 14px; }
    .ps-vision-process-list article,.ps-vision-process-list article:nth-child(even) { grid-template-columns: 1fr; gap: 22px; }
    .ps-vision-process-list article:nth-child(even) img,.ps-vision-process-list article:nth-child(even)>div { grid-row: auto; grid-column: auto; }
    .ps-vision-process-list h3 { font-size: 23px; }
    .ps-vision-process-list p { font-size: 15px; line-height: 1.7; }
    .ps-vision-spec-grid > div { grid-template-columns: 1fr; gap: 6px; padding: 18px 20px; }
    .ps-vision-spec-grid dd { font-size: 16px; }
    .ps-vision-safety { align-items: flex-start; padding: 20px; }
    .ps-vision-safety p { font-size: 14px; line-height: 1.65; }
    .ps-vision-spec-note { font-size: 14px; line-height: 1.65; }
    .ps-vision-video-card { min-height: 250px; aspect-ratio: auto; }
    .ps-vision-video-card figcaption { top: auto; right: 24px; bottom: 22px; left: 24px; }
    .ps-vision-video-card figcaption strong { font-size: 23px; }
    .ps-vision-manual-card { height: auto; min-height: 340px; padding: 30px 24px 92px; }
    .ps-vision-manual-card > button { right: 24px; bottom: 24px; left: 24px; }
    .ps-detail-contact.is-vision h2 { font-size: 26px; line-height: 1.5; }
    .ps-detail-contact.is-vision div > span { font-size: 15px; line-height: 1.7; }
    .ps-detail-contact.is-vision a { width: 100%; height: 58px; margin-top: 30px; }
}

.ps-detail *,
.ps-detail *::before,
.ps-detail *::after { box-sizing: border-box; }
.ps-detail h1,.ps-detail h2,.ps-detail h3,.ps-detail h4,.ps-detail p,.ps-detail figure,.ps-detail ol,.ps-detail dl,.ps-detail dd { margin: 0; }
.ps-detail ol { padding: 0; list-style: none; }
.ps-detail img { display: block; max-width: 100%; }
.ps-detail a { color: inherit; text-decoration: none; }
.ps-detail button { font: inherit; }
.ps-detail-inner { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }

.ps-detail-hero { position: relative; height: 520px; overflow: hidden; background: #111; color: #fff; }
.ps-detail-hero > img,.ps-detail-hero-dim { position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-detail-hero > img { object-fit: cover; object-position: center; transform: scale(1.025); transform-origin: center; animation: ps-sub-hero-breathe 12s ease-in-out infinite; will-change: transform; }
.ps-detail-hero-dim { background: rgba(4,4,5,.72); }
.ps-detail-hero-copy { position: relative; z-index: 1; padding-top: 152px; }
.ps-detail-hero-copy i { display: block; width: 78px; height: 4px; background: var(--ps-red); }
.ps-detail-hero-copy p { margin-top: 4px; color: var(--ps-red); font-size: 15px; font-weight: 700; line-height: 30px; letter-spacing: .08em; }
.ps-detail-hero-copy h1 { margin-top: 12px; font-size: 66px; font-weight: 700; line-height: 1.24; letter-spacing: -.03em; word-break: keep-all; }
.ps-detail-hero-copy strong { display: block; margin: 16px 0 0 4px; color: rgba(255,255,255,.72); font-size: 23px; font-weight: 500; line-height: 34px; }

@keyframes ps-sub-hero-breathe {
    0%,100% { transform:scale(1.025); }
    50% { transform:scale(1.085); }
}

.ps-detail-local { height: 96px; border-bottom: 1px solid #e0ded9; background: #fff; }
.ps-detail-local > div { display: flex; height: 100%; align-items: center; justify-content: space-between; gap: 30px; }
.ps-detail-local-title { display: flex; flex: 0 0 auto; align-items: center; gap: 40px; }
.ps-detail-local-title strong { color: #0f1112; font-size: 20px; }
.ps-detail-local-title span { color: var(--ps-red); font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.ps-detail-local-links { display: flex; height: 100%; align-items: stretch; gap: 42px; }
.ps-detail-local-links { scrollbar-width: none; }
.ps-detail-local-links::-webkit-scrollbar { display: none; }
.ps-detail-local-links a { position: relative; display: flex; align-items: center; color: #616366; font-size: 17px; font-weight: 500; white-space: nowrap; }
.ps-detail-local-links a::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--ps-red); content: ''; opacity: 0; transform: scaleX(.2); transition: .25s ease; }
.ps-detail-local-links a:hover,.ps-detail-local-links a:focus,.ps-detail-local-links a.is-active { color: var(--ps-red); font-weight: 700; }
.ps-detail-local-links a:hover::after,.ps-detail-local-links a:focus::after,.ps-detail-local-links a.is-active::after { opacity: 1; transform: scaleX(1); }
.ps-detail-local-products { gap: 28px; }
.ps-detail-local-products a { font-size: 14px; }

.ps-detail-section { position: relative; padding: 70px 0 80px; background: #fff; }
.ps-detail-soft { background: #f7f4f1; }
.ps-detail-dark { background: #151515; color: #fff; }
.ps-detail-heading { margin-bottom: 42px; }
.ps-detail-heading > p,.ps-detail-heading > div > p,.ps-detail-wide-heading p,.ps-module-intro-copy > p,.ps-turnkey-overview-grid > div > p,.ps-semi-overview-grid > div > p { color: var(--ps-red); font-size: 14px; font-weight: 700; line-height: 22px; letter-spacing: .055em; }
.ps-detail-heading h2,.ps-detail-wide-heading h2 { margin-top: 10px; font-size: 42px; font-weight: 700; line-height: 1.35; letter-spacing: -.03em; }
.ps-detail-heading > strong { display: block; margin-top: 12px; color: var(--ps-copy); font-size: 17px; font-weight: 400; line-height: 1.75; }
.ps-detail-dark .ps-detail-heading > strong { color: #aaa; }
.ps-detail-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; }
.ps-detail-heading-row > strong { width: 530px; margin: 0 0 4px; text-align: right; }

.ps-detail-cap-stage { position: relative; height: 1156px; padding-top: 72px; background: linear-gradient(110deg,#fafcff 0%,#eff3f9 56%,#e3e9f1 100%); }
.ps-detail-cap-stage::before,.ps-detail-cap-stage::after { position: absolute; border-radius: 50%; content: ''; filter: blur(90px); pointer-events: none; }
.ps-detail-cap-stage::before { top: -210px; right: -50px; width: 560px; height: 560px; background: rgba(209,79,48,.17); }
.ps-detail-cap-stage::after { bottom: -260px; left: -260px; width: 680px; height: 680px; background: rgba(255,245,220,.65); }
.ps-detail-wide-heading { position: relative; z-index: 1; display: flex; width: min(1360px,calc(100% - 48px)); margin: 0 auto; justify-content: space-between; gap: 50px; }
.ps-detail-wide-heading h2 { margin-top: 18px; font-size: 52px; line-height: 66px; }
.ps-detail-wide-heading > strong { flex: 0 0 620px; margin-top: 42px; color: var(--ps-copy); font-size: 19px; font-weight: 500; line-height: 31px; text-align: right; }
.ps-detail .ps-detail-cap-stage-image { position: relative; z-index: 1; width: min(1320px,calc(100% - 48px)); height: 789px; margin: 96px auto 0 max(24px,calc((100% - 1360px)/2)); padding: 8px 9px 11px 13px; overflow: hidden; border: 1px solid rgba(199,208,227,.75); border-radius: 30px; background: rgba(255,255,255,.94); box-shadow: 0 18px 44px -8px rgba(66,31,18,.12); }
.ps-detail-cap-stage-image > img { width: 100%; height: 100%; border-radius: 20px; object-fit: cover; }
.ps-detail-cap-stage-image > span { position: absolute; top: 24px; left: 24px; display: flex; height: 44px; align-items: center; padding: 0 20px; border-radius: 22px; background: var(--ps-red); color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 8px 18px -4px rgba(64,20,8,.18); }

.ps-detail-cap-layout { min-height: 1040px; padding-top: 70px; }
.ps-detail-cap-layout-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-top: 38px; }
.ps-detail-cap-layout-grid figure img { width: 100%; height: 430px; border: 1px solid #ded8d2; border-radius: 8px; object-fit: contain; background: #fff; }
.ps-detail-cap-layout-grid figcaption { margin-top: 18px; color: #4b4743; font-size: 13px; font-weight: 700; }
.ps-detail-parts { margin-top: 54px; overflow: hidden; border: 1px solid #ded8d2; border-radius: 4px; background: #f7f5f2; }
.ps-detail-parts-head { display: grid; height: 52px; grid-template-columns: repeat(2,1fr); align-items: center; background: #171717; color: rgba(255,255,255,.86); font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.ps-detail-parts-head span { padding-left: 24px; }
.ps-detail-parts-body { display: grid; grid-template-columns: repeat(2,1fr); }
.ps-detail-parts-body p { display: flex; min-height: 50px; align-items: center; padding: 0 24px; color: #383430; font-size: 15px; }
.ps-detail-parts-body p:nth-child(-n+3) { border-right: 1px solid rgba(222,216,210,.7); }
.ps-detail-parts-body p:nth-child(n+4) { grid-column: 2; }
.ps-detail-parts-body p:nth-child(4) { grid-row: 1; }.ps-detail-parts-body p:nth-child(5) { grid-row: 2; }.ps-detail-parts-body p:nth-child(6) { grid-row: 3; }
.ps-detail-parts-body b { flex: 0 0 42px; color: var(--ps-red); }

.ps-detail-photo-process { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.ps-detail-photo-process li { min-height: 284px; overflow: hidden; border: 1px solid #373737; border-radius: 7px; background: #222; transition: .3s ease; }
.ps-detail-photo-process li:hover,.ps-detail-photo-process li.is-current { border-color: #ea6a49; background: #2b2421; box-shadow: 0 0 0 1px rgba(234,106,73,.45),0 16px 34px rgba(209,79,48,.3); transform: translateY(-6px); }
.ps-detail-photo-process li.is-current img { filter: brightness(1.06) saturate(1.08); }
.ps-detail-photo-process img { width: calc(100% - 14px); height: 174px; margin: 7px; border-radius: 6px; object-fit: cover; }
.ps-detail-photo-process li > div { padding: 10px 15px 16px; }
.ps-detail-photo-process b { color: var(--ps-red); font-size: 12px; }
.ps-detail-photo-process strong { display: block; margin-top: 3px; font-size: 15px; }
.ps-detail-photo-process p { margin-top: 5px; color: #aaa; font-size: 13px; line-height: 1.5; }

/* Vacuum blood collection tube cap assembly: Figma 400:558 */
.ps-cap-process { height: 860px; padding: 62px 0 0; overflow: hidden; }
.ps-cap-process .ps-detail-heading { margin-bottom: 55px; }
.ps-cap-process .ps-detail-photo-process { gap: 20px 24px; }
.ps-cap-process .ps-detail-photo-process li { height: 270px; min-height: 270px; }
.ps-cap-process .ps-detail-photo-process img { width: calc(100% - 16px); height: 174px; margin: 8px; }
.ps-cap-process .ps-detail-photo-process li > div { position: relative; padding: 20px 16px 0; }
.ps-cap-process .ps-detail-photo-process li > div::before { position: absolute; top: 8px; left: 16px; width: 28px; height: 3px; background: var(--ps-red); content: ''; }
.ps-cap-process .ps-detail-photo-process b { display: inline-block; margin-right: 11px; font-size: 13px; line-height: 22px; vertical-align: top; }
.ps-cap-process .ps-detail-photo-process strong { display: inline-block; margin: 0; font-size: 16px; line-height: 22px; vertical-align: top; }
.ps-cap-process .ps-detail-photo-process li { transition: border-color .25s ease, transform .25s ease; }
.ps-cap-process .ps-detail-photo-process li:hover { border-color: var(--ps-red); background: #222; box-shadow: none; transform: translateY(-6px); }
.ps-cap-process .ps-detail-photo-process li.is-highlighted { border-color: var(--ps-red); background: #222; box-shadow: 0 0 0 1px rgba(209,79,48,.28),0 16px 34px rgba(0,0,0,.34); transform: translateY(-7px); }
.ps-cap-process .ps-detail-photo-process li > img { transition: filter .35s ease, transform .45s ease; }
.ps-cap-process .ps-detail-photo-process li.is-highlighted > img { filter: brightness(1.08) saturate(1.06); transform: scale(1.025); }
.ps-cap-process .ps-detail-photo-process li > div::before { transition: width .35s ease, box-shadow .35s ease; }
.ps-cap-process .ps-detail-photo-process li.is-highlighted > div::before { width: 48px; box-shadow: 0 0 12px rgba(209,79,48,.65); }
.ps-cap-process-note { margin-top: 52px; color: #7e7e7e; font-size: 14px; line-height: 20px; }

.ps-detail-spec-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.ps-detail-spec-grid > div { display: flex; min-height: 100px; flex-direction: column; justify-content: center; gap: 7px; padding: 16px 18px; border: 1px solid rgba(224,214,207,.75); border-radius: 16px; background: rgba(255,255,255,.9); transition: .25s ease; }
.ps-detail-spec-grid > div:hover { border-color: rgba(209,79,48,.5); box-shadow: 0 10px 24px rgba(75,40,27,.08); transform: translateY(-4px); }
.ps-detail-spec-grid dt { color: var(--ps-red); font-size: 13px; font-weight: 700; letter-spacing: .05em; }
.ps-detail-spec-grid dd { color: #1f1c1a; font-size: 16px; font-weight: 700; line-height: 1.45; }
.ps-detail-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.ps-detail-feature-grid article { min-height: 210px; padding: 28px; border: 1px solid #e3ddd7; border-radius: 8px; background: #fff; transition: .3s ease; }
.ps-detail-feature-grid article:hover { border-color: rgba(209,79,48,.5); box-shadow: 0 14px 28px rgba(72,40,25,.1); transform: translateY(-6px); }
.ps-detail-feature-grid img { width: 52px; height: 52px; object-fit: contain; }
.ps-detail-feature-grid h3 { margin-top: 18px; font-size: 18px; line-height: 1.55; }
.ps-detail-feature-grid p { margin-top: 5px; color: #575754; font-size: 15px; line-height: 1.65; }

.ps-detail-media { padding: 70px 0 95px; }
.ps-detail-media-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 28px; }
.ps-detail-media-grid.has-manual-only { grid-template-columns: 1fr; }
.ps-detail-media-grid figure { position: relative; height: 540px; overflow: hidden; border-radius: 20px; box-shadow: 0 18px 40px rgba(0,0,0,.2); }
.ps-detail-media-grid figure > img { width: 100%; height: 100%; object-fit: cover; }
.ps-detail-media-grid figure::after { position: absolute; inset: 0; background: rgba(0,0,0,.16); content: ''; }
.ps-detail-media-grid figure button { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 84px; height: 84px; padding-left: 5px; place-items: center; border: 0; border-radius: 50%; background: rgba(209,79,48,.95); color: #fff; font-size: 28px; cursor: pointer; transform: translate(-50%,-50%); transition: .25s ease; }
.ps-detail-media-grid figure button:hover { transform: translate(-50%,-50%) scale(1.08); }
.ps-detail-media-grid figcaption { position: absolute; z-index: 2; right: 28px; bottom: 24px; left: 28px; color: rgba(255,255,255,.8); font-size: 12px; letter-spacing: .08em; }
.ps-detail-media-grid figcaption b { display: block; margin-top: 5px; color: #fff; font-size: 20px; letter-spacing: 0; }
.ps-detail-media-grid article { display: flex; min-height: 320px; flex-direction: column; justify-content: center; padding: 40px; border: 1px solid #dde4ea; border-radius: 20px; background: #f6f8fb; }
.ps-detail-media-grid article > p { color: var(--ps-red); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.ps-detail-media-grid article h3 { margin-top: 10px; font-size: 28px; line-height: 1.45; }
.ps-detail-media-grid article > span { margin-top: 8px; color: #5d6873; font-size: 15px; line-height: 1.7; }
.ps-detail-media-grid article button { width: 100%; height: 60px; margin-top: 32px; border: 0; border-radius: 30px; background: var(--ps-red); color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; }

.ps-cap-video { height: 1008px; padding-top: 70px; background: #fff; }
.ps-cap-video .ps-detail-heading { margin-bottom: 32px; }
.ps-cap-video-frame { position: relative; height: 675px; overflow: hidden; border-radius: 20px; background: #111; box-shadow: 0 24px 50px rgba(19,25,31,.18); }
.ps-cap-video-frame > img { width: 100%; height: 100%; object-fit: cover; }
.ps-cap-video-frame > i { position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.ps-cap-video-frame > button { position: absolute; z-index: 2; top: 50%; left: 50%; width: 96px; height: 96px; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translate(-50%,-50%); transition: transform .25s ease; }
.ps-cap-video-frame > button:hover { transform: translate(-50%,-50%) scale(1.08); }
.ps-cap-video-frame > button img:first-child { width: 96px; height: 96px; }
.ps-cap-video-frame > button img:last-child { position: absolute; top: 31px; left: 35px; width: 30px; height: 34px; }
.ps-cap-video-frame > span { position: absolute; z-index: 2; right: 34px; bottom: 31px; color: #fff; font-size: 15px; font-weight: 700; line-height: 22px; letter-spacing: .04em; }

.ps-cap-manual { height: 320px; padding-top: 64px; background: #f6f8fb; }
.ps-cap-manual-card { display: flex; height: 192px; align-items: center; justify-content: space-between; gap: 48px; padding: 28px 36px; border: 1px solid #dfe5eb; border-radius: 20px; background: #fff; }
.ps-cap-manual-card p { color: var(--ps-red); font-size: 14px; font-weight: 700; line-height: 22px; letter-spacing: .055em; }
.ps-cap-manual-card h2 { margin-top: 5px; font-size: 34px; line-height: 48px; letter-spacing: -.03em; }
.ps-cap-manual-card div > span { display: block; margin-top: 3px; color: #67717b; font-size: 16px; line-height: 26px; }
.ps-cap-manual-card > button,
.ps-cap-manual-card > .ps-cap-catalog-download { display: flex; width: 254px; height: 64px; flex: 0 0 254px; align-items: center; justify-content: center; gap: 15px; border: 0; border-radius: 32px; background: var(--ps-red); color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; transition: .25s ease; }
.ps-cap-manual-card > button:hover,
.ps-cap-manual-card > .ps-cap-catalog-download:hover,
.ps-cap-manual-card > .ps-cap-catalog-download:focus-visible { box-shadow: 0 12px 26px rgba(209,79,48,.25); transform: translateY(-3px); }
.ps-cap-manual-card > button img,
.ps-cap-manual-card > .ps-cap-catalog-download img { width: 24px; height: 24px; }

.ps-module-intro { padding-top: 90px; background: #f7f4f1; }
.ps-module-intro-copy { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; }
.ps-module-intro-copy > p { grid-column: 1/-1; }
.ps-module-intro-copy h2 { font-size: 62px; line-height: 1.05; letter-spacing: -.045em; }
.ps-module-intro-copy > strong { color: var(--ps-copy); font-size: 18px; font-weight: 400; line-height: 1.9; }
.ps-module-core-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-top: 60px; }
.ps-module-core-grid a { position: relative; min-height: 520px; padding-bottom: 28px; overflow: hidden; border: 1px solid #e2ddd8; border-radius: 14px; background: #fff; transition: .3s ease; }
.ps-module-core-grid a:hover { box-shadow: 0 18px 38px rgba(70,40,25,.14); transform: translateY(-8px); }
.ps-module-core-grid img { width: 100%; height: 270px; object-fit: cover; }
.ps-module-core-grid span { position: absolute; top: 246px; left: 24px; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--ps-red); color: #fff; font-weight: 700; }
.ps-module-core-grid h3 { padding: 40px 24px 0; font-size: 26px; }
.ps-module-core-grid p { padding: 12px 24px 0; color: var(--ps-copy); font-size: 15px; line-height: 1.75; }
.ps-module-detail { padding: 100px 0; }
.ps-module-detail.is-alt { background: #f7f4f1; }
.ps-module-detail .ps-detail-heading { max-width: 900px; }
.ps-module-photo-pair { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; }
.ps-module-photo-pair img { width: 100%; height: 270px; border: 1px solid #ddd; border-radius: 14px; background: #fff; object-fit: cover; }
.ps-module-photo-pair img:last-child { object-fit: contain; }

/* Module business: Figma 530:2 */
.ps-detail--module .ps-detail-local-title { gap: 20px; }
.ps-detail--module .ps-detail-local-title strong { width: 180px; }
.ps-detail--module .ps-detail-local-title span { font-size: 16px; }
.ps-detail--module .ps-detail-local-links { flex: 0 0 710px; gap: 30px; }
.ps-detail--module .ps-detail-local-links a { width: 155px; justify-content: center; font-size: 18px; }

.ps-mod-overview { height: 820px; background: #fff; }
.ps-mod-overview-inner { position: relative; height: 100%; }
.ps-mod-overview-copy { position: absolute; top: 88px; left: 0; width: 900px; }
.ps-mod-overview-copy > p { color: var(--ps-red); font-size: 16px; font-weight: 700; line-height: 24px; }
.ps-mod-overview-copy h2 { margin: 20px 0 0; font-size: 48px; line-height: 64px; letter-spacing: -.025em; }
.ps-mod-overview-copy strong { display: block; margin-top: 16px; color: #525459; font-size: 19px; font-weight: 400; line-height: 31px; }
.ps-mod-count { position: absolute; top: 164px; right: 20px; width: 240px; color: var(--ps-red); font-size: 48px; line-height: 48px; text-align: right; text-shadow: 0 4px 4px rgba(0,0,0,.25); }
.ps-mod-overview-grid { position: absolute; top: 394px; left: 0; display: grid; width: 1180px; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ps-mod-overview-card { position: relative; height: 380px; overflow: hidden; border-radius: 14px; background: #f8f7f5; box-shadow: 0 10px 24px rgba(0,0,0,.14); transition: transform .3s ease, box-shadow .3s ease; }
.ps-mod-overview-card:hover { box-shadow: 0 18px 34px rgba(0,0,0,.22); transform: translateY(-8px); }
.ps-mod-overview-card > img { width: 100%; height: 100%; border-radius: 14px; object-fit: cover; transition: transform .45s ease; }
.ps-mod-overview-card:hover > img { transform: scale(1.035); }
.ps-mod-overview-card::after { position: absolute; inset: 0; border-radius: 14px; background: linear-gradient(to bottom,rgba(0,0,0,.02) 0%,rgba(0,0,0,.1) 46%,rgba(0,0,0,.9) 100%); content: ''; }
.ps-mod-overview-card > i { position: absolute; z-index: 2; top: 18px; left: 18px; width: 72px; height: 4px; border-radius: 2px; background: var(--ps-red); }
.ps-mod-overview-card > em { position: absolute; z-index: 2; top: 22px; right: 20px; color: rgba(255,255,255,.2); font-size: 72px; font-style: normal; font-weight: 700; line-height: 72px; }
.ps-mod-overview-card > div { position: absolute; z-index: 3; right: 16px; bottom: 16px; left: 16px; height: 150px; padding: 13px 15px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(9,9,9,.58); color: #fff; backdrop-filter: blur(6px); }
.ps-mod-overview-card > div b { color: var(--ps-red); font-size: 16px; line-height: 24px; }
.ps-mod-overview-card > div h3 { margin: 4px 0 0; font-size: 26px; line-height: 38px; }
.ps-mod-overview-card > div p { margin-top: 2px; color: rgba(255,255,255,.84); font-size: 17px; line-height: 28px; }

.ps-mod-detail { position: relative; height: 1490px; border-top: 1px solid #dadada; background: #fff; }
.ps-mod-detail--2 { height: 1610px; border-top: 0; background: #f7f8f6; }
.ps-mod-detail--3 { height: 1678px; border-top: 0; }
.ps-mod-detail-inner { position: relative; height: 100%; }
.ps-mod-detail-copy { position: absolute; top: 63px; left: 0; width: 540px; height: 390px; }
.ps-mod-detail--2 .ps-mod-detail-copy { top: 64px; left: 670px; width: 530px; }
.ps-mod-detail--3 .ps-mod-detail-copy { top: 87px; }
.ps-mod-detail-copy > b,.ps-mod-detail-copy > p,.ps-mod-detail-copy > h2,.ps-mod-detail-copy > strong,.ps-mod-detail-copy > span { position: absolute; left: 0; width: 100%; }
.ps-mod-detail-copy > b { top: 0; color: rgba(209,79,48,.18); font-size: 76px; line-height: 88px; }
.ps-mod-detail-copy > p { top: 102px; color: var(--ps-red); font-size: 16px; font-weight: 700; line-height: 24px; }
.ps-mod-detail-copy > h2 { top: 140px; font-size: 46px; line-height: 60px; letter-spacing: -.03em; }
.ps-mod-detail-copy > strong { top: 218px; color: #525459; font-size: 19px; font-weight: 400; line-height: 31px; }
.ps-mod-detail-copy > span { top: 334px; color: #6b6e73; font-size: 17px; line-height: 28px; }
.ps-mod-detail--2 .ps-mod-detail-copy > span { top: 350px; }
.ps-mod-detail--3 .ps-mod-detail-copy > span { top: 358px; }
.ps-mod-layout { position: absolute; top: 71px; left: 610px; width: 590px; height: 370px; padding: 17px 21px 18px; overflow: hidden; border: 1px solid #e3e0db; border-radius: 12px; background: #fff; }
.ps-mod-detail--2 .ps-mod-layout { top: 72px; left: 0; }
.ps-mod-detail--3 .ps-mod-layout { top: 95px; }
.ps-mod-layout figcaption,.ps-mod-gallery-label,.ps-mod-process-label,.ps-mod-config-label { color: var(--ps-red); font-size: 16px; font-weight: 700; line-height: 24px; }
.ps-mod-layout img { width: 100%; height: 292px; margin-top: 18px; object-fit: contain; }
.ps-mod-gallery-label,.ps-mod-process-label,.ps-mod-config-label { position: absolute; left: 0; width: 100%; }
.ps-mod-gallery-label { top: 479px; }
.ps-mod-detail--2 .ps-mod-gallery-label { top: 480px; }
.ps-mod-detail--3 .ps-mod-gallery-label { top: 503px; }
.ps-mod-gallery { position: absolute; top: 519px; left: 0; display: grid; width: 100%; height: 269px; grid-template-columns: repeat(2,1fr); gap: 20px; }
.ps-mod-detail--2 .ps-mod-gallery { top: 520px; height: 306px; }
.ps-mod-detail--3 .ps-mod-gallery { top: 543px; height: 304px; }
.ps-mod-gallery figure { height: 100%; overflow: hidden; border-radius: 12px; }
.ps-mod-gallery img { width: 100%; height: 100%; border-radius: 12px; object-fit: cover; }
.ps-mod-gallery img.is-crop-top { height: 200%; object-position: top; }
.ps-mod-process-label { top: 850px; }
.ps-mod-detail--2 .ps-mod-process-label { top: 858px; }
.ps-mod-detail--3 .ps-mod-process-label { top: 885px; }
.ps-mod-process-grid { position: absolute; top: 890px; left: 0; display: grid; width: 100%; grid-template-columns: repeat(4,1fr); gap: 20px; }
.ps-mod-detail--2 .ps-mod-process-grid { top: 898px; }
.ps-mod-detail--3 .ps-mod-process-grid { top: 925px; }
.ps-mod-process-grid li { position: relative; height: 336px; overflow: hidden; border: 1px solid #e0ded9; border-radius: 12px; background: #f8f7f5; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.ps-mod-detail--2 .ps-mod-process-grid li { background: #fff; }
.ps-mod-detail--2 .ps-mod-process-grid li { height: 449px; }
.ps-mod-detail--3 .ps-mod-process-grid li { height: 489px; }
.ps-mod-process-grid li:hover { border-color: var(--ps-red); box-shadow: 0 14px 28px rgba(65,35,23,.12); transform: translateY(-6px); }
.ps-mod-process-grid li > img { width: 100%; height: 170px; object-fit: cover; transition: transform .4s ease; }
.ps-mod-detail--2 .ps-mod-process-grid li > img { height: 290px; }
.ps-mod-detail--3 .ps-mod-process-grid li:nth-child(1) > img { height: 197px; }
.ps-mod-detail--3 .ps-mod-process-grid li:nth-child(2) > img { height: 286px; }
.ps-mod-detail--3 .ps-mod-process-grid li:nth-child(3) > img { height: 292px; }
.ps-mod-detail--3 .ps-mod-process-grid li:nth-child(4) > img { height: 293px; }
.ps-mod-process-grid li:hover > img { transform: scale(1.035); }
.ps-mod-process-grid li > div { position: relative; z-index: 1; height: 166px; padding: 11px 21px; background: inherit; }
.ps-mod-detail--2 .ps-mod-process-grid li > div { height: 159px; padding: 20px 21px; }
.ps-mod-detail--3 .ps-mod-process-grid li > div { position: absolute; top: 319px; right: 0; left: 0; height: 170px; padding: 10px 21px; }
.ps-mod-process-grid b { color: var(--ps-red); font-size: 16px; line-height: 24px; }
.ps-mod-process-grid h3 { margin: 10px 0 0; font-size: 20px; line-height: 30px; }
.ps-mod-process-grid p { margin-top: 12px; color: #5c5e63; font-size: 16px; line-height: 26px; }
.ps-mod-config-label { top: 1280px; }
.ps-mod-detail--2 .ps-mod-config-label { top: 1400px; }
.ps-mod-detail--3 .ps-mod-config-label { top: 1468px; }
.ps-mod-config-grid { position: absolute; top: 1318px; left: 0; display: grid; width: 100%; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ps-mod-detail--2 .ps-mod-config-grid { top: 1438px; }
.ps-mod-detail--3 .ps-mod-config-grid { top: 1506px; }
.ps-mod-config-grid article { height: 116px; padding: 18px 22px; border-top: 2px solid var(--ps-red); }
.ps-mod-config-grid h3 { font-size: 20px; line-height: 28px; }
.ps-mod-config-grid p { margin-top: 8px; color: #616369; font-size: 16px; line-height: 26px; }

.ps-detail-contact.is-module { height: 293px; background: var(--ps-red); }
.ps-detail-contact.is-module .ps-detail-contact-inner { min-height: 293px; }
.ps-detail-contact.is-module p { color: #ffd9d0; font-size: 16px; }
.ps-detail-contact.is-module h2 { margin-top: 12px; font-size: 36px; line-height: 1.45; }
.ps-detail-contact.is-module div > span { margin-top: 9px; color: #ffe8e2; font-size: 18px; }
.ps-detail-contact.is-module a { width: 260px; height: 66px; flex-basis: 260px; border-radius: 33px; background: #fff; color: var(--ps-red); }
.ps-detail-subtitle { margin: 56px 0 22px; color: var(--ps-red); font-size: 14px; letter-spacing: .07em; }
.ps-detail-flow-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.ps-detail-flow-grid li { position: relative; min-height: 180px; padding: 24px; border: 1px solid #ded8d2; border-radius: 10px; background: #fff; transition: .35s ease; }
.ps-detail-flow-grid li.is-current,.ps-detail-flow-grid li:hover { border-color: var(--ps-red); box-shadow: 0 14px 30px rgba(0,0,0,.13); transform: translateY(-6px); }
.ps-detail-flow-grid li b { color: var(--ps-red); font-size: 13px; }
.ps-detail-flow-grid li strong { display: block; margin-top: 22px; font-size: 18px; line-height: 1.45; }
.ps-detail-flow-grid li p { margin-top: 8px; color: #666; font-size: 14px; line-height: 1.65; }
.ps-detail-dark .ps-detail-flow-grid li { border-color: #3a3a3a; background: #222; }
.ps-detail-dark .ps-detail-flow-grid li p { color: #aaa; }
.ps-detail-config-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.ps-detail-config-grid article { padding: 25px; border-left: 4px solid var(--ps-red); background: #f7f5f2; }
.ps-detail-config-grid h4 { font-size: 18px; }
.ps-detail-config-grid p { margin-top: 8px; color: var(--ps-copy); font-size: 14px; line-height: 1.7; }

/* Turnkey project: Figma 531:420 */
.ps-detail--turnkey .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--turnkey .ps-detail-hero-copy i { width: 64px; }
.ps-detail--turnkey .ps-detail-hero-copy p { margin-top: 11px; font-size: 16px; line-height: 22px; }
.ps-detail--turnkey .ps-detail-hero-copy h1 { margin-top: 12px; font-size: 60px; line-height: 76px; letter-spacing: -2px; }
.ps-detail--turnkey .ps-detail-hero-copy strong { margin-top: 14px; font-family: Inter, sans-serif; font-size: 22px; line-height: 30px; }
.ps-detail--turnkey .ps-detail-local-title { width: 420px; flex: 0 0 420px; gap: 40px; }
.ps-detail--turnkey .ps-detail-local-title strong { width: 160px; }
.ps-detail--turnkey .ps-detail-local-title span { font-size: 16px; letter-spacing: .06em; }
.ps-detail--turnkey .ps-detail-local-links { width: 710px; flex: 0 0 710px; gap: 30px; }
.ps-detail--turnkey .ps-detail-local-links a { width: 155px; justify-content: center; font-size: 18px; }

.ps-turnkey-heading > p,
.ps-turnkey-overview-copy > p { color: var(--ps-red); font-family: Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 22px; letter-spacing: normal; }
.ps-turnkey-heading h2 { margin-top: 18px; font-size: 40px; line-height: 52px; letter-spacing: -.03em; }

.ps-turnkey-overview { height: 760px; overflow: hidden; background: #fff; }
.ps-turnkey-overview-layout { position: relative; height: 100%; }
.ps-turnkey-overview-copy { position: absolute; top: 90px; left: 0; width: 620px; }
.ps-turnkey-overview-copy h2 { margin-top: 18px; color: #121212; font-size: 42px; line-height: 55px; letter-spacing: -.035em; }
.ps-turnkey-overview-description { margin-top: 36px; color: #615e59; font-size: 18px; line-height: 30px; }
.ps-turnkey-overview-copy blockquote { height: 96px; margin: 57px 0 0; display: flex; align-items: center; padding: 0 25px; border-left: 5px solid var(--ps-red); border-radius: 0 4px 4px 0; background: #f7f5f2; color: #121212; font-size: 20px; font-weight: 500; line-height: 31px; }
.ps-turnkey-overview-image { position: absolute; top: 157px; left: 620px; width: 633px; height: 301px; overflow: hidden; border-radius: 6px; }
.ps-turnkey-overview-image img { width: 100%; height: 100%; object-fit: cover; }
.ps-turnkey-overview-rail { position: absolute; top: 580px; left: 0; width: 1200px; height: 92px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-top: 23px; border-top: 1px solid #ded9d4; }
.ps-turnkey-overview-rail > div { display: flex; flex-direction: column; color: #121212; font-size: 16px; font-weight: 700; line-height: 28px; }

.ps-turnkey-scope { height: 1155px; overflow: hidden; background: #131313; color: #fff; }
.ps-turnkey-scope-layout { position: relative; height: 100%; }
.ps-turnkey-scope .ps-turnkey-heading { position: absolute; top: 82px; left: 0; }
.ps-turnkey-scope-grid { position: absolute; top: 280px; left: 0; width: 1200px; height: 770px; }
.ps-turnkey-scope-grid article { position: absolute; width: 380px; height: 340px; overflow: hidden; border-radius: 6px; background: #202020; }
.ps-turnkey-scope-grid article:nth-child(1) { top: 0; left: 0; }
.ps-turnkey-scope-grid article:nth-child(2) { top: 0; left: 620px; }
.ps-turnkey-scope-grid article:nth-child(3) { top: 430px; left: 0; }
.ps-turnkey-scope-grid article:nth-child(4) { top: 430px; left: 410px; }
.ps-turnkey-scope-grid article:nth-child(5) { top: 430px; left: 820px; }
.ps-turnkey-scope-grid article.is-primary { width: 580px; height: 380px; }
.ps-turnkey-scope-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.16,1,.3,1); }
.ps-turnkey-scope-grid article > div { position: absolute; right: 0; bottom: 0; left: 0; height: 158px; padding: 22px 28px; background: rgba(0,0,0,.76); }
.ps-turnkey-scope-grid article.is-primary > div { height: 140px; padding: 21px 32px; background: rgba(0,0,0,.74); }
.ps-turnkey-scope-grid h3 { color: #fff; font-size: 23px; line-height: 27px; }
.ps-turnkey-scope-grid p { margin-top: 4px; color: #b8b2ad; font-size: 16px; line-height: 27px; }
.ps-turnkey-scope-grid article.is-primary h3 { font-size: 28px; line-height: 36px; }
.ps-turnkey-scope-grid article.is-primary p { margin-top: 3px; line-height: 25px; }
.ps-turnkey-scope-grid article:hover img { transform: scale(1.035); }

.ps-turnkey-process-section { height: 840px; overflow: hidden; background: #f7f5f2; }
.ps-turnkey-process-layout { position: relative; height: 100%; }
.ps-turnkey-process-section .ps-turnkey-heading { position: absolute; top: 78px; left: 0; }
.ps-turnkey-process-section .ps-turnkey-heading > strong { display: block; margin-top: 4px; color: #615e59; font-size: 18px; font-weight: 400; line-height: 30px; }
.ps-turnkey-process { position: absolute; top: 258px; left: 0; width: 1200px; border-top: 1px solid #d6d1c9; }
.ps-turnkey-process li { height: 97px; display: grid; grid-template-columns: 500px 660px; align-items: center; gap: 40px; border-bottom: 1px solid #d6d1c9; transition: color .25s ease, padding .25s ease; }
.ps-turnkey-process h3 { display: flex; align-items: center; color: #121212; font-size: 22px; line-height: 32px; }
.ps-turnkey-process h3 b { width: 50px; flex: 0 0 50px; color: var(--ps-red); }
.ps-turnkey-process p { color: #615e59; font-size: 17px; line-height: 28px; }
.ps-turnkey-process li:hover { padding-left: 10px; color: var(--ps-red); }

.ps-turnkey-brief { height: 640px; overflow: hidden; background: #fff; }
.ps-turnkey-brief-layout { position: relative; height: 100%; }
.ps-turnkey-brief .ps-turnkey-heading { position: absolute; top: 92px; left: 0; width: 440px; }
.ps-turnkey-brief .ps-turnkey-heading h2 { margin-top: 22px; font-size: 42px; line-height: 55px; }
.ps-turnkey-brief .ps-turnkey-heading > strong { display: block; margin-top: 40px; color: #615e59; font-size: 18px; font-weight: 400; line-height: 30px; }
.ps-turnkey-brief-grid { position: absolute; top: 90px; left: 500px; width: 700px; height: 460px; display: grid; grid-template-columns: repeat(2, 1fr); background: #f7f5f2; }
.ps-turnkey-brief-grid article { position: relative; height: 230px; padding: 38px 40px 0; }
.ps-turnkey-brief-grid article:nth-child(odd) { border-right: 1px solid #d6d1c9; }
.ps-turnkey-brief-grid article:nth-child(-n+2) { border-bottom: 1px solid #d6d1c9; }
.ps-turnkey-brief-grid b { color: var(--ps-red); font-family: Inter, sans-serif; font-size: 16px; line-height: 30px; }
.ps-turnkey-brief-grid h3 { color: #121212; font-size: 17px; line-height: 30px; }
.ps-turnkey-brief-grid img { position: absolute; top: 115px; left: 40px; width: 270px; height: 90px; object-fit: contain; }

.ps-semi-overview { min-height: 720px; padding: 90px 0; }
.ps-semi-overview-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.ps-semi-overview-grid h2 { margin-top: 12px; font-size: 52px; line-height: 1.25; letter-spacing: -.04em; }
.ps-semi-overview-grid strong { display: block; margin-top: 24px; color: var(--ps-copy); font-size: 18px; font-weight: 400; line-height: 1.9; }
.ps-semi-overview-grid span { display: inline-block; margin-top: 28px; padding: 12px 18px; border-radius: 6px; background: #f3eeea; color: #6b534b; font-size: 14px; font-weight: 700; }
.ps-semi-overview-grid > img { width: 100%; height: 540px; object-fit: contain; }
.ps-semi-equipment { padding: 74px 0 78px; }
.ps-semi-equipment-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.ps-semi-equipment-grid figure { height: 430px; overflow: hidden; border: 1px solid #d6d4cc; border-radius: 14px; background: #f7f7f7; }
.ps-semi-equipment-grid figure img { width: 100%; height: 100%; object-fit: contain; }
.ps-semi-equipment-grid figure img.is-flipped { transform: rotate(180deg); }
.ps-semi-equipment-grid > div { height: 430px; padding: 34px 36px; overflow: auto; border-radius: 14px; background: #0e0e0e; color: #fff; }
.ps-semi-equipment-grid > div > p { color: var(--ps-red); font-size: 14px; font-weight: 700; }
.ps-semi-equipment-grid ol { margin-top: 20px; }
.ps-semi-equipment-grid li { display: flex; min-height: 54px; align-items: center; border-bottom: 1px solid #303030; font-size: 14px; }
.ps-semi-equipment-grid li b { flex: 0 0 42px; color: var(--ps-red); }
.ps-semi-front { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 34px; }
.ps-semi-front img { width: 100%; height: 480px; border: 1px solid #ddd; border-radius: 14px; object-fit: contain; }
.ps-semi-process { padding: 74px 0 90px; }
.ps-semi-process .ps-detail-flow-grid { grid-template-columns: repeat(3,1fr); }
.ps-semi-operations { padding: 80px 0 90px; }
.ps-semi-operation-list { display: grid; gap: 30px; }
.ps-semi-operation-list article { display: grid; min-height: 238px; grid-template-columns: 1.6fr 1fr; align-items: center; gap: 34px; padding-bottom: 30px; border-bottom: 1px solid #dedede; }
.ps-semi-operation-list article:nth-child(even) { grid-template-columns: 1fr 1.6fr; }
.ps-semi-operation-list article:nth-child(even) img { grid-column: 2; }
.ps-semi-operation-list article:nth-child(even) > div { grid-row: 1; grid-column: 1; }
.ps-semi-operation-list img { width: 100%; height: 238px; border-radius: 10px; object-fit: cover; }
.ps-semi-operation-list b { color: var(--ps-red); font-size: 13px; }
.ps-semi-operation-list h3 { margin-top: 10px; font-size: 24px; line-height: 1.4; }
.ps-semi-operation-list p { margin-top: 12px; color: var(--ps-copy); font-size: 15px; line-height: 1.8; }

/* Wafer Tape Mounter (SAW Laminate): Figma 531:629 */
.ps-detail--saw { font-family: Inter, 'Noto Sans KR', sans-serif; }
.ps-detail--saw .ps-detail-hero-dim { background: linear-gradient(90deg,rgba(14,14,14,.94),rgba(14,14,14,.7) 55%,rgba(14,14,14,.2)); }
.ps-detail--saw .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--saw .ps-detail-hero-copy i { width: 64px; border-radius: 2px; }
.ps-detail--saw .ps-detail-hero-copy p { margin-top: 11px; font-family: Inter,sans-serif; font-size: 17px; line-height: 22px; }
.ps-detail--saw .ps-detail-hero-copy h1 { margin-top: 12px; font-family: Inter,sans-serif; font-size: 60px; line-height: 82px; letter-spacing: -2px; }
.ps-detail--saw .ps-detail-hero-copy strong { margin-top: 8px; font-family: Inter,sans-serif; font-size: 22px; line-height: 34px; }
.ps-detail--saw .ps-detail-local > .ps-detail-inner { position: relative; justify-content: flex-start; }
.ps-detail--saw .ps-detail-local-title { width: 440px; flex: 0 0 440px; gap: 10px; font-family: Inter,sans-serif; }
.ps-detail--saw .ps-detail-local-title strong { width: 250px; font-size: 18px; }
.ps-detail--saw .ps-detail-local-title span { width: 180px; font-size: 16px; letter-spacing: .06em; }
.ps-detail--saw .ps-detail-local-links { position: absolute; top: 0; left: 450px; width: 790px; gap: 10px; }
.ps-detail--saw .ps-detail-local-links a { width: 150px; flex: 0 0 150px; justify-content: flex-start; font-family: Inter,sans-serif; font-size: 16px; }
.ps-detail--saw .ps-detail-local-links a::after { right: auto; left: 10px; width: 108px; height: 3px; }

.ps-saw-section-layout { position: relative; height: 100%; }
.ps-saw-heading { position: absolute; top: 0; left: 0; }
.ps-saw-heading > p,.ps-saw-overview-copy > p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-saw-heading h2 { margin-top: 5px; color: #111; font-size: 42px; line-height: 1.45; }
.ps-saw-heading > strong { display: block; margin-top: -1px; color: #575757; font-size: 18px; font-weight: 400; line-height: 1.45; }

.ps-saw-overview { height: 720px; overflow: hidden; background: #fff; }
.ps-saw-overview-layout { position: relative; height: 100%; }
.ps-saw-overview-copy { position: absolute; top: 123px; left: 0; width: 590px; }
.ps-saw-overview-copy h2 { margin-top: 8px; color: #111; font-size: 46px; line-height: 1.2; letter-spacing: -.035em; }
.ps-saw-overview-copy > div { width: 570px; margin-top: 30px; color: #575757; font-size: 20px; line-height: 1.75; }
.ps-saw-overview-copy > strong { position: relative; width: 570px; height: 112px; margin-top: 51px; display: flex; align-items: center; padding: 24px 26px 8px; border-radius: 10px; background: #f6f5f2; color: #111; font-size: 17px; line-height: 1.5; }
.ps-saw-overview-copy > strong i { position: absolute; top: 26px; left: 26px; width: 28px; height: 3px; border-radius: 2px; background: var(--ps-red); }
.ps-saw-overview-image { position: absolute; top: 73px; right: -9px; width: 438px; height: 574px; overflow: hidden; border-radius: 16px; }
.ps-saw-overview-image img { width: 100%; height: 100%; object-fit: cover; }
.ps-saw-separator { height: 22px; border-bottom: 1px solid #ded9d4; background: #fff; }

.ps-saw-equipment { height: 760px; overflow: hidden; background: #fff; }
.ps-saw-equipment .ps-saw-heading { top: 74px; }
.ps-saw-equipment-drawing { position: absolute; top: 252px; left: 0; width: 760px; height: 430px; overflow: hidden; border: 1px solid #d6d4cc; border-radius: 14px; background: #f7f7f7; }
.ps-saw-equipment-drawing img { width: 100%; height: 100%; border-radius: 14px; object-fit: cover; }
.ps-saw-unit-panel { position: absolute; top: 252px; right: 0; width: 400px; height: 430px; padding: 30px 36px; border-radius: 14px; background: #0e0e0e; color: #fff; }
.ps-saw-unit-panel > p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-saw-unit-panel ol { margin-top: 16px; }
.ps-saw-unit-panel li { height: 64px; display: flex; align-items: center; border-bottom: 1px solid #333; }
.ps-saw-unit-panel li:last-child { border-bottom: 0; }
.ps-saw-unit-panel b { width: 54px; flex: 0 0 54px; color: var(--ps-red); font-size: 16px; }
.ps-saw-unit-panel span { font-size: 17px; font-weight: 500; line-height: 1.4; }

.ps-saw-sequence { height: 900px; overflow: hidden; background: #f6f5f2; }
.ps-saw-sequence .ps-saw-heading { top: 78px; }
.ps-saw-sequence-grid { position: absolute; top: 270px; left: 0; width: 1200px; height: 490px; display: grid; grid-template-columns: repeat(4,270px); grid-template-rows: repeat(3,130px); gap: 50px 40px; }
.ps-saw-sequence-grid li { position: relative; width: 270px; height: 130px; padding: 13px 19px; overflow: visible; border: 1px solid #d6d4cc; border-radius: 12px; background: #fff; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.ps-saw-sequence-grid li:nth-child(1){grid-area:1/1}.ps-saw-sequence-grid li:nth-child(2){grid-area:1/2}.ps-saw-sequence-grid li:nth-child(3){grid-area:1/3}.ps-saw-sequence-grid li:nth-child(4){grid-area:1/4}
.ps-saw-sequence-grid li:nth-child(5){grid-area:2/4}.ps-saw-sequence-grid li:nth-child(6){grid-area:2/3}.ps-saw-sequence-grid li:nth-child(7){grid-area:2/2}.ps-saw-sequence-grid li:nth-child(8){grid-area:2/1}
.ps-saw-sequence-grid li:nth-child(9){grid-area:3/1}.ps-saw-sequence-grid li:nth-child(10){grid-area:3/2}.ps-saw-sequence-grid li:nth-child(11){grid-area:3/3}.ps-saw-sequence-grid li:nth-child(12){grid-area:3/4}
.ps-saw-sequence-grid li::after { position: absolute; color: rgba(209,79,48,.8); font-size: 26px; font-weight: 400; line-height: 1.45; }
.ps-saw-sequence-grid li:nth-child(1)::after,.ps-saw-sequence-grid li:nth-child(2)::after,.ps-saw-sequence-grid li:nth-child(3)::after,.ps-saw-sequence-grid li:nth-child(9)::after,.ps-saw-sequence-grid li:nth-child(10)::after,.ps-saw-sequence-grid li:nth-child(11)::after { top: 45px; right: -27px; content: '→'; }
.ps-saw-sequence-grid li:nth-child(5)::after,.ps-saw-sequence-grid li:nth-child(6)::after,.ps-saw-sequence-grid li:nth-child(7)::after { top: 45px; left: -27px; content: '←'; }
.ps-saw-sequence-grid li:nth-child(4)::after,.ps-saw-sequence-grid li:nth-child(8)::after { bottom: -41px; left: 112px; content: '↓'; }
.ps-saw-sequence-grid b { color: var(--ps-red); font-size: 20px; line-height: 1.45; }
.ps-saw-sequence-grid h3 { margin-top: 4px; color: #111; font-size: 20px; line-height: 1.45; }
.ps-saw-sequence-grid p { margin-top: 1px; color: #575757; font-size: 17px; line-height: 1.55; }
.ps-saw-sequence-grid li:hover { z-index: 2; border-color: var(--ps-red); box-shadow: 0 12px 24px rgba(48,35,28,.11); transform: translateY(-4px); }

.ps-saw-operations { height: 1280px; overflow: hidden; background: #fff; }
.ps-saw-operations .ps-saw-heading { top: 78px; }
.ps-saw-operation-list article { position: absolute; left: 0; width: 1200px; height: 270px; }
.ps-saw-operation-list article:nth-child(1){top:250px}.ps-saw-operation-list article:nth-child(2){top:588px}.ps-saw-operation-list article:nth-child(3){top:920px}
.ps-saw-operation-list article::after { position: absolute; right: 0; bottom: -37px; left: 0; height: 1px; background: #ded9d4; content: ''; }
.ps-saw-operation-list article:last-child::after { display: none; }
.ps-saw-operation-list img { position: absolute; top: 0; left: 0; width: 737px; height: 270px; border-radius: 10px; object-fit: cover; }
.ps-saw-operation-list article > div { position: absolute; top: 43px; left: 753px; width: 447px; }
.ps-saw-operation-list article:nth-child(2) img { left: 463px; }
.ps-saw-operation-list article:nth-child(2) > div { left: 0; width: 427px; }
.ps-saw-operation-list article:nth-child(3) > div { left: 762px; width: 438px; }
.ps-saw-operation-list h3 { color: #111; font-size: 26px; line-height: 1.45; }
.ps-saw-operation-list p { margin-top: 17px; color: #575757; font-size: 17px; line-height: 1.55; }

.ps-saw-specs { height: 760px; overflow: hidden; background: #f6f5f2; }
.ps-saw-specs .ps-saw-heading { top: 70px; }
.ps-saw-spec-grid { position: absolute; top: 246px; left: 0; width: 1180px; display: grid; grid-template-columns: repeat(2,570px); grid-auto-rows: 86px; gap: 24px 40px; }
.ps-saw-spec-grid > div { display: grid; grid-template-columns: 160px minmax(0,1fr); align-items: center; padding: 0 23px; border: 1px solid #d6d4cc; border-radius: 8px; background: #fff; }
.ps-saw-spec-grid dt { color: #575757; font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-saw-spec-grid dd { color: #111; font-size: 18px; font-weight: 600; line-height: 1.4; }
.ps-saw-spec-note { position: absolute; top: 675px; left: 0; color: #575757; font-size: 16px; line-height: 1.45; }

.ps-saw-media { height: 700px; overflow: hidden; background: #fff; }
.ps-saw-media .ps-saw-heading { top: 72px; }
.ps-saw-media .ps-saw-heading h2 { margin-top: 3px; font-size: 44px; line-height: 56px; }
.ps-saw-media .ps-saw-heading > strong { margin-top: 4px; color: #615c59; line-height: 30px; }
.ps-saw-media-grid { position: absolute; top: 250px; left: 0; width: 1200px; display: grid; grid-template-columns: 760px 410px; gap: 30px; }
.ps-saw-video-card { position: relative; height: 340px; overflow: hidden; border-radius: 8px; background: #111; color: #fff; }
.ps-saw-video-card > img,.ps-saw-video-card > i { position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-saw-video-card > img { object-fit: cover; }.ps-saw-video-card > i { background: rgba(5,5,5,.48); }
.ps-saw-video-card > button { position: absolute; top: 104px; left: 340px; z-index: 2; width: 80px; height: 80px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: transform .25s ease; }
.ps-saw-video-card > button:hover { transform: scale(1.08); }
.ps-saw-video-card > button img { width: 80px; height: 80px; }
.ps-saw-video-card figcaption { position: absolute; z-index: 2; top: 238px; left: 40px; }
.ps-saw-video-card figcaption b { display: block; color: var(--ps-red); font-size: 16px; line-height: 24px; }
.ps-saw-video-card figcaption strong { display: block; margin-top: 8px; font-size: 28px; line-height: 36px; }
.ps-saw-manual-card { position: relative; height: 340px; padding: 35px 39px 25px; border: 1px solid #ded9d4; border-radius: 8px; background: #fff; }
.ps-saw-manual-card > img { width: 64px; height: 64px; }
.ps-saw-manual-card > p { margin-top: 24px; color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 24px; }
.ps-saw-manual-card h3 { margin-top: 10px; color: #111; font-size: 26px; line-height: 34px; }
.ps-saw-manual-card > span { display: block; margin-top: 5px; color: #615c59; font-size: 16px; line-height: 26px; }
.ps-saw-manual-card > button { position: absolute; bottom: 25px; left: 39px; width: 330px; height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 0; border-radius: 4px; background: var(--ps-red); color: #fff; font-size: 17px; cursor: pointer; }
.ps-saw-manual-card > button img { width: 20px; height: 20px; }

/* Auto Tape Mounter (Back Grind Tape): Figma 531:838 */
.ps-detail--grind { font-family: Inter, 'Noto Sans KR', sans-serif; }
.ps-detail--grind .ps-detail-hero-dim { background: linear-gradient(90deg,rgba(14,14,14,.94),rgba(14,14,14,.7) 55%,rgba(14,14,14,.2)); }
.ps-detail--grind .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--grind .ps-detail-hero-copy i { width: 64px; border-radius: 2px; }
.ps-detail--grind .ps-detail-hero-copy p { margin-top: 11px; font-family: Inter,sans-serif; font-size: 17px; line-height: 22px; }
.ps-detail--grind .ps-detail-hero-copy h1 { margin-top: 12px; font-family: Inter,sans-serif; font-size: 60px; line-height: 82px; letter-spacing: -2px; }
.ps-detail--grind .ps-detail-hero-copy strong { margin-top: 8px; font-family: Inter,sans-serif; font-size: 22px; line-height: 34px; }
.ps-detail--grind .ps-detail-local > .ps-detail-inner { position: relative; justify-content: flex-start; }
.ps-detail--grind .ps-detail-local-title { width: 440px; flex: 0 0 440px; gap: 10px; font-family: Inter,sans-serif; }
.ps-detail--grind .ps-detail-local-title strong { width: 250px; font-size: 18px; }
.ps-detail--grind .ps-detail-local-title span { width: 180px; font-size: 16px; letter-spacing: .06em; }
.ps-detail--grind .ps-detail-local-links { position: absolute; top: 0; left: 450px; width: 790px; gap: 0; justify-content: space-between; }
.ps-detail--grind .ps-detail-local-links a { width: auto; flex: 0 0 auto; justify-content: flex-start; font-family: Inter,sans-serif; font-size: 16px; }
.ps-detail--grind .ps-detail-local-links a::after { right: auto; left: 10px; width: 108px; height: 3px; }

.ps-detail--grind .ps-saw-overview-image { top: 84px; right: 0; width: 550px; height: 548px; }
.ps-detail--grind .ps-saw-overview-image img { object-fit: contain; }
.ps-detail--grind .ps-saw-separator.is-grind { position: relative; height: 0; border: 0; }
.ps-detail--grind .ps-saw-separator.is-grind::after { position: absolute; top: -1px; right: 0; left: 0; height: 1px; background: #ded9d4; content: ''; }
.ps-detail--grind .ps-saw-equipment-drawing img { object-fit: contain; }
.ps-detail--grind .ps-saw-equipment-drawing img.is-flipped { transform: rotate(180deg); }

.ps-saw-sequence.is-grind .ps-saw-sequence-grid { height: 515px; grid-template-rows: 130px 130px 155px; }
.ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(9),
.ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(10) { height: 155px; }
.ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(10)::after { display: none; }

.ps-saw-operations.is-grind { height: 960px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article { height: 269px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(1) { top: 250px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(2) { top: 571px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article::after { bottom: -27px; }
.ps-saw-operations.is-grind .ps-saw-operation-list img { height: 269px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(1) > div { top: 21px; left: 752px; width: 448px; }
.ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(2) > div { top: 56px; left: 0; width: 440px; }

.ps-saw-specs.is-grind { height: 900px; }
.ps-saw-specs.is-grind .ps-saw-spec-note { top: 796px; }

.ps-detail-contact.is-saw,
.ps-detail-contact.is-grind { height: 260px; background: #0e0e0e; }
.ps-detail-contact.is-saw .ps-detail-contact-inner,
.ps-detail-contact.is-grind .ps-detail-contact-inner { position: relative; height: 260px; min-height: 260px; }
.ps-detail-contact.is-saw .ps-detail-contact-inner > div,
.ps-detail-contact.is-grind .ps-detail-contact-inner > div { position: absolute; top: 56px; left: 0; }
.ps-detail-contact.is-saw p,
.ps-detail-contact.is-grind p { font-family: Inter,sans-serif; font-size: 16px; line-height: 1.45; letter-spacing: normal; }
.ps-detail-contact.is-saw h2,
.ps-detail-contact.is-grind h2 { margin-top: 7px; font-family: Inter,sans-serif; font-size: 34px; line-height: 1.45; }
.ps-detail-contact.is-saw div > span,
.ps-detail-contact.is-grind div > span { margin-top: 0; font-family: Inter,sans-serif; font-size: 18px; line-height: 1.45; }
.ps-detail-contact.is-saw a,
.ps-detail-contact.is-grind a { position: absolute; top: 92px; right: 0; border-radius: 6px; font-family: Inter,sans-serif; font-weight: 600; }

.ps-detail-contact { background: #151515; color: #fff; }
.ps-detail-contact-inner { display: flex; width: min(1200px,calc(100% - 48px)); min-height: 260px; margin: 0 auto; align-items: center; justify-content: space-between; gap: 50px; }
.ps-detail-contact p { color: var(--ps-red); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.ps-detail-contact h2 { margin-top: 10px; font-size: 32px; line-height: 1.45; }
.ps-detail-contact div > span { display: block; margin-top: 8px; color: #bfbfbf; font-size: 16px; }
.ps-detail-contact a { display: flex; width: 260px; height: 64px; flex: 0 0 260px; align-items: center; justify-content: center; gap: 12px; border-radius: 6px; background: var(--ps-red); font-size: 18px; font-weight: 700; transition: .25s ease; }
.ps-detail-contact a:hover { box-shadow: 0 12px 28px rgba(0,0,0,.28); transform: translateY(-4px); }
.ps-detail-contact.is-cap { background: var(--ps-red); }
.ps-detail-contact.is-cap .ps-detail-contact-inner { width: min(1653px,calc(100% - 96px)); min-height: 293px; }
.ps-detail-contact.is-cap h2 { margin: 0; font-size: 45px; line-height: 1.5; letter-spacing: -.03em; }
.ps-detail-contact.is-cap a { width: 220px; height: 62px; flex-basis: 220px; border-radius: 31px; background: #fff; color: var(--ps-red); }
.ps-detail-contact.is-turnkey { height: 260px; background: #131313; }
.ps-detail-contact.is-turnkey .ps-detail-contact-inner { position: relative; height: 260px; min-height: 260px; }
.ps-detail-contact.is-turnkey .ps-detail-contact-inner > div { position: absolute; top: 54px; left: 0; }
.ps-detail-contact.is-turnkey p { font-family: Inter, sans-serif; font-size: 16px; line-height: 22px; letter-spacing: normal; }
.ps-detail-contact.is-turnkey h2 { margin-top: 14px; font-size: 32px; line-height: 44px; }
.ps-detail-contact.is-turnkey div > span { margin-top: 2px; color: #b8b2ad; font-size: 18px; line-height: 28px; }
.ps-detail-contact.is-turnkey a { position: absolute; top: 92px; right: 0; border-radius: 3px; font-weight: 500; }

.ps-detail-reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.65,.25,1); }
.ps-detail-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion:reduce){.ps-detail-hero>img{animation:none;transform:scale(1.025)}.ps-detail-reveal{opacity:1;transform:none;transition:none}}

@media (max-width:1280px){
    .ps-detail-wide-heading,.ps-detail-cap-stage-image { width: calc(100% - 48px); }
    .ps-detail .ps-detail-cap-stage-image { margin-right:auto; margin-left:auto; }
    .ps-detail-wide-heading h2 { font-size: 46px; }
    .ps-detail-local-links { gap: 24px; overflow-x: auto; }
}

@media (max-width:900px){
    .ps-detail-hero { height: 460px; }.ps-detail-hero-copy { padding-top: 128px; }.ps-detail-hero-copy h1 { font-size: 48px; }
    .ps-detail-local { height: auto; }.ps-detail-local > div { display: block; width: 100%; }.ps-detail-local-title { height: 68px; padding: 0 24px; border-bottom: 1px solid #eee; }.ps-detail-local-links { height: 66px; padding: 0 24px; }
    .ps-detail-heading-row,.ps-detail-wide-heading { display: block; }.ps-detail-heading-row > strong,.ps-detail-wide-heading > strong { display: block; width: auto; margin: 20px 0 0; text-align: left; }
    .ps-detail-cap-stage { height: auto; padding: 70px 0 80px; }.ps-detail .ps-detail-cap-stage-image { height: auto; aspect-ratio: 1320/789; margin-top: 48px; }
    .ps-detail-cap-layout-grid,.ps-module-photo-pair,.ps-turnkey-overview-grid,.ps-semi-overview-grid { grid-template-columns: 1fr; }
    .ps-detail-photo-process,.ps-detail-spec-grid,.ps-detail-flow-grid,.ps-semi-process .ps-detail-flow-grid { grid-template-columns: repeat(2,1fr); }
    .ps-cap-process { height: auto; padding: 62px 0 70px; }.ps-cap-process .ps-detail-heading { margin-bottom: 40px; }.ps-cap-process .ps-detail-photo-process li { height: 270px; }.ps-cap-process-note { margin-top: 40px; }
    .ps-detail-feature-grid,.ps-module-core-grid,.ps-detail-config-grid { grid-template-columns: 1fr; }
    .ps-detail-media-grid { grid-template-columns: 1fr; }.ps-detail-media-grid figure { height: auto; aspect-ratio: 16/9; }
    .ps-cap-video { height: auto; padding: 62px 0 72px; }.ps-cap-video-frame { height: auto; aspect-ratio: 16/9; }
    .ps-cap-manual { height: auto; padding: 52px 0; }.ps-cap-manual-card { height: auto; min-height: 192px; }
    .ps-module-intro-copy { grid-template-columns: 1fr; }.ps-module-intro-copy > p { grid-column: auto; }.ps-module-core-grid a { min-height: 0; }
    .ps-turnkey-scope-grid { grid-template-columns: 1fr 1fr; }.ps-turnkey-scope-grid article,.ps-turnkey-scope-grid article:nth-child(-n+2) { grid-column: auto; }
    .ps-turnkey-brief-grid { grid-template-columns: repeat(2,1fr); }
    .ps-semi-overview-grid > img { height: auto; max-height: 520px; }.ps-semi-equipment-grid { grid-template-columns: 1fr; }.ps-semi-equipment-grid > div { height: auto; }.ps-semi-front { grid-template-columns: 1fr; }
    .ps-semi-operation-list article,.ps-semi-operation-list article:nth-child(even) { grid-template-columns: 1fr; }.ps-semi-operation-list article:nth-child(even) img,.ps-semi-operation-list article:nth-child(even)>div { grid-row:auto;grid-column:auto; }
    .ps-detail-contact-inner { padding: 55px 0; }
    .ps-detail-contact.is-cap .ps-detail-contact-inner { width: calc(100% - 48px); min-height: 0; }.ps-detail-contact.is-cap h2 { font-size: 36px; }
    .ps-detail--module .ps-detail-local-title strong { width:auto; }.ps-detail--module .ps-detail-local-links { width:100%;flex-basis:auto;gap:24px; }.ps-detail--module .ps-detail-local-links a { width:auto;font-size:15px; }
    .ps-mod-overview { height:auto;padding:70px 0 76px; }.ps-mod-overview-inner { height:auto; }.ps-mod-overview-copy,.ps-mod-count,.ps-mod-overview-grid { position:static; }.ps-mod-overview-copy { width:auto; }.ps-mod-count { display:block;width:auto;margin-top:28px;text-align:left; }.ps-mod-overview-grid { width:100%;grid-template-columns:repeat(2,1fr);margin-top:45px; }
    .ps-mod-detail,.ps-mod-detail--2,.ps-mod-detail--3 { height:auto;padding:70px 0 80px; }.ps-mod-detail-inner { height:auto; }.ps-mod-detail-copy,.ps-mod-detail--2 .ps-mod-detail-copy,.ps-mod-detail--3 .ps-mod-detail-copy { position:relative;top:auto;left:auto;width:auto;height:auto; }.ps-mod-detail-copy > b,.ps-mod-detail-copy > p,.ps-mod-detail-copy > h2,.ps-mod-detail-copy > strong,.ps-mod-detail-copy > span { position:static;display:block;width:auto; }.ps-mod-detail-copy > p { margin-top:14px; }.ps-mod-detail-copy > h2 { margin-top:14px; }.ps-mod-detail-copy > strong { margin-top:18px; }.ps-mod-detail-copy > span,.ps-mod-detail--2 .ps-mod-detail-copy > span,.ps-mod-detail--3 .ps-mod-detail-copy > span { margin-top:28px; }
    .ps-detail .ps-mod-layout,.ps-detail .ps-mod-detail--2 .ps-mod-layout,.ps-detail .ps-mod-detail--3 .ps-mod-layout { position:relative;top:auto;left:auto;width:100%;height:370px;margin:40px 0 0; }
    .ps-mod-gallery-label,.ps-mod-process-label,.ps-mod-config-label,.ps-mod-detail--2 .ps-mod-gallery-label,.ps-mod-detail--3 .ps-mod-gallery-label,.ps-mod-detail--2 .ps-mod-process-label,.ps-mod-detail--3 .ps-mod-process-label,.ps-mod-detail--2 .ps-mod-config-label,.ps-mod-detail--3 .ps-mod-config-label { position:static;margin-top:38px; }
    .ps-mod-gallery,.ps-mod-detail--2 .ps-mod-gallery,.ps-mod-detail--3 .ps-mod-gallery { position:static;height:auto;margin-top:16px; }.ps-mod-gallery figure { height:auto;aspect-ratio:590/269; }
    .ps-mod-process-grid,.ps-mod-detail--2 .ps-mod-process-grid,.ps-mod-detail--3 .ps-mod-process-grid { position:static;grid-template-columns:repeat(2,1fr);margin-top:16px; }
    .ps-mod-config-grid,.ps-mod-detail--2 .ps-mod-config-grid,.ps-mod-detail--3 .ps-mod-config-grid { position:static;margin-top:14px; }
    .ps-detail-contact.is-module { height:auto; }.ps-detail-contact.is-module .ps-detail-contact-inner { min-height:0; }
}

@media (max-width:560px){
    .ps-detail-inner { width: calc(100% - 40px); }.ps-detail-section { padding: 58px 0 64px; }
    .ps-detail-hero { height: 420px; }.ps-detail-hero-copy { padding-top: 112px; }.ps-detail-hero-copy h1 { font-size: 34px; line-height: 1.35; }.ps-detail-hero-copy strong { font-size: 16px; line-height: 1.6; }
    .ps-detail-local-title { gap: 20px; padding: 0 20px; }.ps-detail-local-title strong { font-size: 17px; }.ps-detail-local-links { padding: 0 20px; }.ps-detail-local-links a { font-size: 14px; }
    .ps-detail-heading h2,.ps-detail-wide-heading h2 { font-size: 30px; line-height: 1.4; }.ps-detail-heading > strong,.ps-detail-wide-heading > strong { font-size: 15px; line-height: 1.75; }
    .ps-detail-cap-stage { padding: 56px 0; }.ps-detail-wide-heading { width: calc(100% - 40px); }.ps-detail .ps-detail-cap-stage-image { width: calc(100% - 40px); padding: 4px; border-radius: 12px; }.ps-detail-cap-stage-image > img { border-radius: 9px; }.ps-detail-cap-stage-image > span { top: 10px; left: 10px; height: 28px; padding: 0 10px; font-size: 8px; }
    .ps-detail-cap-layout-grid { gap: 24px; }.ps-detail-cap-layout-grid figure img { height: auto; aspect-ratio: 579/430; }
    .ps-detail-parts-head { grid-template-columns: 1fr; }.ps-detail-parts-head span:last-child { display:none; }.ps-detail-parts-body { grid-template-columns: 1fr; }.ps-detail-parts-body p,.ps-detail-parts-body p:nth-child(n+4) { grid-row:auto;grid-column:auto;border-right:0;border-bottom:1px solid #e4e0dc;font-size:12px;padding:0 15px; }.ps-detail-parts-body b { flex-basis:34px; }
    .ps-detail-photo-process,.ps-detail-spec-grid,.ps-detail-flow-grid,.ps-semi-process .ps-detail-flow-grid,.ps-turnkey-scope-grid,.ps-turnkey-brief-grid { grid-template-columns: 1fr; }
    .ps-detail-photo-process li { min-height:0; }.ps-detail-photo-process img { height:180px; }
    .ps-cap-process { padding: 56px 0 64px; }.ps-cap-process .ps-detail-heading { margin-bottom: 32px; }.ps-cap-process .ps-detail-photo-process li { height: 270px; }.ps-cap-process-note { margin-top: 30px; font-size: 12px; line-height: 1.65; }
    .ps-detail-feature-grid { gap:16px; }.ps-detail-feature-grid article { min-height:0; }
    .ps-detail-media-grid figure { border-radius:12px; }.ps-detail-media-grid figure button { width:58px;height:58px;font-size:20px; }.ps-detail-media-grid article { min-height:0;padding:28px 22px; }
    .ps-cap-video { padding: 56px 0 64px; }.ps-cap-video .ps-detail-heading { margin-bottom: 28px; }.ps-cap-video-frame { border-radius: 12px; }.ps-cap-video-frame > button { width: 64px; height: 64px; }.ps-cap-video-frame > button img:first-child { width:64px;height:64px; }.ps-cap-video-frame > button img:last-child { top:21px;left:24px;width:20px;height:23px; }.ps-cap-video-frame > span { right:16px;bottom:14px;font-size:12px; }
    .ps-cap-manual { padding: 40px 0; }.ps-cap-manual-card { display:block;padding:26px 22px;border-radius:14px; }.ps-cap-manual-card h2 { font-size:25px;line-height:1.45; }.ps-cap-manual-card div > span { font-size:14px; }.ps-cap-manual-card > button,.ps-cap-manual-card > .ps-cap-catalog-download { width:100%;height:56px;margin-top:25px; }
    .ps-module-intro-copy h2,.ps-semi-overview-grid h2,.ps-turnkey-overview-grid h2 { font-size:38px; }.ps-module-core-grid img { height:220px; }.ps-module-photo-pair img { height:auto;aspect-ratio:285/130; }
    .ps-turnkey-overview-grid > img { height:auto; }.ps-turnkey-keywords b { display:block;width:auto;margin-bottom:5px; }.ps-turnkey-process li { align-items:flex-start;gap:18px; }.ps-turnkey-process li> b { font-size:22px; }
    .ps-semi-overview { min-height:0; }.ps-semi-equipment-grid figure { height:auto;aspect-ratio:760/430; }.ps-semi-front img { height:auto;aspect-ratio:1/1; }.ps-semi-operation-list img { height:180px; }
    .ps-detail-contact-inner { display:block;width:calc(100% - 40px); }.ps-detail-contact h2 { font-size:26px; }.ps-detail-contact a { width:100%;height:58px;margin-top:30px; }
    .ps-detail-contact.is-cap .ps-detail-contact-inner { width:calc(100% - 40px); }.ps-detail-contact.is-cap h2 { font-size:28px; }.ps-detail-contact.is-cap a { width:100%;height:58px; }
    .ps-detail--module .ps-detail-local-title strong { width:auto; }.ps-detail--module .ps-detail-local-title span { font-size:13px; }.ps-detail--module .ps-detail-local-links { gap:22px; }.ps-detail--module .ps-detail-local-links a { flex:0 0 auto;font-size:14px; }
    .ps-mod-overview { padding:56px 0 64px; }.ps-mod-overview-copy h2 { margin-top:14px;font-size:36px;line-height:1.25; }.ps-mod-overview-copy strong { font-size:16px;line-height:1.75; }.ps-mod-count { font-size:34px;line-height:1.15; }.ps-mod-overview-grid { grid-template-columns:1fr;margin-top:34px; }.ps-mod-overview-card { height:335px; }.ps-mod-overview-card > div { height:142px; }.ps-mod-overview-card > div h3 { font-size:23px; }.ps-mod-overview-card > div p { font-size:14px;line-height:1.65; }
    .ps-mod-detail,.ps-mod-detail--2,.ps-mod-detail--3 { padding:56px 0 64px; }.ps-mod-detail-copy > b { font-size:58px;line-height:1.1; }.ps-mod-detail-copy > p { margin-top:10px;font-size:14px; }.ps-mod-detail-copy > h2 { margin-top:8px;font-size:34px;line-height:1.35; }.ps-mod-detail-copy > strong { margin-top:15px;font-size:16px;line-height:1.8; }.ps-mod-detail-copy > span,.ps-mod-detail--2 .ps-mod-detail-copy > span,.ps-mod-detail--3 .ps-mod-detail-copy > span { margin-top:20px;font-size:14px; }
    .ps-detail .ps-mod-layout,.ps-detail .ps-mod-detail--2 .ps-mod-layout,.ps-detail .ps-mod-detail--3 .ps-mod-layout { height:auto;padding:16px;margin-top:30px; }.ps-mod-layout img { height:auto;aspect-ratio:546/292;margin-top:12px; }
    .ps-mod-gallery { grid-template-columns:1fr;gap:14px; }.ps-mod-gallery figure { aspect-ratio:590/269; }.ps-mod-gallery img.is-crop-top { height:200%; }
    .ps-mod-process-grid,.ps-mod-detail--2 .ps-mod-process-grid,.ps-mod-detail--3 .ps-mod-process-grid,.ps-mod-config-grid,.ps-mod-detail--2 .ps-mod-config-grid,.ps-mod-detail--3 .ps-mod-config-grid { grid-template-columns:1fr; }
    .ps-mod-process-grid li,.ps-mod-detail--2 .ps-mod-process-grid li,.ps-mod-detail--3 .ps-mod-process-grid li { height:auto; }
    .ps-mod-process-grid li > img,.ps-mod-detail--2 .ps-mod-process-grid li > img,.ps-mod-detail--3 .ps-mod-process-grid li:nth-child(n) > img { height:auto; aspect-ratio:auto; object-fit:contain; }
    .ps-mod-process-grid li > div,.ps-mod-detail--2 .ps-mod-process-grid li > div,.ps-mod-detail--3 .ps-mod-process-grid li > div { position:relative;top:auto;right:auto;left:auto;height:auto;min-height:170px;padding:15px 21px; }
    .ps-mod-config-grid article { height:auto;min-height:108px; }
    .ps-detail-contact.is-module h2 { font-size:27px; }.ps-detail-contact.is-module div > span { font-size:15px;line-height:1.7; }.ps-detail-contact.is-module a { width:100%;height:58px; }
}

@media (max-width:900px){
    .ps-detail--turnkey .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--turnkey .ps-detail-hero-copy h1 { font-size: 46px; line-height: 1.3; }
    .ps-detail--turnkey .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--turnkey .ps-detail-local-title { width: 100%; flex-basis: auto; }
    .ps-detail--turnkey .ps-detail-local-title strong { width: auto; }
    .ps-detail--turnkey .ps-detail-local-links { width: 100%; flex-basis: auto; gap: 24px; }
    .ps-detail--turnkey .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 15px; }

    .ps-turnkey-overview,
    .ps-turnkey-scope,
    .ps-turnkey-process-section,
    .ps-turnkey-brief { height: auto; padding: 70px 0 76px; overflow: visible; }
    .ps-turnkey-overview-layout,
    .ps-turnkey-scope-layout,
    .ps-turnkey-process-layout,
    .ps-turnkey-brief-layout { height: auto; }
    .ps-turnkey-overview-layout { display: grid; gap: 38px; }
    .ps-turnkey-overview-copy,
    .ps-turnkey-overview-image,
    .ps-turnkey-overview-rail,
    .ps-turnkey-scope .ps-turnkey-heading,
    .ps-turnkey-scope-grid,
    .ps-turnkey-process-section .ps-turnkey-heading,
    .ps-turnkey-process,
    .ps-turnkey-brief .ps-turnkey-heading,
    .ps-turnkey-brief-grid { position: static; width: 100%; }
    .ps-turnkey-overview-description br { display: none; }
    .ps-turnkey-overview-copy blockquote { margin-top: 40px; }
    .ps-turnkey-overview-image { height: auto; aspect-ratio: 633/301; }
    .ps-turnkey-overview-rail { height: auto; margin-top: 4px; }

    .ps-turnkey-scope-grid { height: auto; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-top: 42px; }
    .ps-turnkey-scope-grid article,
    .ps-turnkey-scope-grid article.is-primary,
    .ps-turnkey-scope-grid article:nth-child(n) { position: relative; top: auto; left: auto; width: auto; height: 340px; }

    .ps-turnkey-process { margin-top: 40px; }
    .ps-turnkey-process li { height: auto; min-height: 96px; grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 18px 0; }
    .ps-turnkey-process li:hover { padding-left: 8px; }

    .ps-turnkey-brief-layout { display: grid; gap: 42px; }
    .ps-turnkey-brief .ps-turnkey-heading { width: 100%; }
    .ps-turnkey-brief-grid { height: auto; }

    .ps-detail-contact.is-turnkey { height: auto; }
    .ps-detail-contact.is-turnkey .ps-detail-contact-inner { position: static; height: auto; min-height: 0; padding: 55px 0; }
    .ps-detail-contact.is-turnkey .ps-detail-contact-inner > div,
    .ps-detail-contact.is-turnkey a { position: static; }
}

@media (max-width:560px){
    .ps-detail--turnkey .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--turnkey .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--turnkey .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--turnkey .ps-detail-hero-copy h1 { margin-top: 14px; font-size: 32px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--turnkey .ps-detail-hero-copy strong { margin-left: 0; font-size: 14px; }
    .ps-detail--turnkey .ps-detail-local-title { gap: 22px; }
    .ps-detail--turnkey .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--turnkey .ps-detail-local-links { gap: 22px; }
    .ps-detail--turnkey .ps-detail-local-links a { font-size: 14px; }

    .ps-turnkey-overview,
    .ps-turnkey-scope,
    .ps-turnkey-process-section,
    .ps-turnkey-brief { padding: 56px 0 64px; }
    .ps-turnkey-heading h2,
    .ps-turnkey-overview-copy h2,
    .ps-turnkey-brief .ps-turnkey-heading h2 { font-size: 32px; line-height: 1.42; }
    .ps-turnkey-overview-description,
    .ps-turnkey-brief .ps-turnkey-heading > strong { margin-top: 24px; font-size: 16px; line-height: 1.75; }
    .ps-turnkey-overview-copy blockquote { height: auto; min-height: 96px; margin-top: 32px; padding: 18px 20px; font-size: 17px; line-height: 1.7; }
    .ps-turnkey-overview-rail { grid-template-columns: 1fr; gap: 16px; padding-top: 22px; }
    .ps-turnkey-overview-rail > div { padding-bottom: 13px; border-bottom: 1px solid #e5e0dc; }

    .ps-turnkey-scope-grid { grid-template-columns: 1fr; gap: 20px; }
    .ps-turnkey-scope-grid article,
    .ps-turnkey-scope-grid article.is-primary,
    .ps-turnkey-scope-grid article:nth-child(n) { height: 320px; }
    .ps-turnkey-scope-grid article.is-primary > div { padding: 20px 24px; }
    .ps-turnkey-scope-grid article.is-primary h3 { font-size: 23px; line-height: 30px; }

    .ps-turnkey-process-section .ps-turnkey-heading > strong { margin-top: 12px; font-size: 16px; line-height: 1.75; }
    .ps-turnkey-process h3 { font-size: 18px; line-height: 1.5; }
    .ps-turnkey-process h3 b { width: 42px; flex-basis: 42px; }
    .ps-turnkey-process p { font-size: 15px; line-height: 1.7; }

    .ps-turnkey-brief-grid { grid-template-columns: 1fr; }
    .ps-turnkey-brief-grid article { height: 215px; padding: 30px 28px 0; border-right: 0 !important; border-bottom: 1px solid #d6d1c9; }
    .ps-turnkey-brief-grid article:last-child { border-bottom: 0; }
    .ps-turnkey-brief-grid img { top: 105px; left: 28px; width: calc(100% - 56px); }

    .ps-detail-contact.is-turnkey h2 { font-size: 26px; line-height: 1.5; }
    .ps-detail-contact.is-turnkey div > span { font-size: 15px; line-height: 1.7; }
    .ps-detail-contact.is-turnkey a { width: 100%; height: 58px; margin-top: 30px; }
}

@media (max-width:900px){
    .ps-detail--saw .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--saw .ps-detail-hero-copy h1 { font-size: 48px; line-height: 1.3; }
    .ps-detail--saw .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--saw .ps-detail-local-title { width: 100%; flex-basis: auto; gap: 16px; }
    .ps-detail--saw .ps-detail-local-title strong { width: auto; }
    .ps-detail--saw .ps-detail-local-title span { width: auto; }
    .ps-detail--saw .ps-detail-local-links { position: static; width: 100%; gap: 24px; }
    .ps-detail--saw .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 14px; }
    .ps-detail--saw .ps-detail-local-links a::after { right: 0; left: 0; width: auto; }

    .ps-detail--grind .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--grind .ps-detail-hero-copy h1 { font-size: 48px; line-height: 1.3; }
    .ps-detail--grind .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--grind .ps-detail-local-title { width: 100%; flex-basis: auto; gap: 16px; }
    .ps-detail--grind .ps-detail-local-title strong { width: auto; }
    .ps-detail--grind .ps-detail-local-title span { width: auto; }
    .ps-detail--grind .ps-detail-local-links { position: static; width: 100%; gap: 24px; justify-content: flex-start; }
    .ps-detail--grind .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 14px; }
    .ps-detail--grind .ps-detail-local-links a::after { right: 0; left: 0; width: auto; }

    .ps-saw-overview,
    .ps-saw-equipment,
    .ps-saw-sequence,
    .ps-saw-operations,
    .ps-saw-specs,
    .ps-saw-media { height: auto; padding: 70px 0 76px; overflow: visible; }
    .ps-saw-overview-layout,
    .ps-saw-section-layout { height: auto; }
    .ps-saw-heading,
    .ps-saw-equipment .ps-saw-heading,
    .ps-saw-sequence .ps-saw-heading,
    .ps-saw-operations .ps-saw-heading,
    .ps-saw-specs .ps-saw-heading,
    .ps-saw-media .ps-saw-heading,
    .ps-saw-overview-copy,
    .ps-saw-overview-image,
    .ps-saw-equipment-drawing,
    .ps-saw-unit-panel,
    .ps-saw-sequence-grid,
    .ps-saw-spec-grid,
    .ps-saw-spec-note,
    .ps-saw-media-grid { position: static; width: 100%; }

    .ps-saw-overview-layout { display: grid; gap: 42px; }
    .ps-saw-overview-copy > div,
    .ps-saw-overview-copy > strong { width: 100%; }
    .ps-saw-overview-copy > strong { margin-top: 36px; }
    .ps-saw-overview-image { height: auto; max-width: 438px; aspect-ratio: 438/574; margin: 0 auto; }
    .ps-saw-separator { height: 1px; }
    .ps-detail--grind .ps-saw-overview-image { max-width: 550px; aspect-ratio: 550/548; }
    .ps-detail--grind .ps-saw-separator.is-grind { height: 1px; }

    .ps-saw-equipment-drawing { height: auto; aspect-ratio: 760/430; margin-top: 42px; }
    .ps-saw-unit-panel { height: auto; margin-top: 24px; }

    .ps-saw-sequence-grid { height: auto; margin-top: 42px; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: 130px; gap: 20px; }
    .ps-detail--grind .ps-saw-sequence.is-grind .ps-saw-sequence-grid { height: auto; grid-template-rows: none; }
    .ps-saw-sequence-grid li,
    .ps-saw-sequence-grid li:nth-child(n) { width: auto; height: 130px; grid-area: auto; }
    .ps-saw-sequence-grid li::after { display: none; }
    .ps-detail--grind .ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(9),
    .ps-detail--grind .ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(10) { height: 130px; }

    .ps-saw-operation-list { display: grid; gap: 36px; margin-top: 42px; }
    .ps-saw-operation-list article,
    .ps-saw-operation-list article:nth-child(n) { position: relative; top: auto; left: auto; width: 100%; height: auto; display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; gap: 28px; padding-bottom: 36px; }
    .ps-saw-operation-list article:nth-child(2) { grid-template-columns: 1fr 1.35fr; }
    .ps-saw-operation-list article::after { bottom: 0; }
    .ps-saw-operation-list img,
    .ps-saw-operation-list article:nth-child(2) img { position: static; width: 100%; height: auto; aspect-ratio: 737/270; }
    .ps-saw-operation-list article > div,
    .ps-saw-operation-list article:nth-child(2) > div,
    .ps-saw-operation-list article:nth-child(3) > div { position: static; width: auto; }
    .ps-saw-operation-list article:nth-child(2) img { grid-column: 2; }
    .ps-saw-operation-list article:nth-child(2) > div { grid-row: 1; grid-column: 1; }
    .ps-detail--grind .ps-saw-operations.is-grind { height: auto; }
    .ps-detail--grind .ps-saw-operations.is-grind .ps-saw-operation-list article,
    .ps-detail--grind .ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(n) { top: auto; left: auto; height: auto; }
    .ps-detail--grind .ps-saw-operations.is-grind .ps-saw-operation-list article > div,
    .ps-detail--grind .ps-saw-operations.is-grind .ps-saw-operation-list article:nth-child(n) > div { position: static; width: auto; }
    .ps-detail--grind .ps-saw-operations.is-grind .ps-saw-operation-list img { height: auto; }

    .ps-saw-spec-grid { margin-top: 42px; grid-template-columns: 1fr; grid-auto-rows: minmax(86px,auto); gap: 18px; }
    .ps-saw-spec-note { margin-top: 30px; }
    .ps-detail--grind .ps-saw-specs.is-grind { height: auto; }
    .ps-detail--grind .ps-saw-specs.is-grind .ps-saw-spec-note { top: auto; }

    .ps-saw-media-grid { margin-top: 42px; grid-template-columns: 1fr; gap: 24px; }
    .ps-saw-video-card { height: auto; aspect-ratio: 760/340; }
    .ps-saw-video-card > button { top: 50%; left: 50%; transform: translate(-50%,-50%); }
    .ps-saw-video-card > button:hover { transform: translate(-50%,-50%) scale(1.08); }
    .ps-saw-manual-card { height: 340px; }

    .ps-detail-contact.is-saw,
    .ps-detail-contact.is-grind { height: auto; }
    .ps-detail-contact.is-saw .ps-detail-contact-inner,
    .ps-detail-contact.is-grind .ps-detail-contact-inner { position: static; height: auto; min-height: 0; padding: 55px 0; }
    .ps-detail-contact.is-saw .ps-detail-contact-inner > div,
    .ps-detail-contact.is-saw a,
    .ps-detail-contact.is-grind .ps-detail-contact-inner > div,
    .ps-detail-contact.is-grind a { position: static; }
}

@media (max-width:560px){
    .ps-detail--saw .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--saw .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--saw .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--saw .ps-detail-hero-copy h1 { font-size: 34px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--saw .ps-detail-hero-copy strong { margin-left: 0; font-size: 15px; }
    .ps-detail--saw .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--saw .ps-detail-local-links { gap: 22px; }
    .ps-detail--grind .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--grind .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--grind .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--grind .ps-detail-hero-copy h1 { font-size: 34px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--grind .ps-detail-hero-copy strong { margin-left: 0; font-size: 15px; }
    .ps-detail--grind .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--grind .ps-detail-local-links { gap: 22px; }

    .ps-saw-overview,
    .ps-saw-equipment,
    .ps-saw-sequence,
    .ps-saw-operations,
    .ps-saw-specs,
    .ps-saw-media { padding: 56px 0 64px; }
    .ps-saw-heading h2,
    .ps-saw-overview-copy h2,
    .ps-saw-media .ps-saw-heading h2 { font-size: 32px; line-height: 1.4; }
    .ps-saw-heading > strong,
    .ps-saw-overview-copy > div { margin-top: 10px; font-size: 16px; line-height: 1.75; }
    .ps-saw-overview-copy > strong { height: auto; min-height: 112px; margin-top: 30px; padding: 48px 22px 18px; font-size: 15px; line-height: 1.65; }
    .ps-saw-overview-copy > strong i { left: 22px; }

    .ps-saw-unit-panel { padding: 26px 22px; }
    .ps-saw-unit-panel li { height: auto; min-height: 64px; }
    .ps-saw-unit-panel span { font-size: 15px; }

    .ps-saw-sequence-grid { grid-template-columns: 1fr; grid-auto-rows: 126px; }
    .ps-saw-sequence-grid li,
    .ps-saw-sequence-grid li:nth-child(n) { height: 126px; }
    .ps-detail--grind .ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(9),
    .ps-detail--grind .ps-saw-sequence.is-grind .ps-saw-sequence-grid li:nth-child(10) { height: 126px; }
    .ps-saw-sequence-grid h3 { font-size: 18px; }
    .ps-saw-sequence-grid p { font-size: 15px; }

    .ps-saw-operation-list article,
    .ps-saw-operation-list article:nth-child(n) { grid-template-columns: 1fr; gap: 22px; }
    .ps-saw-operation-list article:nth-child(2) img,
    .ps-saw-operation-list article:nth-child(2) > div { grid-row: auto; grid-column: auto; }
    .ps-saw-operation-list h3 { font-size: 23px; }
    .ps-saw-operation-list p { font-size: 15px; line-height: 1.7; }

    .ps-saw-spec-grid > div { grid-template-columns: 1fr; gap: 6px; padding: 18px 20px; }
    .ps-saw-spec-grid dd { font-size: 16px; }
    .ps-saw-spec-note { font-size: 14px; line-height: 1.65; }

    .ps-saw-video-card { min-height: 250px; aspect-ratio: auto; }
    .ps-saw-video-card figcaption { top: auto; right: 24px; bottom: 22px; left: 24px; }
    .ps-saw-video-card figcaption strong { font-size: 23px; }
    .ps-saw-manual-card { height: auto; min-height: 340px; padding: 30px 24px 92px; }
    .ps-saw-manual-card > button { right: 24px; bottom: 24px; left: 24px; width: auto; }

    .ps-detail-contact.is-saw h2,
    .ps-detail-contact.is-grind h2 { font-size: 26px; line-height: 1.5; }
    .ps-detail-contact.is-saw div > span,
    .ps-detail-contact.is-grind div > span { font-size: 15px; line-height: 1.7; }
    .ps-detail-contact.is-saw a,
    .ps-detail-contact.is-grind a { width: 100%; height: 58px; margin-top: 30px; }
}

/* Auto UV Irradiation System: Figma 531:1465 */
.ps-detail--uv { font-family: Inter, 'Noto Sans KR', sans-serif; }
.ps-detail--uv .ps-detail-hero-dim { background: linear-gradient(90deg,rgba(14,14,14,.94),rgba(14,14,14,.7) 55%,rgba(14,14,14,.2)); }
.ps-detail--uv .ps-detail-hero-copy { padding-top: 135px; }
.ps-detail--uv .ps-detail-hero-copy i { width: 64px; border-radius: 2px; }
.ps-detail--uv .ps-detail-hero-copy p { margin-top: 11px; font-family: Inter,sans-serif; font-size: 17px; line-height: 22px; letter-spacing: .08em; }
.ps-detail--uv .ps-detail-hero-copy h1 { margin-top: 12px; font-family: Inter,sans-serif; font-size: 60px; line-height: 82px; letter-spacing: -2px; }
.ps-detail--uv .ps-detail-hero-copy strong { margin-top: 8px; font-family: Inter,sans-serif; font-size: 22px; line-height: 34px; }
.ps-detail--uv .ps-detail-local>.ps-detail-inner { position: relative; justify-content: flex-start; }
.ps-detail--uv .ps-detail-local-title { width: 440px; flex: 0 0 440px; gap: 10px; font-family: Inter,sans-serif; }
.ps-detail--uv .ps-detail-local-title strong { width: 250px; font-size: 18px; }
.ps-detail--uv .ps-detail-local-title span { width: 180px; font-size: 16px; letter-spacing: .06em; }
.ps-detail--uv .ps-detail-local-links { position: absolute; top: 0; left: 450px; width: 790px; gap: 10px; }
.ps-detail--uv .ps-detail-local-links a { width: 150px; flex: 0 0 150px; justify-content: flex-start; font-family: Inter,sans-serif; font-size: 16px; }
.ps-detail--uv .ps-detail-local-links a::after { right: auto; left: 0; width: 108px; height: 3px; }

.ps-uv-layout { position: relative; height: 100%; }
.ps-uv-heading { position: absolute; top: 0; left: 0; }
.ps-uv-heading>p,.ps-uv-overview-copy>p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-uv-heading h2 { margin-top: 5px; color: #111; font-size: 42px; line-height: 1.45; }
.ps-uv-heading>strong { display: block; margin-top: -1px; color: #575757; font-size: 18px; font-weight: 400; line-height: 1.45; }

.ps-uv-overview { height: 720px; overflow: hidden; background: #fff; }
.ps-uv-overview-copy { position: absolute; top: 117px; left: 0; width: 650px; }
.ps-uv-overview-copy h2 { margin-top: 8px; color: #111; font-size: 42px; line-height: 52px; letter-spacing: -.035em; }
.ps-uv-overview-copy>div { width: 590px; margin-top: 18px; color: #575757; font-size: 20px; line-height: 1.75; }
.ps-uv-overview-copy>strong { position: relative; width: 570px; height: 112px; margin-top: 90px; display: flex; align-items: center; padding: 31px 26px 8px; border-radius: 10px; background: #f6f5f2; color: #111; font-size: 17px; line-height: 1.5; }
.ps-uv-overview-copy>strong i { position: absolute; top: 26px; left: 26px; width: 28px; height: 3px; border-radius: 2px; background: var(--ps-red); }
.ps-uv-overview-image { position: absolute; top: 93px; right: 10px; width: 447px; height: 591px; overflow: hidden; border-radius: 16px; }
.ps-uv-overview-image img { width: 100%; height: 100%; object-fit: cover; }

.ps-uv-equipment { height: 1293px; overflow: hidden; border-top: 1px solid #ded9d4; background: #fff; }
.ps-uv-equipment .ps-uv-heading { top: 74px; }
.ps-uv-drawing { position: absolute; top: 252px; left: -1px; width: 1186px; height: 670px; overflow: hidden; border: 1px solid #dadada; border-radius: 14px; background: #fff; }
.ps-uv-drawing img { position: absolute; top: -37.612%; left: -30.27%; display: block; width: 161.889%; height: 193%; max-width: none!important; object-fit: fill; }
.ps-uv-parts { position: absolute; top: 960px; left: 0; width: 1200px; height: 240px; overflow: hidden; border: 1px solid #ded8d2; border-radius: 4px; background: #f7f5f2; }
.ps-uv-parts-head { display: grid; height: 52px; grid-template-columns: repeat(2,1fr); background: #171717; color: rgba(255,255,255,.86); font-family: 'Noto Sans KR',sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.ps-uv-parts-head span { display: flex; align-items: center; padding-left: 24px; }
.ps-uv-parts-body { display: grid; height: 188px; grid-auto-flow: column; grid-template-columns: repeat(2,600px); grid-template-rows: repeat(3,50px); padding: 18px 0; }
.ps-uv-parts-body p { display: flex; align-items: center; gap: 12px; padding: 0 24px; color: #383430; font-family: 'Noto Sans KR',sans-serif; font-size: 15px; }
.ps-uv-parts-body p:nth-child(-n+3) { border-right: 1px solid rgba(222,216,210,.7); }
.ps-uv-parts-body b { width: 24px; flex: 0 0 24px; color: var(--ps-red); }

.ps-uv-process { height: 1100px; overflow: hidden; background: #f6f5f2; }
.ps-uv-process .ps-uv-heading { top: 78px; }
.ps-detail--uv .ps-uv-process-grid { position: absolute; top: 240px; left: 0; width: 1200px; height: 804px; display: grid; grid-template-columns: repeat(3,370px); grid-template-rows: repeat(4,180px); gap: 28px 45px; margin: 0; }
.ps-detail--uv .ps-uv-process-grid li { position: relative; width: 370px; height: 180px; min-height: 0; display: block; padding: 19px 23px; overflow: visible; border: 1px solid #d6d4cc; border-radius: 12px; background: #fff; box-shadow: none; transition: transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
.ps-detail--uv .ps-uv-process-grid li:nth-child(1){grid-area:1/1}.ps-detail--uv .ps-uv-process-grid li:nth-child(2){grid-area:1/2}.ps-detail--uv .ps-uv-process-grid li:nth-child(3){grid-area:1/3}.ps-detail--uv .ps-uv-process-grid li:nth-child(4){grid-area:2/3}.ps-detail--uv .ps-uv-process-grid li:nth-child(5){grid-area:2/2}.ps-detail--uv .ps-uv-process-grid li:nth-child(6){grid-area:2/1}.ps-detail--uv .ps-uv-process-grid li:nth-child(7){grid-area:3/1}.ps-detail--uv .ps-uv-process-grid li:nth-child(8){grid-area:3/2}.ps-detail--uv .ps-uv-process-grid li:nth-child(9){grid-area:3/3}.ps-detail--uv .ps-uv-process-grid li:nth-child(10){grid-area:4/3}.ps-detail--uv .ps-uv-process-grid li:nth-child(11){grid-area:4/2}.ps-detail--uv .ps-uv-process-grid li:nth-child(12){grid-area:4/1}
.ps-detail--uv .ps-uv-process-grid li b { display: block; color: var(--ps-red); font-size: 18px; line-height: 26px; }
.ps-detail--uv .ps-uv-process-grid li i { display: block; width: 44px; height: 3px; margin-top: 10px; border-radius: 2px; background: var(--ps-red); }
.ps-detail--uv .ps-uv-process-grid li h3 { margin-top: 16px; color: #111; font-size: 18px; line-height: 26px; }
.ps-detail--uv .ps-uv-process-grid li p { margin-top: 14px; color: #575757; font-size: 16.5px; line-height: 24px; }
.ps-detail--uv .ps-uv-process-grid li::after { position: absolute; z-index: 2; color: var(--ps-red); font-size: 28px; font-style: normal; font-weight: 400; line-height: 41px; }
.ps-detail--uv .ps-uv-process-grid li:nth-child(1)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(2)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(7)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(8)::after { top: 64px; right: -45px; content:'→'; }
.ps-detail--uv .ps-uv-process-grid li:nth-child(3)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(6)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(9)::after { right: 154px; bottom: -43px; content:'↓'; }
.ps-detail--uv .ps-uv-process-grid li:nth-child(4)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(5)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(10)::after,.ps-detail--uv .ps-uv-process-grid li:nth-child(11)::after { top: 64px; left: -45px; content:'←'; }
.ps-detail--uv .ps-uv-process-grid li.is-current { border-color: var(--ps-red); box-shadow: 0 14px 32px rgba(209,79,48,.14); transform: translateY(-3px); }

.ps-uv-operations { height: 1470px; overflow: hidden; background: #fff; }
.ps-uv-operations .ps-uv-heading { top: 70px; }
.ps-uv-operation-list { position: absolute; top: 240px; left: 0; width: 1200px; }
.ps-uv-operation-list article { position: relative; height: 238px; display: grid; grid-template-columns: 737px 1fr; gap: 13px; align-items: center; }
.ps-uv-operation-list article:not(:last-child) { margin-bottom: 60px; }
.ps-uv-operation-list article:not(:last-child)::after { position: absolute; right: 0; bottom: -30px; left: 0; height: 1px; background: #ded9d4; content: ''; }
.ps-uv-operation-list article:nth-child(even) { grid-template-columns: 450px 737px; }
.ps-uv-operation-list article:nth-child(even) img { grid-column: 2; }
.ps-uv-operation-list article:nth-child(even)>div { grid-row: 1; grid-column: 1; }
.ps-uv-operation-list img { width: 737px; height: 238px; border-radius: 14px; object-fit: cover; }
.ps-uv-operation-list h3 { color: #111; font-size: 25px; line-height: 1.45; }
.ps-uv-operation-list p { margin-top: 8px; color: #575757; font-size: 18px; line-height: 1.45; }

.ps-uv-specs { height: 1000px; overflow: hidden; background: #f6f5f2; }
.ps-uv-specs .ps-uv-heading { top: 70px; }
.ps-uv-spec-grid { position: absolute; top: 240px; left: 0; width: 1200px; display: grid; grid-template-columns: repeat(2,570px); grid-auto-rows: 80px; gap: 16px 40px; }
.ps-uv-spec-grid>div { display: grid; grid-template-columns: 160px 1fr; align-items: center; padding: 0 24px; border: 1px solid #d6d4cc; border-radius: 8px; background: #fff; }
.ps-uv-spec-grid dt { color: #575757; font-size: 16px; font-weight: 600; line-height: 1.45; }
.ps-uv-spec-grid dd { color: #111; font-size: 17px; font-weight: 600; line-height: 23px; }
.ps-uv-safety { position: absolute; top: 744px; left: 0; width: 1200px; height: 110px; display: flex; align-items: center; gap: 22px; padding: 24px 28px; border-radius: 10px; background: #f9efeb; }
.ps-uv-safety>i { width: 4px; height: 56px; flex: 0 0 4px; border-radius: 2px; background: var(--ps-red); }
.ps-uv-safety h3 { color: #111; font-size: 18px; line-height: 26px; }
.ps-uv-safety p { margin-top: 5px; color: #575757; font-size: 16.5px; line-height: 24px; }
.ps-uv-spec-note { position: absolute; top: 920px; left: 0; color: #575757; font-size: 16px; line-height: 1.45; }

.ps-uv-manual { height: 540px; overflow: hidden; background: #fff; }
.ps-uv-manual .ps-uv-heading { top: 72px; }
.ps-uv-manual .ps-uv-heading h2 { margin-top: 3px; font-size: 44px; line-height: 56px; }
.ps-uv-manual .ps-uv-heading>strong { margin-top: 4px; color: #615c59; line-height: 30px; }
.ps-uv-manual-card { position: absolute; top: 245px; left: 0; width: 1200px; height: 200px; display: grid; grid-template-columns: 64px 1fr 330px; gap: 32px; align-items: center; padding: 0 40px 0 47px; border: 1px solid #ded9d4; border-radius: 8px; background: #fff; }
.ps-uv-manual-card>img { width: 64px; height: 64px; }
.ps-uv-manual-card>div p { color: var(--ps-red); font-size: 16px; font-weight: 600; line-height: 24px; }
.ps-uv-manual-card h3 { margin-top: 10px; color: #111; font-size: 26px; line-height: 34px; }
.ps-uv-manual-card>div span { display: block; margin-top: 5px; color: #615c59; font-size: 16px; line-height: 26px; }
.ps-uv-manual-card>button { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 0; border-radius: 4px; background: var(--ps-red); color: #fff; font-size: 17px; cursor: pointer; }
.ps-uv-manual-card>button img { width: 20px; height: 20px; }

.ps-detail-contact.is-uv { height: 260px; background: #0e0e0e; }
.ps-detail-contact.is-uv .ps-detail-contact-inner { position: relative; height: 260px; min-height: 260px; }
.ps-detail-contact.is-uv .ps-detail-contact-inner>div { position: absolute; top: 56px; left: 0; }
.ps-detail-contact.is-uv p { font-family: Inter,sans-serif; font-size: 16px; line-height: 1.45; letter-spacing: normal; }
.ps-detail-contact.is-uv h2 { margin-top: 7px; font-family: Inter,sans-serif; font-size: 34px; line-height: 1.45; }
.ps-detail-contact.is-uv div>span { margin-top: 0; font-family: Inter,sans-serif; font-size: 18px; line-height: 1.45; }
.ps-detail-contact.is-uv a { position: absolute; top: 92px; right: 0; border-radius: 6px; font-family: Inter,sans-serif; font-weight: 600; }

@media (max-width:900px){
    .ps-detail--uv .ps-detail-hero-copy { padding-top: 118px; }
    .ps-detail--uv .ps-detail-hero-copy h1 { font-size: 48px; line-height: 1.3; }
    .ps-detail--uv .ps-detail-hero-copy strong { font-size: 18px; line-height: 1.6; }
    .ps-detail--uv .ps-detail-local-title { width: 100%; flex-basis: auto; gap: 16px; }
    .ps-detail--uv .ps-detail-local-title strong,.ps-detail--uv .ps-detail-local-title span { width: auto; }
    .ps-detail--uv .ps-detail-local-links { position: static; width: 100%; gap: 24px; }
    .ps-detail--uv .ps-detail-local-links a { width: auto; flex: 0 0 auto; font-size: 14px; }
    .ps-detail--uv .ps-detail-local-links a::after { right: 0; left: 0; width: auto; }
    .ps-uv-overview,.ps-uv-equipment,.ps-uv-process,.ps-uv-operations,.ps-uv-specs,.ps-uv-manual { height: auto; padding: 70px 0 76px; overflow: visible; }
    .ps-uv-layout { height: auto; }
    .ps-uv-heading,.ps-uv-equipment .ps-uv-heading,.ps-uv-process .ps-uv-heading,.ps-uv-operations .ps-uv-heading,.ps-uv-specs .ps-uv-heading,.ps-uv-manual .ps-uv-heading,.ps-uv-overview-copy,.ps-uv-overview-image,.ps-uv-drawing,.ps-uv-parts,.ps-detail--uv .ps-uv-process-grid,.ps-uv-operation-list,.ps-uv-spec-grid,.ps-uv-safety,.ps-uv-spec-note,.ps-uv-manual-card { position: static; width: 100%; }
    .ps-uv-overview .ps-uv-layout { display: grid; gap: 42px; }
    .ps-uv-overview-copy>div,.ps-uv-overview-copy>strong { width: 100%; }
    .ps-uv-overview-copy>strong { margin-top: 36px; }
    .ps-uv-overview-image { height: auto; max-width: 447px; aspect-ratio: 447/591; margin: 0 auto; }
    .ps-uv-drawing { height: auto; aspect-ratio: 1186/670; margin-top: 42px; }
    .ps-uv-parts { height: auto; margin-top: 36px; }
    .ps-uv-parts-body { width: 100%; grid-template-columns: repeat(2,1fr); }
    .ps-detail--uv .ps-uv-process-grid { height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; gap: 20px; margin-top: 42px; }
    .ps-detail--uv .ps-uv-process-grid li,.ps-detail--uv .ps-uv-process-grid li:nth-child(n) { width: auto; height: 180px; grid-area: auto; }
    .ps-detail--uv .ps-uv-process-grid li::after { display: none; }
    .ps-uv-operation-list { display: grid; gap: 36px; margin-top: 42px; }
    .ps-uv-operation-list article,.ps-uv-operation-list article:nth-child(even) { height: auto; grid-template-columns: 1.35fr 1fr; gap: 28px; padding-bottom: 36px; }
    .ps-uv-operation-list article:nth-child(even) { grid-template-columns: 1fr 1.35fr; }
    .ps-uv-operation-list article:not(:last-child) { margin-bottom: 0; }
    .ps-uv-operation-list article:not(:last-child)::after { bottom: 0; }
    .ps-uv-operation-list img { width: 100%; height: auto; aspect-ratio: 737/238; }
    .ps-uv-spec-grid { margin-top: 42px; grid-template-columns: 1fr; grid-auto-rows: minmax(80px,auto); gap: 16px; }
    .ps-uv-safety { height: auto; min-height: 110px; margin-top: 24px; }
    .ps-uv-spec-note { margin-top: 28px; }
    .ps-uv-manual-card { height: auto; min-height: 200px; margin-top: 42px; }
    .ps-detail-contact.is-uv { height: auto; }
    .ps-detail-contact.is-uv .ps-detail-contact-inner { position: static; height: auto; min-height: 0; padding: 55px 0; }
    .ps-detail-contact.is-uv .ps-detail-contact-inner>div,.ps-detail-contact.is-uv a { position: static; }
}

@media (max-width:560px){
    .ps-detail--uv .ps-detail-hero-copy { padding-top: 104px; }
    .ps-detail--uv .ps-detail-hero-copy i { width: 48px; }
    .ps-detail--uv .ps-detail-hero-copy p { font-size: 14px; }
    .ps-detail--uv .ps-detail-hero-copy h1 { font-size: 32px; line-height: 1.4; letter-spacing: -.04em; }
    .ps-detail--uv .ps-detail-hero-copy strong { margin-left: 0; font-size: 14px; }
    .ps-detail--uv .ps-detail-local-title span { font-size: 13px; }
    .ps-detail--uv .ps-detail-local-links { gap: 22px; }
    .ps-uv-overview,.ps-uv-equipment,.ps-uv-process,.ps-uv-operations,.ps-uv-specs,.ps-uv-manual { padding: 56px 0 64px; }
    .ps-uv-heading h2,.ps-uv-overview-copy h2,.ps-uv-manual .ps-uv-heading h2 { font-size: 32px; line-height: 1.4; }
    .ps-uv-heading>strong,.ps-uv-overview-copy>div { margin-top: 10px; font-size: 16px; line-height: 1.75; }
    .ps-uv-overview-copy>strong { height: auto; min-height: 112px; margin-top: 30px; padding: 48px 22px 18px; font-size: 15px; line-height: 1.65; }
    .ps-uv-overview-copy>strong i { left: 22px; }
    .ps-uv-parts-head { grid-template-columns: 1fr; }
    .ps-uv-parts-head span:nth-child(2) { display: none; }
    .ps-uv-parts-body { height: auto; grid-auto-flow: row; grid-template-columns: 1fr; grid-template-rows: none; padding: 12px 0; }
    .ps-uv-parts-body p { min-height: 48px; border-right: 0!important; border-bottom: 1px solid rgba(222,216,210,.7); font-size: 14px; }
    .ps-uv-parts-body p:last-child { border-bottom: 0; }
    .ps-detail--uv .ps-uv-process-grid { grid-template-columns: 1fr; }
    .ps-detail--uv .ps-uv-process-grid li,.ps-detail--uv .ps-uv-process-grid li:nth-child(n) { height: 176px; }
    .ps-uv-operation-list article,.ps-uv-operation-list article:nth-child(even) { grid-template-columns: 1fr; gap: 22px; }
    .ps-uv-operation-list article:nth-child(even) img,.ps-uv-operation-list article:nth-child(even)>div { grid-row: auto; grid-column: auto; }
    .ps-uv-operation-list h3 { font-size: 22px; }
    .ps-uv-operation-list p { font-size: 15px; line-height: 1.7; }
    .ps-uv-spec-grid>div { grid-template-columns: 1fr; gap: 6px; padding: 18px 20px; }
    .ps-uv-safety { align-items: flex-start; padding: 20px; }
    .ps-uv-safety p { font-size: 14px; line-height: 1.65; }
    .ps-uv-spec-note { font-size: 14px; line-height: 1.65; }
    .ps-uv-manual-card { grid-template-columns: 54px 1fr; gap: 18px; padding: 24px; }
    .ps-uv-manual-card>img { width: 54px; height: 54px; }
    .ps-uv-manual-card h3 { font-size: 22px; }
    .ps-uv-manual-card>button { grid-column: 1/-1; width: 100%; margin-top: 8px; }
    .ps-detail-contact.is-uv h2 { font-size: 26px; line-height: 1.5; }
    .ps-detail-contact.is-uv div>span { font-size: 15px; line-height: 1.7; }
    .ps-detail-contact.is-uv a { width: 100%; height: 58px; margin-top: 30px; }
}
