/* One editorial grammar for seven chapters; original content remains intact. */
.page-head{padding:64px 0 72px;border:0}
.page-head>.container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.page-head__eyebrow{grid-column:1/-1;margin:0 0 14px}
.page-head__title{grid-column:1/span 8;font-size:clamp(44px,5.3vw,80px);line-height:1.25;margin:0;max-width:none}
.page-head__desc{grid-column:10/span 3;align-self:end;font-size:14px;line-height:1.9;margin:0}
.page-head .status-pill,.page-head .note--inline{grid-column:1/-1;justify-self:start;margin:0;background:transparent;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:8px 0}
.page-head .btn-row{grid-column:1/-1;margin-top:8px}
.page-head+.section{padding-top:40px}
.page-head__title+.keywords{grid-column:1/-1}
.keywords li{border:0;padding:0 20px 0 0;font-size:11px}
.container--narrow{max-width:1600px;padding-left:max(var(--gutter),calc((100% - 1456px)/2 + 320px));padding-right:max(var(--gutter),calc((100% - 1456px)/2 + 240px))}
.prose{max-width:740px;line-height:2.05}
.section>.container>.prose{margin-left:auto;margin-right:8.5%}
.section>.container--narrow>.prose{margin:0;max-width:none}
.split{gap:24px}.split__side{grid-column:1/span 4}.split__main{grid-column:6/span 7;max-width:720px}
.quote{max-width:760px}.quote__text{font-size:clamp(26px,3vw,42px);line-height:1.7}.quote__mark{font-size:76px;color:var(--ink-3)}.quote__source{font-size:11px;line-height:1.8}.quote__hanja{font-size:64px;line-height:1.4;color:var(--ink)}
.section>.container>.quote{margin-left:17%;padding-block:12px}
/* Convert repeated cards into aligned index rows instead of equally weighted boxes. */
.card-grid{display:block;border-top:1px solid var(--line)}
.card-grid>.card{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:8px;padding:32px 0;border-top:0;border-bottom:1px solid var(--line)}
.card-grid>.card>.card__title{grid-column:1/span 5;grid-row:1/span 5;font-size:25px;line-height:1.6;margin:0}
.card-grid>.card>p,.card-grid>.card>ul,.card-grid>.card>.card__sub{grid-column:7/span 6;margin:0;font-size:15px;max-width:640px}
.card-grid>.card>.card__num{grid-column:1;grid-row:1;font-size:12px;color:var(--ink-3);padding-top:8px}
.card-grid>.card:has(.card__num)>.card__title{grid-column:2/span 4}
.card-grid>.card>.card__meta{grid-column:1/span 4;grid-row:1/span 3;font-size:13px}
.card-grid>.card>.card__value{font-size:26px;line-height:1.5}
.feature+.feature{margin-top:112px;padding-top:0}
.step-num{width:auto;height:auto;border:0;justify-content:start;font-size:12px;color:var(--ink-3)}
.flow,.flow--5{display:block;border-top:1px solid var(--ink)}
.flow__item{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:8px;border-bottom:1px solid var(--line);padding:24px 0}
.flow__year,.flow__label{grid-column:1/span 3;grid-row:1/span 2;margin:0;font-size:24px;color:var(--ink)}
.flow__label{font-size:11px;padding-top:6px}
.flow__title{grid-column:5/span 4;margin:0;font-size:22px}
.flow__desc{grid-column:9/span 4;align-self:center;font-size:13px}
.timeline__item,.timeline--compact .timeline__item{grid-template-columns:1fr 2fr;gap:48px;padding:38px 0}
.timeline__year{font-size:30px;color:var(--ink)}
.timeline__body{max-width:720px}.timeline__title{font-size:22px}.timeline__body p{font-size:15px}
.timeline__quote{border-left:0;padding-left:0;font-size:14px;font-family:var(--font-serif);margin-top:24px}
.stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stats--3 .stats__item{display:block}.stats__sub{font-size:11px}
.toc{grid-template-columns:repeat(3,minmax(0,1fr))}.toc a{padding:16px 0}.toc--extras{grid-template-columns:repeat(3,minmax(0,1fr))}
.article+.article{margin-top:48px}.article{padding-top:32px}.article__head{margin-bottom:24px}.article__num,.article__title{font-size:22px}
.accordion__summary{padding:24px 0;font-size:22px;line-height:1.6}.accordion__body{line-height:2;font-size:15px;padding-bottom:32px}
.contact-list{display:block}.contact-list li{padding:24px 0;border-top:1px solid var(--line)}.contact-list__value{font-size:clamp(18px,1.8vw,28px);overflow-wrap:anywhere}.contact-list__sub{font-size:12px}.contact-list__label{font-size:11px}
.icon{font-size:12px}.note{background:transparent;border-left:1px solid var(--line-strong)}
@media(max-width:1100px){.container--narrow{padding-inline:var(--gutter);max-width:900px}.page-head__desc{grid-column:9/span 4}.section>.container>.prose{margin-right:0}}
@media(max-width:767px){.page-head{padding:40px 0 48px}.page-head>.container{gap:18px}.page-head__title{font-size:clamp(38px,9vw,60px);grid-column:1/-1}.page-head__desc{grid-column:1/-1;font-size:14px;max-width:32em}.page-head+.section{padding-top:16px}.split__side,.split__main{grid-column:1/-1;grid-row:auto}.split{row-gap:48px}.section>.container>.prose{margin:0}.section>.container>.quote{margin:0}.quote__text{font-size:28px}.quote__hanja{font-size:48px}.card-grid>.card{padding:24px 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}.card-grid>.card>.card__title,.card-grid>.card:has(.card__num)>.card__title{grid-column:1/-1;grid-row:auto;font-size:22px}.card-grid>.card>.card__num{grid-row:auto;grid-column:1/-1;padding:0}.card-grid>.card>p,.card-grid>.card>ul,.card-grid>.card>.card__sub,.card-grid>.card>.card__meta{grid-column:1/-1;grid-row:auto}.feature+.feature{margin-top:72px}.flow__item{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px}.flow__year,.flow__label{grid-column:1;grid-row:1/span 2;font-size:18px}.flow__label{font-size:10px}.flow__title,.flow__desc{grid-column:2/span 3}.flow__title{font-size:20px}.timeline__item,.timeline--compact .timeline__item{grid-template-columns:1fr;gap:16px}.timeline__year{font-size:28px}.toc,.toc--extras{grid-template-columns:1fr}.stats--3{grid-template-columns:1fr}.accordion__summary{font-size:19px}.article+.article{margin-top:32px}.contact-list__value{font-size:21px}}
@media(max-width:767px){.page-head>.container,.split{grid-template-columns:minmax(0,1fr)}}
.card-grid>.card>.icon--lead{grid-column:12;grid-row:1;justify-self:end;margin:0;padding-top:8px;font-size:14px}
.card-grid>.card>.card__num{grid-row:1;align-self:start}
.card-grid>.card>.card__meta{grid-row:1}
@media(max-width:767px){.card-grid>.card>.icon--lead{grid-column:4;grid-row:1}}
/* ---- v3.1: 하위 페이지 제목 절제, 기준선 7칸 통일, 사진 비율 ---- */
.page-head__title{font-size:clamp(36px,3.8vw,56px);line-height:1.3}
.page-head__desc{grid-column:7/span 5;max-width:36em}
.split__side{grid-column:1/span 5}.split__main{grid-column:7/span 6}
.flow__year,.flow__label{grid-column:1/span 5}.flow__title{grid-column:7/span 3}.flow__desc{grid-column:10/span 3}
.card-grid>.card>.card__title{grid-column:1/span 5}.card-grid>.card:has(.card__num)>.card__title{grid-column:2/span 4}
.quote__text{font-size:clamp(24px,2.4vw,34px)}.quote__hanja{font-size:52px}
.timeline__item,.timeline--compact .timeline__item{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.timeline__year{grid-column:1/span 5}.timeline__body{grid-column:7/span 6;max-width:none}
.accordion__summary{font-size:20px}.article__num,.article__title{font-size:20px}
.section--alt.section--tight{border-top:0}
@media(max-width:767px){.page-head__title{font-size:clamp(32px,8vw,44px)}.page-head__desc{grid-column:1/-1}.timeline__item,.timeline--compact .timeline__item{grid-template-columns:1fr;gap:12px}.timeline__year,.timeline__body{grid-column:1/-1}.flow__year,.flow__label{grid-column:1}.flow__title,.flow__desc{grid-column:2/span 3}}
.card-grid>.card{padding:22px 0;row-gap:4px;align-items:start}
.card-grid>.card>.card__title,.card-grid>.card:has(.card__num)>.card__title{grid-row:1;font-size:22px;line-height:1.5;padding-top:2px}
.card-grid>.card>p,.card-grid>.card>ul{grid-row:1;padding-top:4px}
.card-grid>.card>.card__value{grid-row:1;padding-top:0}
.card-grid>.card>.card__sub{grid-row:2;padding-top:0}
.card-grid>.card>.icon--lead{padding-top:6px}
/* ---- v3.2: 좁은 본문·인용도 7칸 기준선에 맞춤 ---- */
.container--narrow{max-width:1600px;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.container--narrow>*{grid-column:7/span 6}
.container--narrow>.section__head,.container--narrow>.stats,.container--narrow>.accordion,.container--narrow>.toc,.container--narrow>.timeline,.container--narrow>.amendments,.container--narrow>.card-grid,.container--narrow>.flow{grid-column:1/-1}
.section>.container>.prose{margin:0;max-width:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.section>.container>.prose>*{grid-column:7/span 6;max-width:40em;margin-top:0}
.section>.container>.prose>*+*{margin-top:var(--space-4)}
.section>.container>.prose>h2{margin-top:0;padding-top:0;border-top:0;grid-column:1/span 5;grid-row:1/span 30;margin-bottom:0}
.section>.container>.prose>.article,.section>.container>.prose>.accordion,.section>.container>.prose>.disclosure,.section>.container>.prose>table,.section>.container>.prose>.toc{grid-column:1/-1;max-width:none}
.section>.container>.quote{margin-left:calc((100% + 24px)/2);max-width:none}
.section>.container>.split{margin:0}
@media(max-width:1100px){.container--narrow{display:block}.section>.container>.prose{display:block;max-width:740px}.section>.container>.prose>*{max-width:none}.section>.container>.prose>h2{margin-bottom:var(--space-4)}.section>.container>.quote{margin-left:0}}
/* ---- 소식 목록·글 페이지: 공통 12칸, 제목 1칸 / 본문 7칸 기준선 ---- */
.news-page{padding-top:0}
.news-page>.container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.news-page .page-head{grid-column:1/-1;padding:64px 0 56px;border:0;display:block}
.news-page .page-head h1{font-size:clamp(32px,3.4vw,52px);line-height:1.35;max-width:20em;margin:0 0 16px;text-wrap:balance}
.news-page .page-head__meta{font-size:13px;color:var(--ink-3);margin:0;font-variant-numeric:tabular-nums}
.news-page .prose,.news-page>.container>.post-list,.news-page .page-foot{grid-column:7/span 6;max-width:40em}
.news-page .prose{line-height:2}
.news-page .prose p+p{margin-top:1.1em}
.news-page .page-foot{margin-top:64px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}
.news-page .page-foot a{text-decoration:none}
@media(max-width:767px){.news-page>.container{grid-template-columns:minmax(0,1fr)}.news-page .prose,.news-page>.container>.post-list,.news-page .page-foot{grid-column:1/-1}.news-page .page-head{padding:40px 0 32px}}
