@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@500;600;700&family=Antonio:wght@400;600&display=swap');

/* 지방이식 연구센터 — v20 서브페이지 디자인 이식 (2026-09-23)
   원본 : salient-child/css/main-v20.css 의 .dp-* 규칙
   선택자를 전부 .gs 로 스코프한다 — 이 사이트는 테마 전역 규칙이 새는 일이 잦다. */
.gs{--ink:#141210;--burgundy:#8A1E2D;--mauve:#9E6A77;--mauve-deep:#8A5663;
    --warmgray:#A39A8D;--line:rgba(20,18,16,.14);
    --ff-serif:'Noto Serif KR',serif;--ff-display:'Antonio','Pretendard Variable',sans-serif;
    max-width:1180px;margin:0 auto;padding:96px 0;color:var(--ink);text-align:left}
.gs.top{padding-top:60px}
.gs *{box-sizing:border-box}
.gs p{margin:0}
.gs ul{margin:0;padding:0;list-style:none}
.gs h1,.gs h2,.gs h3{margin:0;padding:0;color:var(--ink)}

/* ── 머리말 ───────────────────────────────────────────── */
.gs .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.gs .crumb{font-size:10.5px;letter-spacing:.3em;font-weight:800;color:var(--burgundy);
    display:flex;align-items:center;gap:16px;text-transform:uppercase}
.gs .crumb:after{content:'';flex:1;height:1px;background:var(--line)}
.gs h1{font-family:var(--ff-serif);font-size:clamp(34px,4vw,56px);font-weight:600;
    margin-top:30px;line-height:1.25;letter-spacing:-.045em}
.gs .old{margin-top:10px;font-size:14.5px;color:var(--warmgray)}
.gs .en{font-family:var(--ff-display);font-size:14px;letter-spacing:.2em;
    color:var(--burgundy);margin-top:14px;text-transform:uppercase}
.gs .tag{margin-top:26px;font-size:17px;color:#463f39;line-height:1.7;max-width:640px}
.gs .hash{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.gs .hash span{font-size:12.5px;font-weight:600;color:#676767;border:1px solid rgba(16,16,16,.14);
    border-radius:999px;padding:8px 16px;background:#fff}
.gs .hero figure{margin:0}
.gs .hero figure img{display:block;width:100%;aspect-ratio:4/3.2;object-fit:contain;
    object-position:top center;background:#F4F1EF;padding:8%}

/* ── 절 ───────────────────────────────────────────────── */
.gs .part-label{font-family:var(--ff-display);font-size:15px;color:var(--burgundy);letter-spacing:.04em}
.gs h2{font-family:var(--ff-serif);font-size:clamp(25px,2.6vw,36px);font-weight:600;
    line-height:1.4;margin-top:14px;max-width:820px;letter-spacing:-.035em}
.gs h2 em{font-style:normal;font-weight:600;color:var(--burgundy)}
.gs p.body{margin-top:28px;font-size:16px;line-height:1.95;color:#463f39;max-width:780px}
.gs p.tag{line-height:1.7}
.gs .pts li,.gs .vs .v li,.gs .targets li,.gs .steps .st p{line-height:1.75}
.gs figure.wide{margin:44px 0 0;text-align:center}
.gs figure.wide img{display:inline-block;max-width:760px;width:100%;height:auto;background:#F4F1EF}

/* 요점 — 원본은 앞에 em dash 를 붙인다 */
.gs .pts{margin-top:38px;display:flex;flex-direction:column;gap:13px;max-width:780px}
.gs .pts li{display:flex;gap:14px;font-size:15px;color:#463f39;line-height:1.7}
.gs .pts li:before{content:'—';color:var(--mauve);flex:none}

/* 비교 — 왼쪽은 눌러 두고 오른쪽만 세운다 */
.gs .vs{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gs .vs .v{padding:38px 34px;border-radius:18px}
.gs .vs .v h3{font-size:15px;font-weight:800}
.gs .vs .v.a{background:#EFE9E1}
.gs .vs .v.a h3{color:var(--warmgray)}
.gs .vs .v.b{background:#fff;border:1px solid rgba(138,86,99,.35);border-top:2px solid var(--mauve-deep)}
.gs .vs .v.b h3{color:var(--mauve-deep)}
.gs .vs .v ul{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.gs .vs .v li{font-size:13.5px;line-height:1.7;color:#5c554e;padding-left:16px;position:relative}
.gs .vs .v li:before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;
    border-radius:50%;background:currentColor;opacity:.4}

/* 단계 — 3칸 카드. 칸 사이는 1px 선 */
.gs .steps{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line)}
.gs .steps .st{background:#fff;padding:34px 28px;min-height:180px}
.gs .steps .st .n{font-family:var(--ff-display);font-size:14px;color:var(--burgundy);letter-spacing:.06em}
.gs .steps .st h3{font-size:16px;font-weight:700;margin-top:12px}
.gs .steps .st p{font-size:13.5px;color:#6d655d;line-height:1.75;margin-top:10px}

/* 대상 */
.gs .targets{margin-top:44px;border:1px solid var(--line);background:#fff;padding:34px 32px}
.gs .targets .tt{font-family:var(--ff-display);font-size:14px;color:var(--burgundy);letter-spacing:.06em}
.gs .targets ul{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.gs .targets li{font-size:14px;color:#463f39;line-height:1.65;padding-left:24px;position:relative}
.gs .targets li:before{content:'✓';position:absolute;left:0;color:var(--mauve);font-weight:700}

/* 문답 — 원본은 details/summary 아코디언 */
.gs .faq{margin-top:44px;max-width:860px;display:flex;flex-direction:column;gap:10px}
.gs .faq details{border:1px solid var(--line);background:#fff}
.gs .faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-size:15px;font-weight:700;
    color:var(--ink);display:flex;gap:14px;align-items:baseline}
.gs .faq summary:before{content:'Q.';font-family:var(--ff-display);color:var(--burgundy)}
.gs .faq summary::-webkit-details-marker{display:none}
.gs .faq details p{padding:0 24px 22px 52px;font-size:14px;line-height:1.85;color:#5c554e}
.gs .faq details[open] summary{border-bottom:1px dashed var(--line)}
.gs .faq details[open] p{padding-top:16px}

/* 고지 */
.gs .note{font-size:12px;color:var(--warmgray);line-height:1.9}
.gs .note li{display:flex;gap:10px}
.gs .note li:before{content:'·';flex:none}

/* ── 전역 누수 방어 (2026-09-23) ─────────────────────────────────────────
   sc301ps.css 에 태그 선택자 + !important 가 걸려 있다.
     p{margin:0!important; font-size:14px; line-height:24px; ...}
     p{line-height:1.0!important}
   스코프만으로는 못 이긴다(특정성과 무관하게 !important 가 이긴다).
   그래서 .gs 안에서만 같은 무기로 되돌린다. 페이지 밖에는 영향이 없다.
   이 사이트에서 같은 유형의 전역 누수를 찾은 것이 이번이 여덟 번째다. */
.gs p{margin:0!important;line-height:1.95!important}
.gs p.crumb{line-height:1.4!important}
.gs p.old{margin-top:10px!important;line-height:1.6!important}
.gs p.en{margin-top:14px!important;line-height:1.5!important}
.gs p.tag{margin-top:26px!important;line-height:1.7!important}
.gs p.hash{margin-top:26px!important}
.gs p.part-label{line-height:1.4!important}
.gs p.body{margin-top:28px!important;line-height:1.95!important}
.gs .steps .st p.n{margin-top:0!important;line-height:1.4!important}
.gs .steps .st p{margin-top:10px!important;line-height:1.75!important}
.gs .targets p.tt{line-height:1.4!important}
.gs .faq details p{line-height:1.85!important}
.gs h1{line-height:1.25!important;margin-top:30px!important}
.gs h2{line-height:1.4!important;margin-top:14px!important}
.gs h3{line-height:1.4!important}
.gs li{line-height:1.75!important}
.gs .pts li{line-height:1.7!important}
.gs .vs .v li,.gs .targets li{line-height:1.7!important}

@media (max-width:900px){
.gs{padding:58px 0}
.gs .hero{grid-template-columns:1fr;gap:36px}
.gs .steps{grid-template-columns:1fr}
.gs .targets ul{grid-template-columns:1fr}
.gs .vs{grid-template-columns:1fr}
}