/* 공개 사이트 상세 공통 — 제품 (/products/{id}) · 프로젝트 (/projects/{id}) */
/* ---- S1 서브 비주얼 (목록보다 낮게) ---- */
.e-pd-hero-in{position:relative;padding-top:calc(var(--hdr) + 40px);padding-bottom:64px}
.e-pd-title{max-width:900px;font-size:clamp(30px,3.6vw,52px);word-break:keep-all}
/* ---- S2 개요 ---- */
.e-pd{padding:80px 0 128px}
.e-pd-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.e-pd-img{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--e-line);border-radius:var(--r-card);background:var(--e-bg2)}
.e-pd-img img{width:100%;height:100%;object-fit:contain;background:#fff}
.e-pd-img--wide{aspect-ratio:5/3;background:var(--e-black)}
.e-pd-img--wide img{object-fit:cover}
.e-pd-img--wide .e-pd-wm{color:rgba(255,255,255,.35)}
.e-pd-wm{padding:0 24px;font-family:var(--font-head);font-size:clamp(28px,3vw,44px);font-weight:800;letter-spacing:-.02em;color:var(--e-mute);text-align:center;word-break:keep-all}
.e-pd-info{display:flex;flex-direction:column;align-items:flex-start;padding-top:8px}
.e-pd-name{margin-top:16px;font-family:var(--font-head);font-size:clamp(24px,2.4vw,34px);font-weight:800;line-height:1.3;letter-spacing:-.04em;word-break:keep-all}
.e-pbadge+.e-pd-name{margin-top:14px}
.e-pd-sumt{margin-top:20px;font-family:var(--font-head);font-size:19px;font-weight:700;line-height:1.5;color:var(--e-text)}
.e-pd-sum{margin-top:12px;font-size:17px;line-height:1.75;color:var(--e-sub);white-space:pre-line}
.e-pd-cats{display:flex;flex-wrap:wrap;gap:6px}
.e-pd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.e-pd-tags li{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--e-line);font-size:14px;font-weight:600;color:var(--e-sub)}
/* 고객사 · 기간 등 정보 목록 */
.e-pd-dl{width:100%;margin-top:24px;border-top:1px solid var(--e-text)}
.e-pd-dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--e-line);font-size:16px}
.e-pd-dl dt{font-weight:700;color:var(--e-text)}
.e-pd-dl dd{color:var(--e-sub);font-variant-numeric:tabular-nums}
.e-pd-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
/* ---- S2 본문 (웹에디터 HTML) ---- */
.e-pd-sec{margin-top:96px;padding-top:56px;border-top:1px solid var(--e-line)}
.e-pd-h{font-family:var(--font-head);font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.04em}
.e-pd-body{margin-top:32px;font-size:17px;line-height:1.8;color:var(--e-text);overflow-wrap:anywhere}
.e-pd-body>*+*{margin-top:1em}
.e-pd-body h1,.e-pd-body h2,.e-pd-body h3,.e-pd-body h4{margin-top:1.6em;font-family:var(--font-head);font-weight:800;line-height:1.35;letter-spacing:-.03em}
.e-pd-body h1{font-size:28px}
.e-pd-body h2{font-size:24px}
.e-pd-body h3{font-size:20px}
.e-pd-body h4{font-size:18px}
.e-pd-body img{max-width:100%;height:auto}
.e-pd-body a{text-decoration:underline;text-underline-offset:3px}
.e-pd-body ul{list-style:disc;padding-left:1.4em}
.e-pd-body ol{list-style:decimal;padding-left:1.4em}
.e-pd-body li+li{margin-top:.3em}
/* 표는 본문 폭을 넘으면 표 안에서만 가로 스크롤 */
.e-pd-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}
.e-pd-body th,.e-pd-body td{padding:10px 14px;border:1px solid var(--e-line);text-align:left;vertical-align:top}
.e-pd-body th{background:var(--e-bg2);font-weight:700}
.e-pd-body .ql-align-center{text-align:center}
.e-pd-body .ql-align-right{text-align:right}
.e-pd-body .ql-align-justify{text-align:justify}
@media (max-width:1023px){
  .e-pd{padding:56px 0 96px}
  .e-pd-top{grid-template-columns:1fr;gap:32px}
  .e-pd-img{max-width:560px}
  .e-pd-sec{margin-top:64px;padding-top:40px}
}
@media (max-width:767px){
  .e-pd-hero-in{padding-bottom:48px}
  .e-pd-sumt{font-size:17px}
  .e-pd-sum,.e-pd-body{font-size:16px}
  .e-pd-btns .e-btn{flex:1 1 auto}
}
