/* ===== IVY PLANET — sub ===== */
.subtop{position:relative;height:460px;background:#111 center/cover no-repeat;color:#fff;overflow:hidden}
.subtop .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,58,71,.35),rgba(29,58,71,.85))}
.subtop .st_box{position:relative;z-index:2;width:1280px;margin:0 auto;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:64px}
.subtop .crumb{position:absolute;right:0;top:112px;display:flex;gap:10px;font-size:12px;letter-spacing:.12em;opacity:.8;font-family:Jost,sans-serif}
.st-caption small{display:block;font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:.32em;line-height:1;color:var(--sand)}
.st-caption h2{font-size:56px;font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-top:14px}
.st-caption .ln{width:60px;height:2px;background:linear-gradient(90deg,var(--mint),var(--sky));margin:22px 0 18px}
.st-caption h5{font-size:18px;font-weight:400;line-height:1.6;opacity:.85;letter-spacing:-.01em}
article.article{padding:100px 0}
.art_con{width:100%;margin:0 auto;max-width:1280px}
article.article-full{padding:0}
/* 문서페이지 공통 */
.ivy section{padding:100px 0}
.ivy section.alt{background:var(--bg)}
.ivy .wrap{width:1280px;margin:0 auto;padding:0}
/* ===== 콘텐츠 컴포넌트 (문서페이지 본문 .ivy 스코프) ===== */

:root{--navy:#1d3a47;--teal:#64b8a4;--gold:#378aa5;--sky:#378aa5;--mint:#64b8a4;--ink:#1c2a31;--sub:#64727a;--line:#c3cfd4;--bg:#f3f8f8;--sand:#8fd3c3}
.ivy .serif{font-family:'Cormorant Garamond',serif}
.ivy *{box-sizing:border-box;margin:0;padding:0}
.ivy .wrap{width:1280px;margin:0 auto;padding:0}
.ivy .en{font-family:Jost,sans-serif}
.ivy /* header */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.ivy /* sub hero */
.sh{height:460px;background:#111 url(../img/night.jpg) center/cover;color:#fff;position:relative;overflow:hidden}
.ivy /* sections */
section{padding:100px 0}
.ivy .sec-h{margin-bottom:52px}
.ivy .sec-h small{display:block;font-family:'Cormorant Garamond',serif;letter-spacing:.3em;font-size:18px;color:var(--gold);margin-bottom:10px}
.ivy .sec-h h2{font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.ivy .sec-h p{margin-top:14px;font-size:17px;color:var(--sub)}
.ivy .sec-h.c{text-align:center}
.ivy .grid{display:grid;gap:24px}
.ivy .g2{grid-template-columns:1fr 1fr}
.ivy .g3{grid-template-columns:repeat(3,1fr)}
.ivy .g4{grid-template-columns:repeat(4,1fr)}
.ivy .g5{grid-template-columns:repeat(5,1fr)}
.ivy .card{background:#fff;border:1px solid var(--line);border-right:none;padding:36px 32px;position:relative}
.ivy .card h4{font-size:21px;font-weight:700;margin-bottom:10px}
.ivy .card p{font-size:15px;color:var(--sub)}
.ivy .card .num{font-family:'Cormorant Garamond',serif;font-size:16px;letter-spacing:.2em;color:var(--gold);margin-bottom:16px;display:block}
.ivy .card.dk{background:var(--navy);color:#fff;border-color:var(--navy)}
.ivy .card.dk h4{color:var(--mint)}
.ivy .card.dk p{color:rgba(255,255,255,.75)}
.ivy .img{background:linear-gradient(135deg,#dfe6ee,#c4d0dc);display:flex;align-items:center;justify-content:center;color:#7a8794;font-size:13px;letter-spacing:.1em;font-family:Jost}
.ivy .img img{width:100%;height:100%;object-fit:cover;display:block}
.ivy .img.contain img{object-fit:contain;background:#fff}
.ivy .img.tall{aspect-ratio:4/3}
.ivy .img.wide{aspect-ratio:16/7}
.ivy .img.sq{aspect-ratio:1}
.ivy table{width:100%;border-collapse:collapse;font-size:15px}
.ivy th, .ivy td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.ivy thead th{background:#fff;color:var(--ink);font-weight:600;text-align:center;border-top:2px solid var(--sky);border-bottom:1px solid var(--line);border-right:0;background:var(--bg)}
.ivy thead th:last-child{border-right:0}
.ivy tbody th{background:transparent;font-weight:600;width:200px;color:var(--ink)}
.ivy td.c, .ivy th.c{text-align:center}
.ivy td.r{text-align:right}
.ivy .kv{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.ivy .kv dl{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:16px 0;font-size:16px}
.ivy .kv dt{color:var(--gold);font-weight:500}
.ivy .kv dd{color:var(--ink)}
.ivy .badge{display:inline-block;padding:6px 14px;border-radius:0;font-size:13px;font-weight:500;background:transparent;border:1px solid var(--gold);color:var(--gold)}
.ivy .badge.n{border-color:var(--sky);color:var(--sky)}
.ivy .badge.s{background:var(--mint);color:#fff;border-color:var(--mint)}
.ivy .stat{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-right:none}
.ivy .stat div{padding:40px 32px;border-right:1px solid var(--line)}
.ivy .stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:58px;font-weight:500;color:var(--sky);line-height:1}
.ivy .stat b i{font-style:normal;font-size:20px;margin-left:4px}
.ivy .stat span{display:block;margin-top:12px;font-size:15px;color:var(--sub)}
.ivy .tabs{display:flex;gap:6px;margin-bottom:28px;flex-wrap:wrap}
.ivy .tabs button{padding:12px 22px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;cursor:pointer;border-radius:0}
.ivy .tabs button.on{background:var(--sky);color:#fff;border-color:var(--sky)}
.ivy .tp{display:none}
.ivy .tp.on{display:block}
.ivy .note{font-size:13px;color:var(--sub);line-height:1.8;margin-top:28px;padding:22px 26px;background:var(--bg)}
.ivy .tl{position:relative;padding-left:40px}
.ivy .tl:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:var(--line)}
.ivy .tl li{list-style:none;position:relative;padding:0 0 36px}
.ivy .tl li:before{content:"";position:absolute;left:-36px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #fff}
.ivy .tl time{font-family:Jost;font-size:13px;letter-spacing:.1em;color:var(--teal)}
.ivy .tl h4{font-size:19px;margin:6px 0 6px}
.ivy .tl p{font-size:15px;color:var(--sub)}
.ivy .floor{display:grid;grid-template-columns:70px repeat(3,1fr);gap:4px;font-size:14px}
.ivy .floor>div{padding:14px 10px;text-align:center;border-radius:3px}
.ivy .floor .f{background:var(--navy);color:#fff;font-family:Jost}
.ivy .m{background:#d4e9f0;color:#1d4a5c}
.ivy .w{background:#d9f0ea;color:#1f5a4c}
.ivy .d{background:#a9dccf;color:#14473b}
.ivy .s{background:#f6e3b8;color:#6b5300}
.ivy .p{background:#eceff0;color:#666}
.ivy .pl{background:#f7f3d8;color:#6b6000}
.ivy .pimg{position:relative;border:1px solid var(--line);border-right:none;cursor:zoom-in;background:#fff}
.ivy .pimg img{width:100%;display:block}
.ivy .pimg .zm{position:absolute;right:16px;bottom:16px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:6px 12px}
.ivy .ptool{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ivy .ptool input{width:280px;border:1px solid var(--line);padding:12px 14px;font-family:inherit;font-size:14px}
.ivy .ptool span{font-size:13px;color:var(--sub)}
.ivy .pwrap{border:1px solid var(--line);border-right:none}
.ivy .ptab td, .ivy .ptab th{padding:11px 14px;font-size:14px}
.ivy .lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99;display:none;overflow:auto;cursor:zoom-out;padding:40px}
.ivy .lb.on{display:block}
.ivy .lb img{width:2380px;max-width:none;margin:0 auto;display:block}
.ivy .pill-list{display:flex;flex-wrap:wrap;gap:10px}
.ivy .pill-list span{padding:10px 18px;border:1px solid var(--line);border-radius:999px;font-size:14px;background:#fff}
.ivy .form{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-right:none;padding:56px 64px}
.ivy .form .row{display:grid;grid-template-columns:140px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}
.ivy .form label{font-weight:600;color:var(--navy)}
.ivy .form input, .ivy .form select, .ivy .form textarea{width:100%;border:1px solid var(--line);padding:14px 16px;font-family:inherit;font-size:15px;border-radius:4px}
.ivy .form button{width:100%;margin-top:30px;background:linear-gradient(90deg,var(--mint),var(--sky));color:#fff;border:0;padding:20px;font-size:17px;font-weight:700;cursor:pointer;border-radius:4px;font-family:inherit}
.ivy .news{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.ivy .news article{border:1px solid var(--line);border-right:none;padding:36px;background:#fff;display:grid;grid-template-columns:1fr 200px;gap:28px}
.ivy .news time{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--gold);letter-spacing:.1em}
.ivy .news h4{font-size:21px;margin:10px 0 12px;line-height:1.4}
.ivy .news p{font-size:15px;color:var(--sub)}
.ivy .map{aspect-ratio:1280/480;background:linear-gradient(135deg,#e5ecf2,#d4dde7);display:flex;align-items:center;justify-content:center;color:#7a8794;font-family:Jost;letter-spacing:.2em;font-size:14px}
.ivy /* ===== Typography system ===== */
:root{--fs-xs:12px;--fs-sm:13px;--fs-base:16px;--fs-md:18px;--fs-lg:21px;--fs-xl:26px;--fs-2xl:34px;--fs-3xl:44px;--fs-4xl:56px;
--lh-tight:1.2;--lh-snug:1.35;--lh-body:1.75;--lh-loose:1.9;--ls-tight:-.03em;--ls-snug:-.015em;--ls-body:-.005em}
.ivy h1, .ivy h2, .ivy h3, .ivy h4{letter-spacing:var(--ls-snug);line-height:var(--lh-snug);font-weight:700}
.ivy p{line-height:var(--lh-body)}
.ivy /* 헤더 */
.gnb{font-size:15px;letter-spacing:-.01em;gap:30px}
.ivy /* 서브히어로: 1단계 */
.sh small{font-size:20px;letter-spacing:.32em;line-height:1}
.ivy /* 섹션 타이틀: 2단계 */
.sec-h{margin-bottom:48px}
.ivy .sec-h small{font-size:16px;letter-spacing:.3em;margin-bottom:12px;line-height:1}
.ivy .sec-h h2{font-size:var(--fs-2xl);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);font-weight:700}
.ivy .sec-h p{font-size:var(--fs-md);line-height:1.7;color:var(--sub);margin-top:12px;letter-spacing:-.01em}
.ivy /* 블록 제목: 3단계 */
.card h4, .ivy .pt h4, .ivy .tl h4, .ivy .news h4, .ivy .panel h3{font-size:var(--fs-lg);line-height:1.4;letter-spacing:var(--ls-snug)}
.ivy .card h4{margin-bottom:12px}
.ivy h3{font-size:var(--fs-xl)}
.ivy /* 본문: 4단계 */
.card p, .ivy .tl p, .ivy .news p, .ivy .pt p{font-size:15px;line-height:1.75;letter-spacing:0;color:var(--sub)}
.ivy .kv dl{font-size:var(--fs-base);padding:17px 0;line-height:1.6}
.ivy .kv dt{letter-spacing:-.01em}
.ivy table{font-size:15px;line-height:1.5}
.ivy th, .ivy td{padding:15px 16px}
.ivy thead th{font-size:14px;letter-spacing:.02em}
.ivy .stat b{font-size:56px;line-height:1;letter-spacing:-.01em}
.ivy .stat b i{font-size:18px;letter-spacing:0}
.ivy .stat span{font-size:14px;line-height:1.6;margin-top:14px}
.ivy .card .num{font-size:15px;letter-spacing:.22em;line-height:1;margin-bottom:18px}
.ivy .badge{font-size:12px;letter-spacing:.04em;padding:6px 12px;line-height:1.4}
.ivy .pill-list span{font-size:14px;letter-spacing:-.01em;line-height:1.4}
.ivy .tabs button{font-size:14px;letter-spacing:0}
.ivy /* 캡션·주석: 5단계 */
.note{font-size:13px;line-height:1.85;letter-spacing:0;color:var(--sub)}
.ivy .news time, .ivy .tl time{font-size:14px;letter-spacing:.12em;line-height:1}
.ivy .ptool span, .ivy .img, .ivy figcaption{font-size:13px;letter-spacing:.02em}
.ivy .floor{font-size:13px;letter-spacing:0;line-height:1.4}
.ivy /* CTA / 푸터 */
.cta h3{font-size:var(--fs-2xl);letter-spacing:var(--ls-tight);line-height:1.3}
.ivy /* 폼 */
.form .row{font-size:15px}
.ivy .form label{letter-spacing:-.01em}
.ivy .form input, .ivy .form select, .ivy .form textarea{font-size:15px;letter-spacing:0}
.ivy .form button{font-size:16px;letter-spacing:.02em}
.ivy /* 사이트맵·홈 */
.sitemap h4{font-size:var(--fs-lg)}
.ivy /* 문단 간격: <br>로 나뉜 문장 사이 호흡 */
.sec-h p, .ivy .card p, .ivy .note, .ivy .news p, .ivy .pt p{word-break:keep-all}
/* ===== 반응형 (마지막에 위치해야 우선 적용) ===== */
@media(max-width:1340px){ .ivy .wrap,.subtop .st_box{width:auto!important;padding-left:30px;padding-right:30px} .subtop .crumb{right:30px} }
@media(max-width:1199px){
	.subtop{height:320px}.subtop .st_box{padding-bottom:40px}.subtop .crumb{top:84px}
	.st-caption h2{font-size:36px}.st-caption small{font-size:15px}.st-caption h5{font-size:15px}
	.ivy section{padding:60px 0}
	.ivy .g2,.ivy .g3,.ivy .g4,.ivy .g5{grid-template-columns:1fr 1fr}
	.ivy .stat{grid-template-columns:1fr 1fr}.ivy .stat div:nth-child(2n){border-right:0}
	.ivy .kv{grid-template-columns:1fr}.ivy .kv dl{grid-template-columns:120px 1fr}
	.ivy .sitemap{grid-template-columns:1fr 1fr}.ivy .news{grid-template-columns:1fr}
	.ivy .sec-h h2{font-size:28px}
	.ivy table{font-size:13px}.ivy th,.ivy td{padding:10px 8px}
	.ivy .floor{font-size:11px}
	.ivy .form{padding:30px 20px}.ivy .form .row{grid-template-columns:1fr;gap:6px}
	.ivy .pimg{overflow:auto}.ivy .pimg img{min-width:900px}
}
@media(max-width:640px){
	.ivy .wrap,.subtop .st_box{padding-left:20px;padding-right:20px}
	.ivy .g2,.ivy .g3,.ivy .g4,.ivy .g5,.ivy .stat,.ivy .sitemap{grid-template-columns:1fr}
	.ivy .news article{grid-template-columns:1fr}
	.ivy .grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}
}


/* 페이지 모듈 관리자 버튼(캐시파일 재생성·설정·페이지 수정·모바일) 숨김 */
article.article-full .ivy ~ *,article.article .ivy ~ *,
.ivy ~ .page_admin,.ivy ~ .pageAdmin,.ivy ~ .btnArea,
.page_admin_buttons,.page-admin-buttons,.rx_page_admin,.pageAdmin,.page_admin{display:none!important}
