/* 60-proj — 납품 실적 페이지(6번 소유): vietnam-project = 납품 증거형, doosan-project = R&D 보고형
   접두사 .p-* 만. 표 첫 열 nowrap 금지(D10). 사진은 원본 이상 확대 금지. */

/* ── 공통 히어로 압축: 대표 사진을 첫 화면 안으로 ── */
.p-hero .grid{padding-top:clamp(36px,4.5vw,72px)}
.p-hero .kicker{margin-bottom:clamp(16px,2vw,28px)}
.p-hero .facts b span{font-size:inherit;color:inherit}

/* ── vietnam 히어로: H1·lead 1문장 → 16:9 실사 → facts 띠 ── */
.p-viet .lead{grid-column:1/9;margin-top:clamp(20px,2.4vw,36px);padding-top:18px}
.p-viet .hero-img{margin-top:clamp(24px,3vw,44px)}
.p-viet .hero-img img{aspect-ratio:16/9;object-position:50% 62%}
/* 보정2(10번): 1440에서 사진이 ~810px라 장비·facts가 fold 밖 → 높이 상한(facts 첫 줄이 900 fold 안), 장비·바퀴(원본 y≈38~84%)로 초점 */
@media (min-width:761px){.p-viet .hero-img img{max-height:450px;object-position:50% 74%}}

/* ── vietnam 01: 장치 2종 나란히 ── */
.p-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px var(--gut)}
.p-intro p{font-size:17px;line-height:1.8;color:var(--t2)}
.p-devs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px var(--gut)}
.p-dev{border-top:2px solid var(--ink);padding-top:20px}
.p-dev h3{margin-top:20px;font-size:22px}
.p-dev h3 small{margin-left:8px;font-size:14px;font-weight:600;color:var(--red-t)}
.p-dev-main img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--gray);cursor:zoom-in}
.p-dev figcaption,.p-fig figcaption,.p-tl figcaption{font-size:14px;line-height:1.6;color:var(--t4);padding-top:8px}
.p-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;border-top:1px solid var(--ink)}
.p-spec div{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.p-spec dt{font-size:13.5px;font-weight:500;color:var(--t4)}
.p-spec dd{margin:2px 0 0;font-size:17px;font-weight:600;color:var(--ink);line-height:1.45}
.p-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.p-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--gray);cursor:zoom-in}

/* ── vietnam 02: 수조 평면 도식(HTML) — 원자료 p2 slide23·25, 치수는 도식 밖 목록 ── */
.p-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--gut)}
.p-plan-t{font-size:15px;color:var(--t2);margin-bottom:10px}
.p-plan-t b{color:var(--ink)}
.p-plan-d{display:grid;grid-template-columns:76px 16px minmax(0,1fr);align-items:center}
.p-plan-dev{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:6px 2px;border:2px solid var(--ink);background:#fff;text-align:center}
.p-plan-dev b{font-size:15px;color:var(--ink)}
.p-plan-dev i{font-style:normal;font-size:13.5px;font-weight:500;line-height:1.3;color:var(--t2);word-break:keep-all}
.p-plan-pipe{height:10px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.p-pool{position:relative;aspect-ratio:4000/2110;border:2px solid var(--ink);background:#fff;overflow:hidden}
.p-pool span{position:absolute;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--ink);white-space:nowrap}
.p-stick{position:absolute;left:22%;top:10%;bottom:10%;border-left:3px dashed var(--red)}
.p-move{left:calc(22% + 10px);top:44%}
.p-scum{right:8px;top:6px;padding:2px 6px;background:var(--gray)}
.p-pool .p-flow{left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px}
.p-pool .p-fix{left:8px;bottom:6px;color:var(--t2)}
.p-legend{margin-top:10px}
.p-legend li{position:relative;padding:4px 0 4px 16px;font-size:14.5px;line-height:1.55;color:var(--t2)}
.p-legend li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--red)}
.p-dims{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.p-dims li{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.p-dims li>span{display:block;font-size:13.5px;font-weight:500;color:var(--t4)}
.p-dims b{font-size:18px;font-weight:600;color:var(--ink)}
.p-fig{max-width:640px}
.p-fig img{width:100%;height:auto;background:var(--gray);cursor:zoom-in}

/* ── vietnam 03: 시험 5단계 타임라인(단계-사진 짝, 사진 없는 단계는 텍스트만) ── */
.p-tl{counter-reset:pt}
.p-tl>li:first-child{padding-top:0}
.p-tl>li{counter-increment:pt;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px var(--gut);padding:28px 0;border-bottom:1px solid var(--line)}
.p-tl-t{position:relative;padding-left:64px}
.p-tl-t::before{content:counter(pt,decimal-leading-zero);position:absolute;left:0;top:-4px;font-size:28px;line-height:1.2;color:var(--red-t)}
.p-tl-t b{display:block;font-size:20px;color:var(--ink)}
.p-tl-t p{margin-top:8px;font-size:16px;line-height:1.7;color:var(--t2);max-width:36ch}
.p-tl-f img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--gray);cursor:zoom-in}
.p-tl-f>figure{max-width:480px}
.p-tl-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.p-ba{position:relative}
.p-ba>span{position:absolute;top:12px;padding:4px 10px;font-size:13.5px;font-weight:700;line-height:1.4;color:#fff;background:rgba(0,0,0,.72);pointer-events:none}
.p-ba-l{left:12px}
.p-ba-r{right:12px}

/* ── doosan 히어로: 원본 549px 기준 표시 상한 540px ── */
.p-doosan .hero-img{max-width:540px;justify-self:start;width:100%;margin-left:var(--gut)}
/* 보정2(10번): 사진을 텍스트 쪽으로 붙이고 텍스트 열 높이 기준 세로 가운데 */
@media (min-width:1025px){.hero.split.p-doosan .hero-img{align-self:center}}
.sec.wide .cols>div:first-child,.sec.wide .p-gens figure{border-top-width:1px}
.p-doosan .lead{font-size:clamp(16px,1.2vw,18px)}

/* .cols 안 표가 모바일 min-width로 그리드를 밀지 않게 */
body.pg-doosan-project .cols>div{min-width:0}

/* ── doosan 01: 원리 단계 + 도식 나란히 ── */
.p-principle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gut);align-items:start}
.p-principle figure img{width:100%;height:auto;background:#fff;cursor:zoom-in}
.p-principle figcaption{font-size:14px;line-height:1.6;color:var(--t4);padding-top:8px}

/* ── doosan 03: 세대 strip(원 비율·높이 같게 ≤292px) + 근거 그래프 ── */
.p-gens{--strip-h:292px;gap:var(--gut)}
.p-gens figure{border-top:2px solid var(--ink);padding-top:16px;text-align:center}
/* 80-mobile의 .figs 4:3 cover 보정보다 우선: 세대 사진은 원 비율 유지 */
.figs.strip.p-gens figure:not(.tall) img{width:auto;max-width:100%;height:auto;max-height:var(--strip-h);aspect-ratio:auto;object-fit:contain;background:none}
.p-gens figcaption{justify-content:center;font-size:15px;font-weight:600;color:var(--ink)}
.p-gens figcaption::before{content:none}
/* 보정1(10번): 상단 규선 높이 통일 — 칸은 늘이고 사진은 원 비율 그대로 아래 정렬 */
.figs.strip.p-gens{align-items:stretch}
.p-gens figure{display:flex;flex-direction:column}
.figs.strip.p-gens figure:not(.tall) img{margin:auto auto 0}
/* 펼침만 있는 짧은 섹션(측정법·결론)은 여백 축소 */
.p-sec-s>.grid{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.p-sec-s .sec-h{position:static}
.p-evid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--gut);align-items:start}

@media (max-width:1024px){
  .p-doosan .hero-img{justify-self:stretch;width:auto;max-width:none;margin-left:calc(var(--mar) * -1);margin-right:calc(var(--mar) * -1)}
  .p-evid{grid-template-columns:1fr}
  .p-evid .p-fig{max-width:560px}
}
@media (max-width:760px){
  .p-viet .lead{grid-column:1/13}
  .p-viet .hero-img img{aspect-ratio:3/2}
  .p-intro,.p-devs,.p-plans,.p-principle{grid-template-columns:1fr}
  .p-devs{gap:40px}
  .p-dims{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-tl>li{grid-template-columns:1fr;padding:22px 0}
  .p-tl-t{padding-left:48px}
  .p-tl-t::before{font-size:24px}
  .p-tl-t b{font-size:18px}
  .p-gens{--strip-h:200px;gap:10px}
  .p-gens figcaption{font-size:13.5px}
  /* 보정1: 가로형 S3가 3열에서 작아지지 않게 — S1·S2 2열, S3 한 줄 전체(원 비율, 자르지 않음) */
  .figs.strip.p-gens{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .figs.strip.p-gens figure:nth-child(3){grid-column:1/-1}
  .figs.strip.p-gens figure:nth-child(3) img{max-height:240px}
}
