/* Editorial v3. Kinfolk: uncluttered photo/text rhythm. Faculty: one 12-column grammar. */
:root{--paper:#faf9f6;--paper-2:#f1f0eb;--ink:#242420;--ink-2:#484841;--ink-3:#62625b;--line:#d8d8cf;--line-strong:#a6a69c;--accent:#44483d;--accent-ink:#242420;--accent-soft:#f1f0eb;--container:1600px;--gutter:clamp(24px,5vw,88px);--header-h:104px;--radius:0;--space-9:8rem}
body{letter-spacing:0;line-height:1.85}
h1,h2,h3{font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(30px,3.2vw,48px)}
.site-header{position:relative;background:var(--paper);backdrop-filter:none;border:0}
.site-header__inner{border-bottom:1px solid var(--line);min-height:104px}
.brand{font-size:34px;gap:12px}.brand__hanja{color:var(--ink)}.brand__sub{font-size:10px;letter-spacing:.15em;margin-left:16px}
.site-nav{font-size:13px}.site-nav__list{gap:32px}.site-nav__sub{box-shadow:none}
.eyebrow{color:var(--ink-3);font-size:11px;font-weight:400;letter-spacing:.18em}
.section{padding-block:clamp(72px,9vw,144px)}
.section--alt{background:var(--paper)}
.section+.section:not(.section--alt):not(.section--dark){border-top:0}
.section--dark{background:var(--paper);color:var(--ink)}
.section--dark .eyebrow{color:var(--ink-3)}
.section__head{border-top:1px solid var(--ink);border-bottom:0;padding-top:22px;padding-bottom:0;align-items:start;margin-bottom:64px}
.section__head>.section__title{grid-column:1/span 6}.section__head>.section__aside{grid-column:9/span 4;font-size:12px;align-self:start}
.section__title h2{margin-bottom:0}
.btn,.btn--light,.btn--outline-light,.btn--accent,.btn--ghost{padding:10px 0;min-height:44px;color:var(--ink);border:0;border-bottom:1px solid var(--ink);background:transparent;font-weight:400;justify-content:space-between;border-radius:0}
.btn::after,.text-link::after{content:'↗';display:inline-block;margin-left:24px;font-family:var(--font-sans)}
.btn:hover,.btn--light:hover,.btn--outline-light:hover,.btn--accent:hover,.btn--ghost:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.text-link{font-weight:400;font-size:14px;border-bottom-color:var(--ink);padding-bottom:8px}
.figure__caption{font-size:11px;letter-spacing:.035em;margin-top:14px}
.figure img{aspect-ratio:auto;object-fit:contain}
.feature{align-items:center;gap:32px}
.feature__media{grid-column:1/span 7}.feature__body{grid-column:9/span 4;font-size:15px;line-height:2}
.feature__body h2{font-size:clamp(28px,2.8vw,42px);margin-bottom:32px}
.feature__body .lead{font-size:18px;line-height:1.9;color:var(--ink)}
.feature--reverse .feature__media{grid-column:6/span 7}.feature--reverse .feature__body{grid-column:1/span 4}
.cover{padding-top:66px}
.cover__heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:56px}
.cover__heading>.eyebrow{grid-column:1/-1;margin:0}
.cover h1{grid-column:1/span 8;font-size:clamp(48px,6.3vw,94px);line-height:1.19;margin:0;letter-spacing:-.06em}
.cover__aside{grid-column:10/span 3;font-size:12px;line-height:1.8;padding-bottom:10px}
.cover__aside p{margin-bottom:28px}
.cover__image{margin:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.cover__image img{grid-column:1/span 11;width:100%;height:auto;filter:none}
.cover__image figcaption{grid-column:12;font-size:11px;writing-mode:vertical-rl;letter-spacing:.1em;align-self:end}
.editorial-home .section--tight{padding:0 0 80px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));border:0;border-top:1px solid var(--line);gap:24px}
.stats__item,.stats__item:first-child{border:0;padding:26px 0 0;display:flex;flex-direction:column-reverse;gap:14px}
.stats__value{font-size:30px;color:var(--ink);margin:0}.stats__label{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.news{gap:24px}.news__col:first-child{grid-column:1/span 5}.news__col:last-child{grid-column:7/span 6}
.news h3{font-size:22px}.post-list{border-top-color:var(--line)}.post-list__empty{padding:30px 0;font-size:13px}
.gallery{gap:80px 24px;align-items:start}
.gallery__item,.gallery__item--wide,.gallery__item--tall,.gallery__item--fill{grid-row:auto;grid-column:auto}
.gallery__item:nth-child(1){grid-column:1/span 7}
.gallery__item:nth-child(2){grid-column:10/span 3;margin-top:200px}
.gallery__item:nth-child(3){grid-column:2/span 4;margin-top:-100px}
.gallery__item:nth-child(4){grid-column:8/span 5;margin-top:90px}
.gallery__item:nth-child(5){grid-column:1/span 7}
.gallery__item:nth-child(6){grid-column:9/span 4;margin-top:180px}
.gallery__item .figure,.gallery__item--tall .figure,.gallery__item--fill .figure{height:auto;display:block}
.gallery__item .figure img{aspect-ratio:auto;height:auto;object-fit:contain;width:100%}
.cta{padding-top:32px;padding-bottom:100px}
.cta__inner{border-top:1px solid var(--ink);padding-top:60px}
.cta__title{color:var(--ink);font-size:clamp(34px,4.5vw,66px);line-height:1.4}
.cta__desc{color:var(--ink-2);font-size:15px;max-width:34em}
.cta__actions{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.section--dark a:hover{color:var(--ink)}
.site-footer{padding:56px 0 30px}.site-footer__brand .brand{font-size:42px}.site-footer__nav h4{font-size:10px}.site-footer__nav a{font-size:12px}.site-footer__motto{font-size:16px}.site-footer__bottom{font-size:10px}
@media(max-width:899px){.site-header__inner{min-height:84px}.site-nav__list{gap:0}.brand{font-size:28px}.brand__sub{margin-left:0}.nav-toggle{border:0;padding-right:0}.site-nav{z-index:10}.cover{padding-top:42px}.cover__aside{grid-column:9/span 4}.cover h1{grid-column:1/span 8;font-size:54px}.feature__body{grid-column:8/span 5}.feature__media{grid-column:1/span 6}}
@media(max-width:767px){.brand__sub{font-size:9px}.cover__heading{gap:18px;margin-bottom:32px}.cover h1{grid-column:1/-1;font-size:clamp(40px,9vw,62px)}.cover__aside{grid-column:1/-1;margin-top:12px;padding:0}.cover__aside p{margin:0 0 12px}.cover__image{display:block}.cover__image figcaption{writing-mode:horizontal-tb;margin-top:12px}.cover__image img{width:100%}.feature__media,.feature__body,.feature--reverse .feature__media,.feature--reverse .feature__body{grid-column:1/-1;order:initial}.feature{gap:32px}.feature__body{font-size:15px}.section__head{margin-bottom:32px}.section__head>.section__title,.section__head>.section__aside{grid-column:1/-1}.section__head>.section__aside{margin:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.stats__item:nth-child(n){border:0;padding:20px 0 0}.stats__value{font-size:28px}.editorial-home .section--tight{padding-bottom:0}.news__col:first-child,.news__col:last-child{grid-column:1/-1}.gallery{gap:40px 16px;grid-template-columns:repeat(4,minmax(0,1fr))}.gallery__item:nth-child(n){grid-column:1/-1;margin:0}.gallery__item:nth-child(2){grid-column:2/span 3}.gallery__item:nth-child(3){grid-column:1/span 3}.gallery__item:nth-child(6){grid-column:2/span 3}.cta{padding:24px 0 64px}.cta__inner{padding-top:40px}.cta__title{font-size:36px}.cta__body,.cta__actions{grid-column:1/-1}.cta__actions{max-width:340px;width:100%}.site-footer__brand,.site-footer__nav{grid-column:1/-1}.site-footer__brand .brand{font-size:34px}}
@media(max-width:767px){.feature,.cta__inner,.section__head,.site-footer__inner,.news{grid-template-columns:minmax(0,1fr)}.cover__heading{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){.cover{padding-top:28px}.cover h1{font-size:clamp(38px,10vw,58px);line-height:1.15}.cover__aside{margin-top:4px}.cover__image img{aspect-ratio:4/5;object-fit:cover;object-position:center 35%}.cover__image figcaption{writing-mode:horizontal-tb}}
/* ---- v3.1: 자리별 사진 비율 (원본 비율 대신 배치에 맞춘 고정 비율) ---- */
.figure img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.feature__media img{aspect-ratio:4/3}
.cover__image img{aspect-ratio:16/9;object-fit:cover;object-position:center 40%;grid-column:1/-1}
.cover__image figcaption{grid-column:1/-1;writing-mode:horizontal-tb;margin-top:14px;align-self:start}
.gallery{gap:64px 24px}
.gallery__item .figure img{object-fit:cover;height:auto}
.gallery__item:nth-child(1) .figure img{aspect-ratio:3/2}
.gallery__item:nth-child(2) .figure img{aspect-ratio:4/5}
.gallery__item:nth-child(3) .figure img{aspect-ratio:1/1}
.gallery__item:nth-child(4) .figure img{aspect-ratio:4/3}
.gallery__item:nth-child(5) .figure img{aspect-ratio:3/2}
.gallery__item:nth-child(6) .figure img{aspect-ratio:4/5}
.gallery__item:nth-child(2){margin-top:160px}.gallery__item:nth-child(3){margin-top:-80px}.gallery__item:nth-child(4){margin-top:64px}.gallery__item:nth-child(6){margin-top:140px}
/* ---- v3.1: Opus 검토 반영. 띠 배경 제거, 제목 절제, 본문 기준선 7칸 통일 ---- */
.section--alt,.section--dark,.section--dark.cta{background:transparent;color:var(--ink)}
.section+.section,.section+.section:not(.section--alt):not(.section--dark){border-top:1px solid var(--line)}
.cover h1{font-size:clamp(40px,4.4vw,64px);line-height:1.25;letter-spacing:-.04em}
h2,.feature__body h2{font-size:clamp(26px,2.3vw,34px)}
.cta__title{font-size:clamp(28px,2.6vw,40px);line-height:1.35}
.cover__aside{grid-column:10/span 3}
.section__head>.section__aside{grid-column:7/span 5}
.news__col:first-child{grid-column:1/span 5}.news__col:last-child{grid-column:7/span 6}
.site-nav{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:767px){.cover__image img{aspect-ratio:4/5;object-position:center 35%}.cover h1{font-size:clamp(34px,8.5vw,48px)}h2,.feature__body h2{font-size:26px}.cta__title{font-size:28px}.gallery__item:nth-child(n){margin:0}.gallery__item:nth-child(2) .figure img,.gallery__item:nth-child(6) .figure img{aspect-ratio:4/5}.gallery__item:nth-child(3) .figure img{aspect-ratio:1/1}.site-nav{font-size:14px;letter-spacing:0;text-transform:none}}
/* ---- v3.2: 사진 방향별 비율, 페이지별 갤러리 배치, 기준선 7칸, 선 정리 ---- */
.figure[data-shape="landscape"] img{aspect-ratio:4/3}
.figure[data-shape="portrait"] img{aspect-ratio:4/5;object-position:center 30%}
.figure[data-shape="pano"] img{aspect-ratio:16/9}
.gallery__item .figure[data-shape="landscape"] img{aspect-ratio:3/2;object-position:center 35%}
.gallery__item .figure[data-shape="portrait"] img{aspect-ratio:4/5}
.gallery__item .figure[data-shape="pano"] img{aspect-ratio:16/9}
.gallery__item:nth-child(n) .figure img{aspect-ratio:inherit}
.gallery__item .figure[data-shape="landscape"] img{aspect-ratio:3/2}.gallery__item .figure[data-shape="portrait"] img{aspect-ratio:4/5}.gallery__item .figure[data-shape="pano"] img{aspect-ratio:16/9}
.gallery__item:nth-child(n){margin-top:0}
.page-home .gallery__item:nth-child(1){grid-column:1/span 7}
.page-home .gallery__item:nth-child(2){grid-column:9/span 3;margin-top:160px}
.page-home .gallery__item:nth-child(3){grid-column:1/span 5;margin-top:-60px}
.page-home .gallery__item:nth-child(4){grid-column:7/span 6;margin-top:80px}
.page-home .gallery__item:nth-child(5){grid-column:1/span 8}
.page-home .gallery__item:nth-child(6){grid-column:8/span 5;margin-top:120px}
.page-apply .gallery__item:nth-child(1){grid-column:1/span 7}
.page-apply .gallery__item:nth-child(2){grid-column:9/span 4;margin-top:140px}
.page-apply .gallery__item:nth-child(3){grid-column:1/span 8;margin-top:-40px}
.page-apply .gallery__item:nth-child(4){grid-column:10/span 3;margin-top:100px}
.page-apply .gallery__item:nth-child(5){grid-column:3/span 7}
.feature__media{grid-column:1/span 6}.feature__body{grid-column:7/span 5}
.feature--reverse .feature__media{grid-column:7/span 6}.feature--reverse .feature__body{grid-column:1/span 5}
.cover h1{grid-column:1/span 6}.cover__aside{grid-column:7/span 4}
.cta__body{grid-column:1/span 6}.cta__actions{grid-column:7/span 4}
.section+.section,.section+.section:not(.section--alt):not(.section--dark){border-top:0}
.section{padding-block:clamp(88px,9vw,150px)}
.section__head{border-top:1px solid var(--ink);padding-top:20px}
.cta__inner{border-top:1px solid var(--ink)}
@media(max-width:767px){.page-home .gallery__item:nth-child(n),.page-apply .gallery__item:nth-child(n){grid-column:1/-1;margin:0}.page-home .gallery__item:nth-child(2),.page-apply .gallery__item:nth-child(4){grid-column:2/span 3}.feature__media,.feature__body,.feature--reverse .feature__media,.feature--reverse .feature__body,.cover h1,.cover__aside,.cta__body,.cta__actions{grid-column:1/-1}.section{padding-block:56px}}
/* ---- v3.3: 3차 검토 반영. 갤러리 겹침 수정, 섹션 간격 실제 확대, 좌우 배치 격자 일치, 진한 선 중복 제거 ---- */
.page-home .gallery__item:nth-child(5){grid-column:1/span 7}
.page-home .gallery__item:nth-child(6){grid-column:9/span 4;margin-top:120px}
.page-apply .gallery__item:nth-child(3){margin-top:0}
.page-apply .gallery__item:nth-child(5){grid-column:7/span 6}
.section{padding-block:clamp(96px,11vw,176px)}
.page-head+.section{padding-top:72px}
.feature{column-gap:24px;align-items:start}
.feature__body{padding-top:8px}
.section__head+.timeline,.section__head+.accordion,.section__head+.flow,.section__head+.toc,.section__head+.amendments,.section__head+.card-grid,.section__head+.contact-list li:first-child{border-top-color:var(--line)}
@media(max-width:767px){.section{padding-block:56px}.page-head+.section{padding-top:16px}}
