/* Precision history v150; PSD content width 1440, photo coordinates retained. */
.precision-history{--ph-green:#008f72;--ph-header:100px;background:#fff;color:#000;font-family:var(--f-ko)}
.precision-history .ph-container{width:100%;max-width:1520px;margin:auto;padding:0 40px}
.ph-intro{text-align:center;padding:128px 0 50px}
.precision-history .ph-kicker{font-family:var(--f-en);font-size:19pt;line-height:1;font-weight:700;color:var(--ph-green);margin:0;letter-spacing:-.025em}
.ph-intro h2{font-size:40pt;line-height:1.2;letter-spacing:-.025em;font-weight:700;margin:34px 0 0;word-break:keep-all}
.ph-intro em{font-style:normal;color:var(--ph-green)}
.ph-banner{position:relative;height:390px;overflow:hidden;border-radius:12px;background:#112a40;color:#fff}
/* PSD: banner(240,1002,1440,390), source layer(232,655,1463,964). */
.ph-banner>img{position:absolute;width:101.597222%;max-width:none;height:auto;left:-.555556%;top:0;transform:translateY(-35.99585%);display:block}
.ph-banner::after{content:"";position:absolute;inset:0;background:#0006;pointer-events:none}
.ph-banner-text{position:relative;z-index:1;text-align:center;padding:56px 24px 0;word-break:keep-all}
.ph-banner-text>p{font-size:37.333px;font-weight:700;line-height:48px;letter-spacing:-.025em;margin:0 0 46px}
.ph-banner-text h3{font-size:53.333px;font-weight:700;line-height:64px;letter-spacing:-.025em;margin:0 0 22px}
.ph-banner-text>div{font-size:18.667px;font-weight:500;line-height:28px;letter-spacing:-.025em}
.ph-history-layout{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:104px 0 140px}
.ph-rail{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:#ddd;pointer-events:none}
.ph-rail>span{position:absolute;top:0;left:0;width:100%;height:var(--ph-progress,0px);background:var(--ph-green)}
.ph-side{min-width:0;padding-left:72px;align-self:stretch}
.ph-side-sticky{position:sticky;top:calc(var(--ph-header) + 36px);width:456px;max-width:calc(100% - 48px);margin:0 auto;text-align:center}
.ph-period{font-size:64px;line-height:77px;font-weight:700;letter-spacing:-.025em;margin:0 0 57px;white-space:nowrap}
.ph-photo{position:relative;width:100%;aspect-ratio:456/300;border-radius:12px;overflow:hidden}
/* PSD: photo frame(408,1630,456,300), source(324,1625,619,310). */
.ph-photo img{position:absolute;display:block;max-width:none;width:135.745614%;height:auto;left:-18.421053%;top:-1.666667%}
.ph-photo::after{content:"";position:absolute;inset:0;background:#0000001a;pointer-events:none}
.ph-timeline{padding-left:96px;min-width:0}
.ph-year{position:relative;margin:0 0 46px}
.ph-year:last-child{margin-bottom:0}
.ph-year h3{font-family:var(--f-en);font-size:36pt;line-height:58px;font-weight:700;letter-spacing:-.025em;margin:0 0 20px}
.ph-year ul{list-style:none;margin:0;padding:0}
.ph-year li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:20px;font-size:18.667px;font-weight:500;line-height:34.667px;letter-spacing:-.025em;color:#434343;word-break:keep-all;overflow-wrap:anywhere}
.ph-year time{font-size:21.333px;font-weight:700;color:var(--ph-green)}
.ph-dot{position:absolute;left:-101px;top:18px;width:10px;height:10px;border-radius:50%;background:#ddd;transition:background-color .15s}
.ph-year.is-passed .ph-dot{background:var(--ph-green)}
.ph-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1280px){.ph-side{padding-left:0}.ph-period{font-size:48px;line-height:60px}.ph-timeline{padding-left:50px}.ph-dot{left:-55px}.ph-banner-text h3{font-size:40px;line-height:1.3}.ph-banner-text>p{margin-bottom:30px}.ph-banner-text>div{font-size:17px}.ph-banner>img{width:100%;height:100%;left:0;top:0;transform:none;object-fit:cover;object-position:34.783% 60.45%}}
@media(max-width:900px){.ph-banner{height:340px}.ph-banner-text{padding:36px 24px 0}.ph-banner-text>p{font-size:28px;line-height:36px;margin-bottom:24px}.ph-banner-text h3{font-size:30px;margin-bottom:18px}.ph-banner-text>div{font-size:15px;line-height:26px}.ph-banner-text br{display:none}.ph-period{font-size:30px;line-height:42px}.ph-side-sticky{max-width:calc(100% - 32px)}.ph-timeline{padding-left:32px}.ph-dot{left:-37px}.ph-year li{font-size:16px;line-height:28px;grid-template-columns:28px minmax(0,1fr);gap:12px}.ph-year time{font-size:18px}.ph-history-layout{padding-top:64px}.ph-year h3{font-size:40px;line-height:48px}}
@media(max-width:768px){.precision-history .ph-container{padding:0 24px}.ph-intro{padding:72px 0 36px}.ph-intro h2{font-size:32px;line-height:1.35;margin-top:22px}.ph-intro h2 br{display:none}}
@media(max-width:600px){.precision-history .ph-container{padding:0 20px}.ph-banner{height:auto;min-height:330px}.ph-banner-text{padding:34px 18px}.ph-banner-text>p{font-size:24px;line-height:32px;margin-bottom:20px}.ph-banner-text h3{font-size:26px}.ph-banner-text>div{font-size:14px;line-height:24px}.ph-history-layout{grid-template-columns:36% 64%;padding:48px 0 80px}.ph-rail{left:36%}.ph-side-sticky{max-width:calc(100% - 20px);top:calc(var(--ph-header) + 24px)}.ph-period{font-size:clamp(14px,3.7vw,22px);line-height:28px;letter-spacing:-.045em;margin-bottom:24px}.ph-timeline{padding-left:20px}.ph-dot{left:-25px;top:12px}.ph-year h3{font-size:30px;line-height:36px;margin-bottom:14px}.ph-year li{font-size:14px;line-height:24px;grid-template-columns:24px minmax(0,1fr);gap:8px;word-break:normal}.ph-year time{font-size:15px}.ph-year{margin-bottom:36px}}
@media(prefers-reduced-motion:reduce){.ph-dot{transition:none}}

/* v151: keep two-digit months together at every viewport width. */
.ph-year time{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
